Merge pull request #242 from reuters-graphics/mf-doc-cloud
Updates DocumentCloud
This commit is contained in:
commit
7ac52a8625
4 changed files with 60 additions and 68 deletions
26
src/components/DocumentCloud/DocumentCloud.mdx
Normal file
26
src/components/DocumentCloud/DocumentCloud.mdx
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { Meta, Canvas } from '@storybook/blocks';
|
||||||
|
|
||||||
|
import * as DocumentCloudStories from './DocumentCloud.stories.svelte';
|
||||||
|
|
||||||
|
<Meta of={DocumentCloudStories} />
|
||||||
|
|
||||||
|
# DocumentCloud
|
||||||
|
|
||||||
|
The `DocumentCloud` component embeds a document hosted by [DocumentCloud](https://documentcloud.org).
|
||||||
|
|
||||||
|
The document must have its access level set to **public** before it can be embedded. The `slug` can be found after the final slash in the document's URL.
|
||||||
|
|
||||||
|
For instance, the document included in the example is found at [documentcloud.org/documents/3259984-Trump-Intelligence-Allegations](https://www.documentcloud.org/documents/3259984-Trump-Intelligence-Allegations). The `slug` is `3259984-Trump-Intelligence-Allegations`.
|
||||||
|
|
||||||
|
```svelte
|
||||||
|
<script>
|
||||||
|
import { DocumentCloud } from '@reuters-graphics/graphics-components';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DocumentCloud
|
||||||
|
slug="3259984-Trump-Intelligence-Allegations"
|
||||||
|
altText="These Reports Allege Trump Has Deep Ties To Russia"
|
||||||
|
/>
|
||||||
|
```
|
||||||
|
|
||||||
|
<Canvas of={DocumentCloudStories.Demo} />
|
||||||
|
|
@ -1,38 +1,23 @@
|
||||||
<script module lang="ts">
|
<script module lang="ts">
|
||||||
|
import { defineMeta } from '@storybook/addon-svelte-csf';
|
||||||
import DocumentCloud from './DocumentCloud.svelte';
|
import DocumentCloud from './DocumentCloud.svelte';
|
||||||
// @ts-ignore raw
|
|
||||||
import componentDocs from './stories/docs/component.md?raw';
|
|
||||||
|
|
||||||
import { withComponentDocs } from '$lib/docs/utils/withParams.js';
|
const { Story } = defineMeta({
|
||||||
|
|
||||||
export const meta = {
|
|
||||||
title: 'Components/Multimedia/DocumentCloud',
|
title: 'Components/Multimedia/DocumentCloud',
|
||||||
component: DocumentCloud,
|
component: DocumentCloud,
|
||||||
...withComponentDocs(componentDocs),
|
|
||||||
argTypes: {
|
argTypes: {
|
||||||
width: {
|
width: {
|
||||||
control: 'select',
|
control: 'select',
|
||||||
options: ['normal', 'wide', 'wider', 'widest', 'fluid'],
|
options: ['normal', 'wide', 'wider', 'widest', 'fluid'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script>
|
|
||||||
import { Template, Story } from '@storybook/addon-svelte-csf';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<Template >
|
|
||||||
{#snippet children({ args })}
|
|
||||||
<DocumentCloud {...args} />
|
|
||||||
{/snippet}
|
|
||||||
</Template>
|
|
||||||
|
|
||||||
<Story
|
<Story
|
||||||
name="Default"
|
name="Demo"
|
||||||
args="{{
|
args={{
|
||||||
width: 'normal',
|
|
||||||
slug: '3259984-Trump-Intelligence-Allegations',
|
slug: '3259984-Trump-Intelligence-Allegations',
|
||||||
altText: 'These Reports Allege Trump Has Deep Ties To Russia',
|
altText: 'These Reports Allege Trump Has Deep Ties To Russia',
|
||||||
}}"
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,41 @@
|
||||||
<!-- @migration-task Error while migrating Svelte code: Cannot set properties of undefined (setting 'next') -->
|
|
||||||
<!-- @component `DocumentCloud` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-documentcloud--docs) -->
|
<!-- @component `DocumentCloud` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-documentcloud--docs) -->
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { ContainerWidth } from '../@types/global';
|
import type { ContainerWidth } from '../@types/global';
|
||||||
/** ✏️ DOCUMENT your chart's props using TypeScript and JSDoc comments like below! */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Width of the container, one of: normal, wide, wider, widest or fluid
|
|
||||||
*/
|
|
||||||
export let width: ContainerWidth = 'normal';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The unique identifier for the document.
|
|
||||||
* @required
|
|
||||||
*/
|
|
||||||
export let slug: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Alt text for the document.
|
|
||||||
* @required
|
|
||||||
*/
|
|
||||||
export let altText: string;
|
|
||||||
|
|
||||||
/** Add an ID to target with SCSS. */
|
|
||||||
export let id: string = '';
|
|
||||||
|
|
||||||
/** Add a class to target with SCSS. */
|
|
||||||
let cls: string = '';
|
|
||||||
export { cls as class };
|
|
||||||
|
|
||||||
import Block from '../Block/Block.svelte';
|
import Block from '../Block/Block.svelte';
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
/**
|
||||||
|
* The unique identifier for the document.
|
||||||
|
*/
|
||||||
|
slug: string;
|
||||||
|
/**
|
||||||
|
* Alt text for the document.
|
||||||
|
*/
|
||||||
|
altText: string;
|
||||||
|
/**
|
||||||
|
* Width of the container, one of: normal, wide, wider, widest or fluid
|
||||||
|
*/
|
||||||
|
width?: ContainerWidth;
|
||||||
|
/** Add an ID to target with SCSS. */
|
||||||
|
id?: string;
|
||||||
|
/** Add a class to target with SCSS. */
|
||||||
|
class?: string; // Add a class to target with SCSS.
|
||||||
|
}
|
||||||
|
|
||||||
|
let {
|
||||||
|
slug,
|
||||||
|
altText,
|
||||||
|
width = 'normal',
|
||||||
|
id = '',
|
||||||
|
class: cls = '',
|
||||||
|
}: Props = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Block {width} {id} class="photo fmy-6 {cls}">
|
<Block {width} {id} class="photo fmy-6 {cls}">
|
||||||
<iframe
|
<iframe
|
||||||
class="h-screen"
|
class="h-screen"
|
||||||
src="https://embed.documentcloud.org/documents/{slug}/?embed=1&responsive=1&title=1"
|
src="https://embed.documentcloud.org/documents/{slug}/?embed=1&responsive=1&title=1"
|
||||||
title="{altText}"
|
title={altText}
|
||||||
width="700"
|
|
||||||
height="540"
|
|
||||||
sandbox="allow-scripts allow-same-origin allow-popups allow-forms allow-popups-to-escape-sandbox"
|
sandbox="allow-scripts allow-same-origin allow-popups allow-forms allow-popups-to-escape-sandbox"
|
||||||
></iframe>
|
></iframe>
|
||||||
</Block>
|
</Block>
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
Embed a document hosted by [DocumentCloud](https://documentcloud.org)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
The document must have its access level set to public before it can be embedded. The `slug` argument can be found after the final slash in the document's URL. For instance, the document included in the example is found at [documentcloud.org/documents/3259984-Trump-Intelligence-Allegations](https://www.documentcloud.org/documents/3259984-Trump-Intelligence-Allegations). The slug is "3259984-Trump-Intelligence-Allegations".
|
|
||||||
|
|
||||||
```svelte
|
|
||||||
<script>
|
|
||||||
import { DocumentCloud } from '@reuters-graphics/graphics-components';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<DocumentCloud
|
|
||||||
slug="3259984-Trump-Intelligence-Allegations"
|
|
||||||
altText="These Reports Allege Trump Has Deep Ties To Russia"
|
|
||||||
width="normal"
|
|
||||||
/>
|
|
||||||
```
|
|
||||||
Loading…
Reference in a new issue