@ndla/ui 56.0.148-alpha.0 → 56.0.149-alpha.0
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/es/AudioPlayer/AudioPlayer.mjs +5 -6
- package/es/AudioPlayer/AudioPlayer.mjs.map +1 -1
- package/es/AudioPlayer/Controls.mjs +1 -2
- package/es/AudioPlayer/Controls.mjs.map +1 -1
- package/es/AudioPlayer/SpeechControl.mjs +1 -2
- package/es/AudioPlayer/SpeechControl.mjs.map +1 -1
- package/es/Breadcrumb/Breadcrumb.mjs +3 -4
- package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
- package/es/Breadcrumb/BreadcrumbItem.mjs +1 -2
- package/es/Breadcrumb/BreadcrumbItem.mjs.map +1 -1
- package/es/Breadcrumb/HomeBreadcrumb.mjs +3 -4
- package/es/Breadcrumb/HomeBreadcrumb.mjs.map +1 -1
- package/es/CampaignBlock/CampaignBlock.mjs +1 -2
- package/es/CampaignBlock/CampaignBlock.mjs.map +1 -1
- package/es/CodeBlock/CodeBlock.mjs +2 -3
- package/es/CodeBlock/CodeBlock.mjs.map +1 -1
- package/es/Concept/Concept.mjs +7 -7
- package/es/Concept/Concept.mjs.map +1 -1
- package/es/CopyParagraphButton/CopyParagraphButton.mjs +1 -2
- package/es/CopyParagraphButton/CopyParagraphButton.mjs.map +1 -1
- package/es/Embed/AudioEmbed.mjs +6 -7
- package/es/Embed/AudioEmbed.mjs.map +1 -1
- package/es/Embed/BrightcoveEmbed.mjs +3 -4
- package/es/Embed/BrightcoveEmbed.mjs.map +1 -1
- package/es/Embed/CodeEmbed.mjs +5 -6
- package/es/Embed/CodeEmbed.mjs.map +1 -1
- package/es/Embed/ConceptEmbed.mjs +2 -2
- package/es/Embed/ConceptEmbed.mjs.map +1 -1
- package/es/Embed/ContentLinkEmbed.mjs +1 -2
- package/es/Embed/ContentLinkEmbed.mjs.map +1 -1
- package/es/Embed/CopyrightEmbed.mjs +1 -2
- package/es/Embed/CopyrightEmbed.mjs.map +1 -1
- package/es/Embed/EmbedErrorPlaceholder.mjs +1 -2
- package/es/Embed/EmbedErrorPlaceholder.mjs.map +1 -1
- package/es/Embed/ExternalEmbed.mjs +5 -6
- package/es/Embed/ExternalEmbed.mjs.map +1 -1
- package/es/Embed/FootnoteEmbed.mjs +1 -2
- package/es/Embed/FootnoteEmbed.mjs.map +1 -1
- package/es/Embed/GlossEmbed.mjs +5 -5
- package/es/Embed/GlossEmbed.mjs.map +1 -1
- package/es/Embed/H5pEmbed.mjs +3 -4
- package/es/Embed/H5pEmbed.mjs.map +1 -1
- package/es/Embed/IframeEmbed.mjs +5 -6
- package/es/Embed/IframeEmbed.mjs.map +1 -1
- package/es/Embed/ImageEmbed.mjs +3 -4
- package/es/Embed/ImageEmbed.mjs.map +1 -1
- package/es/Embed/RelatedContentEmbed.mjs +1 -2
- package/es/Embed/RelatedContentEmbed.mjs.map +1 -1
- package/es/Embed/UnknownEmbed.mjs +1 -2
- package/es/Embed/UnknownEmbed.mjs.map +1 -1
- package/es/Embed/UuDisclaimerEmbed.mjs +1 -2
- package/es/Embed/UuDisclaimerEmbed.mjs.map +1 -1
- package/es/FactBox/FactBox.mjs +1 -2
- package/es/FactBox/FactBox.mjs.map +1 -1
- package/es/Gloss/Gloss.mjs +5 -6
- package/es/Gloss/Gloss.mjs.map +1 -1
- package/es/Gloss/GlossExample.mjs +1 -2
- package/es/Gloss/GlossExample.mjs.map +1 -1
- package/es/KeyFigure/KeyFigure.mjs +1 -2
- package/es/KeyFigure/KeyFigure.mjs.map +1 -1
- package/es/LinkBlock/LinkBlock.mjs +1 -2
- package/es/LinkBlock/LinkBlock.mjs.map +1 -1
- package/es/LinkBlock/LinkBlockSection.mjs +1 -2
- package/es/LinkBlock/LinkBlockSection.mjs.map +1 -1
- package/es/ResourceBox/ResourceBox.mjs +1 -2
- package/es/ResourceBox/ResourceBox.mjs.map +1 -1
- package/es/index.mjs +31 -27
- package/es/locale/messages-en.mjs +38 -37
- package/es/locale/messages-en.mjs.map +1 -1
- package/es/locale/messages-nb.mjs +38 -37
- package/es/locale/messages-nb.mjs.map +1 -1
- package/es/locale/messages-nn.mjs +38 -37
- package/es/locale/messages-nn.mjs.map +1 -1
- package/es/locale/messages-se.mjs +38 -37
- package/es/locale/messages-se.mjs.map +1 -1
- package/es/model/SubjectCategories.mjs +9 -2
- package/es/model/SubjectCategories.mjs.map +1 -1
- package/es/model/SubjectTypes.mjs +9 -2
- package/es/model/SubjectTypes.mjs.map +1 -1
- package/es/model/WordClass.mjs +1 -1
- package/es/model/index.mjs +2 -3
- package/es/model/index.mjs.map +1 -1
- package/lib/AudioPlayer/AudioPlayer.d.ts +2 -2
- package/lib/AudioPlayer/AudioPlayer.js +3 -4
- package/lib/AudioPlayer/AudioPlayer.js.map +1 -1
- package/lib/AudioPlayer/Controls.d.ts +2 -2
- package/lib/AudioPlayer/Controls.js +1 -2
- package/lib/AudioPlayer/Controls.js.map +1 -1
- package/lib/AudioPlayer/SpeechControl.d.ts +2 -2
- package/lib/AudioPlayer/SpeechControl.js +1 -2
- package/lib/AudioPlayer/SpeechControl.js.map +1 -1
- package/lib/Breadcrumb/Breadcrumb.d.ts +2 -2
- package/lib/Breadcrumb/Breadcrumb.js +2 -3
- package/lib/Breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/Breadcrumb/BreadcrumbItem.d.ts +2 -2
- package/lib/Breadcrumb/BreadcrumbItem.js +1 -2
- package/lib/Breadcrumb/BreadcrumbItem.js.map +1 -1
- package/lib/Breadcrumb/HomeBreadcrumb.d.ts +2 -2
- package/lib/Breadcrumb/HomeBreadcrumb.js +2 -3
- package/lib/Breadcrumb/HomeBreadcrumb.js.map +1 -1
- package/lib/CampaignBlock/CampaignBlock.d.ts +2 -2
- package/lib/CampaignBlock/CampaignBlock.js +1 -2
- package/lib/CampaignBlock/CampaignBlock.js.map +1 -1
- package/lib/CodeBlock/CodeBlock.d.ts +2 -2
- package/lib/CodeBlock/CodeBlock.js +2 -3
- package/lib/CodeBlock/CodeBlock.js.map +1 -1
- package/lib/Concept/Concept.js +2 -2
- package/lib/Concept/Concept.js.map +1 -1
- package/lib/CopyParagraphButton/CopyParagraphButton.d.ts +2 -2
- package/lib/CopyParagraphButton/CopyParagraphButton.js +1 -2
- package/lib/CopyParagraphButton/CopyParagraphButton.js.map +1 -1
- package/lib/Embed/AudioEmbed.d.ts +2 -2
- package/lib/Embed/AudioEmbed.js +4 -5
- package/lib/Embed/AudioEmbed.js.map +1 -1
- package/lib/Embed/BrightcoveEmbed.d.ts +2 -2
- package/lib/Embed/BrightcoveEmbed.js +2 -3
- package/lib/Embed/BrightcoveEmbed.js.map +1 -1
- package/lib/Embed/CodeEmbed.d.ts +2 -2
- package/lib/Embed/CodeEmbed.js +3 -4
- package/lib/Embed/CodeEmbed.js.map +1 -1
- package/lib/Embed/ConceptEmbed.js +1 -1
- package/lib/Embed/ConceptEmbed.js.map +1 -1
- package/lib/Embed/ContentLinkEmbed.d.ts +2 -2
- package/lib/Embed/ContentLinkEmbed.js +1 -2
- package/lib/Embed/ContentLinkEmbed.js.map +1 -1
- package/lib/Embed/CopyrightEmbed.d.ts +2 -2
- package/lib/Embed/CopyrightEmbed.js +1 -2
- package/lib/Embed/CopyrightEmbed.js.map +1 -1
- package/lib/Embed/EmbedErrorPlaceholder.d.ts +2 -2
- package/lib/Embed/EmbedErrorPlaceholder.js +1 -2
- package/lib/Embed/EmbedErrorPlaceholder.js.map +1 -1
- package/lib/Embed/ExternalEmbed.d.ts +2 -2
- package/lib/Embed/ExternalEmbed.js +3 -4
- package/lib/Embed/ExternalEmbed.js.map +1 -1
- package/lib/Embed/FootnoteEmbed.d.ts +2 -2
- package/lib/Embed/FootnoteEmbed.js +1 -2
- package/lib/Embed/FootnoteEmbed.js.map +1 -1
- package/lib/Embed/GlossEmbed.js +3 -3
- package/lib/Embed/GlossEmbed.js.map +1 -1
- package/lib/Embed/H5pEmbed.d.ts +2 -2
- package/lib/Embed/H5pEmbed.js +2 -3
- package/lib/Embed/H5pEmbed.js.map +1 -1
- package/lib/Embed/IframeEmbed.d.ts +2 -2
- package/lib/Embed/IframeEmbed.js +3 -4
- package/lib/Embed/IframeEmbed.js.map +1 -1
- package/lib/Embed/ImageEmbed.d.ts +2 -2
- package/lib/Embed/ImageEmbed.js +2 -3
- package/lib/Embed/ImageEmbed.js.map +1 -1
- package/lib/Embed/RelatedContentEmbed.d.ts +2 -2
- package/lib/Embed/RelatedContentEmbed.js +1 -2
- package/lib/Embed/RelatedContentEmbed.js.map +1 -1
- package/lib/Embed/UnknownEmbed.d.ts +2 -2
- package/lib/Embed/UnknownEmbed.js +1 -2
- package/lib/Embed/UnknownEmbed.js.map +1 -1
- package/lib/Embed/UuDisclaimerEmbed.d.ts +2 -2
- package/lib/Embed/UuDisclaimerEmbed.js +1 -2
- package/lib/Embed/UuDisclaimerEmbed.js.map +1 -1
- package/lib/FactBox/FactBox.d.ts +2 -2
- package/lib/FactBox/FactBox.js +1 -2
- package/lib/FactBox/FactBox.js.map +1 -1
- package/lib/Gloss/Gloss.d.ts +2 -2
- package/lib/Gloss/Gloss.js +3 -4
- package/lib/Gloss/Gloss.js.map +1 -1
- package/lib/Gloss/GlossExample.d.ts +2 -2
- package/lib/Gloss/GlossExample.js +1 -2
- package/lib/Gloss/GlossExample.js.map +1 -1
- package/lib/KeyFigure/KeyFigure.d.ts +1 -2
- package/lib/KeyFigure/KeyFigure.js +1 -2
- package/lib/KeyFigure/KeyFigure.js.map +1 -1
- package/lib/LinkBlock/LinkBlock.d.ts +2 -2
- package/lib/LinkBlock/LinkBlock.js +1 -2
- package/lib/LinkBlock/LinkBlock.js.map +1 -1
- package/lib/LinkBlock/LinkBlockSection.d.ts +2 -2
- package/lib/LinkBlock/LinkBlockSection.js +1 -2
- package/lib/LinkBlock/LinkBlockSection.js.map +1 -1
- package/lib/ResourceBox/ResourceBox.d.ts +1 -1
- package/lib/ResourceBox/ResourceBox.js +0 -2
- package/lib/ResourceBox/ResourceBox.js.map +1 -1
- package/lib/index.d.ts +30 -26
- package/lib/index.js +37 -27
- package/lib/locale/messages-en.d.ts +11 -9
- package/lib/locale/messages-en.js +47 -46
- package/lib/locale/messages-en.js.map +1 -1
- package/lib/locale/messages-nb.d.ts +11 -9
- package/lib/locale/messages-nb.js +47 -46
- package/lib/locale/messages-nb.js.map +1 -1
- package/lib/locale/messages-nn.d.ts +11 -9
- package/lib/locale/messages-nn.js +47 -46
- package/lib/locale/messages-nn.js.map +1 -1
- package/lib/locale/messages-se.d.ts +11 -9
- package/lib/locale/messages-se.js +47 -46
- package/lib/locale/messages-se.js.map +1 -1
- package/lib/model/SubjectCategories.d.ts +6 -0
- package/lib/model/SubjectCategories.js +9 -1
- package/lib/model/SubjectCategories.js.map +1 -1
- package/lib/model/SubjectTypes.d.ts +6 -0
- package/lib/model/SubjectTypes.js +9 -1
- package/lib/model/SubjectTypes.js.map +1 -1
- package/lib/model/WordClass.js +1 -0
- package/lib/model/index.d.ts +1 -2
- package/lib/model/index.js +2 -3
- package/lib/model/index.js.map +1 -1
- package/package.json +8 -8
- package/src/AudioPlayer/AudiPlayer.stories.tsx +1 -1
- package/src/AudioPlayer/AudioPlayer.tsx +3 -5
- package/src/AudioPlayer/Controls.tsx +1 -3
- package/src/AudioPlayer/SpeechControl.tsx +1 -3
- package/src/Breadcrumb/Breadcrumb.stories.tsx +1 -1
- package/src/Breadcrumb/Breadcrumb.tsx +2 -4
- package/src/Breadcrumb/BreadcrumbItem.tsx +1 -3
- package/src/Breadcrumb/HomeBreadcrumb.stories.tsx +1 -1
- package/src/Breadcrumb/HomeBreadcrumb.tsx +2 -4
- package/src/CampaignBlock/CampaignBlock.stories.tsx +1 -1
- package/src/CampaignBlock/CampaignBlock.tsx +1 -3
- package/src/CodeBlock/CodeBlock.stories.tsx +1 -1
- package/src/CodeBlock/CodeBlock.tsx +1 -3
- package/src/Concept/Concept.tsx +5 -5
- package/src/CopyParagraphButton/CopyParagraphButton.tsx +1 -3
- package/src/Embed/AudioEmbed.stories.tsx +1 -1
- package/src/Embed/AudioEmbed.tsx +3 -5
- package/src/Embed/BrightcoveEmbed.stories.tsx +1 -1
- package/src/Embed/BrightcoveEmbed.tsx +2 -4
- package/src/Embed/CodeEmbed.stories.tsx +1 -1
- package/src/Embed/CodeEmbed.tsx +3 -5
- package/src/Embed/ConceptEmbed.tsx +1 -1
- package/src/Embed/ContentLinkEmbed.tsx +1 -3
- package/src/Embed/CopyrightEmbed.tsx +1 -3
- package/src/Embed/EmbedErrorPlaceholder.tsx +1 -3
- package/src/Embed/ExternalEmbed.stories.tsx +1 -1
- package/src/Embed/ExternalEmbed.tsx +3 -4
- package/src/Embed/FootnoteEmbed.stories.tsx +1 -1
- package/src/Embed/FootnoteEmbed.tsx +1 -3
- package/src/Embed/GlossEmbed.tsx +2 -2
- package/src/Embed/H5pEmbed.stories.tsx +1 -1
- package/src/Embed/H5pEmbed.tsx +2 -4
- package/src/Embed/IframeEmbed.stories.tsx +1 -1
- package/src/Embed/IframeEmbed.tsx +3 -5
- package/src/Embed/ImageEmbed.stories.tsx +1 -1
- package/src/Embed/ImageEmbed.tsx +2 -4
- package/src/Embed/RelatedContentEmbed.stories.tsx +1 -1
- package/src/Embed/RelatedContentEmbed.tsx +1 -3
- package/src/Embed/UnknownEmbed.tsx +1 -3
- package/src/Embed/UuDisclaimerEmbed.stories.tsx +5 -5
- package/src/Embed/UuDisclaimerEmbed.tsx +1 -3
- package/src/FactBox/FactBox.tsx +1 -3
- package/src/FactBox/Factbox.stories.tsx +1 -1
- package/src/Gloss/Gloss.stories.tsx +2 -2
- package/src/Gloss/Gloss.tsx +3 -5
- package/src/Gloss/GlossExample.tsx +1 -3
- package/src/KeyFigure/KeyFigure.stories.tsx +1 -1
- package/src/KeyFigure/KeyFigure.tsx +1 -3
- package/src/LinkBlock/LinkBlock.stories.tsx +2 -2
- package/src/LinkBlock/LinkBlock.tsx +1 -3
- package/src/LinkBlock/LinkBlockSection.tsx +1 -3
- package/src/ResourceBox/ResourceBox.tsx +0 -2
- package/src/index.ts +30 -26
- package/src/locale/messages-en.ts +38 -38
- package/src/locale/messages-nb.ts +38 -38
- package/src/locale/messages-nn.ts +38 -38
- package/src/locale/messages-se.ts +38 -38
- package/src/model/SubjectCategories.ts +7 -0
- package/src/model/SubjectTypes.ts +7 -0
- package/src/model/index.ts +1 -3
|
@@ -158,7 +158,7 @@ interface Props {
|
|
|
158
158
|
title: string;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
const Controls = ({ src, title }: Props) => {
|
|
161
|
+
export const Controls = ({ src, title }: Props) => {
|
|
162
162
|
const { t } = useTranslation();
|
|
163
163
|
const [speedValue, setSpeedValue] = useState(1);
|
|
164
164
|
const [volumeValue, setVolumeValue] = useState(100);
|
|
@@ -354,5 +354,3 @@ const Controls = ({ src, title }: Props) => {
|
|
|
354
354
|
</div>
|
|
355
355
|
);
|
|
356
356
|
};
|
|
357
|
-
|
|
358
|
-
export default Controls;
|
|
@@ -17,7 +17,7 @@ type Props = {
|
|
|
17
17
|
type?: "gloss" | "audio";
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
const SpeechControl = ({ src, title, type = "audio" }: Props) => {
|
|
20
|
+
export const SpeechControl = ({ src, title, type = "audio" }: Props) => {
|
|
21
21
|
const { t } = useTranslation();
|
|
22
22
|
const audioRef = useRef<HTMLAudioElement>(null);
|
|
23
23
|
|
|
@@ -41,5 +41,3 @@ const SpeechControl = ({ src, title, type = "audio" }: Props) => {
|
|
|
41
41
|
</div>
|
|
42
42
|
);
|
|
43
43
|
};
|
|
44
|
-
|
|
45
|
-
export default SpeechControl;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { type ReactNode } from "react";
|
|
10
10
|
import { useTranslation } from "react-i18next";
|
|
11
11
|
import { styled } from "@ndla/styled-system/jsx";
|
|
12
|
-
import BreadcrumbItem,
|
|
12
|
+
import { BreadcrumbItem, type IndexedBreadcrumbItem, type SimpleBreadcrumbItem } from "./BreadcrumbItem";
|
|
13
13
|
|
|
14
14
|
interface Props {
|
|
15
15
|
items: SimpleBreadcrumbItem[];
|
|
@@ -32,7 +32,7 @@ const StyledList = styled("ol", {
|
|
|
32
32
|
},
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
const Breadcrumb = ({ items, renderItem, renderSeparator }: Props) => {
|
|
35
|
+
export const Breadcrumb = ({ items, renderItem, renderSeparator }: Props) => {
|
|
36
36
|
const { t } = useTranslation();
|
|
37
37
|
|
|
38
38
|
return (
|
|
@@ -51,5 +51,3 @@ const Breadcrumb = ({ items, renderItem, renderSeparator }: Props) => {
|
|
|
51
51
|
</nav>
|
|
52
52
|
);
|
|
53
53
|
};
|
|
54
|
-
|
|
55
|
-
export default Breadcrumb;
|
|
@@ -48,7 +48,7 @@ interface Props {
|
|
|
48
48
|
renderSeparator: (item: IndexedBreadcrumbItem, totalCount: number) => ReactNode;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
const BreadcrumbItem = ({ renderItem, renderSeparator, item, totalCount }: Props) => {
|
|
51
|
+
export const BreadcrumbItem = ({ renderItem, renderSeparator, item, totalCount }: Props) => {
|
|
52
52
|
const isLast = item.index === totalCount - 1;
|
|
53
53
|
return (
|
|
54
54
|
<StyledListItem aria-current={isLast ? "page" : undefined}>
|
|
@@ -57,5 +57,3 @@ const BreadcrumbItem = ({ renderItem, renderSeparator, item, totalCount }: Props
|
|
|
57
57
|
</StyledListItem>
|
|
58
58
|
);
|
|
59
59
|
};
|
|
60
|
-
|
|
61
|
-
export default BreadcrumbItem;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { ArrowRightShortLine, HomeLine } from "@ndla/icons";
|
|
10
10
|
import { SafeLink } from "@ndla/safelink";
|
|
11
11
|
import { styled } from "@ndla/styled-system/jsx";
|
|
12
|
-
import Breadcrumb from "./Breadcrumb";
|
|
12
|
+
import { Breadcrumb } from "./Breadcrumb";
|
|
13
13
|
import type { IndexedBreadcrumbItem, SimpleBreadcrumbItem } from "./BreadcrumbItem";
|
|
14
14
|
|
|
15
15
|
const StyledSafeLink = styled(SafeLink, {
|
|
@@ -43,7 +43,7 @@ interface Props {
|
|
|
43
43
|
items: SimpleBreadcrumbItem[];
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
const HomeBreadcrumb = ({ items }: Props) => {
|
|
46
|
+
export const HomeBreadcrumb = ({ items }: Props) => {
|
|
47
47
|
const renderItem = (item: IndexedBreadcrumbItem, totalCount: number) => {
|
|
48
48
|
if (item.index === totalCount - 1) {
|
|
49
49
|
return <span>{item.name}</span>;
|
|
@@ -70,5 +70,3 @@ const HomeBreadcrumb = ({ items }: Props) => {
|
|
|
70
70
|
|
|
71
71
|
return <Breadcrumb items={items} renderItem={renderItem} renderSeparator={renderSeparator} />;
|
|
72
72
|
};
|
|
73
|
-
|
|
74
|
-
export default HomeBreadcrumb;
|
|
@@ -164,7 +164,7 @@ const LinkButton = ({ url, children, path }: LinkButtonProps) => {
|
|
|
164
164
|
return children;
|
|
165
165
|
};
|
|
166
166
|
|
|
167
|
-
const CampaignBlock = ({
|
|
167
|
+
export const CampaignBlock = ({
|
|
168
168
|
title,
|
|
169
169
|
image,
|
|
170
170
|
imageSide = "left",
|
|
@@ -198,5 +198,3 @@ const CampaignBlock = ({
|
|
|
198
198
|
</Wrapper>
|
|
199
199
|
);
|
|
200
200
|
};
|
|
201
|
-
|
|
202
|
-
export default CampaignBlock;
|
|
@@ -18,7 +18,7 @@ interface Props extends StyledProps, ComponentPropsWithRef<"pre"> {
|
|
|
18
18
|
|
|
19
19
|
const Pre = styled("pre", {});
|
|
20
20
|
|
|
21
|
-
export const
|
|
21
|
+
export const CodeBlock = forwardRef<HTMLPreElement, Props>(({ highlightedCode, format, className, ...props }, ref) => {
|
|
22
22
|
const codeWithLineNumbers = useMemo(() => {
|
|
23
23
|
return highlightedCode
|
|
24
24
|
.split("\n")
|
|
@@ -37,5 +37,3 @@ export const Codeblock = forwardRef<HTMLPreElement, Props>(({ highlightedCode, f
|
|
|
37
37
|
/>
|
|
38
38
|
);
|
|
39
39
|
});
|
|
40
|
-
|
|
41
|
-
export default Codeblock;
|
package/src/Concept/Concept.tsx
CHANGED
|
@@ -11,11 +11,11 @@ import { Figure } from "@ndla/primitives";
|
|
|
11
11
|
import { styled } from "@ndla/styled-system/jsx";
|
|
12
12
|
import type { IDraftCopyrightDTO as ConceptCopyright } from "@ndla/types-backend/concept-api";
|
|
13
13
|
import type { ConceptVisualElementMeta } from "@ndla/types-embed";
|
|
14
|
-
import BrightcoveEmbed from "../Embed/BrightcoveEmbed";
|
|
15
|
-
import ExternalEmbed from "../Embed/ExternalEmbed";
|
|
16
|
-
import H5pEmbed from "../Embed/H5pEmbed";
|
|
17
|
-
import IframeEmbed from "../Embed/IframeEmbed";
|
|
18
|
-
import ImageEmbed from "../Embed/ImageEmbed";
|
|
14
|
+
import { BrightcoveEmbed } from "../Embed/BrightcoveEmbed";
|
|
15
|
+
import { ExternalEmbed } from "../Embed/ExternalEmbed";
|
|
16
|
+
import { H5pEmbed } from "../Embed/H5pEmbed";
|
|
17
|
+
import { IframeEmbed } from "../Embed/IframeEmbed";
|
|
18
|
+
import { ImageEmbed } from "../Embed/ImageEmbed";
|
|
19
19
|
import { EmbedByline } from "../LicenseByline/EmbedByline";
|
|
20
20
|
import { licenseAttributes } from "../utils/licenseAttributes";
|
|
21
21
|
|
|
@@ -43,7 +43,7 @@ interface Props {
|
|
|
43
43
|
copyText: string;
|
|
44
44
|
lang?: string;
|
|
45
45
|
}
|
|
46
|
-
const CopyParagraphButton = ({ children, copyText, lang }: Props) => {
|
|
46
|
+
export const CopyParagraphButton = ({ children, copyText, lang }: Props) => {
|
|
47
47
|
const [hasCopied, setHasCopied] = useState(false);
|
|
48
48
|
const { t } = useTranslation();
|
|
49
49
|
const sanitizedTitle = useMemo(() => encodeURIComponent(copyText.replace(/ /g, "-")), [copyText]);
|
|
@@ -85,5 +85,3 @@ const CopyParagraphButton = ({ children, copyText, lang }: Props) => {
|
|
|
85
85
|
</ContainerDiv>
|
|
86
86
|
);
|
|
87
87
|
};
|
|
88
|
-
|
|
89
|
-
export default CopyParagraphButton;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { PageContent } from "@ndla/primitives";
|
|
11
11
|
import type { AudioEmbedData, AudioMeta } from "@ndla/types-embed";
|
|
12
|
-
import AudioEmbed from "./AudioEmbed";
|
|
12
|
+
import { AudioEmbed } from "./AudioEmbed";
|
|
13
13
|
import { ArticleContent, ArticleWrapper } from "../Article/Article";
|
|
14
14
|
|
|
15
15
|
const embedData: AudioEmbedData = {
|
package/src/Embed/AudioEmbed.tsx
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
import { Figure } from "@ndla/primitives";
|
|
10
10
|
import { styled } from "@ndla/styled-system/jsx";
|
|
11
11
|
import type { AudioMetaData } from "@ndla/types-embed";
|
|
12
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
12
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
13
13
|
import type { Author } from "./ImageEmbed";
|
|
14
|
-
import AudioPlayer from "../AudioPlayer/AudioPlayer";
|
|
14
|
+
import { AudioPlayer } from "../AudioPlayer/AudioPlayer";
|
|
15
15
|
import { EmbedByline } from "../LicenseByline/EmbedByline";
|
|
16
16
|
import { licenseAttributes } from "../utils/licenseAttributes";
|
|
17
17
|
|
|
@@ -32,7 +32,7 @@ export const getFirstNonEmptyLicenseCredits = (authors: {
|
|
|
32
32
|
processors: Author[];
|
|
33
33
|
}) => Object.values(authors).find((i) => i.length > 0) ?? [];
|
|
34
34
|
|
|
35
|
-
const AudioEmbed = ({ embed, lang }: Props) => {
|
|
35
|
+
export const AudioEmbed = ({ embed, lang }: Props) => {
|
|
36
36
|
const type = embed.embedData.type === "standard" ? "audio" : "podcast";
|
|
37
37
|
if (embed.status === "error") {
|
|
38
38
|
return <EmbedErrorPlaceholder type={type} />;
|
|
@@ -74,5 +74,3 @@ const AudioEmbed = ({ embed, lang }: Props) => {
|
|
|
74
74
|
</StyledFigure>
|
|
75
75
|
);
|
|
76
76
|
};
|
|
77
|
-
|
|
78
|
-
export default AudioEmbed;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { PageContent } from "@ndla/primitives";
|
|
11
11
|
import type { BrightcoveData, BrightcoveEmbedData, BrightcoveMetaData } from "@ndla/types-embed";
|
|
12
|
-
import BrightcoveEmbed from "./BrightcoveEmbed";
|
|
12
|
+
import { BrightcoveEmbed } from "./BrightcoveEmbed";
|
|
13
13
|
import { ArticleContent, ArticleWrapper } from "../Article/Article";
|
|
14
14
|
|
|
15
15
|
const embedData: BrightcoveEmbedData = {
|
|
@@ -12,7 +12,7 @@ import { useTranslation } from "react-i18next";
|
|
|
12
12
|
import { Button, Figure } from "@ndla/primitives";
|
|
13
13
|
import { styled } from "@ndla/styled-system/jsx";
|
|
14
14
|
import type { BrightcoveEmbedData, BrightcoveMetaData, BrightcoveVideoSource } from "@ndla/types-embed";
|
|
15
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
15
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
16
16
|
import type { RenderContext } from "./types";
|
|
17
17
|
import { EmbedByline } from "../LicenseByline/EmbedByline";
|
|
18
18
|
import { licenseAttributes } from "../utils/licenseAttributes";
|
|
@@ -57,7 +57,7 @@ const getIframeProps = (data: BrightcoveEmbedData, sources: BrightcoveVideoSourc
|
|
|
57
57
|
width: source?.width ?? "640",
|
|
58
58
|
};
|
|
59
59
|
};
|
|
60
|
-
const BrightcoveEmbed = ({ embed, renderContext = "article", lang }: Props) => {
|
|
60
|
+
export const BrightcoveEmbed = ({ embed, renderContext = "article", lang }: Props) => {
|
|
61
61
|
const [showOriginalVideo, setShowOriginalVideo] = useState(true);
|
|
62
62
|
const { t } = useTranslation();
|
|
63
63
|
const iframeRef = useRef<HTMLIFrameElement>(null);
|
|
@@ -130,5 +130,3 @@ const BrightcoveEmbed = ({ embed, renderContext = "article", lang }: Props) => {
|
|
|
130
130
|
</Figure>
|
|
131
131
|
);
|
|
132
132
|
};
|
|
133
|
-
|
|
134
|
-
export default BrightcoveEmbed;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import type { CodeEmbedData, CodeMetaData } from "@ndla/types-embed";
|
|
11
|
-
import CodeEmbed from "./CodeEmbed";
|
|
11
|
+
import { CodeEmbed } from "./CodeEmbed";
|
|
12
12
|
|
|
13
13
|
const codeEmbedData: CodeEmbedData = {
|
|
14
14
|
resource: "code-block",
|
package/src/Embed/CodeEmbed.tsx
CHANGED
|
@@ -12,8 +12,8 @@ import { FileCopyLine, CheckLine } from "@ndla/icons";
|
|
|
12
12
|
import { Button, Figure } from "@ndla/primitives";
|
|
13
13
|
import { styled } from "@ndla/styled-system/jsx";
|
|
14
14
|
import type { CodeMetaData } from "@ndla/types-embed";
|
|
15
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
16
|
-
import CodeBlock from "../CodeBlock/CodeBlock";
|
|
15
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
16
|
+
import { CodeBlock } from "../CodeBlock/CodeBlock";
|
|
17
17
|
import { codeLanguageOptions, type ICodeLangugeOption } from "../CodeBlock/codeLanguageOptions";
|
|
18
18
|
|
|
19
19
|
interface Props {
|
|
@@ -45,7 +45,7 @@ const getTitleFromFormat = (format: string) => {
|
|
|
45
45
|
return;
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
const CodeEmbed = ({ embed }: Props) => {
|
|
48
|
+
export const CodeEmbed = ({ embed }: Props) => {
|
|
49
49
|
const [isCopied, setIsCopied] = useState(false);
|
|
50
50
|
const { t } = useTranslation();
|
|
51
51
|
|
|
@@ -89,5 +89,3 @@ const CodeEmbed = ({ embed }: Props) => {
|
|
|
89
89
|
</StyledFigure>
|
|
90
90
|
);
|
|
91
91
|
};
|
|
92
|
-
|
|
93
|
-
export default CodeEmbed;
|
|
@@ -13,7 +13,7 @@ import { PopoverContent, PopoverRoot, PopoverTrigger } from "@ndla/primitives";
|
|
|
13
13
|
import { styled } from "@ndla/styled-system/jsx";
|
|
14
14
|
import type { ConceptMetaData } from "@ndla/types-embed";
|
|
15
15
|
import { ConceptInlineTriggerButton } from "./ConceptInlineTriggerButton";
|
|
16
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
16
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
17
17
|
import { GlossEmbed } from "./GlossEmbed";
|
|
18
18
|
import type { RenderContext } from "./types";
|
|
19
19
|
import { Concept, type ConceptProps } from "../Concept/Concept";
|
|
@@ -17,7 +17,7 @@ interface Props {
|
|
|
17
17
|
children?: ReactNode;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
const ContentLinkEmbed = ({ embed, isOembed, children }: Props) => {
|
|
20
|
+
export const ContentLinkEmbed = ({ embed, isOembed, children }: Props) => {
|
|
21
21
|
const { t } = useTranslation();
|
|
22
22
|
if (embed.status === "error") {
|
|
23
23
|
return (
|
|
@@ -42,5 +42,3 @@ const ContentLinkEmbed = ({ embed, isOembed, children }: Props) => {
|
|
|
42
42
|
|
|
43
43
|
return <a href={data.path}>{children}</a>;
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
export default ContentLinkEmbed;
|
|
@@ -22,7 +22,7 @@ const StyledCopyrightContent = styled("div", {
|
|
|
22
22
|
},
|
|
23
23
|
});
|
|
24
24
|
|
|
25
|
-
const CopyrightEmbed = ({ embed, children }: Props) => {
|
|
25
|
+
export const CopyrightEmbed = ({ embed, children }: Props) => {
|
|
26
26
|
return (
|
|
27
27
|
<figure data-embed-type="copyright">
|
|
28
28
|
<StyledCopyrightContent data-copyright-content="">{children}</StyledCopyrightContent>
|
|
@@ -30,5 +30,3 @@ const CopyrightEmbed = ({ embed, children }: Props) => {
|
|
|
30
30
|
</figure>
|
|
31
31
|
);
|
|
32
32
|
};
|
|
33
|
-
|
|
34
|
-
export default CopyrightEmbed;
|
|
@@ -45,7 +45,7 @@ const StyledFigure = styled(Figure, {
|
|
|
45
45
|
},
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
const EmbedErrorPlaceholder = ({ type, children, figureType, float }: Props) => {
|
|
48
|
+
export const EmbedErrorPlaceholder = ({ type, children, figureType, float }: Props) => {
|
|
49
49
|
return (
|
|
50
50
|
<StyledFigure size={figureType} float={float} data-embed-type={type}>
|
|
51
51
|
{children ?? (
|
|
@@ -57,5 +57,3 @@ const EmbedErrorPlaceholder = ({ type, children, figureType, float }: Props) =>
|
|
|
57
57
|
</StyledFigure>
|
|
58
58
|
);
|
|
59
59
|
};
|
|
60
|
-
|
|
61
|
-
export default EmbedErrorPlaceholder;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { PageContent } from "@ndla/primitives";
|
|
11
11
|
import type { OembedEmbedData, OembedData } from "@ndla/types-embed";
|
|
12
|
-
import ExternalEmbed from "./ExternalEmbed";
|
|
12
|
+
import { ExternalEmbed } from "./ExternalEmbed";
|
|
13
13
|
import { ArticleWrapper, ArticleContent } from "../Article/Article";
|
|
14
14
|
|
|
15
15
|
const embedData: OembedEmbedData = {
|
|
@@ -11,8 +11,8 @@ import { useTranslation } from "react-i18next";
|
|
|
11
11
|
import { Figure } from "@ndla/primitives";
|
|
12
12
|
import { styled } from "@ndla/styled-system/jsx";
|
|
13
13
|
import type { OembedMetaData } from "@ndla/types-embed";
|
|
14
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
15
|
-
import ResourceBox from "../ResourceBox/ResourceBox";
|
|
14
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
15
|
+
import { ResourceBox } from "../ResourceBox/ResourceBox";
|
|
16
16
|
|
|
17
17
|
interface Props {
|
|
18
18
|
embed: OembedMetaData;
|
|
@@ -27,7 +27,7 @@ const StyledFigure = styled(Figure, {
|
|
|
27
27
|
},
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
const ExternalEmbed = ({ embed }: Props) => {
|
|
30
|
+
export const ExternalEmbed = ({ embed }: Props) => {
|
|
31
31
|
const { t } = useTranslation();
|
|
32
32
|
const figRef = useRef<HTMLElement>(null);
|
|
33
33
|
|
|
@@ -73,4 +73,3 @@ const ExternalEmbed = ({ embed }: Props) => {
|
|
|
73
73
|
/>
|
|
74
74
|
);
|
|
75
75
|
};
|
|
76
|
-
export default ExternalEmbed;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import type { Meta, StoryFn, StoryObj } from "@storybook/react";
|
|
10
10
|
import type { FootnoteData, FootnoteEmbedData } from "@ndla/types-embed";
|
|
11
|
-
import FootnoteEmbed from "./FootnoteEmbed";
|
|
11
|
+
import { FootnoteEmbed } from "./FootnoteEmbed";
|
|
12
12
|
import { ArticleByline } from "../Article/ArticleByline";
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -23,7 +23,7 @@ const StyledSup = styled("sup", {
|
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
const FootnoteEmbed = ({ embed }: Props) => {
|
|
26
|
+
export const FootnoteEmbed = ({ embed }: Props) => {
|
|
27
27
|
const { t } = useTranslation();
|
|
28
28
|
if (embed.status === "error") {
|
|
29
29
|
return <div>{t("error")}</div>;
|
|
@@ -37,5 +37,3 @@ const FootnoteEmbed = ({ embed }: Props) => {
|
|
|
37
37
|
</span>
|
|
38
38
|
);
|
|
39
39
|
};
|
|
40
|
-
|
|
41
|
-
export default FootnoteEmbed;
|
package/src/Embed/GlossEmbed.tsx
CHANGED
|
@@ -12,8 +12,8 @@ import { Figure, PopoverContent, PopoverRoot, PopoverTrigger } from "@ndla/primi
|
|
|
12
12
|
import { styled } from "@ndla/styled-system/jsx";
|
|
13
13
|
import type { ConceptMetaData } from "@ndla/types-embed";
|
|
14
14
|
import { ConceptInlineTriggerButton } from "./ConceptInlineTriggerButton";
|
|
15
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
16
|
-
import Gloss from "../Gloss/Gloss";
|
|
15
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
16
|
+
import { Gloss } from "../Gloss/Gloss";
|
|
17
17
|
|
|
18
18
|
interface Props {
|
|
19
19
|
embed: ConceptMetaData;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { PageContent } from "@ndla/primitives";
|
|
11
11
|
import type { H5pEmbedData, H5pData } from "@ndla/types-embed";
|
|
12
|
-
import H5pEmbed from "./H5pEmbed";
|
|
12
|
+
import { H5pEmbed } from "./H5pEmbed";
|
|
13
13
|
import { ArticleWrapper, ArticleContent } from "../Article/Article";
|
|
14
14
|
|
|
15
15
|
const embedData: H5pEmbedData = {
|
package/src/Embed/H5pEmbed.tsx
CHANGED
|
@@ -10,7 +10,7 @@ import { useTranslation } from "react-i18next";
|
|
|
10
10
|
import { Figure } from "@ndla/primitives";
|
|
11
11
|
import { styled } from "@ndla/styled-system/jsx";
|
|
12
12
|
import type { H5pMetaData } from "@ndla/types-embed";
|
|
13
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
13
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
14
14
|
|
|
15
15
|
interface Props {
|
|
16
16
|
embed: H5pMetaData;
|
|
@@ -34,7 +34,7 @@ const FigureOembed = styled(Figure, {
|
|
|
34
34
|
},
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
-
const H5pEmbed = ({ embed }: Props) => {
|
|
37
|
+
export const H5pEmbed = ({ embed }: Props) => {
|
|
38
38
|
const { t } = useTranslation();
|
|
39
39
|
if (embed.status === "error") {
|
|
40
40
|
return <EmbedErrorPlaceholder type="h5p" />;
|
|
@@ -58,5 +58,3 @@ const H5pEmbed = ({ embed }: Props) => {
|
|
|
58
58
|
</StyledFigure>
|
|
59
59
|
);
|
|
60
60
|
};
|
|
61
|
-
|
|
62
|
-
export default H5pEmbed;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { PageContent } from "@ndla/primitives";
|
|
11
11
|
import type { IframeData, IframeEmbedData } from "@ndla/types-embed";
|
|
12
|
-
import IframeEmbed from "./IframeEmbed";
|
|
12
|
+
import { IframeEmbed } from "./IframeEmbed";
|
|
13
13
|
import { ArticleWrapper, ArticleContent } from "../Article/Article";
|
|
14
14
|
|
|
15
15
|
const embedData: IframeEmbedData = {
|
|
@@ -11,8 +11,8 @@ import { useTranslation } from "react-i18next";
|
|
|
11
11
|
import { Figure } from "@ndla/primitives";
|
|
12
12
|
import { styled } from "@ndla/styled-system/jsx";
|
|
13
13
|
import type { IframeMetaData } from "@ndla/types-embed";
|
|
14
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
15
|
-
import ResourceBox from "../ResourceBox/ResourceBox";
|
|
14
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
15
|
+
import { ResourceBox } from "../ResourceBox/ResourceBox";
|
|
16
16
|
|
|
17
17
|
interface Props {
|
|
18
18
|
embed: IframeMetaData;
|
|
@@ -31,7 +31,7 @@ const StyledFigure = styled(Figure, {
|
|
|
31
31
|
},
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
const IframeEmbed = ({ embed }: Props) => {
|
|
34
|
+
export const IframeEmbed = ({ embed }: Props) => {
|
|
35
35
|
const { t } = useTranslation();
|
|
36
36
|
const iframeRef = useRef<HTMLIFrameElement>(null);
|
|
37
37
|
|
|
@@ -89,5 +89,3 @@ const IframeEmbed = ({ embed }: Props) => {
|
|
|
89
89
|
</StyledFigure>
|
|
90
90
|
);
|
|
91
91
|
};
|
|
92
|
-
|
|
93
|
-
export default IframeEmbed;
|
|
@@ -12,7 +12,7 @@ import { PageContent, Text } from "@ndla/primitives";
|
|
|
12
12
|
import { styled } from "@ndla/styled-system/jsx";
|
|
13
13
|
import type { IImageMetaInformationV3DTO } from "@ndla/types-backend/image-api";
|
|
14
14
|
import type { ImageEmbedData } from "@ndla/types-embed";
|
|
15
|
-
import ImageEmbed from "./ImageEmbed";
|
|
15
|
+
import { ImageEmbed } from "./ImageEmbed";
|
|
16
16
|
import { ArticleWrapper, ArticleContent } from "../Article/Article";
|
|
17
17
|
import { Grid } from "../Grid/Grid";
|
|
18
18
|
|
package/src/Embed/ImageEmbed.tsx
CHANGED
|
@@ -13,7 +13,7 @@ import { AddLine } from "@ndla/icons";
|
|
|
13
13
|
import { Figure, type FigureSize, type FigureVariantProps, Image } from "@ndla/primitives";
|
|
14
14
|
import { styled } from "@ndla/styled-system/jsx";
|
|
15
15
|
import type { ImageEmbedData, ImageMetaData } from "@ndla/types-embed";
|
|
16
|
-
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
16
|
+
import { EmbedErrorPlaceholder } from "./EmbedErrorPlaceholder";
|
|
17
17
|
import type { RenderContext } from "./types";
|
|
18
18
|
import { EmbedByline } from "../LicenseByline/EmbedByline";
|
|
19
19
|
import { licenseAttributes } from "../utils/licenseAttributes";
|
|
@@ -190,7 +190,7 @@ const ExpandButton = styled(
|
|
|
190
190
|
{ defaultProps: { type: "button" } },
|
|
191
191
|
);
|
|
192
192
|
|
|
193
|
-
const ImageEmbed = ({ embed, previewAlt, lang, renderContext = "article", children }: Props) => {
|
|
193
|
+
export const ImageEmbed = ({ embed, previewAlt, lang, renderContext = "article", children }: Props) => {
|
|
194
194
|
const [imageSizes, setImageSizes] = useState<string | undefined>(undefined);
|
|
195
195
|
const figureProps = getFigureProps(embed.embedData.size, embed.embedData.align);
|
|
196
196
|
const { t } = useTranslation();
|
|
@@ -266,5 +266,3 @@ const ImageEmbed = ({ embed, previewAlt, lang, renderContext = "article", childr
|
|
|
266
266
|
</StyledFigure>
|
|
267
267
|
);
|
|
268
268
|
};
|
|
269
|
-
|
|
270
|
-
export default ImageEmbed;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { PageContent } from "@ndla/primitives";
|
|
11
11
|
import type { RelatedContentMetaData } from "@ndla/types-embed";
|
|
12
|
-
import RelatedContentEmbed from "./RelatedContentEmbed";
|
|
12
|
+
import { RelatedContentEmbed } from "./RelatedContentEmbed";
|
|
13
13
|
import { ArticleWrapper, ArticleContent } from "../Article/Article";
|
|
14
14
|
import { RelatedArticleList } from "../RelatedArticleList/RelatedArticleList";
|
|
15
15
|
|
|
@@ -18,7 +18,7 @@ interface Props {
|
|
|
18
18
|
ndlaFrontendDomain?: string;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
const RelatedContentEmbed = ({ embed, isOembed, subject, ndlaFrontendDomain }: Props) => {
|
|
21
|
+
export const RelatedContentEmbed = ({ embed, isOembed, subject, ndlaFrontendDomain }: Props) => {
|
|
22
22
|
const { t } = useTranslation();
|
|
23
23
|
if (embed.status === "error") {
|
|
24
24
|
return null;
|
|
@@ -55,5 +55,3 @@ const RelatedContentEmbed = ({ embed, isOembed, subject, ndlaFrontendDomain }: P
|
|
|
55
55
|
}
|
|
56
56
|
return null;
|
|
57
57
|
};
|
|
58
|
-
|
|
59
|
-
export default RelatedContentEmbed;
|
|
@@ -14,7 +14,7 @@ interface Props {
|
|
|
14
14
|
embed: MetaData<any, any>;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
const UnknownEmbed = ({ embed }: Props) => {
|
|
17
|
+
export const UnknownEmbed = ({ embed }: Props) => {
|
|
18
18
|
const { t } = useTranslation();
|
|
19
19
|
return (
|
|
20
20
|
<Text color="text.error" asChild consumeCss data-embed-type="unknown">
|
|
@@ -22,5 +22,3 @@ const UnknownEmbed = ({ embed }: Props) => {
|
|
|
22
22
|
</Text>
|
|
23
23
|
);
|
|
24
24
|
};
|
|
25
|
-
|
|
26
|
-
export default UnknownEmbed;
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { ExpandableBox, ExpandableBoxSummary, FramedContent, PageContent } from "@ndla/primitives";
|
|
11
11
|
import type { UUDisclaimerData, UuDisclaimerEmbedData } from "@ndla/types-embed";
|
|
12
|
-
import H5pEmbed from "./H5pEmbed";
|
|
13
|
-
import IframeEmbed from "./IframeEmbed";
|
|
14
|
-
import UuDisclaimerEmbed from "./UuDisclaimerEmbed";
|
|
12
|
+
import { H5pEmbed } from "./H5pEmbed";
|
|
13
|
+
import { IframeEmbed } from "./IframeEmbed";
|
|
14
|
+
import { UuDisclaimerEmbed } from "./UuDisclaimerEmbed";
|
|
15
15
|
import { ArticleWrapper, ArticleContent } from "../Article/Article";
|
|
16
|
-
import CopyParagraphButton from "../CopyParagraphButton/CopyParagraphButton";
|
|
17
|
-
import FactBox from "../FactBox/FactBox";
|
|
16
|
+
import { CopyParagraphButton } from "../CopyParagraphButton/CopyParagraphButton";
|
|
17
|
+
import { FactBox } from "../FactBox/FactBox";
|
|
18
18
|
|
|
19
19
|
const embedData: UuDisclaimerEmbedData = {
|
|
20
20
|
resource: "uu-disclaimer",
|
|
@@ -50,7 +50,7 @@ const StyledPopoverContent = styled(PopoverContent, {
|
|
|
50
50
|
},
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
const UuDisclaimerEmbed = ({ embed, transformedDisclaimer, children }: Props) => {
|
|
53
|
+
export const UuDisclaimerEmbed = ({ embed, transformedDisclaimer, children }: Props) => {
|
|
54
54
|
const { t } = useTranslation();
|
|
55
55
|
if (embed.status === "error") {
|
|
56
56
|
return (
|
|
@@ -87,5 +87,3 @@ const UuDisclaimerEmbed = ({ embed, transformedDisclaimer, children }: Props) =>
|
|
|
87
87
|
</DisclaimerWrapper>
|
|
88
88
|
);
|
|
89
89
|
};
|
|
90
|
-
|
|
91
|
-
export default UuDisclaimerEmbed;
|
package/src/FactBox/FactBox.tsx
CHANGED
|
@@ -127,7 +127,7 @@ const StyledIconButton = styled(IconButton, {
|
|
|
127
127
|
|
|
128
128
|
// TODO: Consider moving the open trigger depending on whether the content is open or closed.
|
|
129
129
|
|
|
130
|
-
const FactBox = forwardRef<HTMLElement, Props>(
|
|
130
|
+
export const FactBox = forwardRef<HTMLElement, Props>(
|
|
131
131
|
({ children, open, onOpenChange, defaultOpen = false, ...rest }, ref) => {
|
|
132
132
|
const { t } = useTranslation();
|
|
133
133
|
const [state, setState] = useState<"open" | "closed">(defaultOpen ? "open" : "closed");
|
|
@@ -187,5 +187,3 @@ const FactBox = forwardRef<HTMLElement, Props>(
|
|
|
187
187
|
);
|
|
188
188
|
},
|
|
189
189
|
);
|
|
190
|
-
|
|
191
|
-
export default FactBox;
|