@times-components/ts-components 1.113.1 → 1.115.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/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.115.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.114.0...@times-components/ts-components@1.115.0) (2024-12-16)
7
+
8
+
9
+ ### Features
10
+
11
+ * **TMC-225:** Affiliate link disclaimer ([#4008](https://github.com/newsuk/times-components/issues/4008)) ([3a43bc5](https://github.com/newsuk/times-components/commit/3a43bc5e43b7755def26d956e8294d725647454a))
12
+
13
+
14
+
15
+
16
+
17
+ # [1.114.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.113.1...@times-components/ts-components@1.114.0) (2024-12-16)
18
+
19
+
20
+ ### Features
21
+
22
+ * **TMC-224:** CTA button ([#3999](https://github.com/newsuk/times-components/issues/3999)) ([d22a6f7](https://github.com/newsuk/times-components/commit/d22a6f77fb5c003b189f678295a31e92bdec912d))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [1.113.1](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.113.0...@times-components/ts-components@1.113.1) (2024-12-13)
7
29
 
8
30
  **Note:** Version bump only for package @times-components/ts-components
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface AttributesProps {
3
+ disclaimer_text: string;
4
+ toggle_active_text: string;
5
+ toggle_inactive_text: string;
6
+ disclaimer_full_text: string;
7
+ }
8
+ interface RootProps {
9
+ attributes: AttributesProps;
10
+ }
11
+ export declare const AffiliateLinkDisclaimer: React.FC<RootProps>;
12
+ export {};
@@ -0,0 +1,24 @@
1
+ import React, { useRef, useState } from 'react';
2
+ import { Container, Disclaimer, TextContainer } from './styles';
3
+ export const AffiliateLinkDisclaimer = props => {
4
+ const attributes = props.attributes;
5
+ const [open, setOpen] = useState(false);
6
+ const ref = useRef(null);
7
+ const getHeight = () => {
8
+ return ref.current
9
+ ? `${ref.current.getBoundingClientRect().height}px`
10
+ : '0px';
11
+ };
12
+ return (React.createElement(Container, null,
13
+ React.createElement(Disclaimer, null,
14
+ React.createElement("p", { className: "shortcode-disclaimer_text" }, decodeURIComponent(attributes.disclaimer_text)),
15
+ React.createElement("a", { className: "shortcode-disclaimer__toggle", href: "#", onClick: e => {
16
+ e.preventDefault();
17
+ setOpen(!open);
18
+ } }, open
19
+ ? decodeURIComponent(attributes.toggle_active_text)
20
+ : decodeURIComponent(attributes.toggle_inactive_text))),
21
+ React.createElement(TextContainer, { style: { height: open ? getHeight() : '0px' } },
22
+ React.createElement("p", { ref: ref }, decodeURIComponent(attributes.disclaimer_full_text)))));
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWZmaWxpYXRlTGlua0Rpc2NsYWltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hZmZpbGlhdGUtbGluay1kaXNjbGFpbWVyL0FmZmlsaWF0ZUxpbmtEaXNjbGFpbWVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBYWhFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QixLQUFLLENBQUMsRUFBRTtJQUNsRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBRXBDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2pELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBdUIsSUFBSSxDQUFDLENBQUM7SUFFL0MsTUFBTSxTQUFTLEdBQUcsR0FBVyxFQUFFO1FBQzdCLE9BQU8sR0FBRyxDQUFDLE9BQU87WUFDaEIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sSUFBSTtZQUNuRCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ1osQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUNMLG9CQUFDLFNBQVM7UUFDUixvQkFBQyxVQUFVO1lBQ1QsMkJBQUcsU0FBUyxFQUFDLDJCQUEyQixJQUNyQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQzdDO1lBQ0osMkJBQ0UsU0FBUyxFQUFDLDhCQUE4QixFQUN4QyxJQUFJLEVBQUMsR0FBRyxFQUNSLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRTtvQkFDWCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ25CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQixDQUFDLElBRUEsSUFBSTtnQkFDSCxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDO2dCQUNuRCxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQ3JELENBQ087UUFFYixvQkFBQyxhQUFhLElBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUMxRCwyQkFBRyxHQUFHLEVBQUUsR0FBRyxJQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFLLENBQ3hELENBQ04sQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import { render, screen, fireEvent } from '@testing-library/react';
3
+ import { AffiliateLinkDisclaimer } from '../AffiliateLinkDisclaimer';
4
+ import '@testing-library/jest-dom';
5
+ describe('AffiliateLinkDisclaimer Component', () => {
6
+ const defaultProps = {
7
+ attributes: {
8
+ disclaimer_text: 'This%20article%20contains%20affiliate%20links.',
9
+ toggle_active_text: 'Show%20less',
10
+ toggle_inactive_text: 'Show%20more',
11
+ disclaimer_full_text: 'Our%20travel%20journalism%20is%20written%20and%20edited%20by%20independent%20experts%20to%20inform%20and%20advise.'
12
+ }
13
+ };
14
+ it('renders the disclaimer text and toggle link initially', () => {
15
+ render(React.createElement(AffiliateLinkDisclaimer, { attributes: defaultProps.attributes }));
16
+ // Check the disclaimer text
17
+ const disclaimerText = screen.getByText('This article contains affiliate links.');
18
+ expect(disclaimerText).toBeInTheDocument();
19
+ // Check the initial toggle text
20
+ const toggleLink = screen.getByText('Show more');
21
+ expect(toggleLink).toBeInTheDocument();
22
+ expect(toggleLink).toHaveAttribute('href', '#');
23
+ });
24
+ it('expands and collapses full text when the toggle link is clicked', () => {
25
+ render(React.createElement(AffiliateLinkDisclaimer, { attributes: defaultProps.attributes }));
26
+ const toggleLink = screen.getByText('Show more');
27
+ const fullText = screen.getByText('Our travel journalism is written and edited by independent experts to inform and advise.');
28
+ // Click to expand
29
+ fireEvent.click(toggleLink);
30
+ // Expect the toggle text to change to 'Show less'
31
+ expect(screen.getByText('Show less')).toBeInTheDocument();
32
+ // Click to collapse
33
+ fireEvent.click(screen.getByText('Show less'));
34
+ // Expect toggle text to change back to 'Show more'
35
+ expect(screen.getByText('Show more')).toBeInTheDocument();
36
+ // Expect the full text container to collapse
37
+ expect(fullText.parentElement).toHaveStyle('height: 0px');
38
+ });
39
+ it('decodes URI-encoded text correctly', () => {
40
+ render(React.createElement(AffiliateLinkDisclaimer, { attributes: defaultProps.attributes }));
41
+ // Check all decoded content
42
+ expect(screen.getByText('This article contains affiliate links.')).toBeInTheDocument();
43
+ expect(screen.getByText('Show more')).toBeInTheDocument();
44
+ expect(screen.getByText('Our travel journalism is written and edited by independent experts to inform and advise.')).toBeInTheDocument();
45
+ });
46
+ });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWZmaWxpYXRlTGlua0Rpc2NsYWltZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FmZmlsaWF0ZS1saW5rLWRpc2NsYWltZXIvX190ZXN0c19fL0FmZmlsaWF0ZUxpbmtEaXNjbGFpbWVyLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLDJCQUEyQixDQUFDO0FBRW5DLFFBQVEsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7SUFDakQsTUFBTSxZQUFZLEdBQUc7UUFDbkIsVUFBVSxFQUFFO1lBQ1YsZUFBZSxFQUFFLGdEQUFnRDtZQUNqRSxrQkFBa0IsRUFBRSxhQUFhO1lBQ2pDLG9CQUFvQixFQUFFLGFBQWE7WUFDbkMsb0JBQW9CLEVBQ2xCLG9IQUFvSDtTQUN2SDtLQUNGLENBQUM7SUFFRixFQUFFLENBQUMsdURBQXVELEVBQUUsR0FBRyxFQUFFO1FBQy9ELE1BQU0sQ0FBQyxvQkFBQyx1QkFBdUIsSUFBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLFVBQVUsR0FBSSxDQUFDLENBQUM7UUFFekUsNEJBQTRCO1FBQzVCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQ3JDLHdDQUF3QyxDQUN6QyxDQUFDO1FBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFM0MsZ0NBQWdDO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUVBQWlFLEVBQUUsR0FBRyxFQUFFO1FBQ3pFLE1BQU0sQ0FBQyxvQkFBQyx1QkFBdUIsSUFBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLFVBQVUsR0FBSSxDQUFDLENBQUM7UUFFekUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUMvQiwwRkFBMEYsQ0FDM0YsQ0FBQztRQUVGLGtCQUFrQjtRQUNsQixTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVCLGtEQUFrRDtRQUNsRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFMUQsb0JBQW9CO1FBQ3BCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRS9DLG1EQUFtRDtRQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFMUQsNkNBQTZDO1FBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRTtRQUM1QyxNQUFNLENBQUMsb0JBQUMsdUJBQXVCLElBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxVQUFVLEdBQUksQ0FBQyxDQUFDO1FBRXpFLDRCQUE0QjtRQUM1QixNQUFNLENBQ0osTUFBTSxDQUFDLFNBQVMsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUMzRCxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFELE1BQU0sQ0FDSixNQUFNLENBQUMsU0FBUyxDQUNkLDBGQUEwRixDQUMzRixDQUNGLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const Disclaimer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const TextContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,75 @@
1
+ import styled from 'styled-components';
2
+ export const Container = styled.div `
3
+ height: auto;
4
+ border-top: 1px solid #ccc;
5
+ border-bottom: 1px solid #ccc;
6
+ margin: 30px 0 60px 0;
7
+ padding: 1px 1px 10px;
8
+ `;
9
+ export const Disclaimer = styled.div `
10
+ text-align: center;
11
+ padding: 14px 0;
12
+ margin: 5px 0;
13
+ display: flex;
14
+ flex-direction: column;
15
+ align-items: center;
16
+
17
+ .shortcode-disclaimer_text {
18
+ display: inline;
19
+ clear: both;
20
+ font-size: 1.8rem;
21
+ line-height: 1.5;
22
+ color: #1d1d1b;
23
+ padding: 0;
24
+ font-weight: 400;
25
+ margin: 0;
26
+ }
27
+
28
+ .shortcode-disclaimer__toggle {
29
+ font-weight: 400;
30
+ word-wrap: break-word;
31
+ margin-left: 8px;
32
+ font-family: Roboto, sans-serif;
33
+ font-size: 12px;
34
+ line-height: 1.5;
35
+ font-weight: 400;
36
+ color: rgb(105, 105, 105) !important;
37
+ font-style: normal;
38
+ text-decoration: none !important;
39
+ display: inline-flex;
40
+ margin-top: 5px;
41
+ }
42
+
43
+ .shortcode-disclaimer__toggle:after {
44
+ transition: transform 0.2s linear;
45
+ content: '';
46
+ display: inline-block;
47
+ background-image: url('https://www.thetimes.co.uk/travel/wp-content/themes/tnl-travel-refactor/dist/assets/css/svg/arrow-affiliate.svg');
48
+ background-repeat: no-repeat;
49
+ background-position: 50%;
50
+ background-size: cover;
51
+ height: 16px;
52
+ width: 16px;
53
+ margin-left: 2px;
54
+ margin-top: 2px;
55
+ -webkit-transform: rotate(180deg);
56
+ }
57
+ `;
58
+ export const TextContainer = styled.div `
59
+ overflow: hidden;
60
+ transition: height 0.3s ease-in-out;
61
+
62
+ p {
63
+ text-align: center;
64
+ margin: 0 !important;
65
+ clear: both;
66
+ font-size: 1.8rem;
67
+ line-height: 1.6;
68
+ color: rgb(105, 105, 105) !important;
69
+ padding: 0 5px 30px;
70
+ font-weight: 400;
71
+ font-family: TimesDigitalW04-Regular, TimesDigitalW04-Regular-fallback,
72
+ serif;
73
+ }
74
+ `;
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWZmaWxpYXRlLWxpbmstZGlzY2xhaW1lci9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Ozs7OztDQU1sQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWdEbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0NBZ0J0QyxDQUFDIn0=
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface AttributesProps {
3
+ url: string;
4
+ target?: string;
5
+ text: string;
6
+ }
7
+ interface RootProps {
8
+ attributes?: AttributesProps;
9
+ }
10
+ export declare const CtaButton: React.FC<RootProps>;
11
+ export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { Link } from './styles';
3
+ export const CtaButton = props => {
4
+ const attributes = props.attributes;
5
+ return attributes ? (React.createElement(Link, { href: attributes.url, target: attributes.target || '_blank', rel: "nofollow" }, attributes.text)) : null;
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3RhQnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3RhLWJ1dHRvbi9DdGFCdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBWWhDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBd0IsS0FBSyxDQUFDLEVBQUU7SUFDcEQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUVwQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDbEIsb0JBQUMsSUFBSSxJQUNILElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUNwQixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sSUFBSSxRQUFRLEVBQ3JDLEdBQUcsRUFBQyxVQUFVLElBRWIsVUFBVSxDQUFDLElBQUksQ0FDWCxDQUNSLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNYLENBQUMsQ0FBQyJ9
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { CtaButton } from '../CtaButton';
4
+ describe('CtaButton Component', () => {
5
+ const defaultProps = {
6
+ url: 'https://www.example.com',
7
+ target: '_blank',
8
+ text: 'Book a Stay'
9
+ };
10
+ it('does not render a button if attributes are not provided', () => {
11
+ const { container } = render(React.createElement(CtaButton, { attributes: defaultProps }));
12
+ const button = container.querySelector('button');
13
+ expect(button).toBeNull();
14
+ });
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3RhQnV0dG9uLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jdGEtYnV0dG9uL19fdGVzdHNfXy9DdGFCdXR0b24udGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDbkMsTUFBTSxZQUFZLEdBQUc7UUFDbkIsR0FBRyxFQUFFLHlCQUF5QjtRQUM5QixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDO0lBRUYsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRTtRQUNqRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLG9CQUFDLFNBQVMsSUFBQyxVQUFVLEVBQUUsWUFBWSxHQUFJLENBQUMsQ0FBQztRQUN0RSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export declare const Link: import("styled-components").StyledComponent<"a", any, {}, never>;
@@ -0,0 +1,17 @@
1
+ import styled from 'styled-components';
2
+ export const Link = styled.a `
3
+ width: fit-content;
4
+ height: 48px;
5
+ font-family: Roboto, sans-serif;
6
+ font-size: 16px;
7
+ font-weight: 500;
8
+ border: none;
9
+ border-radius: 0;
10
+ padding: 12px 16px;
11
+ background-color: #005c8a;
12
+ color: #ffffff;
13
+ display: flex;
14
+ text-decoration: none;
15
+ align-items: center;
16
+ `;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY3RhLWJ1dHRvbi9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUE7Ozs7Ozs7Ozs7Ozs7O0NBYzNCLENBQUMifQ==
package/dist/index.d.ts CHANGED
@@ -43,5 +43,7 @@ export { default as safeDecodeURIComponent } from './utils/safeDecodeURIComponen
43
43
  export { ArticleSidebar } from './components/article-sidebar/ArticleSidebar';
44
44
  export { ArticleAudio } from './components/article-audio/ArticleAudio';
45
45
  export { FeaturesCarousel } from './components/features-carousel/FeaturesCarousel';
46
+ export { CtaButton } from './components/cta-button/CtaButton';
46
47
  export { SocialMediaEmbed } from './components/social-embed/SocialMediaEmbed';
47
48
  export { useSocialEmbedsContext, SocialEmbedsProvider } from './contexts/SocialEmbedsProvider';
49
+ export { AffiliateLinkDisclaimer } from './components/affiliate-link-disclaimer/AffiliateLinkDisclaimer';
package/dist/index.js CHANGED
@@ -48,7 +48,10 @@ export { default as safeDecodeURIComponent } from './utils/safeDecodeURIComponen
48
48
  export { ArticleSidebar } from './components/article-sidebar/ArticleSidebar';
49
49
  export { ArticleAudio } from './components/article-audio/ArticleAudio';
50
50
  export { FeaturesCarousel } from './components/features-carousel/FeaturesCarousel';
51
+ // Button Components
52
+ export { CtaButton } from './components/cta-button/CtaButton';
51
53
  export { SocialMediaEmbed } from './components/social-embed/SocialMediaEmbed';
52
54
  // Contexts
53
55
  export { useSocialEmbedsContext, SocialEmbedsProvider } from './contexts/SocialEmbedsProvider';
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCO0FBQ3JCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNoQixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFFTCx1QkFBdUIsRUFDeEIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0scUVBQXFFLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFNUQsd0JBQXdCO0FBQ3hCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbkIsTUFBTSxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sbURBQW1ELENBQUM7QUFDM0QsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLDRFQUE0RSxDQUFDO0FBRXBGLG1CQUFtQjtBQUNuQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sMERBQTBELENBQUM7QUFFbEUsT0FBTyxFQUNMLDBCQUEwQixFQUMzQixNQUFNLHVFQUF1RSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxvQkFBb0IsRUFDckIsTUFBTSwwREFBMEQsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsOEJBQThCLEVBQy9CLE1BQU0sK0VBQStFLENBQUM7QUFDdkYsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLDREQUE0RCxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSx3REFBd0QsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3ZCLE1BQU0sK0RBQStELENBQUM7QUFDdkUsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLGlFQUFpRSxDQUFDO0FBRXpFLE9BQU8sRUFDTCxpQkFBaUIsRUFDbEIsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ25CLE1BQU0sc0RBQXNELENBQUM7QUFDOUQsT0FBTyxFQUNMLGdCQUFnQixFQUNqQixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSx5REFBeUQsQ0FBQztBQUVqRSw2QkFBNkI7QUFDN0IsT0FBTyxFQUNMLGdCQUFnQixFQUNqQixNQUFNLG9EQUFvRCxDQUFDO0FBQzVELE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSx1REFBdUQsQ0FBQztBQUUvRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTlELE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsT0FBTyxJQUFJLGFBQWEsRUFDekIsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2pCLE1BQU0saURBQWlELENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxPQUFPLElBQUksc0JBQXNCLEVBQ2xDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2pCLE1BQU0saURBQWlELENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFOUUsV0FBVztBQUNYLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3JCLE1BQU0saUNBQWlDLENBQUMifQ==
56
+ export { AffiliateLinkDisclaimer } from './components/affiliate-link-disclaimer/AffiliateLinkDisclaimer';
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCO0FBQ3JCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNoQixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFFTCx1QkFBdUIsRUFDeEIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0scUVBQXFFLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFNUQsd0JBQXdCO0FBQ3hCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbkIsTUFBTSxp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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@times-components/ts-components",
3
- "version": "1.113.1",
3
+ "version": "1.115.0",
4
4
  "description": "Reuseable Typescript React Components ",
5
5
  "main": "dist/index.js",
6
6
  "dev": "dist/index.js",
@@ -57,7 +57,7 @@
57
57
  "@times-components/link": "3.17.34",
58
58
  "@times-components/provider": "1.41.5",
59
59
  "@times-components/provider-queries": "2.24.0",
60
- "@times-components/related-articles": "6.19.3",
60
+ "@times-components/related-articles": "6.19.5",
61
61
  "@times-components/ts-slices": "1.10.0",
62
62
  "@times-components/ts-styleguide": "1.50.34",
63
63
  "@times-components/utils": "6.26.0",
@@ -118,5 +118,5 @@
118
118
  "@testing-library/jest-dom/extend-expect"
119
119
  ]
120
120
  },
121
- "gitHead": "f8c41b59f36b72f6c2554c38fa251a17a230567e"
121
+ "gitHead": "5a270e0a63503f0de17f9152fa6588ffc65d4802"
122
122
  }