diff --git a/docs/assets/Analytics.stories-7d7cb26b.js.map b/docs/assets/Analytics.stories-7d7cb26b.js.map index b67bd599..bc00ba86 100644 --- a/docs/assets/Analytics.stories-7d7cb26b.js.map +++ b/docs/assets/Analytics.stories-7d7cb26b.js.map @@ -1 +1 @@ -{"version":3,"file":"Analytics.stories-7d7cb26b.js","sources":["../../src/components/Analytics/stories/docs/component.md?raw","../../src/components/Analytics/stories/docs/environments.md?raw","../../src/components/Analytics/stories/docs/multipage.md?raw","../../src/components/Analytics/providers/ga.ts","../../src/components/Analytics/providers/chartbeat.ts","../../src/components/Analytics/Analytics.svelte","../../src/components/Analytics/Analytics.stories.svelte"],"sourcesContent":["export default \"Add Google and Chartbeat analytics to your page.\\n\\n```svelte\\n\\n\\n\\n```\\n\"","export default \"Generally, you only want to send page analytics in production environments.\\n\\nIn a SvelteKit context, you can use `$app` stores to restrict when you send analytics.\\n\\nFor example, the following excludes analytics from pages in development or hosted on our preview server:\\n\\n```svelte\\n\\n\\n{#if !dev && $page.url?.hostname !== 'graphics.thomsonreuters.com'}\\n \\n{/if}\\n```\\n\"","export default \"If you're using analytics to measure a multipage newsapp that uses [client-side routing](https://kit.svelte.dev/docs/glossary#routing), then you may need to trigger analytics after virtual page navigation.\\n\\nThis component also exports a function you can call to register pageviews.\\n\\nFor example, here's how you can use SvelteKit's [`afterNavigate`](https://kit.svelte.dev/docs/modules#$app-navigation-afternavigate) lifecycle to capture additional pageviews:\\n\\n```svelte\\n\\n\\n\\n```\\n\"","// Reuters Google Tag ID\nconst GOOGLE_TAG_ID = 'G-WBSR7WLTGD';\n\nconst URL = `https://www.googletagmanager.com/gtag/js?id=${GOOGLE_TAG_ID}`;\n\nconst attachScript = () => {\n // If script is already attached, skip\n if (document.querySelector(`script[src=\"${URL}\"]`)) return;\n // ... else attach it.\n const e = document.createElement('script');\n const n = document.getElementsByTagName('script')[0];\n e.type = 'text/javascript';\n e.async = true;\n e.src = URL;\n n.parentNode.insertBefore(e, n);\n};\n\nexport default () => {\n try {\n window.dataLayer = window.dataLayer || [];\n if (!window.gtag) {\n attachScript();\n /** @type {Gtag.Gtag} */\n window.gtag = function() {\n window.dataLayer.push(arguments);\n };\n window.gtag('js', new Date());\n // config event registers a pageview by default\n window.gtag('config', GOOGLE_TAG_ID, {\n send_page_view: false,\n });\n registerPageview();\n }\n } catch (e) { console.warn(`Error initialising Google Analytics: ${e}`); }\n};\n\nexport const registerPageview = () => {\n if (typeof window === 'undefined' || !window.gtag) return;\n window.gtag('event', 'page_view', {\n page_location: window.location.origin + window.location.pathname,\n page_title: document?.title,\n });\n};\n","// Reuters Chartbeat UID\nconst UID = 52639;\n\nconst URL = '//static.chartbeat.com/js/chartbeat.js';\n\nconst attachScript = () => {\n // If script is already attached, skip\n if (document.querySelector(`script[src=\"${URL}\"]`)) return;\n // ... else attach it.\n const e = document.createElement('script');\n const n = document.getElementsByTagName('script')[0];\n e.type = 'text/javascript';\n e.async = true;\n e.src = URL;\n n.parentNode.insertBefore(e, n);\n};\n\nexport default (authors: { name: string }[]) => {\n window._sf_async_config = {\n uid: UID,\n domain: 'reuters.com',\n flickerControl: false,\n useCanonical: true,\n useCanonicalDomain: true,\n sections: 'Graphics',\n authors: authors.map((a) => a?.name || '').join(','),\n ...(window._sf_async_config || {}),\n };\n\n try {\n attachScript();\n } catch (e) { console.warn(`Error initialising Chartbeat Analytics: ${e}`); }\n};\n\nexport const registerPageview = () => {\n if (typeof window === 'undefined' || !window.pSUPERFLY) return;\n window.pSUPERFLY({\n path: window.location.pathname,\n title: document?.title,\n });\n};\n","\n\n\n\n","\n\n\n\n\n\n\n\n\n \n
Nothing to see here
\n
\n\n\n \n
Nothing to see here
\n
\n"],"names":["componentDocs","environmentsDocs","multipageDocs","GOOGLE_TAG_ID","URL","attachScript","e","n","ga","registerPageview","UID","chartbeat","authors","a","$$props","onMount","ctx","insert","target","div","anchor","Analytics","withComponentDocs","story1_spread_levels","withStoryDocs","story2_spread_levels"],"mappings":"qTAAA,MAAeA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECCTC,EAAgB,eAEhBC,EAAM,+CAA+CD,CAAa,GAElEE,GAAe,IAAM,CAEzB,GAAI,SAAS,cAAc,eAAeD,CAAG,IAAI,EAAG,OAE9C,MAAAE,EAAI,SAAS,cAAc,QAAQ,EACnCC,EAAI,SAAS,qBAAqB,QAAQ,EAAE,CAAC,EACnDD,EAAE,KAAO,kBACTA,EAAE,MAAQ,GACVA,EAAE,IAAMF,EACNG,EAAA,WAAW,aAAaD,EAAGC,CAAC,CAChC,EAEAC,GAAe,IAAM,CACf,GAAA,CACK,OAAA,UAAY,OAAO,WAAa,CAAA,EAClC,OAAO,OACGH,KAEb,OAAO,KAAO,UAAW,CAChB,OAAA,UAAU,KAAK,SAAS,CAAA,EAEjC,OAAO,KAAK,KAAU,IAAA,IAAM,EAErB,OAAA,KAAK,SAAUF,EAAe,CACnC,eAAgB,EAAA,CACjB,EACgBM,YAEZH,EAAG,CAAU,QAAA,KAAK,wCAAwCA,CAAC,EAAE,CAAG,CAC3E,EAEaG,GAAmB,IAAM,CAChC,OAAO,OAAW,KAAe,CAAC,OAAO,MACtC,OAAA,KAAK,QAAS,YAAa,CAChC,cAAe,OAAO,SAAS,OAAS,OAAO,SAAS,SACxD,WAAY,+BAAU,KAAA,CACvB,CACH,ECzCMC,GAAM,MAENN,EAAM,yCAENC,GAAe,IAAM,CAEzB,GAAI,SAAS,cAAc,eAAeD,CAAG,IAAI,EAAG,OAE9C,MAAAE,EAAI,SAAS,cAAc,QAAQ,EACnCC,EAAI,SAAS,qBAAqB,QAAQ,EAAE,CAAC,EACnDD,EAAE,KAAO,kBACTA,EAAE,MAAQ,GACVA,EAAE,IAAMF,EACNG,EAAA,WAAW,aAAaD,EAAGC,CAAC,CAChC,EAEeI,GAACC,GAAgC,CAC9C,OAAO,iBAAmB,CACxB,IAAKF,GACL,OAAQ,cACR,eAAgB,GAChB,aAAc,GACd,mBAAoB,GACpB,SAAU,WACV,QAASE,EAAQ,IAAKC,IAAMA,GAAA,YAAAA,EAAG,OAAQ,EAAE,EAAE,KAAK,GAAG,EACnD,GAAI,OAAO,kBAAoB,CAAC,CAAA,EAG9B,GAAA,CACWR,WACNC,EAAG,CAAU,QAAA,KAAK,2CAA2CA,CAAC,EAAE,CAAG,CAC9E,yBCba,QAAAM,EAAO,EAAA,EAAAE,EAKlB,OAAAC,EAAO,IAAA,CACLP,KACAG,GAAUC,CAAO,mqBCHJI,EAAI,CAAA,CAAA,kLACnBC,EAA6BC,EAAAC,EAAAC,CAAA,kCADdJ,EAAI,CAAA,CAAA,CAAA,CAAA,iQAanBC,EAA6BC,EAAAC,EAAAC,CAAA,6PAK7BH,EAA6BC,EAAAC,EAAAC,CAAA,oMAvBjBC,CAAS,EACjBC,EAAkBtB,CAAa,4MAWjC,UAAY,KAAM,UAAgB,EAAA,CAAA,KAAM,WAAU,MAIvB,MAAAuB,EAAA,CAAA,CAAA,KAAA,cAAA,EAAAC,EAAcvB,CAAgB,CAAA,4GAK5B,MAAAwB,EAAA,CAAA,CAAA,KAAA,gBAAA,EAAAD,EAActB,CAAa,CAAA;;;"} \ No newline at end of file +{"version":3,"file":"Analytics.stories-7d7cb26b.js","sources":["../../src/components/Analytics/stories/docs/component.md?raw","../../src/components/Analytics/stories/docs/environments.md?raw","../../src/components/Analytics/stories/docs/multipage.md?raw","../../src/components/Analytics/providers/ga.ts","../../src/components/Analytics/providers/chartbeat.ts","../../src/components/Analytics/Analytics.svelte","../../src/components/Analytics/Analytics.stories.svelte"],"sourcesContent":["export default \"Add Google and Chartbeat analytics to your page.\\n\\n```svelte\\n\\n\\n\\n```\\n\"","export default \"Generally, you only want to send page analytics in production environments.\\n\\nIn a SvelteKit context, you can use `$app` stores to restrict when you send analytics.\\n\\nFor example, the following excludes analytics from pages in development or hosted on our preview server:\\n\\n```svelte\\n\\n\\n{#if !dev && $page.url?.hostname !== 'graphics.thomsonreuters.com'}\\n \\n{/if}\\n```\\n\"","export default \"If you're using analytics to measure a multipage newsapp that uses [client-side routing](https://kit.svelte.dev/docs/glossary#routing), then you may need to trigger analytics after virtual page navigation.\\n\\nThis component also exports a function you can call to register pageviews.\\n\\nFor example, here's how you can use SvelteKit's [`afterNavigate`](https://kit.svelte.dev/docs/modules#$app-navigation-afternavigate) lifecycle to capture additional pageviews:\\n\\n```svelte\\n\\n\\n\\n```\\n\"","// Reuters Google Tag ID\nconst GOOGLE_TAG_ID = 'G-WBSR7WLTGD';\n\nconst URL = `https://www.googletagmanager.com/gtag/js?id=${GOOGLE_TAG_ID}`;\n\nconst attachScript = () => {\n // If script is already attached, skip\n if (document.querySelector(`script[src=\"${URL}\"]`)) return;\n // ... else attach it.\n const e = document.createElement('script');\n const n = document.getElementsByTagName('script')[0];\n e.type = 'text/javascript';\n e.async = true;\n e.src = URL;\n n.parentNode.insertBefore(e, n);\n};\n\nexport default () => {\n try {\n window.dataLayer = window.dataLayer || [];\n if (!window.gtag) {\n attachScript();\n /** @type {Gtag.Gtag} */\n window.gtag = function() {\n window.dataLayer.push(arguments);\n };\n window.gtag('js', new Date());\n // config event registers a pageview by default\n window.gtag('config', GOOGLE_TAG_ID, {\n send_page_view: false,\n });\n registerPageview();\n }\n } catch (e) { console.warn(`Error initialising Google Analytics: ${e}`); }\n};\n\nexport const registerPageview = () => {\n if (typeof window === 'undefined' || !window.gtag) return;\n window.gtag('event', 'page_view', {\n page_location: window.location.origin + window.location.pathname,\n page_title: document?.title,\n });\n};\n","// Reuters Chartbeat UID\nconst UID = 52639;\n\nconst URL = '//static.chartbeat.com/js/chartbeat.js';\n\nconst attachScript = () => {\n // If script is already attached, skip\n if (document.querySelector(`script[src=\"${URL}\"]`)) return;\n // ... else attach it.\n const e = document.createElement('script');\n const n = document.getElementsByTagName('script')[0];\n e.type = 'text/javascript';\n e.async = true;\n e.src = URL;\n n.parentNode.insertBefore(e, n);\n};\n\nexport default (authors: { name: string }[]) => {\n window._sf_async_config = {\n uid: UID,\n domain: 'reuters.com',\n flickerControl: false,\n useCanonical: true,\n useCanonicalDomain: true,\n sections: 'Graphics',\n authors: authors.map((a) => a?.name || '').join(','),\n ...(window._sf_async_config || {}),\n };\n\n try {\n attachScript();\n } catch (e) { console.warn(`Error initialising Chartbeat Analytics: ${e}`); }\n};\n\nexport const registerPageview = () => {\n if (typeof window === 'undefined' || !window.pSUPERFLY) return;\n window.pSUPERFLY.virtualPage({\n path: window.location.pathname,\n title: document?.title,\n });\n};\n","\n\n\n\n","\n\n\n\n\n\n\n\n\n \n
Nothing to see here
\n
\n\n\n \n
Nothing to see here
\n
\n"],"names":["componentDocs","environmentsDocs","multipageDocs","GOOGLE_TAG_ID","URL","attachScript","e","n","ga","registerPageview","UID","chartbeat","authors","a","$$props","onMount","ctx","insert","target","div","anchor","Analytics","withComponentDocs","story1_spread_levels","withStoryDocs","story2_spread_levels"],"mappings":"qTAAA,MAAeA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECCTC,EAAgB,eAEhBC,EAAM,+CAA+CD,CAAa,GAElEE,GAAe,IAAM,CAEzB,GAAI,SAAS,cAAc,eAAeD,CAAG,IAAI,EAAG,OAE9C,MAAAE,EAAI,SAAS,cAAc,QAAQ,EACnCC,EAAI,SAAS,qBAAqB,QAAQ,EAAE,CAAC,EACnDD,EAAE,KAAO,kBACTA,EAAE,MAAQ,GACVA,EAAE,IAAMF,EACNG,EAAA,WAAW,aAAaD,EAAGC,CAAC,CAChC,EAEAC,GAAe,IAAM,CACf,GAAA,CACK,OAAA,UAAY,OAAO,WAAa,CAAA,EAClC,OAAO,OACGH,KAEb,OAAO,KAAO,UAAW,CAChB,OAAA,UAAU,KAAK,SAAS,CAAA,EAEjC,OAAO,KAAK,KAAU,IAAA,IAAM,EAErB,OAAA,KAAK,SAAUF,EAAe,CACnC,eAAgB,EAAA,CACjB,EACgBM,YAEZH,EAAG,CAAU,QAAA,KAAK,wCAAwCA,CAAC,EAAE,CAAG,CAC3E,EAEaG,GAAmB,IAAM,CAChC,OAAO,OAAW,KAAe,CAAC,OAAO,MACtC,OAAA,KAAK,QAAS,YAAa,CAChC,cAAe,OAAO,SAAS,OAAS,OAAO,SAAS,SACxD,WAAY,+BAAU,KAAA,CACvB,CACH,ECzCMC,GAAM,MAENN,EAAM,yCAENC,GAAe,IAAM,CAEzB,GAAI,SAAS,cAAc,eAAeD,CAAG,IAAI,EAAG,OAE9C,MAAAE,EAAI,SAAS,cAAc,QAAQ,EACnCC,EAAI,SAAS,qBAAqB,QAAQ,EAAE,CAAC,EACnDD,EAAE,KAAO,kBACTA,EAAE,MAAQ,GACVA,EAAE,IAAMF,EACNG,EAAA,WAAW,aAAaD,EAAGC,CAAC,CAChC,EAEeI,GAACC,GAAgC,CAC9C,OAAO,iBAAmB,CACxB,IAAKF,GACL,OAAQ,cACR,eAAgB,GAChB,aAAc,GACd,mBAAoB,GACpB,SAAU,WACV,QAASE,EAAQ,IAAKC,IAAMA,GAAA,YAAAA,EAAG,OAAQ,EAAE,EAAE,KAAK,GAAG,EACnD,GAAI,OAAO,kBAAoB,CAAC,CAAA,EAG9B,GAAA,CACWR,WACNC,EAAG,CAAU,QAAA,KAAK,2CAA2CA,CAAC,EAAE,CAAG,CAC9E,yBCba,QAAAM,EAAO,EAAA,EAAAE,EAKlB,OAAAC,EAAO,IAAA,CACLP,KACAG,GAAUC,CAAO,mqBCHJI,EAAI,CAAA,CAAA,kLACnBC,EAA6BC,EAAAC,EAAAC,CAAA,kCADdJ,EAAI,CAAA,CAAA,CAAA,CAAA,iQAanBC,EAA6BC,EAAAC,EAAAC,CAAA,6PAK7BH,EAA6BC,EAAAC,EAAAC,CAAA,oMAvBjBC,CAAS,EACjBC,EAAkBtB,CAAa,4MAWjC,UAAY,KAAM,UAAgB,EAAA,CAAA,KAAM,WAAU,MAIvB,MAAAuB,EAAA,CAAA,CAAA,KAAA,cAAA,EAAAC,EAAcvB,CAAgB,CAAA,4GAK5B,MAAAwB,EAAA,CAAA,CAAA,KAAA,gBAAA,EAAAD,EAActB,CAAa,CAAA;;;"} \ No newline at end of file diff --git a/docs/project.json b/docs/project.json index 9100a492..c6e56475 100644 --- a/docs/project.json +++ b/docs/project.json @@ -1 +1 @@ -{"generatedAt":1716460670955,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"packageManager":{"type":"yarn","version":"1.22.22"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/svelte-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/svelte","storybookVersion":"7.4.2","storybookVersionSpecifier":"^7.4.2","language":"typescript","storybookPackages":{"@storybook/addon-essentials":{"version":"7.4.2"},"@storybook/addon-mdx-gfm":{"version":"7.4.2"},"@storybook/blocks":{"version":"7.4.2"},"@storybook/builder-vite":{"version":"7.4.2"},"@storybook/manager-api":{"version":"7.4.2"},"@storybook/mdx2-csf":{"version":"1.1.0"},"@storybook/svelte":{"version":"7.4.2"},"@storybook/svelte-vite":{"version":"7.4.2"},"@storybook/testing-library":{"version":"0.1.0"},"@storybook/theming":{"version":"7.4.2"},"eslint-plugin-storybook":{"version":"0.6.12"},"storybook":{"version":"7.4.2"}},"addons":{"@storybook/addon-links":{"version":"7.4.2"},"@storybook/addon-actions":{"version":"7.4.2"},"@storybook/addon-viewport":{"version":"7.4.2"},"@storybook/addon-docs":{"version":"7.4.2"},"@storybook/addon-controls":{"version":"7.4.2"},"@storybook/addon-backgrounds":{"version":"7.4.2"},"@storybook/addon-toolbars":{"version":"7.4.2"},"@storybook/addon-measure":{"version":"7.4.2"},"@storybook/addon-outline":{"version":"7.4.2"},"@storybook/addon-interactions":{"version":"7.4.2"},"@storybook/addon-svelte-csf":{"version":null},"chromatic":{"version":null,"versionSpecifier":"^7.1.0"}}} +{"generatedAt":1718364638305,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"packageManager":{"type":"yarn","version":"1.22.22"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/svelte-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/svelte","storybookVersion":"7.4.2","storybookVersionSpecifier":"^7.4.2","language":"typescript","storybookPackages":{"@storybook/addon-essentials":{"version":"7.4.2"},"@storybook/addon-mdx-gfm":{"version":"7.4.2"},"@storybook/blocks":{"version":"7.4.2"},"@storybook/builder-vite":{"version":"7.4.2"},"@storybook/manager-api":{"version":"7.4.2"},"@storybook/mdx2-csf":{"version":"1.1.0"},"@storybook/svelte":{"version":"7.4.2"},"@storybook/svelte-vite":{"version":"7.4.2"},"@storybook/testing-library":{"version":"0.1.0"},"@storybook/theming":{"version":"7.4.2"},"eslint-plugin-storybook":{"version":"0.6.12"},"storybook":{"version":"7.4.2"}},"addons":{"@storybook/addon-links":{"version":"7.4.2"},"@storybook/addon-actions":{"version":"7.4.2"},"@storybook/addon-viewport":{"version":"7.4.2"},"@storybook/addon-docs":{"version":"7.4.2"},"@storybook/addon-controls":{"version":"7.4.2"},"@storybook/addon-backgrounds":{"version":"7.4.2"},"@storybook/addon-toolbars":{"version":"7.4.2"},"@storybook/addon-measure":{"version":"7.4.2"},"@storybook/addon-outline":{"version":"7.4.2"},"@storybook/addon-interactions":{"version":"7.4.2"},"@storybook/addon-svelte-csf":{"version":null},"chromatic":{"version":null,"versionSpecifier":"^7.1.0"}}} diff --git a/package-lock.json b/package-lock.json index 2c6d6f62..1d92303c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@reuters-graphics/graphics-components", - "version": "1.0.24", + "version": "1.0.25", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@reuters-graphics/graphics-components", - "version": "1.0.24", + "version": "1.0.25", "license": "MIT", "dependencies": { "@fortawesome/free-brands-svg-icons": "^5.15.4", diff --git a/package.json b/package.json index 1089d67b..7cc12e91 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@reuters-graphics/graphics-components", - "version": "1.0.24", + "version": "1.0.25", "type": "module", "private": false, "homepage": "https://reuters-graphics.github.io/graphics-components",