diff --git a/bin/newComponent/template/YourComponent/YourComponent.svelte b/bin/newComponent/template/YourComponent/YourComponent.svelte index 84337bc2..41965e94 100644 --- a/bin/newComponent/template/YourComponent/YourComponent.svelte +++ b/bin/newComponent/template/YourComponent/YourComponent.svelte @@ -23,10 +23,16 @@ /** Width of the component within the text well. */ export let width: ContainerWidth = 'normal'; + /** Add an ID to target with SCSS. */ + export let id: string = ''; + + /** Add a class to target with SCSS. */ + export let cls: string = ''; + import Block from '../Block/Block.svelte'; - +
- import { YourComponent } from '@reuters-graphics/graphics-svelte-components'; + import { YourComponent } from '@reuters-graphics/graphics-components'; diff --git a/src/components/BeforeAfter/BeforeAfter.svelte b/src/components/BeforeAfter/BeforeAfter.svelte index d2e12e99..326a86b6 100644 --- a/src/components/BeforeAfter/BeforeAfter.svelte +++ b/src/components/BeforeAfter/BeforeAfter.svelte @@ -102,16 +102,16 @@ const move = (e) => { if (sliding && imgOffset) { const el = e.touches ? e.touches[0] : e; - const figureOffset = figure ? - parseInt(window.getComputedStyle(figure).marginLeft.slice(0, -2)) : - 0; + const figureOffset = figure + ? parseInt(window.getComputedStyle(figure).marginLeft.slice(0, -2)) + : 0; let x = el.pageX - figureOffset - imgOffset.left; x = - x < handleMargin ? - handleMargin : - x > w - handleMargin ? - w - handleMargin : - x; + x < handleMargin + ? handleMargin + : x > w - handleMargin + ? w - handleMargin + : x; offset = x / w; } }; diff --git a/src/components/BodyText/BodyText.svelte b/src/components/BodyText/BodyText.svelte index 96eeec09..63280fc9 100644 --- a/src/components/BodyText/BodyText.svelte +++ b/src/components/BodyText/BodyText.svelte @@ -21,9 +21,9 @@ \ No newline at end of file + diff --git a/src/components/PymChild/PymChild.svelte b/src/components/PymChild/PymChild.svelte index 2ade8f1d..8afaa333 100644 --- a/src/components/PymChild/PymChild.svelte +++ b/src/components/PymChild/PymChild.svelte @@ -12,4 +12,4 @@ onMount(() => { pymChild = new pym.Child({ polling }); }); - \ No newline at end of file + diff --git a/src/components/Scroller/Scroller.svelte b/src/components/Scroller/Scroller.svelte index a74670d9..cd9b0392 100644 --- a/src/components/Scroller/Scroller.svelte +++ b/src/components/Scroller/Scroller.svelte @@ -24,8 +24,13 @@ * Width of the background */ export let backgroundWidth: ContainerWidth = 'fluid'; - - type ForegroundPosition = 'middle' | 'left' | 'right' | 'left opposite' | 'right opposite'; + + type ForegroundPosition = + | 'middle' + | 'left' + | 'right' + | 'left opposite' + | 'right opposite'; /** * Position of the foreground. One of: middle, left, right, left opposite or right opposite. @@ -114,7 +119,7 @@ >
- +
diff --git a/src/components/SimpleTimeline/SimpleTimeline.stories.svelte b/src/components/SimpleTimeline/SimpleTimeline.stories.svelte new file mode 100644 index 00000000..e1a6581e --- /dev/null +++ b/src/components/SimpleTimeline/SimpleTimeline.stories.svelte @@ -0,0 +1,98 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/SimpleTimeline/SimpleTimeline.svelte b/src/components/SimpleTimeline/SimpleTimeline.svelte new file mode 100644 index 00000000..ce475eeb --- /dev/null +++ b/src/components/SimpleTimeline/SimpleTimeline.svelte @@ -0,0 +1,146 @@ + + + + +
+ {#each dates as date} +
+ + + +
{date.date}
+ {#each date.events as event} +
+ {#if event.titleLink} + +
+ {event.title} +
+
+ {:else} +
{event.title}
+ {/if} + {#if event.context} + {@html marked(event.context)} + {/if} +
+ {/each} +
+ {/each} +
+
+ + diff --git a/src/components/SimpleTimeline/stories/docs/component.md b/src/components/SimpleTimeline/stories/docs/component.md new file mode 100644 index 00000000..8168bb16 --- /dev/null +++ b/src/components/SimpleTimeline/stories/docs/component.md @@ -0,0 +1,25 @@ +A simple, clean text timeline. + +```svelte + + + + +``` diff --git a/src/components/SimpleTimeline/stories/shark.jpg b/src/components/SimpleTimeline/stories/shark.jpg new file mode 100644 index 00000000..6d32b7fe Binary files /dev/null and b/src/components/SimpleTimeline/stories/shark.jpg differ diff --git a/src/components/Spinner/Spinner.svelte b/src/components/Spinner/Spinner.svelte index d72ba3c1..6f80376c 100644 --- a/src/components/Spinner/Spinner.svelte +++ b/src/components/Spinner/Spinner.svelte @@ -22,7 +22,7 @@
diff --git a/src/components/Visible/Visible.svelte b/src/components/Visible/Visible.svelte index 3db72380..72c7f26c 100644 --- a/src/components/Visible/Visible.svelte +++ b/src/components/Visible/Visible.svelte @@ -17,10 +17,10 @@ export let right = 0; /** Set the Intersection Observer [threshold](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#threshold). */ export let threshold = 0; - + let visible = false; let container: HTMLElement; - + onMount(() => { if (typeof IntersectionObserver !== 'undefined') { const rootMargin = `${bottom}px ${left}px ${top}px ${right}px`; diff --git a/src/index.js b/src/index.js index 91614905..1bfc0342 100644 --- a/src/index.js +++ b/src/index.js @@ -18,6 +18,7 @@ export { default as ReutersLogo } from './components/ReutersLogo/ReutersLogo.sve export { default as Scroller } from './components/Scroller/Scroller.svelte'; export { default as SEO } from './components/SEO/SEO.svelte'; export { default as Sharer } from './components/Sharer/Sharer.svelte'; +export { default as SimpleTimeline } from './components/SimpleTimeline/SimpleTimeline.svelte'; export { default as SiteFooter } from './components/SiteFooter/SiteFooter.svelte'; export { default as SiteHeader } from './components/SiteHeader/SiteHeader.svelte'; export { default as Spinner } from './components/Spinner/Spinner.svelte';