@automattic/social-previews 2.0.1-beta.8 → 2.0.1
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/dist/cjs/facebook-preview/custom-text.js.map +1 -1
- package/dist/cjs/facebook-preview/hooks/use-image-hook.js.map +1 -1
- package/dist/cjs/facebook-preview/post/header/index.js.map +1 -1
- package/dist/cjs/helpers.js +22 -1
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instagram-preview/style.scss +6 -1
- package/dist/cjs/linkedin-preview/link-preview.js +2 -1
- package/dist/cjs/linkedin-preview/link-preview.js.map +1 -1
- package/dist/cjs/linkedin-preview/post-preview.js +1 -1
- package/dist/cjs/linkedin-preview/post-preview.js.map +1 -1
- package/dist/cjs/mastodon-preview/constants.js +2 -1
- package/dist/cjs/mastodon-preview/constants.js.map +1 -1
- package/dist/cjs/mastodon-preview/post/actions/index.js +1 -31
- package/dist/cjs/mastodon-preview/post/actions/index.js.map +1 -1
- package/dist/cjs/mastodon-preview/post/actions/styles.scss +8 -23
- package/dist/cjs/mastodon-preview/post/body/index.js +8 -3
- package/dist/cjs/mastodon-preview/post/body/index.js.map +1 -1
- package/dist/cjs/mastodon-preview/post/card/index.js +4 -2
- package/dist/cjs/mastodon-preview/post/card/index.js.map +1 -1
- package/dist/cjs/mastodon-preview/post/card/styles.scss +37 -13
- package/dist/cjs/mastodon-preview/post/header/index.js +4 -6
- package/dist/cjs/mastodon-preview/post/header/index.js.map +1 -1
- package/dist/cjs/mastodon-preview/post/icons/index.js +5 -3
- package/dist/cjs/mastodon-preview/post/icons/index.js.map +1 -1
- package/dist/cjs/mastodon-preview/post-preview.js +6 -4
- package/dist/cjs/mastodon-preview/post-preview.js.map +1 -1
- package/dist/cjs/mastodon-preview/styles.scss +31 -0
- package/dist/cjs/nextdoor-preview/constants.js +6 -0
- package/dist/cjs/nextdoor-preview/constants.js.map +1 -0
- package/dist/cjs/nextdoor-preview/footer-actions.js +13 -0
- package/dist/cjs/nextdoor-preview/footer-actions.js.map +1 -0
- package/dist/cjs/nextdoor-preview/icons/chevron-icon.js +9 -0
- package/dist/cjs/nextdoor-preview/icons/chevron-icon.js.map +1 -0
- package/dist/cjs/nextdoor-preview/icons/comment-icon.js +9 -0
- package/dist/cjs/nextdoor-preview/icons/comment-icon.js.map +1 -0
- package/dist/cjs/nextdoor-preview/icons/default-avatar.js +9 -0
- package/dist/cjs/nextdoor-preview/icons/default-avatar.js.map +1 -0
- package/dist/cjs/nextdoor-preview/icons/default-image.js +9 -0
- package/dist/cjs/nextdoor-preview/icons/default-image.js.map +1 -0
- package/dist/cjs/nextdoor-preview/icons/globe-icon.js +9 -0
- package/dist/cjs/nextdoor-preview/icons/globe-icon.js.map +1 -0
- package/dist/cjs/nextdoor-preview/icons/like-icon.js +9 -0
- package/dist/cjs/nextdoor-preview/icons/like-icon.js.map +1 -0
- package/dist/cjs/nextdoor-preview/icons/share-icon.js +9 -0
- package/dist/cjs/nextdoor-preview/icons/share-icon.js.map +1 -0
- package/dist/cjs/nextdoor-preview/index.js +7 -0
- package/dist/cjs/nextdoor-preview/index.js.map +1 -0
- package/dist/cjs/nextdoor-preview/link-preview.js +13 -0
- package/dist/cjs/nextdoor-preview/link-preview.js.map +1 -0
- package/dist/cjs/nextdoor-preview/post-preview.js +31 -0
- package/dist/cjs/nextdoor-preview/post-preview.js.map +1 -0
- package/dist/cjs/nextdoor-preview/previews.js +19 -0
- package/dist/cjs/nextdoor-preview/previews.js.map +1 -0
- package/dist/cjs/nextdoor-preview/style.scss +211 -0
- package/dist/cjs/nextdoor-preview/types.js +3 -0
- package/dist/cjs/nextdoor-preview/types.js.map +1 -0
- package/dist/cjs/tumblr-preview/post/icons/index.js.map +1 -1
- package/dist/cjs/tumblr-preview/previews.js +2 -1
- package/dist/cjs/tumblr-preview/previews.js.map +1 -1
- package/dist/cjs/tumblr-preview/variables.scss +0 -1
- package/dist/cjs/twitter-preview/card.js +2 -2
- package/dist/cjs/twitter-preview/card.js.map +1 -1
- package/dist/cjs/twitter-preview/media.js +2 -2
- package/dist/cjs/twitter-preview/media.js.map +1 -1
- package/dist/cjs/twitter-preview/post-preview.js +1 -1
- package/dist/cjs/twitter-preview/post-preview.js.map +1 -1
- package/dist/cjs/twitter-preview/previews.js +2 -2
- package/dist/cjs/twitter-preview/previews.js.map +1 -1
- package/dist/cjs/twitter-preview/quote-tweet.js.map +1 -1
- package/dist/cjs/twitter-preview/text.js.map +1 -1
- package/dist/esm/facebook-preview/custom-text.js.map +1 -1
- package/dist/esm/facebook-preview/hooks/use-image-hook.js.map +1 -1
- package/dist/esm/facebook-preview/post/header/index.js.map +1 -1
- package/dist/esm/helpers.js +20 -0
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instagram-preview/style.scss +6 -1
- package/dist/esm/linkedin-preview/link-preview.js +2 -1
- package/dist/esm/linkedin-preview/link-preview.js.map +1 -1
- package/dist/esm/linkedin-preview/post-preview.js +2 -2
- package/dist/esm/linkedin-preview/post-preview.js.map +1 -1
- package/dist/esm/mastodon-preview/constants.js +1 -0
- package/dist/esm/mastodon-preview/constants.js.map +1 -1
- package/dist/esm/mastodon-preview/post/actions/index.js +1 -30
- package/dist/esm/mastodon-preview/post/actions/index.js.map +1 -1
- package/dist/esm/mastodon-preview/post/actions/styles.scss +8 -23
- package/dist/esm/mastodon-preview/post/body/index.js +8 -3
- package/dist/esm/mastodon-preview/post/body/index.js.map +1 -1
- package/dist/esm/mastodon-preview/post/card/index.js +4 -3
- package/dist/esm/mastodon-preview/post/card/index.js.map +1 -1
- package/dist/esm/mastodon-preview/post/card/styles.scss +37 -13
- package/dist/esm/mastodon-preview/post/header/index.js +5 -6
- package/dist/esm/mastodon-preview/post/header/index.js.map +1 -1
- package/dist/esm/mastodon-preview/post/icons/index.js +3 -3
- package/dist/esm/mastodon-preview/post/icons/index.js.map +1 -1
- package/dist/esm/mastodon-preview/post-preview.js +6 -4
- package/dist/esm/mastodon-preview/post-preview.js.map +1 -1
- package/dist/esm/mastodon-preview/styles.scss +31 -0
- package/dist/esm/nextdoor-preview/constants.js +3 -0
- package/dist/esm/nextdoor-preview/constants.js.map +1 -0
- package/dist/esm/nextdoor-preview/footer-actions.js +9 -0
- package/dist/esm/nextdoor-preview/footer-actions.js.map +1 -0
- package/dist/esm/nextdoor-preview/icons/chevron-icon.js +5 -0
- package/dist/esm/nextdoor-preview/icons/chevron-icon.js.map +1 -0
- package/dist/esm/nextdoor-preview/icons/comment-icon.js +5 -0
- package/dist/esm/nextdoor-preview/icons/comment-icon.js.map +1 -0
- package/dist/esm/nextdoor-preview/icons/default-avatar.js +5 -0
- package/dist/esm/nextdoor-preview/icons/default-avatar.js.map +1 -0
- package/dist/esm/nextdoor-preview/icons/default-image.js +5 -0
- package/dist/esm/nextdoor-preview/icons/default-image.js.map +1 -0
- package/dist/esm/nextdoor-preview/icons/globe-icon.js +5 -0
- package/dist/esm/nextdoor-preview/icons/globe-icon.js.map +1 -0
- package/dist/esm/nextdoor-preview/icons/like-icon.js +5 -0
- package/dist/esm/nextdoor-preview/icons/like-icon.js.map +1 -0
- package/dist/esm/nextdoor-preview/icons/share-icon.js +5 -0
- package/dist/esm/nextdoor-preview/icons/share-icon.js.map +1 -0
- package/dist/esm/nextdoor-preview/index.js +4 -0
- package/dist/esm/nextdoor-preview/index.js.map +1 -0
- package/dist/esm/nextdoor-preview/link-preview.js +9 -0
- package/dist/esm/nextdoor-preview/link-preview.js.map +1 -0
- package/dist/esm/nextdoor-preview/post-preview.js +26 -0
- package/dist/esm/nextdoor-preview/post-preview.js.map +1 -0
- package/dist/esm/nextdoor-preview/previews.js +14 -0
- package/dist/esm/nextdoor-preview/previews.js.map +1 -0
- package/dist/esm/nextdoor-preview/style.scss +211 -0
- package/dist/esm/nextdoor-preview/types.js +2 -0
- package/dist/esm/nextdoor-preview/types.js.map +1 -0
- package/dist/esm/tumblr-preview/post/icons/index.js.map +1 -1
- package/dist/esm/tumblr-preview/previews.js +2 -1
- package/dist/esm/tumblr-preview/previews.js.map +1 -1
- package/dist/esm/tumblr-preview/variables.scss +0 -1
- package/dist/esm/twitter-preview/card.js +2 -2
- package/dist/esm/twitter-preview/card.js.map +1 -1
- package/dist/esm/twitter-preview/media.js +2 -2
- package/dist/esm/twitter-preview/media.js.map +1 -1
- package/dist/esm/twitter-preview/post-preview.js +1 -1
- package/dist/esm/twitter-preview/post-preview.js.map +1 -1
- package/dist/esm/twitter-preview/previews.js +2 -2
- package/dist/esm/twitter-preview/previews.js.map +1 -1
- package/dist/esm/twitter-preview/quote-tweet.js.map +1 -1
- package/dist/esm/twitter-preview/text.js.map +1 -1
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/helpers.d.ts +11 -3
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/linkedin-preview/link-preview.d.ts.map +1 -1
- package/dist/types/linkedin-preview/post-preview.d.ts.map +1 -1
- package/dist/types/mastodon-preview/constants.d.ts +1 -0
- package/dist/types/mastodon-preview/constants.d.ts.map +1 -1
- package/dist/types/mastodon-preview/post/actions/index.d.ts.map +1 -1
- package/dist/types/mastodon-preview/post/body/index.d.ts.map +1 -1
- package/dist/types/mastodon-preview/post/card/index.d.ts.map +1 -1
- package/dist/types/mastodon-preview/post/header/index.d.ts.map +1 -1
- package/dist/types/mastodon-preview/post/icons/index.d.ts +1 -6
- package/dist/types/mastodon-preview/post/icons/index.d.ts.map +1 -1
- package/dist/types/mastodon-preview/post-preview.d.ts.map +1 -1
- package/dist/types/nextdoor-preview/constants.d.ts +3 -0
- package/dist/types/nextdoor-preview/constants.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/footer-actions.d.ts +2 -0
- package/dist/types/nextdoor-preview/footer-actions.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/icons/chevron-icon.d.ts +2 -0
- package/dist/types/nextdoor-preview/icons/chevron-icon.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/icons/comment-icon.d.ts +2 -0
- package/dist/types/nextdoor-preview/icons/comment-icon.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/icons/default-avatar.d.ts +3 -0
- package/dist/types/nextdoor-preview/icons/default-avatar.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/icons/default-image.d.ts +2 -0
- package/dist/types/nextdoor-preview/icons/default-image.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/icons/globe-icon.d.ts +2 -0
- package/dist/types/nextdoor-preview/icons/globe-icon.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/icons/like-icon.d.ts +2 -0
- package/dist/types/nextdoor-preview/icons/like-icon.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/icons/share-icon.d.ts +2 -0
- package/dist/types/nextdoor-preview/icons/share-icon.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/index.d.ts +4 -0
- package/dist/types/nextdoor-preview/index.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/link-preview.d.ts +6 -0
- package/dist/types/nextdoor-preview/link-preview.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/post-preview.d.ts +4 -0
- package/dist/types/nextdoor-preview/post-preview.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/previews.d.ts +4 -0
- package/dist/types/nextdoor-preview/previews.d.ts.map +1 -0
- package/dist/types/nextdoor-preview/types.d.ts +8 -0
- package/dist/types/nextdoor-preview/types.d.ts.map +1 -0
- package/dist/types/tumblr-preview/previews.d.ts.map +1 -1
- package/package.json +71 -71
- package/src/helpers.tsx +26 -3
- package/src/index.ts +1 -0
- package/src/instagram-preview/style.scss +6 -1
- package/src/linkedin-preview/link-preview.tsx +2 -0
- package/src/linkedin-preview/post-preview.tsx +4 -2
- package/src/mastodon-preview/constants.ts +3 -0
- package/src/mastodon-preview/post/actions/index.tsx +57 -42
- package/src/mastodon-preview/post/actions/styles.scss +8 -23
- package/src/mastodon-preview/post/body/index.tsx +14 -10
- package/src/mastodon-preview/post/card/index.tsx +21 -4
- package/src/mastodon-preview/post/card/styles.scss +37 -13
- package/src/mastodon-preview/post/header/index.tsx +7 -9
- package/src/mastodon-preview/post/icons/index.tsx +13 -7
- package/src/mastodon-preview/post-preview.tsx +23 -11
- package/src/mastodon-preview/styles.scss +31 -0
- package/src/nextdoor-preview/constants.ts +2 -0
- package/src/nextdoor-preview/footer-actions.tsx +23 -0
- package/src/nextdoor-preview/icons/chevron-icon.tsx +11 -0
- package/src/nextdoor-preview/icons/comment-icon.tsx +12 -0
- package/src/nextdoor-preview/icons/default-avatar.tsx +3 -0
- package/src/nextdoor-preview/icons/default-image.tsx +23 -0
- package/src/nextdoor-preview/icons/globe-icon.tsx +12 -0
- package/src/nextdoor-preview/icons/like-icon.tsx +12 -0
- package/src/nextdoor-preview/icons/share-icon.tsx +12 -0
- package/src/nextdoor-preview/index.tsx +3 -0
- package/src/nextdoor-preview/link-preview.tsx +22 -0
- package/src/nextdoor-preview/post-preview.tsx +117 -0
- package/src/nextdoor-preview/previews.tsx +53 -0
- package/src/nextdoor-preview/style.scss +211 -0
- package/src/nextdoor-preview/types.ts +9 -0
- package/src/tumblr-preview/previews.tsx +3 -1
- package/src/tumblr-preview/variables.scss +0 -1
- package/src/twitter-preview/card.tsx +2 -2
- package/src/twitter-preview/media.tsx +2 -2
- package/src/twitter-preview/post-preview.tsx +3 -3
- package/src/twitter-preview/previews.tsx +2 -2
- package/CHANGELOG.md +0 -62
- package/dist/cjs/mastodon-preview/post/icons/styles.scss +0 -50
- package/dist/esm/mastodon-preview/post/icons/styles.scss +0 -50
- package/src/mastodon-preview/post/icons/styles.scss +0 -50
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { __ } from '@wordpress/i18n';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import {
|
|
4
|
+
baseDomain,
|
|
5
|
+
formatNextdoorDate,
|
|
6
|
+
getTitleFromDescription,
|
|
7
|
+
preparePreviewText,
|
|
8
|
+
} from '../helpers';
|
|
9
|
+
import { FEED_TEXT_MAX_LENGTH, FEED_TEXT_MAX_LINES } from './constants';
|
|
10
|
+
import { FooterActions } from './footer-actions';
|
|
11
|
+
import { ChevronIcon } from './icons/chevron-icon';
|
|
12
|
+
import { DefaultAvatar } from './icons/default-avatar';
|
|
13
|
+
import { DefaultImage } from './icons/default-image';
|
|
14
|
+
import { GlobeIcon } from './icons/globe-icon';
|
|
15
|
+
import { NextdoorPreviewProps } from './types';
|
|
16
|
+
|
|
17
|
+
import './style.scss';
|
|
18
|
+
|
|
19
|
+
export function NextdoorPostPreview( {
|
|
20
|
+
image,
|
|
21
|
+
name,
|
|
22
|
+
profileImage,
|
|
23
|
+
description,
|
|
24
|
+
neighborhood,
|
|
25
|
+
media,
|
|
26
|
+
title,
|
|
27
|
+
url,
|
|
28
|
+
}: NextdoorPreviewProps ) {
|
|
29
|
+
const hasMedia = !! media?.length;
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<div className="nextdoor-preview__wrapper">
|
|
33
|
+
<section className={ `nextdoor-preview__container ${ hasMedia ? 'has-media' : '' }` }>
|
|
34
|
+
<div className="nextdoor-preview__content">
|
|
35
|
+
<div className="nextdoor-preview__header">
|
|
36
|
+
<div className="nextdoor-preview__header--avatar">
|
|
37
|
+
{ profileImage ? <img src={ profileImage } alt="" /> : <DefaultAvatar /> }
|
|
38
|
+
</div>
|
|
39
|
+
<div className="nextdoor-preview__header--details">
|
|
40
|
+
<div className="nextdoor-preview__header--name">
|
|
41
|
+
{ name || __( 'Account Name', 'social-previews' ) }
|
|
42
|
+
</div>
|
|
43
|
+
<div className="nextdoor-preview__header--meta">
|
|
44
|
+
<span>{ neighborhood || __( 'Neighborhood', 'social-previews' ) }</span>
|
|
45
|
+
<span>•</span>
|
|
46
|
+
<span>{ formatNextdoorDate( Date.now() ) }</span>
|
|
47
|
+
<span>•</span>
|
|
48
|
+
{ /* This is the Globe SVG that represents visibility to be "public" */ }
|
|
49
|
+
<GlobeIcon />
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
<div className="nextdoor-preview__body">
|
|
54
|
+
{ description ? (
|
|
55
|
+
<div className="nextdoor-preview__caption">
|
|
56
|
+
{ preparePreviewText( description, {
|
|
57
|
+
platform: 'nextdoor',
|
|
58
|
+
maxChars: FEED_TEXT_MAX_LENGTH,
|
|
59
|
+
maxLines: FEED_TEXT_MAX_LINES,
|
|
60
|
+
} ) }
|
|
61
|
+
</div>
|
|
62
|
+
) : null }
|
|
63
|
+
{ hasMedia ? (
|
|
64
|
+
<div className="nextdoor-preview__media">
|
|
65
|
+
{ media.map( ( mediaItem, index ) => {
|
|
66
|
+
return (
|
|
67
|
+
<div
|
|
68
|
+
key={ `nextdoor-preview__media-item-${ index }` }
|
|
69
|
+
className="nextdoor-preview__media-item"
|
|
70
|
+
>
|
|
71
|
+
{ mediaItem?.type?.startsWith( 'video/' ) ? (
|
|
72
|
+
// eslint-disable-next-line jsx-a11y/media-has-caption
|
|
73
|
+
<video controls>
|
|
74
|
+
<source src={ mediaItem.url } type={ mediaItem.type } />
|
|
75
|
+
</video>
|
|
76
|
+
) : (
|
|
77
|
+
<img alt={ mediaItem.alt || '' } src={ mediaItem.url } />
|
|
78
|
+
) }
|
|
79
|
+
</div>
|
|
80
|
+
);
|
|
81
|
+
} ) }
|
|
82
|
+
</div>
|
|
83
|
+
) : null }
|
|
84
|
+
|
|
85
|
+
<article
|
|
86
|
+
className={ clsx( 'nextdoor-preview__card', {
|
|
87
|
+
'small-preview': ! image || hasMedia,
|
|
88
|
+
} ) }
|
|
89
|
+
>
|
|
90
|
+
{ image ? (
|
|
91
|
+
<img className="nextdoor-preview__image" src={ image } alt="" />
|
|
92
|
+
) : (
|
|
93
|
+
<DefaultImage />
|
|
94
|
+
) }
|
|
95
|
+
{ url ? (
|
|
96
|
+
<div className="nextdoor-preview__description">
|
|
97
|
+
<h2 className="nextdoor-preview__description--title">
|
|
98
|
+
{ title || getTitleFromDescription( description ) }
|
|
99
|
+
</h2>
|
|
100
|
+
<span className="nextdoor-preview__description--url">{ baseDomain( url ) }</span>
|
|
101
|
+
</div>
|
|
102
|
+
) : null }
|
|
103
|
+
{ hasMedia ? (
|
|
104
|
+
<div className="nextdoor-preview__card--chevron-wrapper">
|
|
105
|
+
<ChevronIcon />
|
|
106
|
+
</div>
|
|
107
|
+
) : null }
|
|
108
|
+
</article>
|
|
109
|
+
</div>
|
|
110
|
+
<div className="nextdoor-preview__footer">
|
|
111
|
+
<FooterActions />
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</section>
|
|
115
|
+
</div>
|
|
116
|
+
);
|
|
117
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ExternalLink } from '@wordpress/components';
|
|
2
|
+
import { __ } from '@wordpress/i18n';
|
|
3
|
+
import SectionHeading from '../shared/section-heading';
|
|
4
|
+
import { NextdoorLinkPreview } from './link-preview';
|
|
5
|
+
import { NextdoorPostPreview } from './post-preview';
|
|
6
|
+
import type { NextdoorPreviewsProps } from './types';
|
|
7
|
+
|
|
8
|
+
export const NextdoorPreviews: React.FC< NextdoorPreviewsProps > = ( {
|
|
9
|
+
headingLevel,
|
|
10
|
+
hideLinkPreview,
|
|
11
|
+
hidePostPreview,
|
|
12
|
+
...props
|
|
13
|
+
} ) => {
|
|
14
|
+
return (
|
|
15
|
+
<div className="social-preview nextdoor-preview">
|
|
16
|
+
{ ! hidePostPreview && (
|
|
17
|
+
<section className="social-preview__section nextdoor-preview__section">
|
|
18
|
+
<SectionHeading level={ headingLevel }>
|
|
19
|
+
{
|
|
20
|
+
// translators: refers to a social post on Nextdoor
|
|
21
|
+
__( 'Your post', 'social-previews' )
|
|
22
|
+
}
|
|
23
|
+
</SectionHeading>
|
|
24
|
+
<p className="social-preview__section-desc">
|
|
25
|
+
{ __( 'This is what your social post will look like on Nextdoor:', 'social-previews' ) }
|
|
26
|
+
</p>
|
|
27
|
+
<NextdoorPostPreview { ...props } />
|
|
28
|
+
</section>
|
|
29
|
+
) }
|
|
30
|
+
{ ! hideLinkPreview && (
|
|
31
|
+
<section className="social-preview__section nextdoor-preview__section">
|
|
32
|
+
<SectionHeading level={ headingLevel }>
|
|
33
|
+
{
|
|
34
|
+
// translators: refers to a link to a Nextdoor post
|
|
35
|
+
__( 'Link preview', 'social-previews' )
|
|
36
|
+
}
|
|
37
|
+
</SectionHeading>
|
|
38
|
+
<p className="social-preview__section-desc">
|
|
39
|
+
{ __(
|
|
40
|
+
'This is what it will look like when someone shares the link to your WordPress post on Nextdoor.',
|
|
41
|
+
'social-previews'
|
|
42
|
+
) }
|
|
43
|
+
|
|
44
|
+
<ExternalLink href="https://jetpack.com/support/jetpack-social-image-generator">
|
|
45
|
+
{ __( 'Learn more about links', 'social-previews' ) }
|
|
46
|
+
</ExternalLink>
|
|
47
|
+
</p>
|
|
48
|
+
<NextdoorLinkPreview { ...props } name="" profileImage="" />
|
|
49
|
+
</section>
|
|
50
|
+
) }
|
|
51
|
+
</div>
|
|
52
|
+
);
|
|
53
|
+
};
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
.nextdoor-preview {
|
|
2
|
+
&__wrapper {
|
|
3
|
+
max-width: clamp(200px, 100%, 600px);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
// When the preview is in a section of all previews
|
|
7
|
+
&__section &__wrapper {
|
|
8
|
+
padding: 0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&__section.social-preview__section {
|
|
12
|
+
width: clamp(200px, 100%, 600px);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&__container {
|
|
16
|
+
|
|
17
|
+
box-shadow: rgba(0, 0, 0, 0.1) 0 0 8px;
|
|
18
|
+
/* stylelint-disable-next-line scales/radii */
|
|
19
|
+
border-radius: 8px;
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
background-color: #fff;
|
|
22
|
+
|
|
23
|
+
&.small-preview {
|
|
24
|
+
// When the preview has media, we want to hide the border radius on the bottom
|
|
25
|
+
border-end-end-radius: 0;
|
|
26
|
+
border-end-start-radius: 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__header {
|
|
31
|
+
display: flex;
|
|
32
|
+
gap: 0.5rem;
|
|
33
|
+
margin-bottom: 8px;
|
|
34
|
+
align-items: center;
|
|
35
|
+
|
|
36
|
+
&--avatar {
|
|
37
|
+
width: 40px;
|
|
38
|
+
height: 40px;
|
|
39
|
+
border-radius: 50%;
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
display: flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
flex-shrink: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&--avatar img {
|
|
47
|
+
width: 100%;
|
|
48
|
+
object-fit: contain;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&--details {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&--name {
|
|
57
|
+
white-space: nowrap;
|
|
58
|
+
overflow: hidden;
|
|
59
|
+
text-overflow: ellipsis;
|
|
60
|
+
font-weight: 600;
|
|
61
|
+
font-size: 1rem;
|
|
62
|
+
line-height: 20px;
|
|
63
|
+
letter-spacing: -0.32px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&--meta {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
gap: 0.25rem;
|
|
70
|
+
color: #666;
|
|
71
|
+
letter-spacing: -0.32px;
|
|
72
|
+
/* stylelint-disable-next-line declaration-property-unit-allowed-list */
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
line-height: 19px;
|
|
75
|
+
white-space: pre-wrap;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&__footer {
|
|
80
|
+
margin-top: 24px;
|
|
81
|
+
display: flex;
|
|
82
|
+
flex-direction: row;
|
|
83
|
+
justify-content: flex-end;
|
|
84
|
+
|
|
85
|
+
&--actions {
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
gap: 1rem;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&--actions-item {
|
|
92
|
+
display: flex;
|
|
93
|
+
align-items: center;
|
|
94
|
+
gap: 0.25rem;
|
|
95
|
+
/* stylelint-disable-next-line declaration-property-unit-allowed-list */
|
|
96
|
+
font-size: 13px;
|
|
97
|
+
font-weight: 600;
|
|
98
|
+
line-height: 16px;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
&__content {
|
|
103
|
+
padding: 12px 16px;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&__card {
|
|
107
|
+
/* stylelint-disable-next-line scales/radii */
|
|
108
|
+
border-radius: 16px;
|
|
109
|
+
box-shadow: rgba(0, 0, 0, 0.08) 0 1px 4px 0, rgba(0, 0, 0, 0.2) 0 0 2px 0;
|
|
110
|
+
display: flex;
|
|
111
|
+
flex-direction: column;
|
|
112
|
+
margin-top: 12px;
|
|
113
|
+
overflow: hidden;
|
|
114
|
+
|
|
115
|
+
&.small-preview {
|
|
116
|
+
flex-direction: row;
|
|
117
|
+
align-items: center;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
&--chevron-wrapper {
|
|
121
|
+
width: 40px;
|
|
122
|
+
min-width: 40px;
|
|
123
|
+
display: flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
justify-content: center;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
&__caption {
|
|
130
|
+
margin-bottom: 20px;
|
|
131
|
+
font-size: 1rem;
|
|
132
|
+
line-height: 20px;
|
|
133
|
+
font-weight: 400;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
&__media-item {
|
|
137
|
+
display: flex;
|
|
138
|
+
|
|
139
|
+
img,
|
|
140
|
+
video {
|
|
141
|
+
width: 100%;
|
|
142
|
+
object-fit: cover;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
&__description {
|
|
147
|
+
padding: 16px;
|
|
148
|
+
display: flex;
|
|
149
|
+
flex-direction: column;
|
|
150
|
+
overflow: hidden;
|
|
151
|
+
|
|
152
|
+
.small-preview & {
|
|
153
|
+
padding: 10px;
|
|
154
|
+
flex-grow: 1;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
&--title {
|
|
158
|
+
margin: 0;
|
|
159
|
+
font-weight: 600;
|
|
160
|
+
white-space: nowrap;
|
|
161
|
+
text-overflow: ellipsis;
|
|
162
|
+
overflow: hidden;
|
|
163
|
+
/* stylelint-disable-next-line declaration-property-unit-allowed-list */
|
|
164
|
+
font-size: 15px;
|
|
165
|
+
line-height: 20px;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
&--url {
|
|
169
|
+
/* stylelint-disable-next-line declaration-property-unit-allowed-list */
|
|
170
|
+
font-size: 13px;
|
|
171
|
+
color: #666;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
&__media {
|
|
176
|
+
// compensate for the content padding
|
|
177
|
+
margin-inline: -16px;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
&__image {
|
|
181
|
+
object-fit: cover;
|
|
182
|
+
width: 100%;
|
|
183
|
+
aspect-ratio: 16/9;
|
|
184
|
+
|
|
185
|
+
.small-preview & {
|
|
186
|
+
width: 62px;
|
|
187
|
+
height: 62px;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
&__default-avatar {
|
|
192
|
+
width: 40px;
|
|
193
|
+
height: 40px;
|
|
194
|
+
border-radius: 50%;
|
|
195
|
+
background-color: rgb(140 110 99);
|
|
196
|
+
color: #fff;
|
|
197
|
+
display: flex;
|
|
198
|
+
justify-content: center;
|
|
199
|
+
align-items: center;
|
|
200
|
+
font-size: x-large;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
&__default-image {
|
|
204
|
+
background-color: #f1ffca;
|
|
205
|
+
height: 62px;
|
|
206
|
+
width: 62px;
|
|
207
|
+
display: flex;
|
|
208
|
+
align-items: center;
|
|
209
|
+
justify-content: center;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SocialPreviewBaseProps, SocialPreviewsBaseProps } from '../types';
|
|
2
|
+
|
|
3
|
+
export type NextdoorPreviewProps = SocialPreviewBaseProps & {
|
|
4
|
+
neighborhood?: string;
|
|
5
|
+
name: string;
|
|
6
|
+
profileImage: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type NextdoorPreviewsProps = NextdoorPreviewProps & SocialPreviewsBaseProps;
|
|
@@ -14,6 +14,8 @@ export const TumblrPreviews: React.FC< TumblrPreviewsProps > = ( {
|
|
|
14
14
|
hidePostPreview,
|
|
15
15
|
...props
|
|
16
16
|
} ) => {
|
|
17
|
+
const hasMedia = !! props.media?.length;
|
|
18
|
+
|
|
17
19
|
return (
|
|
18
20
|
<div className="social-preview tumblr-preview">
|
|
19
21
|
{ ! hidePostPreview && (
|
|
@@ -27,7 +29,7 @@ export const TumblrPreviews: React.FC< TumblrPreviewsProps > = ( {
|
|
|
27
29
|
<p className="social-preview__section-desc">
|
|
28
30
|
{ __( 'This is what your social post will look like on Tumblr:', 'social-previews' ) }
|
|
29
31
|
</p>
|
|
30
|
-
<TumblrPostPreview { ...props } />
|
|
32
|
+
{ hasMedia ? <TumblrPostPreview { ...props } /> : <TumblrLinkPreview { ...props } /> }
|
|
31
33
|
</section>
|
|
32
34
|
) }
|
|
33
35
|
{ ! hideLinkPreview && (
|
|
@@ -4,7 +4,6 @@ $tumblr-preview-text-color: #000;
|
|
|
4
4
|
$tumblr-preview-background-color: #fff;
|
|
5
5
|
$tumblr-preview-action-text-color: rgba(0, 0, 0, 0.65);
|
|
6
6
|
$tumblr-preview-font-family: "Favorit", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
|
|
7
|
-
/* stylelint-disable-next-line scales/radii */
|
|
8
7
|
$tumblr-preview-border-radius: 3px;
|
|
9
8
|
/* stylelint-disable-next-line scales/radii */
|
|
10
9
|
$tumblr-preview-window-border-radius: 6px;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import clsx from 'clsx';
|
|
2
2
|
import { baseDomain, firstValid, hardTruncation, shortEnough, stripHtmlTags } from '../helpers';
|
|
3
3
|
import { TwitterCardProps } from './types';
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ export const Card: React.FC< TwitterCardProps > = ( {
|
|
|
16
16
|
cardType,
|
|
17
17
|
url,
|
|
18
18
|
} ) => {
|
|
19
|
-
const cardClassNames =
|
|
19
|
+
const cardClassNames = clsx( `twitter-preview__card-${ cardType }`, {
|
|
20
20
|
'twitter-preview__card-has-image': !! image,
|
|
21
21
|
} );
|
|
22
22
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import clsx from 'clsx';
|
|
2
2
|
import { Fragment } from 'react';
|
|
3
3
|
import { MediaProps } from './types';
|
|
4
4
|
|
|
@@ -37,7 +37,7 @@ export const Media: React.FC< MediaProps > = ( { media } ) => {
|
|
|
37
37
|
|
|
38
38
|
const isVideo = filteredMedia[ 0 ].type.startsWith( 'video/' );
|
|
39
39
|
|
|
40
|
-
const mediaClasses =
|
|
40
|
+
const mediaClasses = clsx( [
|
|
41
41
|
'twitter-preview__media',
|
|
42
42
|
'twitter-preview__media-children-' + filteredMedia.length,
|
|
43
43
|
] );
|
|
@@ -36,11 +36,11 @@ export const TwitterPostPreview: React.FC< TwitterPreviewProps > = ( {
|
|
|
36
36
|
{ text ? <Text text={ text } url={ url || '' } retainUrl={ hasMedia } /> : null }
|
|
37
37
|
{ hasMedia ? <Media media={ media } /> : null }
|
|
38
38
|
{ tweet ? <QuoteTweet tweet={ tweet } /> : null }
|
|
39
|
-
{ ! hasMedia &&
|
|
39
|
+
{ ! hasMedia && url && (
|
|
40
40
|
<Card
|
|
41
|
-
description={ description }
|
|
41
|
+
description={ description || '' }
|
|
42
42
|
image={ image }
|
|
43
|
-
title={ title }
|
|
43
|
+
title={ title || '' }
|
|
44
44
|
cardType={ cardType || '' }
|
|
45
45
|
url={ url }
|
|
46
46
|
/>
|
|
@@ -26,7 +26,7 @@ export const TwitterPreviews: React.FC< TwitterPreviewsProps > = ( {
|
|
|
26
26
|
}
|
|
27
27
|
</SectionHeading>
|
|
28
28
|
<p className="social-preview__section-desc">
|
|
29
|
-
{ __( 'This is what your social post will look like on
|
|
29
|
+
{ __( 'This is what your social post will look like on X:', 'social-previews' ) }
|
|
30
30
|
</p>
|
|
31
31
|
{ tweets.map( ( tweet, index ) => {
|
|
32
32
|
const isLast = index + 1 === tweets.length;
|
|
@@ -50,7 +50,7 @@ export const TwitterPreviews: React.FC< TwitterPreviewsProps > = ( {
|
|
|
50
50
|
</SectionHeading>
|
|
51
51
|
<p className="social-preview__section-desc">
|
|
52
52
|
{ __(
|
|
53
|
-
'This is what it will look like when someone shares the link to your WordPress post on
|
|
53
|
+
'This is what it will look like when someone shares the link to your WordPress post on X.',
|
|
54
54
|
'social-previews'
|
|
55
55
|
) }
|
|
56
56
|
|
package/CHANGELOG.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## v2.0.1-beta
|
|
4
|
-
|
|
5
|
-
- Added Mastodon and Instagram previews
|
|
6
|
-
- Fixed hyperlinks for Facebook
|
|
7
|
-
- Fixed multiple empty lines issue in preview text
|
|
8
|
-
|
|
9
|
-
## v2.0.0 (2023-05-24)
|
|
10
|
-
|
|
11
|
-
- Converted the package to TypeScript.
|
|
12
|
-
- Added LinkedIn and Tumblr previews.
|
|
13
|
-
- Updated Google Search, Facebook and Twitter previews to match their latest designs.
|
|
14
|
-
- Created separate components for each of the Social Media previews e.g. `TumblrLinkPreview`, `TumblrPostPreview` and `TumblrPreviews`.
|
|
15
|
-
|
|
16
|
-
## v1.1.5 (2022-08-24)
|
|
17
|
-
|
|
18
|
-
- Declare an optional peer dependency on `@babel/runtime`, for CommonJS environments. This dependency already existed previously, it just wasn't declared.
|
|
19
|
-
|
|
20
|
-
## v1.1.4 (2022-05-25)
|
|
21
|
-
|
|
22
|
-
- Add missing dependency on `@emotion/react`.
|
|
23
|
-
|
|
24
|
-
## v1.1.3 (2022-05-16)
|
|
25
|
-
|
|
26
|
-
- Remove unnecessary peer dependencies on `@wordpress/data`, `reakit-utils`, and `redux`.
|
|
27
|
-
- Add missing peer dependency on `react-dom`.
|
|
28
|
-
|
|
29
|
-
## v1.1.2 (2022-05-13)
|
|
30
|
-
|
|
31
|
-
- Dependency updates and internal code cleanup.
|
|
32
|
-
|
|
33
|
-
## v1.1.1 (2021-04-05)
|
|
34
|
-
|
|
35
|
-
- Ensure that lengthy text doesn't overflow in the Twitter preview.
|
|
36
|
-
|
|
37
|
-
## v1.1.0 (2020-09-10)
|
|
38
|
-
|
|
39
|
-
- Twitter: Add previewing for attached images, videos, or quoted tweets.
|
|
40
|
-
- Twitter: Add support for previewing entire threads.
|
|
41
|
-
|
|
42
|
-
## v1.0.4 (2020-08-24)
|
|
43
|
-
|
|
44
|
-
- Fixed Twitter styles for viewports < 600px in width
|
|
45
|
-
|
|
46
|
-
## v1.0.3 (2020-08-21)
|
|
47
|
-
|
|
48
|
-
- Refreshed styles of Twitter, Facebook and Google previews to match their latest design.
|
|
49
|
-
|
|
50
|
-
## v1.0.2 (2020-08-03)
|
|
51
|
-
|
|
52
|
-
- Remove `i18n-calypso` dependency by removing search preview header.
|
|
53
|
-
- Strip html tags from descriptions for social previews.
|
|
54
|
-
- Add helper function with enhanced regex for stripping html tags.
|
|
55
|
-
|
|
56
|
-
## v1.0.1 (2020-07-23)
|
|
57
|
-
|
|
58
|
-
- Mark CSS and SCSS files as `sideEffects` to ensure they are not discarded during build processes tree-shaking.
|
|
59
|
-
|
|
60
|
-
## v1.0.0 (2020-07-22)
|
|
61
|
-
|
|
62
|
-
- Initial release after extracting from Calypso.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
.mastodon-preview__post-icon {
|
|
2
|
-
display: inline-block;
|
|
3
|
-
|
|
4
|
-
/* stylelint-disable-next-line function-url-quotes */
|
|
5
|
-
background-image: url("data:image/png;base64,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");
|
|
6
|
-
background-repeat: no-repeat;
|
|
7
|
-
background-size: 99px 17px;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.mastodon-preview__post-icon-reply {
|
|
11
|
-
width: 19px;
|
|
12
|
-
height: 17px;
|
|
13
|
-
|
|
14
|
-
background-position: 0 0;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.mastodon-preview__post-icon-boost {
|
|
18
|
-
width: 21px;
|
|
19
|
-
height: 13px;
|
|
20
|
-
|
|
21
|
-
background-position: -19px 0;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.mastodon-preview__post-icon-like {
|
|
25
|
-
width: 17px;
|
|
26
|
-
height: 17px;
|
|
27
|
-
|
|
28
|
-
background-position: -40px 0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.mastodon-preview__post-icon-bookmark {
|
|
32
|
-
width: 14px;
|
|
33
|
-
height: 16px;
|
|
34
|
-
|
|
35
|
-
background-position: -57px 0;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.mastodon-preview__post-icon-more {
|
|
39
|
-
width: 15px;
|
|
40
|
-
height: 4px;
|
|
41
|
-
|
|
42
|
-
background-position: -71px 0;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.mastodon-preview__post-icon-globe {
|
|
46
|
-
width: 13px;
|
|
47
|
-
height: 14px;
|
|
48
|
-
|
|
49
|
-
background-position: -86px 0;
|
|
50
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
.mastodon-preview__post-icon {
|
|
2
|
-
display: inline-block;
|
|
3
|
-
|
|
4
|
-
/* stylelint-disable-next-line function-url-quotes */
|
|
5
|
-
background-image: url("data:image/png;base64,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");
|
|
6
|
-
background-repeat: no-repeat;
|
|
7
|
-
background-size: 99px 17px;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.mastodon-preview__post-icon-reply {
|
|
11
|
-
width: 19px;
|
|
12
|
-
height: 17px;
|
|
13
|
-
|
|
14
|
-
background-position: 0 0;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.mastodon-preview__post-icon-boost {
|
|
18
|
-
width: 21px;
|
|
19
|
-
height: 13px;
|
|
20
|
-
|
|
21
|
-
background-position: -19px 0;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.mastodon-preview__post-icon-like {
|
|
25
|
-
width: 17px;
|
|
26
|
-
height: 17px;
|
|
27
|
-
|
|
28
|
-
background-position: -40px 0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.mastodon-preview__post-icon-bookmark {
|
|
32
|
-
width: 14px;
|
|
33
|
-
height: 16px;
|
|
34
|
-
|
|
35
|
-
background-position: -57px 0;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.mastodon-preview__post-icon-more {
|
|
39
|
-
width: 15px;
|
|
40
|
-
height: 4px;
|
|
41
|
-
|
|
42
|
-
background-position: -71px 0;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.mastodon-preview__post-icon-globe {
|
|
46
|
-
width: 13px;
|
|
47
|
-
height: 14px;
|
|
48
|
-
|
|
49
|
-
background-position: -86px 0;
|
|
50
|
-
}
|