@automattic/social-previews 2.1.0-beta.8 → 3.0.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.
Files changed (860) hide show
  1. package/CHANGELOG.md +35 -16
  2. package/LICENSE.txt +355 -0
  3. package/README.md +15 -24
  4. package/SECURITY.md +47 -0
  5. package/dist/index.css +1627 -0
  6. package/dist/index.css.map +1 -0
  7. package/dist/index.d.mts +280 -0
  8. package/dist/index.d.ts +280 -0
  9. package/dist/index.js +2435 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/index.mjs +2435 -0
  12. package/dist/index.mjs.map +1 -0
  13. package/package.json +71 -72
  14. package/dist/cjs/bluesky-preview/helpers.js +0 -21
  15. package/dist/cjs/bluesky-preview/helpers.js.map +0 -1
  16. package/dist/cjs/bluesky-preview/index.js +0 -7
  17. package/dist/cjs/bluesky-preview/index.js.map +0 -1
  18. package/dist/cjs/bluesky-preview/link-preview.js +0 -10
  19. package/dist/cjs/bluesky-preview/link-preview.js.map +0 -1
  20. package/dist/cjs/bluesky-preview/post/actions/index.js +0 -7
  21. package/dist/cjs/bluesky-preview/post/actions/index.js.map +0 -1
  22. package/dist/cjs/bluesky-preview/post/actions/styles.scss +0 -20
  23. package/dist/cjs/bluesky-preview/post/body/index.js +0 -10
  24. package/dist/cjs/bluesky-preview/post/body/index.js.map +0 -1
  25. package/dist/cjs/bluesky-preview/post/body/styles.scss +0 -12
  26. package/dist/cjs/bluesky-preview/post/card/index.js +0 -11
  27. package/dist/cjs/bluesky-preview/post/card/index.js.map +0 -1
  28. package/dist/cjs/bluesky-preview/post/card/styles.scss +0 -70
  29. package/dist/cjs/bluesky-preview/post/header/index.js +0 -11
  30. package/dist/cjs/bluesky-preview/post/header/index.js.map +0 -1
  31. package/dist/cjs/bluesky-preview/post/header/styles.scss +0 -33
  32. package/dist/cjs/bluesky-preview/post/sidebar/index.js +0 -11
  33. package/dist/cjs/bluesky-preview/post/sidebar/index.js.map +0 -1
  34. package/dist/cjs/bluesky-preview/post/sidebar/styles.scss +0 -6
  35. package/dist/cjs/bluesky-preview/post-preview.js +0 -20
  36. package/dist/cjs/bluesky-preview/post-preview.js.map +0 -1
  37. package/dist/cjs/bluesky-preview/previews.js +0 -18
  38. package/dist/cjs/bluesky-preview/previews.js.map +0 -1
  39. package/dist/cjs/bluesky-preview/styles.scss +0 -65
  40. package/dist/cjs/bluesky-preview/types.js +0 -3
  41. package/dist/cjs/bluesky-preview/types.js.map +0 -1
  42. package/dist/cjs/bluesky-preview/variables.scss +0 -6
  43. package/dist/cjs/constants.js +0 -11
  44. package/dist/cjs/constants.js.map +0 -1
  45. package/dist/cjs/facebook-preview/custom-text.js +0 -17
  46. package/dist/cjs/facebook-preview/custom-text.js.map +0 -1
  47. package/dist/cjs/facebook-preview/helpers.js +0 -16
  48. package/dist/cjs/facebook-preview/helpers.js.map +0 -1
  49. package/dist/cjs/facebook-preview/hooks/use-image-hook.js +0 -28
  50. package/dist/cjs/facebook-preview/hooks/use-image-hook.js.map +0 -1
  51. package/dist/cjs/facebook-preview/index.js +0 -7
  52. package/dist/cjs/facebook-preview/index.js.map +0 -1
  53. package/dist/cjs/facebook-preview/link-preview-details.js +0 -17
  54. package/dist/cjs/facebook-preview/link-preview-details.js.map +0 -1
  55. package/dist/cjs/facebook-preview/link-preview.js +0 -26
  56. package/dist/cjs/facebook-preview/link-preview.js.map +0 -1
  57. package/dist/cjs/facebook-preview/post/actions/index.js +0 -26
  58. package/dist/cjs/facebook-preview/post/actions/index.js.map +0 -1
  59. package/dist/cjs/facebook-preview/post/actions/styles.scss +0 -28
  60. package/dist/cjs/facebook-preview/post/header/index.js +0 -28
  61. package/dist/cjs/facebook-preview/post/header/index.js.map +0 -1
  62. package/dist/cjs/facebook-preview/post/header/styles.scss +0 -65
  63. package/dist/cjs/facebook-preview/post/icons/index.js +0 -7
  64. package/dist/cjs/facebook-preview/post/icons/index.js.map +0 -1
  65. package/dist/cjs/facebook-preview/post/icons/styles.scss +0 -45
  66. package/dist/cjs/facebook-preview/post-preview.js +0 -20
  67. package/dist/cjs/facebook-preview/post-preview.js.map +0 -1
  68. package/dist/cjs/facebook-preview/previews.js +0 -22
  69. package/dist/cjs/facebook-preview/previews.js.map +0 -1
  70. package/dist/cjs/facebook-preview/style.scss +0 -210
  71. package/dist/cjs/facebook-preview/types.js +0 -3
  72. package/dist/cjs/facebook-preview/types.js.map +0 -1
  73. package/dist/cjs/facebook-preview/variables.scss +0 -12
  74. package/dist/cjs/google-search-preview/index.js +0 -23
  75. package/dist/cjs/google-search-preview/index.js.map +0 -1
  76. package/dist/cjs/google-search-preview/style.scss +0 -82
  77. package/dist/cjs/helpers.js +0 -169
  78. package/dist/cjs/helpers.js.map +0 -1
  79. package/dist/cjs/index.js +0 -16
  80. package/dist/cjs/index.js.map +0 -1
  81. package/dist/cjs/instagram-preview/constants.js +0 -6
  82. package/dist/cjs/instagram-preview/constants.js.map +0 -1
  83. package/dist/cjs/instagram-preview/icons/bookmark.js +0 -9
  84. package/dist/cjs/instagram-preview/icons/bookmark.js.map +0 -1
  85. package/dist/cjs/instagram-preview/icons/comment.js +0 -9
  86. package/dist/cjs/instagram-preview/icons/comment.js.map +0 -1
  87. package/dist/cjs/instagram-preview/icons/default-avatar.js +0 -9
  88. package/dist/cjs/instagram-preview/icons/default-avatar.js.map +0 -1
  89. package/dist/cjs/instagram-preview/icons/heart.js +0 -9
  90. package/dist/cjs/instagram-preview/icons/heart.js.map +0 -1
  91. package/dist/cjs/instagram-preview/icons/menu.js +0 -9
  92. package/dist/cjs/instagram-preview/icons/menu.js.map +0 -1
  93. package/dist/cjs/instagram-preview/icons/share.js +0 -9
  94. package/dist/cjs/instagram-preview/icons/share.js.map +0 -1
  95. package/dist/cjs/instagram-preview/index.js +0 -6
  96. package/dist/cjs/instagram-preview/index.js.map +0 -1
  97. package/dist/cjs/instagram-preview/post-preview.js +0 -27
  98. package/dist/cjs/instagram-preview/post-preview.js.map +0 -1
  99. package/dist/cjs/instagram-preview/previews.js +0 -15
  100. package/dist/cjs/instagram-preview/previews.js.map +0 -1
  101. package/dist/cjs/instagram-preview/style.scss +0 -107
  102. package/dist/cjs/instagram-preview/types.js +0 -3
  103. package/dist/cjs/instagram-preview/types.js.map +0 -1
  104. package/dist/cjs/linkedin-preview/constants.js +0 -6
  105. package/dist/cjs/linkedin-preview/constants.js.map +0 -1
  106. package/dist/cjs/linkedin-preview/icons/default-avatar.js +0 -9
  107. package/dist/cjs/linkedin-preview/icons/default-avatar.js.map +0 -1
  108. package/dist/cjs/linkedin-preview/index.js +0 -7
  109. package/dist/cjs/linkedin-preview/index.js.map +0 -1
  110. package/dist/cjs/linkedin-preview/link-preview.js +0 -13
  111. package/dist/cjs/linkedin-preview/link-preview.js.map +0 -1
  112. package/dist/cjs/linkedin-preview/post-preview.js +0 -27
  113. package/dist/cjs/linkedin-preview/post-preview.js.map +0 -1
  114. package/dist/cjs/linkedin-preview/previews.js +0 -19
  115. package/dist/cjs/linkedin-preview/previews.js.map +0 -1
  116. package/dist/cjs/linkedin-preview/style.scss +0 -132
  117. package/dist/cjs/linkedin-preview/types.js +0 -3
  118. package/dist/cjs/linkedin-preview/types.js.map +0 -1
  119. package/dist/cjs/mastodon-preview/constants.js +0 -6
  120. package/dist/cjs/mastodon-preview/constants.js.map +0 -1
  121. package/dist/cjs/mastodon-preview/helpers.js +0 -32
  122. package/dist/cjs/mastodon-preview/helpers.js.map +0 -1
  123. package/dist/cjs/mastodon-preview/index.js +0 -7
  124. package/dist/cjs/mastodon-preview/index.js.map +0 -1
  125. package/dist/cjs/mastodon-preview/link-preview.js +0 -16
  126. package/dist/cjs/mastodon-preview/link-preview.js.map +0 -1
  127. package/dist/cjs/mastodon-preview/post/actions/index.js +0 -7
  128. package/dist/cjs/mastodon-preview/post/actions/index.js.map +0 -1
  129. package/dist/cjs/mastodon-preview/post/actions/styles.scss +0 -25
  130. package/dist/cjs/mastodon-preview/post/body/index.js +0 -34
  131. package/dist/cjs/mastodon-preview/post/body/index.js.map +0 -1
  132. package/dist/cjs/mastodon-preview/post/body/styles.scss +0 -12
  133. package/dist/cjs/mastodon-preview/post/card/index.js +0 -14
  134. package/dist/cjs/mastodon-preview/post/card/index.js.map +0 -1
  135. package/dist/cjs/mastodon-preview/post/card/styles.scss +0 -76
  136. package/dist/cjs/mastodon-preview/post/header/index.js +0 -16
  137. package/dist/cjs/mastodon-preview/post/header/index.js.map +0 -1
  138. package/dist/cjs/mastodon-preview/post/header/styles.scss +0 -37
  139. package/dist/cjs/mastodon-preview/post/icons/index.js +0 -9
  140. package/dist/cjs/mastodon-preview/post/icons/index.js.map +0 -1
  141. package/dist/cjs/mastodon-preview/post-preview.js +0 -19
  142. package/dist/cjs/mastodon-preview/post-preview.js.map +0 -1
  143. package/dist/cjs/mastodon-preview/previews.js +0 -18
  144. package/dist/cjs/mastodon-preview/previews.js.map +0 -1
  145. package/dist/cjs/mastodon-preview/styles.scss +0 -73
  146. package/dist/cjs/mastodon-preview/types.js +0 -3
  147. package/dist/cjs/mastodon-preview/types.js.map +0 -1
  148. package/dist/cjs/mastodon-preview/variables.scss +0 -7
  149. package/dist/cjs/nextdoor-preview/constants.js +0 -6
  150. package/dist/cjs/nextdoor-preview/constants.js.map +0 -1
  151. package/dist/cjs/nextdoor-preview/footer-actions.js +0 -13
  152. package/dist/cjs/nextdoor-preview/footer-actions.js.map +0 -1
  153. package/dist/cjs/nextdoor-preview/icons/chevron-icon.js +0 -9
  154. package/dist/cjs/nextdoor-preview/icons/chevron-icon.js.map +0 -1
  155. package/dist/cjs/nextdoor-preview/icons/comment-icon.js +0 -9
  156. package/dist/cjs/nextdoor-preview/icons/comment-icon.js.map +0 -1
  157. package/dist/cjs/nextdoor-preview/icons/default-avatar.js +0 -9
  158. package/dist/cjs/nextdoor-preview/icons/default-avatar.js.map +0 -1
  159. package/dist/cjs/nextdoor-preview/icons/default-image.js +0 -9
  160. package/dist/cjs/nextdoor-preview/icons/default-image.js.map +0 -1
  161. package/dist/cjs/nextdoor-preview/icons/globe-icon.js +0 -9
  162. package/dist/cjs/nextdoor-preview/icons/globe-icon.js.map +0 -1
  163. package/dist/cjs/nextdoor-preview/icons/like-icon.js +0 -9
  164. package/dist/cjs/nextdoor-preview/icons/like-icon.js.map +0 -1
  165. package/dist/cjs/nextdoor-preview/icons/share-icon.js +0 -9
  166. package/dist/cjs/nextdoor-preview/icons/share-icon.js.map +0 -1
  167. package/dist/cjs/nextdoor-preview/index.js +0 -7
  168. package/dist/cjs/nextdoor-preview/index.js.map +0 -1
  169. package/dist/cjs/nextdoor-preview/link-preview.js +0 -13
  170. package/dist/cjs/nextdoor-preview/link-preview.js.map +0 -1
  171. package/dist/cjs/nextdoor-preview/post-preview.js +0 -31
  172. package/dist/cjs/nextdoor-preview/post-preview.js.map +0 -1
  173. package/dist/cjs/nextdoor-preview/previews.js +0 -19
  174. package/dist/cjs/nextdoor-preview/previews.js.map +0 -1
  175. package/dist/cjs/nextdoor-preview/style.scss +0 -211
  176. package/dist/cjs/nextdoor-preview/types.js +0 -3
  177. package/dist/cjs/nextdoor-preview/types.js.map +0 -1
  178. package/dist/cjs/shared/section-heading/index.js +0 -12
  179. package/dist/cjs/shared/section-heading/index.js.map +0 -1
  180. package/dist/cjs/shared.scss +0 -40
  181. package/dist/cjs/threads-preview/card.js +0 -16
  182. package/dist/cjs/threads-preview/card.js.map +0 -1
  183. package/dist/cjs/threads-preview/footer.js +0 -9
  184. package/dist/cjs/threads-preview/footer.js.map +0 -1
  185. package/dist/cjs/threads-preview/header.js +0 -12
  186. package/dist/cjs/threads-preview/header.js.map +0 -1
  187. package/dist/cjs/threads-preview/helpers.js +0 -9
  188. package/dist/cjs/threads-preview/helpers.js.map +0 -1
  189. package/dist/cjs/threads-preview/icons/default-avatar.js +0 -9
  190. package/dist/cjs/threads-preview/icons/default-avatar.js.map +0 -1
  191. package/dist/cjs/threads-preview/index.js +0 -7
  192. package/dist/cjs/threads-preview/index.js.map +0 -1
  193. package/dist/cjs/threads-preview/link-preview.js +0 -12
  194. package/dist/cjs/threads-preview/link-preview.js.map +0 -1
  195. package/dist/cjs/threads-preview/media.js +0 -43
  196. package/dist/cjs/threads-preview/media.js.map +0 -1
  197. package/dist/cjs/threads-preview/post-preview.js +0 -22
  198. package/dist/cjs/threads-preview/post-preview.js.map +0 -1
  199. package/dist/cjs/threads-preview/previews.js +0 -25
  200. package/dist/cjs/threads-preview/previews.js.map +0 -1
  201. package/dist/cjs/threads-preview/sidebar.js +0 -11
  202. package/dist/cjs/threads-preview/sidebar.js.map +0 -1
  203. package/dist/cjs/threads-preview/style.scss +0 -203
  204. package/dist/cjs/threads-preview/types.js +0 -3
  205. package/dist/cjs/threads-preview/types.js.map +0 -1
  206. package/dist/cjs/threads-preview/variables.scss +0 -5
  207. package/dist/cjs/tumblr-preview/helpers.js +0 -11
  208. package/dist/cjs/tumblr-preview/helpers.js.map +0 -1
  209. package/dist/cjs/tumblr-preview/index.js +0 -7
  210. package/dist/cjs/tumblr-preview/index.js.map +0 -1
  211. package/dist/cjs/tumblr-preview/link-preview.js +0 -17
  212. package/dist/cjs/tumblr-preview/link-preview.js.map +0 -1
  213. package/dist/cjs/tumblr-preview/post/actions/index.js +0 -44
  214. package/dist/cjs/tumblr-preview/post/actions/index.js.map +0 -1
  215. package/dist/cjs/tumblr-preview/post/actions/styles.scss +0 -47
  216. package/dist/cjs/tumblr-preview/post/header/index.js +0 -12
  217. package/dist/cjs/tumblr-preview/post/header/index.js.map +0 -1
  218. package/dist/cjs/tumblr-preview/post/header/styles.scss +0 -16
  219. package/dist/cjs/tumblr-preview/post/icons/index.js +0 -36
  220. package/dist/cjs/tumblr-preview/post/icons/index.js.map +0 -1
  221. package/dist/cjs/tumblr-preview/post/icons/styles.scss +0 -56
  222. package/dist/cjs/tumblr-preview/post-preview.js +0 -19
  223. package/dist/cjs/tumblr-preview/post-preview.js.map +0 -1
  224. package/dist/cjs/tumblr-preview/previews.js +0 -19
  225. package/dist/cjs/tumblr-preview/previews.js.map +0 -1
  226. package/dist/cjs/tumblr-preview/styles.scss +0 -148
  227. package/dist/cjs/tumblr-preview/types.js +0 -3
  228. package/dist/cjs/tumblr-preview/types.js.map +0 -1
  229. package/dist/cjs/tumblr-preview/variables.scss +0 -12
  230. package/dist/cjs/twitter-preview/card.js +0 -17
  231. package/dist/cjs/twitter-preview/card.js.map +0 -1
  232. package/dist/cjs/twitter-preview/footer.js +0 -9
  233. package/dist/cjs/twitter-preview/footer.js.map +0 -1
  234. package/dist/cjs/twitter-preview/header.js +0 -11
  235. package/dist/cjs/twitter-preview/header.js.map +0 -1
  236. package/dist/cjs/twitter-preview/icons/default-avatar.js +0 -9
  237. package/dist/cjs/twitter-preview/icons/default-avatar.js.map +0 -1
  238. package/dist/cjs/twitter-preview/index.js +0 -7
  239. package/dist/cjs/twitter-preview/index.js.map +0 -1
  240. package/dist/cjs/twitter-preview/link-preview.js +0 -12
  241. package/dist/cjs/twitter-preview/link-preview.js.map +0 -1
  242. package/dist/cjs/twitter-preview/media.js +0 -43
  243. package/dist/cjs/twitter-preview/media.js.map +0 -1
  244. package/dist/cjs/twitter-preview/post-preview.js +0 -18
  245. package/dist/cjs/twitter-preview/post-preview.js.map +0 -1
  246. package/dist/cjs/twitter-preview/previews.js +0 -25
  247. package/dist/cjs/twitter-preview/previews.js.map +0 -1
  248. package/dist/cjs/twitter-preview/quote-tweet.js +0 -13
  249. package/dist/cjs/twitter-preview/quote-tweet.js.map +0 -1
  250. package/dist/cjs/twitter-preview/sidebar.js +0 -11
  251. package/dist/cjs/twitter-preview/sidebar.js.map +0 -1
  252. package/dist/cjs/twitter-preview/style.scss +0 -249
  253. package/dist/cjs/twitter-preview/text.js +0 -17
  254. package/dist/cjs/twitter-preview/text.js.map +0 -1
  255. package/dist/cjs/twitter-preview/types.js +0 -3
  256. package/dist/cjs/twitter-preview/types.js.map +0 -1
  257. package/dist/cjs/types.js +0 -3
  258. package/dist/cjs/types.js.map +0 -1
  259. package/dist/cjs/variables.scss +0 -14
  260. package/dist/esm/bluesky-preview/helpers.js +0 -15
  261. package/dist/esm/bluesky-preview/helpers.js.map +0 -1
  262. package/dist/esm/bluesky-preview/index.js +0 -4
  263. package/dist/esm/bluesky-preview/index.js.map +0 -1
  264. package/dist/esm/bluesky-preview/link-preview.js +0 -6
  265. package/dist/esm/bluesky-preview/link-preview.js.map +0 -1
  266. package/dist/esm/bluesky-preview/post/actions/index.js +0 -5
  267. package/dist/esm/bluesky-preview/post/actions/index.js.map +0 -1
  268. package/dist/esm/bluesky-preview/post/actions/styles.scss +0 -20
  269. package/dist/esm/bluesky-preview/post/body/index.js +0 -8
  270. package/dist/esm/bluesky-preview/post/body/index.js.map +0 -1
  271. package/dist/esm/bluesky-preview/post/body/styles.scss +0 -12
  272. package/dist/esm/bluesky-preview/post/card/index.js +0 -9
  273. package/dist/esm/bluesky-preview/post/card/index.js.map +0 -1
  274. package/dist/esm/bluesky-preview/post/card/styles.scss +0 -70
  275. package/dist/esm/bluesky-preview/post/header/index.js +0 -9
  276. package/dist/esm/bluesky-preview/post/header/index.js.map +0 -1
  277. package/dist/esm/bluesky-preview/post/header/styles.scss +0 -33
  278. package/dist/esm/bluesky-preview/post/sidebar/index.js +0 -7
  279. package/dist/esm/bluesky-preview/post/sidebar/index.js.map +0 -1
  280. package/dist/esm/bluesky-preview/post/sidebar/styles.scss +0 -6
  281. package/dist/esm/bluesky-preview/post-preview.js +0 -15
  282. package/dist/esm/bluesky-preview/post-preview.js.map +0 -1
  283. package/dist/esm/bluesky-preview/previews.js +0 -14
  284. package/dist/esm/bluesky-preview/previews.js.map +0 -1
  285. package/dist/esm/bluesky-preview/styles.scss +0 -65
  286. package/dist/esm/bluesky-preview/types.js +0 -2
  287. package/dist/esm/bluesky-preview/types.js.map +0 -1
  288. package/dist/esm/bluesky-preview/variables.scss +0 -6
  289. package/dist/esm/constants.js +0 -8
  290. package/dist/esm/constants.js.map +0 -1
  291. package/dist/esm/facebook-preview/custom-text.js +0 -15
  292. package/dist/esm/facebook-preview/custom-text.js.map +0 -1
  293. package/dist/esm/facebook-preview/helpers.js +0 -10
  294. package/dist/esm/facebook-preview/helpers.js.map +0 -1
  295. package/dist/esm/facebook-preview/hooks/use-image-hook.js +0 -26
  296. package/dist/esm/facebook-preview/hooks/use-image-hook.js.map +0 -1
  297. package/dist/esm/facebook-preview/index.js +0 -4
  298. package/dist/esm/facebook-preview/index.js.map +0 -1
  299. package/dist/esm/facebook-preview/link-preview-details.js +0 -12
  300. package/dist/esm/facebook-preview/link-preview-details.js.map +0 -1
  301. package/dist/esm/facebook-preview/link-preview.js +0 -21
  302. package/dist/esm/facebook-preview/link-preview.js.map +0 -1
  303. package/dist/esm/facebook-preview/post/actions/index.js +0 -23
  304. package/dist/esm/facebook-preview/post/actions/index.js.map +0 -1
  305. package/dist/esm/facebook-preview/post/actions/styles.scss +0 -28
  306. package/dist/esm/facebook-preview/post/header/index.js +0 -25
  307. package/dist/esm/facebook-preview/post/header/index.js.map +0 -1
  308. package/dist/esm/facebook-preview/post/header/styles.scss +0 -65
  309. package/dist/esm/facebook-preview/post/icons/index.js +0 -5
  310. package/dist/esm/facebook-preview/post/icons/index.js.map +0 -1
  311. package/dist/esm/facebook-preview/post/icons/styles.scss +0 -45
  312. package/dist/esm/facebook-preview/post-preview.js +0 -15
  313. package/dist/esm/facebook-preview/post-preview.js.map +0 -1
  314. package/dist/esm/facebook-preview/previews.js +0 -17
  315. package/dist/esm/facebook-preview/previews.js.map +0 -1
  316. package/dist/esm/facebook-preview/style.scss +0 -210
  317. package/dist/esm/facebook-preview/types.js +0 -2
  318. package/dist/esm/facebook-preview/types.js.map +0 -1
  319. package/dist/esm/facebook-preview/variables.scss +0 -12
  320. package/dist/esm/google-search-preview/index.js +0 -19
  321. package/dist/esm/google-search-preview/index.js.map +0 -1
  322. package/dist/esm/google-search-preview/style.scss +0 -82
  323. package/dist/esm/helpers.js +0 -157
  324. package/dist/esm/helpers.js.map +0 -1
  325. package/dist/esm/index.js +0 -13
  326. package/dist/esm/index.js.map +0 -1
  327. package/dist/esm/instagram-preview/constants.js +0 -3
  328. package/dist/esm/instagram-preview/constants.js.map +0 -1
  329. package/dist/esm/instagram-preview/icons/bookmark.js +0 -5
  330. package/dist/esm/instagram-preview/icons/bookmark.js.map +0 -1
  331. package/dist/esm/instagram-preview/icons/comment.js +0 -5
  332. package/dist/esm/instagram-preview/icons/comment.js.map +0 -1
  333. package/dist/esm/instagram-preview/icons/default-avatar.js +0 -5
  334. package/dist/esm/instagram-preview/icons/default-avatar.js.map +0 -1
  335. package/dist/esm/instagram-preview/icons/heart.js +0 -5
  336. package/dist/esm/instagram-preview/icons/heart.js.map +0 -1
  337. package/dist/esm/instagram-preview/icons/menu.js +0 -5
  338. package/dist/esm/instagram-preview/icons/menu.js.map +0 -1
  339. package/dist/esm/instagram-preview/icons/share.js +0 -5
  340. package/dist/esm/instagram-preview/icons/share.js.map +0 -1
  341. package/dist/esm/instagram-preview/index.js +0 -3
  342. package/dist/esm/instagram-preview/index.js.map +0 -1
  343. package/dist/esm/instagram-preview/post-preview.js +0 -23
  344. package/dist/esm/instagram-preview/post-preview.js.map +0 -1
  345. package/dist/esm/instagram-preview/previews.js +0 -10
  346. package/dist/esm/instagram-preview/previews.js.map +0 -1
  347. package/dist/esm/instagram-preview/style.scss +0 -107
  348. package/dist/esm/instagram-preview/types.js +0 -2
  349. package/dist/esm/instagram-preview/types.js.map +0 -1
  350. package/dist/esm/linkedin-preview/constants.js +0 -3
  351. package/dist/esm/linkedin-preview/constants.js.map +0 -1
  352. package/dist/esm/linkedin-preview/icons/default-avatar.js +0 -5
  353. package/dist/esm/linkedin-preview/icons/default-avatar.js.map +0 -1
  354. package/dist/esm/linkedin-preview/index.js +0 -4
  355. package/dist/esm/linkedin-preview/index.js.map +0 -1
  356. package/dist/esm/linkedin-preview/link-preview.js +0 -9
  357. package/dist/esm/linkedin-preview/link-preview.js.map +0 -1
  358. package/dist/esm/linkedin-preview/post-preview.js +0 -23
  359. package/dist/esm/linkedin-preview/post-preview.js.map +0 -1
  360. package/dist/esm/linkedin-preview/previews.js +0 -14
  361. package/dist/esm/linkedin-preview/previews.js.map +0 -1
  362. package/dist/esm/linkedin-preview/style.scss +0 -132
  363. package/dist/esm/linkedin-preview/types.js +0 -2
  364. package/dist/esm/linkedin-preview/types.js.map +0 -1
  365. package/dist/esm/mastodon-preview/constants.js +0 -3
  366. package/dist/esm/mastodon-preview/constants.js.map +0 -1
  367. package/dist/esm/mastodon-preview/helpers.js +0 -25
  368. package/dist/esm/mastodon-preview/helpers.js.map +0 -1
  369. package/dist/esm/mastodon-preview/index.js +0 -4
  370. package/dist/esm/mastodon-preview/index.js.map +0 -1
  371. package/dist/esm/mastodon-preview/link-preview.js +0 -11
  372. package/dist/esm/mastodon-preview/link-preview.js.map +0 -1
  373. package/dist/esm/mastodon-preview/post/actions/index.js +0 -5
  374. package/dist/esm/mastodon-preview/post/actions/index.js.map +0 -1
  375. package/dist/esm/mastodon-preview/post/actions/styles.scss +0 -25
  376. package/dist/esm/mastodon-preview/post/body/index.js +0 -32
  377. package/dist/esm/mastodon-preview/post/body/index.js.map +0 -1
  378. package/dist/esm/mastodon-preview/post/body/styles.scss +0 -12
  379. package/dist/esm/mastodon-preview/post/card/index.js +0 -11
  380. package/dist/esm/mastodon-preview/post/card/index.js.map +0 -1
  381. package/dist/esm/mastodon-preview/post/card/styles.scss +0 -76
  382. package/dist/esm/mastodon-preview/post/header/index.js +0 -14
  383. package/dist/esm/mastodon-preview/post/header/index.js.map +0 -1
  384. package/dist/esm/mastodon-preview/post/header/styles.scss +0 -37
  385. package/dist/esm/mastodon-preview/post/icons/index.js +0 -5
  386. package/dist/esm/mastodon-preview/post/icons/index.js.map +0 -1
  387. package/dist/esm/mastodon-preview/post-preview.js +0 -14
  388. package/dist/esm/mastodon-preview/post-preview.js.map +0 -1
  389. package/dist/esm/mastodon-preview/previews.js +0 -14
  390. package/dist/esm/mastodon-preview/previews.js.map +0 -1
  391. package/dist/esm/mastodon-preview/styles.scss +0 -73
  392. package/dist/esm/mastodon-preview/types.js +0 -2
  393. package/dist/esm/mastodon-preview/types.js.map +0 -1
  394. package/dist/esm/mastodon-preview/variables.scss +0 -7
  395. package/dist/esm/nextdoor-preview/constants.js +0 -3
  396. package/dist/esm/nextdoor-preview/constants.js.map +0 -1
  397. package/dist/esm/nextdoor-preview/footer-actions.js +0 -9
  398. package/dist/esm/nextdoor-preview/footer-actions.js.map +0 -1
  399. package/dist/esm/nextdoor-preview/icons/chevron-icon.js +0 -5
  400. package/dist/esm/nextdoor-preview/icons/chevron-icon.js.map +0 -1
  401. package/dist/esm/nextdoor-preview/icons/comment-icon.js +0 -5
  402. package/dist/esm/nextdoor-preview/icons/comment-icon.js.map +0 -1
  403. package/dist/esm/nextdoor-preview/icons/default-avatar.js +0 -5
  404. package/dist/esm/nextdoor-preview/icons/default-avatar.js.map +0 -1
  405. package/dist/esm/nextdoor-preview/icons/default-image.js +0 -5
  406. package/dist/esm/nextdoor-preview/icons/default-image.js.map +0 -1
  407. package/dist/esm/nextdoor-preview/icons/globe-icon.js +0 -5
  408. package/dist/esm/nextdoor-preview/icons/globe-icon.js.map +0 -1
  409. package/dist/esm/nextdoor-preview/icons/like-icon.js +0 -5
  410. package/dist/esm/nextdoor-preview/icons/like-icon.js.map +0 -1
  411. package/dist/esm/nextdoor-preview/icons/share-icon.js +0 -5
  412. package/dist/esm/nextdoor-preview/icons/share-icon.js.map +0 -1
  413. package/dist/esm/nextdoor-preview/index.js +0 -4
  414. package/dist/esm/nextdoor-preview/index.js.map +0 -1
  415. package/dist/esm/nextdoor-preview/link-preview.js +0 -9
  416. package/dist/esm/nextdoor-preview/link-preview.js.map +0 -1
  417. package/dist/esm/nextdoor-preview/post-preview.js +0 -26
  418. package/dist/esm/nextdoor-preview/post-preview.js.map +0 -1
  419. package/dist/esm/nextdoor-preview/previews.js +0 -14
  420. package/dist/esm/nextdoor-preview/previews.js.map +0 -1
  421. package/dist/esm/nextdoor-preview/style.scss +0 -211
  422. package/dist/esm/nextdoor-preview/types.js +0 -2
  423. package/dist/esm/nextdoor-preview/types.js.map +0 -1
  424. package/dist/esm/shared/section-heading/index.js +0 -8
  425. package/dist/esm/shared/section-heading/index.js.map +0 -1
  426. package/dist/esm/shared.scss +0 -40
  427. package/dist/esm/threads-preview/card.js +0 -11
  428. package/dist/esm/threads-preview/card.js.map +0 -1
  429. package/dist/esm/threads-preview/footer.js +0 -5
  430. package/dist/esm/threads-preview/footer.js.map +0 -1
  431. package/dist/esm/threads-preview/header.js +0 -8
  432. package/dist/esm/threads-preview/header.js.map +0 -1
  433. package/dist/esm/threads-preview/helpers.js +0 -5
  434. package/dist/esm/threads-preview/helpers.js.map +0 -1
  435. package/dist/esm/threads-preview/icons/default-avatar.js +0 -5
  436. package/dist/esm/threads-preview/icons/default-avatar.js.map +0 -1
  437. package/dist/esm/threads-preview/index.js +0 -4
  438. package/dist/esm/threads-preview/index.js.map +0 -1
  439. package/dist/esm/threads-preview/link-preview.js +0 -8
  440. package/dist/esm/threads-preview/link-preview.js.map +0 -1
  441. package/dist/esm/threads-preview/media.js +0 -38
  442. package/dist/esm/threads-preview/media.js.map +0 -1
  443. package/dist/esm/threads-preview/post-preview.js +0 -18
  444. package/dist/esm/threads-preview/post-preview.js.map +0 -1
  445. package/dist/esm/threads-preview/previews.js +0 -20
  446. package/dist/esm/threads-preview/previews.js.map +0 -1
  447. package/dist/esm/threads-preview/sidebar.js +0 -7
  448. package/dist/esm/threads-preview/sidebar.js.map +0 -1
  449. package/dist/esm/threads-preview/style.scss +0 -203
  450. package/dist/esm/threads-preview/types.js +0 -2
  451. package/dist/esm/threads-preview/types.js.map +0 -1
  452. package/dist/esm/threads-preview/variables.scss +0 -5
  453. package/dist/esm/tumblr-preview/helpers.js +0 -6
  454. package/dist/esm/tumblr-preview/helpers.js.map +0 -1
  455. package/dist/esm/tumblr-preview/index.js +0 -4
  456. package/dist/esm/tumblr-preview/index.js.map +0 -1
  457. package/dist/esm/tumblr-preview/link-preview.js +0 -12
  458. package/dist/esm/tumblr-preview/link-preview.js.map +0 -1
  459. package/dist/esm/tumblr-preview/post/actions/index.js +0 -41
  460. package/dist/esm/tumblr-preview/post/actions/index.js.map +0 -1
  461. package/dist/esm/tumblr-preview/post/actions/styles.scss +0 -47
  462. package/dist/esm/tumblr-preview/post/header/index.js +0 -9
  463. package/dist/esm/tumblr-preview/post/header/index.js.map +0 -1
  464. package/dist/esm/tumblr-preview/post/header/styles.scss +0 -16
  465. package/dist/esm/tumblr-preview/post/icons/index.js +0 -34
  466. package/dist/esm/tumblr-preview/post/icons/index.js.map +0 -1
  467. package/dist/esm/tumblr-preview/post/icons/styles.scss +0 -56
  468. package/dist/esm/tumblr-preview/post-preview.js +0 -14
  469. package/dist/esm/tumblr-preview/post-preview.js.map +0 -1
  470. package/dist/esm/tumblr-preview/previews.js +0 -15
  471. package/dist/esm/tumblr-preview/previews.js.map +0 -1
  472. package/dist/esm/tumblr-preview/styles.scss +0 -148
  473. package/dist/esm/tumblr-preview/types.js +0 -2
  474. package/dist/esm/tumblr-preview/types.js.map +0 -1
  475. package/dist/esm/tumblr-preview/variables.scss +0 -12
  476. package/dist/esm/twitter-preview/card.js +0 -12
  477. package/dist/esm/twitter-preview/card.js.map +0 -1
  478. package/dist/esm/twitter-preview/footer.js +0 -5
  479. package/dist/esm/twitter-preview/footer.js.map +0 -1
  480. package/dist/esm/twitter-preview/header.js +0 -7
  481. package/dist/esm/twitter-preview/header.js.map +0 -1
  482. package/dist/esm/twitter-preview/icons/default-avatar.js +0 -5
  483. package/dist/esm/twitter-preview/icons/default-avatar.js.map +0 -1
  484. package/dist/esm/twitter-preview/index.js +0 -4
  485. package/dist/esm/twitter-preview/index.js.map +0 -1
  486. package/dist/esm/twitter-preview/link-preview.js +0 -8
  487. package/dist/esm/twitter-preview/link-preview.js.map +0 -1
  488. package/dist/esm/twitter-preview/media.js +0 -38
  489. package/dist/esm/twitter-preview/media.js.map +0 -1
  490. package/dist/esm/twitter-preview/post-preview.js +0 -14
  491. package/dist/esm/twitter-preview/post-preview.js.map +0 -1
  492. package/dist/esm/twitter-preview/previews.js +0 -20
  493. package/dist/esm/twitter-preview/previews.js.map +0 -1
  494. package/dist/esm/twitter-preview/quote-tweet.js +0 -9
  495. package/dist/esm/twitter-preview/quote-tweet.js.map +0 -1
  496. package/dist/esm/twitter-preview/sidebar.js +0 -7
  497. package/dist/esm/twitter-preview/sidebar.js.map +0 -1
  498. package/dist/esm/twitter-preview/style.scss +0 -249
  499. package/dist/esm/twitter-preview/text.js +0 -13
  500. package/dist/esm/twitter-preview/text.js.map +0 -1
  501. package/dist/esm/twitter-preview/types.js +0 -2
  502. package/dist/esm/twitter-preview/types.js.map +0 -1
  503. package/dist/esm/types.js +0 -2
  504. package/dist/esm/types.js.map +0 -1
  505. package/dist/esm/variables.scss +0 -14
  506. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  507. package/dist/tsconfig.tsbuildinfo +0 -1
  508. package/dist/types/bluesky-preview/helpers.d.ts +0 -8
  509. package/dist/types/bluesky-preview/helpers.d.ts.map +0 -1
  510. package/dist/types/bluesky-preview/index.d.ts +0 -4
  511. package/dist/types/bluesky-preview/index.d.ts.map +0 -1
  512. package/dist/types/bluesky-preview/link-preview.d.ts +0 -4
  513. package/dist/types/bluesky-preview/link-preview.d.ts.map +0 -1
  514. package/dist/types/bluesky-preview/post/actions/index.d.ts +0 -5
  515. package/dist/types/bluesky-preview/post/actions/index.d.ts.map +0 -1
  516. package/dist/types/bluesky-preview/post/body/index.d.ts +0 -9
  517. package/dist/types/bluesky-preview/post/body/index.d.ts.map +0 -1
  518. package/dist/types/bluesky-preview/post/card/index.d.ts +0 -6
  519. package/dist/types/bluesky-preview/post/card/index.d.ts.map +0 -1
  520. package/dist/types/bluesky-preview/post/header/index.d.ts +0 -7
  521. package/dist/types/bluesky-preview/post/header/index.d.ts.map +0 -1
  522. package/dist/types/bluesky-preview/post/sidebar/index.d.ts +0 -7
  523. package/dist/types/bluesky-preview/post/sidebar/index.d.ts.map +0 -1
  524. package/dist/types/bluesky-preview/post-preview.d.ts +0 -5
  525. package/dist/types/bluesky-preview/post-preview.d.ts.map +0 -1
  526. package/dist/types/bluesky-preview/previews.d.ts +0 -6
  527. package/dist/types/bluesky-preview/previews.d.ts.map +0 -1
  528. package/dist/types/bluesky-preview/types.d.ts +0 -13
  529. package/dist/types/bluesky-preview/types.d.ts.map +0 -1
  530. package/dist/types/constants.d.ts +0 -8
  531. package/dist/types/constants.d.ts.map +0 -1
  532. package/dist/types/facebook-preview/custom-text.d.ts +0 -9
  533. package/dist/types/facebook-preview/custom-text.d.ts.map +0 -1
  534. package/dist/types/facebook-preview/helpers.d.ts +0 -6
  535. package/dist/types/facebook-preview/helpers.d.ts.map +0 -1
  536. package/dist/types/facebook-preview/hooks/use-image-hook.d.ts +0 -14
  537. package/dist/types/facebook-preview/hooks/use-image-hook.d.ts.map +0 -1
  538. package/dist/types/facebook-preview/index.d.ts +0 -4
  539. package/dist/types/facebook-preview/index.d.ts.map +0 -1
  540. package/dist/types/facebook-preview/link-preview-details.d.ts +0 -4
  541. package/dist/types/facebook-preview/link-preview-details.d.ts.map +0 -1
  542. package/dist/types/facebook-preview/link-preview.d.ts +0 -8
  543. package/dist/types/facebook-preview/link-preview.d.ts.map +0 -1
  544. package/dist/types/facebook-preview/post/actions/index.d.ts +0 -5
  545. package/dist/types/facebook-preview/post/actions/index.d.ts.map +0 -1
  546. package/dist/types/facebook-preview/post/header/index.d.ts +0 -11
  547. package/dist/types/facebook-preview/post/header/index.d.ts.map +0 -1
  548. package/dist/types/facebook-preview/post/icons/index.d.ts +0 -7
  549. package/dist/types/facebook-preview/post/icons/index.d.ts.map +0 -1
  550. package/dist/types/facebook-preview/post-preview.d.ts +0 -5
  551. package/dist/types/facebook-preview/post-preview.d.ts.map +0 -1
  552. package/dist/types/facebook-preview/previews.d.ts +0 -6
  553. package/dist/types/facebook-preview/previews.d.ts.map +0 -1
  554. package/dist/types/facebook-preview/types.d.ts +0 -15
  555. package/dist/types/facebook-preview/types.d.ts.map +0 -1
  556. package/dist/types/google-search-preview/index.d.ts +0 -8
  557. package/dist/types/google-search-preview/index.d.ts.map +0 -1
  558. package/dist/types/helpers.d.ts +0 -38
  559. package/dist/types/helpers.d.ts.map +0 -1
  560. package/dist/types/index.d.ts +0 -13
  561. package/dist/types/index.d.ts.map +0 -1
  562. package/dist/types/instagram-preview/constants.d.ts +0 -3
  563. package/dist/types/instagram-preview/constants.d.ts.map +0 -1
  564. package/dist/types/instagram-preview/icons/bookmark.d.ts +0 -3
  565. package/dist/types/instagram-preview/icons/bookmark.d.ts.map +0 -1
  566. package/dist/types/instagram-preview/icons/comment.d.ts +0 -3
  567. package/dist/types/instagram-preview/icons/comment.d.ts.map +0 -1
  568. package/dist/types/instagram-preview/icons/default-avatar.d.ts +0 -3
  569. package/dist/types/instagram-preview/icons/default-avatar.d.ts.map +0 -1
  570. package/dist/types/instagram-preview/icons/heart.d.ts +0 -3
  571. package/dist/types/instagram-preview/icons/heart.d.ts.map +0 -1
  572. package/dist/types/instagram-preview/icons/menu.d.ts +0 -3
  573. package/dist/types/instagram-preview/icons/menu.d.ts.map +0 -1
  574. package/dist/types/instagram-preview/icons/share.d.ts +0 -3
  575. package/dist/types/instagram-preview/icons/share.d.ts.map +0 -1
  576. package/dist/types/instagram-preview/index.d.ts +0 -3
  577. package/dist/types/instagram-preview/index.d.ts.map +0 -1
  578. package/dist/types/instagram-preview/post-preview.d.ts +0 -4
  579. package/dist/types/instagram-preview/post-preview.d.ts.map +0 -1
  580. package/dist/types/instagram-preview/previews.d.ts +0 -4
  581. package/dist/types/instagram-preview/previews.d.ts.map +0 -1
  582. package/dist/types/instagram-preview/types.d.ts +0 -8
  583. package/dist/types/instagram-preview/types.d.ts.map +0 -1
  584. package/dist/types/linkedin-preview/constants.d.ts +0 -3
  585. package/dist/types/linkedin-preview/constants.d.ts.map +0 -1
  586. package/dist/types/linkedin-preview/icons/default-avatar.d.ts +0 -3
  587. package/dist/types/linkedin-preview/icons/default-avatar.d.ts.map +0 -1
  588. package/dist/types/linkedin-preview/index.d.ts +0 -4
  589. package/dist/types/linkedin-preview/index.d.ts.map +0 -1
  590. package/dist/types/linkedin-preview/link-preview.d.ts +0 -6
  591. package/dist/types/linkedin-preview/link-preview.d.ts.map +0 -1
  592. package/dist/types/linkedin-preview/post-preview.d.ts +0 -4
  593. package/dist/types/linkedin-preview/post-preview.d.ts.map +0 -1
  594. package/dist/types/linkedin-preview/previews.d.ts +0 -4
  595. package/dist/types/linkedin-preview/previews.d.ts.map +0 -1
  596. package/dist/types/linkedin-preview/types.d.ts +0 -9
  597. package/dist/types/linkedin-preview/types.d.ts.map +0 -1
  598. package/dist/types/mastodon-preview/constants.d.ts +0 -3
  599. package/dist/types/mastodon-preview/constants.d.ts.map +0 -1
  600. package/dist/types/mastodon-preview/helpers.d.ts +0 -11
  601. package/dist/types/mastodon-preview/helpers.d.ts.map +0 -1
  602. package/dist/types/mastodon-preview/index.d.ts +0 -4
  603. package/dist/types/mastodon-preview/index.d.ts.map +0 -1
  604. package/dist/types/mastodon-preview/link-preview.d.ts +0 -5
  605. package/dist/types/mastodon-preview/link-preview.d.ts.map +0 -1
  606. package/dist/types/mastodon-preview/post/actions/index.d.ts +0 -5
  607. package/dist/types/mastodon-preview/post/actions/index.d.ts.map +0 -1
  608. package/dist/types/mastodon-preview/post/body/index.d.ts +0 -9
  609. package/dist/types/mastodon-preview/post/body/index.d.ts.map +0 -1
  610. package/dist/types/mastodon-preview/post/card/index.d.ts +0 -6
  611. package/dist/types/mastodon-preview/post/card/index.d.ts.map +0 -1
  612. package/dist/types/mastodon-preview/post/header/index.d.ts +0 -7
  613. package/dist/types/mastodon-preview/post/header/index.d.ts.map +0 -1
  614. package/dist/types/mastodon-preview/post/icons/index.d.ts +0 -2
  615. package/dist/types/mastodon-preview/post/icons/index.d.ts.map +0 -1
  616. package/dist/types/mastodon-preview/post-preview.d.ts +0 -5
  617. package/dist/types/mastodon-preview/post-preview.d.ts.map +0 -1
  618. package/dist/types/mastodon-preview/previews.d.ts +0 -6
  619. package/dist/types/mastodon-preview/previews.d.ts.map +0 -1
  620. package/dist/types/mastodon-preview/types.d.ts +0 -17
  621. package/dist/types/mastodon-preview/types.d.ts.map +0 -1
  622. package/dist/types/nextdoor-preview/constants.d.ts +0 -3
  623. package/dist/types/nextdoor-preview/constants.d.ts.map +0 -1
  624. package/dist/types/nextdoor-preview/footer-actions.d.ts +0 -2
  625. package/dist/types/nextdoor-preview/footer-actions.d.ts.map +0 -1
  626. package/dist/types/nextdoor-preview/icons/chevron-icon.d.ts +0 -2
  627. package/dist/types/nextdoor-preview/icons/chevron-icon.d.ts.map +0 -1
  628. package/dist/types/nextdoor-preview/icons/comment-icon.d.ts +0 -2
  629. package/dist/types/nextdoor-preview/icons/comment-icon.d.ts.map +0 -1
  630. package/dist/types/nextdoor-preview/icons/default-avatar.d.ts +0 -3
  631. package/dist/types/nextdoor-preview/icons/default-avatar.d.ts.map +0 -1
  632. package/dist/types/nextdoor-preview/icons/default-image.d.ts +0 -2
  633. package/dist/types/nextdoor-preview/icons/default-image.d.ts.map +0 -1
  634. package/dist/types/nextdoor-preview/icons/globe-icon.d.ts +0 -2
  635. package/dist/types/nextdoor-preview/icons/globe-icon.d.ts.map +0 -1
  636. package/dist/types/nextdoor-preview/icons/like-icon.d.ts +0 -2
  637. package/dist/types/nextdoor-preview/icons/like-icon.d.ts.map +0 -1
  638. package/dist/types/nextdoor-preview/icons/share-icon.d.ts +0 -2
  639. package/dist/types/nextdoor-preview/icons/share-icon.d.ts.map +0 -1
  640. package/dist/types/nextdoor-preview/index.d.ts +0 -4
  641. package/dist/types/nextdoor-preview/index.d.ts.map +0 -1
  642. package/dist/types/nextdoor-preview/link-preview.d.ts +0 -6
  643. package/dist/types/nextdoor-preview/link-preview.d.ts.map +0 -1
  644. package/dist/types/nextdoor-preview/post-preview.d.ts +0 -4
  645. package/dist/types/nextdoor-preview/post-preview.d.ts.map +0 -1
  646. package/dist/types/nextdoor-preview/previews.d.ts +0 -4
  647. package/dist/types/nextdoor-preview/previews.d.ts.map +0 -1
  648. package/dist/types/nextdoor-preview/types.d.ts +0 -8
  649. package/dist/types/nextdoor-preview/types.d.ts.map +0 -1
  650. package/dist/types/shared/section-heading/index.d.ts +0 -10
  651. package/dist/types/shared/section-heading/index.d.ts.map +0 -1
  652. package/dist/types/threads-preview/card.d.ts +0 -4
  653. package/dist/types/threads-preview/card.d.ts.map +0 -1
  654. package/dist/types/threads-preview/footer.d.ts +0 -3
  655. package/dist/types/threads-preview/footer.d.ts.map +0 -1
  656. package/dist/types/threads-preview/header.d.ts +0 -4
  657. package/dist/types/threads-preview/header.d.ts.map +0 -1
  658. package/dist/types/threads-preview/helpers.d.ts +0 -4
  659. package/dist/types/threads-preview/helpers.d.ts.map +0 -1
  660. package/dist/types/threads-preview/icons/default-avatar.d.ts +0 -3
  661. package/dist/types/threads-preview/icons/default-avatar.d.ts.map +0 -1
  662. package/dist/types/threads-preview/index.d.ts +0 -4
  663. package/dist/types/threads-preview/index.d.ts.map +0 -1
  664. package/dist/types/threads-preview/link-preview.d.ts +0 -4
  665. package/dist/types/threads-preview/link-preview.d.ts.map +0 -1
  666. package/dist/types/threads-preview/media.d.ts +0 -4
  667. package/dist/types/threads-preview/media.d.ts.map +0 -1
  668. package/dist/types/threads-preview/post-preview.d.ts +0 -5
  669. package/dist/types/threads-preview/post-preview.d.ts.map +0 -1
  670. package/dist/types/threads-preview/previews.d.ts +0 -4
  671. package/dist/types/threads-preview/previews.d.ts.map +0 -1
  672. package/dist/types/threads-preview/sidebar.d.ts +0 -4
  673. package/dist/types/threads-preview/sidebar.d.ts.map +0 -1
  674. package/dist/types/threads-preview/types.d.ts +0 -18
  675. package/dist/types/threads-preview/types.d.ts.map +0 -1
  676. package/dist/types/tumblr-preview/helpers.d.ts +0 -4
  677. package/dist/types/tumblr-preview/helpers.d.ts.map +0 -1
  678. package/dist/types/tumblr-preview/index.d.ts +0 -4
  679. package/dist/types/tumblr-preview/index.d.ts.map +0 -1
  680. package/dist/types/tumblr-preview/link-preview.d.ts +0 -5
  681. package/dist/types/tumblr-preview/link-preview.d.ts.map +0 -1
  682. package/dist/types/tumblr-preview/post/actions/index.d.ts +0 -5
  683. package/dist/types/tumblr-preview/post/actions/index.d.ts.map +0 -1
  684. package/dist/types/tumblr-preview/post/header/index.d.ts +0 -7
  685. package/dist/types/tumblr-preview/post/header/index.d.ts.map +0 -1
  686. package/dist/types/tumblr-preview/post/icons/index.d.ts +0 -7
  687. package/dist/types/tumblr-preview/post/icons/index.d.ts.map +0 -1
  688. package/dist/types/tumblr-preview/post-preview.d.ts +0 -5
  689. package/dist/types/tumblr-preview/post-preview.d.ts.map +0 -1
  690. package/dist/types/tumblr-preview/previews.d.ts +0 -6
  691. package/dist/types/tumblr-preview/previews.d.ts.map +0 -1
  692. package/dist/types/tumblr-preview/types.d.ts +0 -10
  693. package/dist/types/tumblr-preview/types.d.ts.map +0 -1
  694. package/dist/types/twitter-preview/card.d.ts +0 -4
  695. package/dist/types/twitter-preview/card.d.ts.map +0 -1
  696. package/dist/types/twitter-preview/footer.d.ts +0 -3
  697. package/dist/types/twitter-preview/footer.d.ts.map +0 -1
  698. package/dist/types/twitter-preview/header.d.ts +0 -4
  699. package/dist/types/twitter-preview/header.d.ts.map +0 -1
  700. package/dist/types/twitter-preview/icons/default-avatar.d.ts +0 -3
  701. package/dist/types/twitter-preview/icons/default-avatar.d.ts.map +0 -1
  702. package/dist/types/twitter-preview/index.d.ts +0 -4
  703. package/dist/types/twitter-preview/index.d.ts.map +0 -1
  704. package/dist/types/twitter-preview/link-preview.d.ts +0 -4
  705. package/dist/types/twitter-preview/link-preview.d.ts.map +0 -1
  706. package/dist/types/twitter-preview/media.d.ts +0 -4
  707. package/dist/types/twitter-preview/media.d.ts.map +0 -1
  708. package/dist/types/twitter-preview/post-preview.d.ts +0 -5
  709. package/dist/types/twitter-preview/post-preview.d.ts.map +0 -1
  710. package/dist/types/twitter-preview/previews.d.ts +0 -4
  711. package/dist/types/twitter-preview/previews.d.ts.map +0 -1
  712. package/dist/types/twitter-preview/quote-tweet.d.ts +0 -4
  713. package/dist/types/twitter-preview/quote-tweet.d.ts.map +0 -1
  714. package/dist/types/twitter-preview/sidebar.d.ts +0 -4
  715. package/dist/types/twitter-preview/sidebar.d.ts.map +0 -1
  716. package/dist/types/twitter-preview/text.d.ts +0 -4
  717. package/dist/types/twitter-preview/text.d.ts.map +0 -1
  718. package/dist/types/twitter-preview/types.d.ts +0 -29
  719. package/dist/types/twitter-preview/types.d.ts.map +0 -1
  720. package/dist/types/types.d.ts +0 -56
  721. package/dist/types/types.d.ts.map +0 -1
  722. package/src/bluesky-preview/helpers.ts +0 -31
  723. package/src/bluesky-preview/index.tsx +0 -3
  724. package/src/bluesky-preview/link-preview.tsx +0 -6
  725. package/src/bluesky-preview/post/actions/index.tsx +0 -72
  726. package/src/bluesky-preview/post/actions/styles.scss +0 -20
  727. package/src/bluesky-preview/post/body/index.tsx +0 -29
  728. package/src/bluesky-preview/post/body/styles.scss +0 -12
  729. package/src/bluesky-preview/post/card/index.tsx +0 -26
  730. package/src/bluesky-preview/post/card/styles.scss +0 -70
  731. package/src/bluesky-preview/post/header/index.tsx +0 -34
  732. package/src/bluesky-preview/post/header/styles.scss +0 -33
  733. package/src/bluesky-preview/post/sidebar/index.tsx +0 -36
  734. package/src/bluesky-preview/post/sidebar/styles.scss +0 -6
  735. package/src/bluesky-preview/post-preview.tsx +0 -45
  736. package/src/bluesky-preview/previews.tsx +0 -56
  737. package/src/bluesky-preview/styles.scss +0 -65
  738. package/src/bluesky-preview/types.ts +0 -14
  739. package/src/bluesky-preview/variables.scss +0 -6
  740. package/src/constants.ts +0 -9
  741. package/src/facebook-preview/custom-text.tsx +0 -39
  742. package/src/facebook-preview/helpers.ts +0 -22
  743. package/src/facebook-preview/hooks/use-image-hook.ts +0 -41
  744. package/src/facebook-preview/index.tsx +0 -3
  745. package/src/facebook-preview/link-preview-details.tsx +0 -38
  746. package/src/facebook-preview/link-preview.tsx +0 -78
  747. package/src/facebook-preview/post/actions/index.tsx +0 -33
  748. package/src/facebook-preview/post/actions/styles.scss +0 -28
  749. package/src/facebook-preview/post/header/index.tsx +0 -67
  750. package/src/facebook-preview/post/header/styles.scss +0 -65
  751. package/src/facebook-preview/post/icons/index.tsx +0 -7
  752. package/src/facebook-preview/post/icons/styles.scss +0 -45
  753. package/src/facebook-preview/post-preview.tsx +0 -50
  754. package/src/facebook-preview/previews.tsx +0 -64
  755. package/src/facebook-preview/style.scss +0 -210
  756. package/src/facebook-preview/types.ts +0 -17
  757. package/src/facebook-preview/variables.scss +0 -12
  758. package/src/google-search-preview/index.tsx +0 -79
  759. package/src/google-search-preview/style.scss +0 -82
  760. package/src/helpers.tsx +0 -233
  761. package/src/index.ts +0 -12
  762. package/src/instagram-preview/constants.tsx +0 -2
  763. package/src/instagram-preview/icons/bookmark.tsx +0 -21
  764. package/src/instagram-preview/icons/comment.tsx +0 -20
  765. package/src/instagram-preview/icons/default-avatar.tsx +0 -10
  766. package/src/instagram-preview/icons/heart.tsx +0 -14
  767. package/src/instagram-preview/icons/menu.tsx +0 -24
  768. package/src/instagram-preview/icons/share.tsx +0 -30
  769. package/src/instagram-preview/index.tsx +0 -2
  770. package/src/instagram-preview/post-preview.tsx +0 -86
  771. package/src/instagram-preview/previews.tsx +0 -32
  772. package/src/instagram-preview/style.scss +0 -107
  773. package/src/instagram-preview/types.ts +0 -9
  774. package/src/linkedin-preview/constants.ts +0 -2
  775. package/src/linkedin-preview/icons/default-avatar.tsx +0 -16
  776. package/src/linkedin-preview/index.tsx +0 -3
  777. package/src/linkedin-preview/link-preview.tsx +0 -22
  778. package/src/linkedin-preview/post-preview.tsx +0 -117
  779. package/src/linkedin-preview/previews.tsx +0 -53
  780. package/src/linkedin-preview/style.scss +0 -132
  781. package/src/linkedin-preview/types.ts +0 -10
  782. package/src/mastodon-preview/constants.ts +0 -4
  783. package/src/mastodon-preview/helpers.ts +0 -45
  784. package/src/mastodon-preview/index.tsx +0 -3
  785. package/src/mastodon-preview/link-preview.tsx +0 -20
  786. package/src/mastodon-preview/post/actions/index.tsx +0 -65
  787. package/src/mastodon-preview/post/actions/styles.scss +0 -25
  788. package/src/mastodon-preview/post/body/index.tsx +0 -51
  789. package/src/mastodon-preview/post/body/styles.scss +0 -12
  790. package/src/mastodon-preview/post/card/index.tsx +0 -50
  791. package/src/mastodon-preview/post/card/styles.scss +0 -76
  792. package/src/mastodon-preview/post/header/index.tsx +0 -37
  793. package/src/mastodon-preview/post/header/styles.scss +0 -37
  794. package/src/mastodon-preview/post/icons/index.tsx +0 -13
  795. package/src/mastodon-preview/post-preview.tsx +0 -41
  796. package/src/mastodon-preview/previews.tsx +0 -56
  797. package/src/mastodon-preview/styles.scss +0 -73
  798. package/src/mastodon-preview/types.ts +0 -19
  799. package/src/mastodon-preview/variables.scss +0 -7
  800. package/src/nextdoor-preview/constants.ts +0 -2
  801. package/src/nextdoor-preview/footer-actions.tsx +0 -23
  802. package/src/nextdoor-preview/icons/chevron-icon.tsx +0 -11
  803. package/src/nextdoor-preview/icons/comment-icon.tsx +0 -12
  804. package/src/nextdoor-preview/icons/default-avatar.tsx +0 -3
  805. package/src/nextdoor-preview/icons/default-image.tsx +0 -23
  806. package/src/nextdoor-preview/icons/globe-icon.tsx +0 -12
  807. package/src/nextdoor-preview/icons/like-icon.tsx +0 -12
  808. package/src/nextdoor-preview/icons/share-icon.tsx +0 -12
  809. package/src/nextdoor-preview/index.tsx +0 -3
  810. package/src/nextdoor-preview/link-preview.tsx +0 -22
  811. package/src/nextdoor-preview/post-preview.tsx +0 -117
  812. package/src/nextdoor-preview/previews.tsx +0 -53
  813. package/src/nextdoor-preview/style.scss +0 -211
  814. package/src/nextdoor-preview/types.ts +0 -9
  815. package/src/shared/section-heading/index.tsx +0 -21
  816. package/src/shared.scss +0 -40
  817. package/src/threads-preview/card.tsx +0 -22
  818. package/src/threads-preview/footer.tsx +0 -43
  819. package/src/threads-preview/header.tsx +0 -18
  820. package/src/threads-preview/helpers.ts +0 -11
  821. package/src/threads-preview/icons/default-avatar.tsx +0 -35
  822. package/src/threads-preview/index.tsx +0 -3
  823. package/src/threads-preview/link-preview.tsx +0 -13
  824. package/src/threads-preview/media.tsx +0 -61
  825. package/src/threads-preview/post-preview.tsx +0 -50
  826. package/src/threads-preview/previews.tsx +0 -77
  827. package/src/threads-preview/sidebar.tsx +0 -18
  828. package/src/threads-preview/style.scss +0 -203
  829. package/src/threads-preview/types.ts +0 -23
  830. package/src/threads-preview/variables.scss +0 -5
  831. package/src/tumblr-preview/helpers.ts +0 -16
  832. package/src/tumblr-preview/index.tsx +0 -3
  833. package/src/tumblr-preview/link-preview.tsx +0 -52
  834. package/src/tumblr-preview/post/actions/index.tsx +0 -71
  835. package/src/tumblr-preview/post/actions/styles.scss +0 -47
  836. package/src/tumblr-preview/post/header/index.tsx +0 -20
  837. package/src/tumblr-preview/post/header/styles.scss +0 -16
  838. package/src/tumblr-preview/post/icons/index.tsx +0 -73
  839. package/src/tumblr-preview/post/icons/styles.scss +0 -56
  840. package/src/tumblr-preview/post-preview.tsx +0 -61
  841. package/src/tumblr-preview/previews.tsx +0 -58
  842. package/src/tumblr-preview/styles.scss +0 -148
  843. package/src/tumblr-preview/types.ts +0 -11
  844. package/src/tumblr-preview/variables.scss +0 -12
  845. package/src/twitter-preview/card.tsx +0 -37
  846. package/src/twitter-preview/footer.tsx +0 -31
  847. package/src/twitter-preview/header.tsx +0 -16
  848. package/src/twitter-preview/icons/default-avatar.tsx +0 -17
  849. package/src/twitter-preview/index.tsx +0 -3
  850. package/src/twitter-preview/link-preview.tsx +0 -13
  851. package/src/twitter-preview/media.tsx +0 -61
  852. package/src/twitter-preview/post-preview.tsx +0 -54
  853. package/src/twitter-preview/previews.tsx +0 -66
  854. package/src/twitter-preview/quote-tweet.tsx +0 -19
  855. package/src/twitter-preview/sidebar.tsx +0 -18
  856. package/src/twitter-preview/style.scss +0 -249
  857. package/src/twitter-preview/text.tsx +0 -19
  858. package/src/twitter-preview/types.ts +0 -38
  859. package/src/types.ts +0 -67
  860. package/src/variables.scss +0 -14
package/dist/index.js ADDED
@@ -0,0 +1,2435 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/helpers.tsx
2
+ var _element = require('@wordpress/element');
3
+ var _i18n = require('@wordpress/i18n');
4
+ var _jsxruntime = require('react/jsx-runtime');
5
+ var baseDomain = (url) => {
6
+ const withoutProtocol = url.replace(/^[^/]+:\/\//, "");
7
+ const slashIndex = withoutProtocol.indexOf("/");
8
+ return slashIndex === -1 ? withoutProtocol : withoutProtocol.substring(0, slashIndex);
9
+ };
10
+ var shortEnough = (limit) => (title) => title.length <= limit ? title : false;
11
+ var truncatedAtSpace = (lower, upper) => (fullTitle) => {
12
+ const title = fullTitle.slice(0, upper);
13
+ const lastSpace = title.lastIndexOf(" ");
14
+ return lastSpace > lower && lastSpace < upper ? title.slice(0, lastSpace).concat("\u2026") : false;
15
+ };
16
+ var hardTruncation = (limit) => (title) => title.slice(0, limit).concat("\u2026");
17
+ var firstValid = (...predicates) => (a) => _optionalChain([predicates, 'access', _ => _.find, 'call', _2 => _2((p) => false !== p(a)), 'optionalCall', _3 => _3(a)]);
18
+ var stripHtmlTags = (description, allowedTags = []) => {
19
+ const pattern = new RegExp(`(<([^${allowedTags.join("")}>]+)>)`, "gi");
20
+ return description ? description.replace(pattern, "") : "";
21
+ };
22
+ var getTitleFromDescription = (description) => {
23
+ return stripHtmlTags(description).substring(0, 50);
24
+ };
25
+ var hasTag = (text, tag) => {
26
+ const pattern = new RegExp(`<${tag}[^>]*>`, "gi");
27
+ return pattern.test(text);
28
+ };
29
+ var formatNextdoorDate = new Intl.DateTimeFormat("en-GB", {
30
+ // Result: "7 Oct", "31 Dec"
31
+ day: "numeric",
32
+ month: "short"
33
+ }).format;
34
+ var formatThreadsDate = new Intl.DateTimeFormat("en-US", {
35
+ // Result: "'06/21/2024"
36
+ day: "2-digit",
37
+ month: "2-digit",
38
+ year: "numeric"
39
+ }).format;
40
+ var formatTweetDate = new Intl.DateTimeFormat("en-US", {
41
+ // Result: "Apr 7", "Dec 31"
42
+ month: "short",
43
+ day: "numeric"
44
+ }).format;
45
+ var formatMastodonDate = new Intl.DateTimeFormat("en-US", {
46
+ // Result: "Apr 7, 2024", "Dec 31, 2023"
47
+ month: "short",
48
+ day: "numeric",
49
+ year: "numeric"
50
+ }).format;
51
+ var hashtagUrlMap = {
52
+ twitter: "https://twitter.com/hashtag/%1$s",
53
+ facebook: "https://www.facebook.com/hashtag/%1$s",
54
+ linkedin: "https://www.linkedin.com/feed/hashtag/?keywords=%1$s",
55
+ instagram: "https://www.instagram.com/explore/tags/%1$s",
56
+ mastodon: "https://%2$s/tags/%1$s",
57
+ nextdoor: "https://nextdoor.com/hashtag/%1$s",
58
+ threads: "https://www.threads.net/search?q=%1$s&serp_type=tags",
59
+ tumblr: "https://www.tumblr.com/tagged/%1$s",
60
+ bluesky: "https://bsky.app/hashtag/%1$s"
61
+ };
62
+ function preparePreviewText(text, options) {
63
+ const {
64
+ platform,
65
+ maxChars,
66
+ maxLines,
67
+ hyperlinkHashtags = true,
68
+ // Instagram doesn't support hyperlink URLs at the moment.
69
+ hyperlinkUrls = "instagram" !== platform
70
+ } = options;
71
+ let result = stripHtmlTags(text);
72
+ result = result.replaceAll(/(?:\s*[\n\r]){2,}/g, "\n\n");
73
+ if (maxChars && result.length > maxChars) {
74
+ result = hardTruncation(maxChars)(result);
75
+ }
76
+ if (maxLines) {
77
+ const lines = result.split("\n");
78
+ if (lines.length > maxLines) {
79
+ result = lines.slice(0, maxLines).join("\n");
80
+ }
81
+ }
82
+ const componentMap = {};
83
+ if (hyperlinkUrls) {
84
+ const urls = result.match(/(https?:\/\/\S+)/g) || [];
85
+ urls.forEach((url, index) => {
86
+ componentMap[`Link${index}`] = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: url, rel: "noopener noreferrer", target: "_blank", children: url });
87
+ result = result.replace(url, `<Link${index} />`);
88
+ });
89
+ }
90
+ if (hyperlinkHashtags && hashtagUrlMap[platform]) {
91
+ const hashtags = result.matchAll(/(^|\s)#(\w+)/g);
92
+ const hashtagUrl = hashtagUrlMap[platform];
93
+ [...hashtags].forEach(([fullMatch, whitespace, hashtag], index) => {
94
+ const url = _i18n.sprintf.call(void 0, hashtagUrl, hashtag, options.hashtagDomain);
95
+ componentMap[`Hashtag${index}`] = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: url, rel: "noopener noreferrer", target: "_blank", children: `#${hashtag}` });
96
+ result = result.replace(fullMatch, `${whitespace}<Hashtag${index} />`);
97
+ });
98
+ }
99
+ result = result.replace(/\n/g, "<br />");
100
+ componentMap.br = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "br", {});
101
+ return _element.createInterpolateElement.call(void 0, result, componentMap);
102
+ }
103
+
104
+ // src/google-search-preview/index.tsx
105
+
106
+ var URL_LENGTH = 68;
107
+ var TITLE_LENGTH = 63;
108
+ var DESCRIPTION_LENGTH = 160;
109
+ var googleUrl = (url) => {
110
+ const protocol = url.startsWith("https://") ? "https://" : "http://";
111
+ const breadcrumb = protocol + url.replace(protocol, "").split("/").join(" \u203A ");
112
+ const truncateBreadcrumb = firstValid(shortEnough(URL_LENGTH), hardTruncation(URL_LENGTH));
113
+ return truncateBreadcrumb(breadcrumb);
114
+ };
115
+ var googleTitle = firstValid(
116
+ shortEnough(TITLE_LENGTH),
117
+ truncatedAtSpace(TITLE_LENGTH - 40, TITLE_LENGTH + 10),
118
+ hardTruncation(TITLE_LENGTH)
119
+ );
120
+ var googleDescription = firstValid(
121
+ shortEnough(DESCRIPTION_LENGTH),
122
+ truncatedAtSpace(DESCRIPTION_LENGTH - 80, DESCRIPTION_LENGTH + 10),
123
+ hardTruncation(DESCRIPTION_LENGTH)
124
+ );
125
+ var GoogleSearchPreview = ({
126
+ description = "",
127
+ siteTitle,
128
+ title = "",
129
+ url = ""
130
+ }) => {
131
+ const domain = baseDomain(url);
132
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "search-preview", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "search-preview__display", children: [
133
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "search-preview__header", children: [
134
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "search-preview__branding", children: [
135
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
136
+ "img",
137
+ {
138
+ className: "search-preview__icon",
139
+ src: `https://www.google.com/s2/favicons?sz=128&domain_url=${domain}`,
140
+ alt: ""
141
+ }
142
+ ),
143
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "search-preview__site", children: [
144
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "search-preview__site--title", children: siteTitle || domain }),
145
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "search-preview__url", children: googleUrl(url) })
146
+ ] })
147
+ ] }),
148
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "search-preview__menu", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { focusable: "false", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }) }) })
149
+ ] }),
150
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "search-preview__title", children: googleTitle(title) }),
151
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "search-preview__description", children: googleDescription(stripHtmlTags(description)) })
152
+ ] }) });
153
+ };
154
+
155
+ // src/twitter-preview/card.tsx
156
+ var _clsx = require('clsx'); var _clsx2 = _interopRequireDefault(_clsx);
157
+
158
+ var DESCRIPTION_LENGTH2 = 200;
159
+ var twitterDescription = firstValid(
160
+ shortEnough(DESCRIPTION_LENGTH2),
161
+ hardTruncation(DESCRIPTION_LENGTH2)
162
+ );
163
+ var Card = ({
164
+ description,
165
+ image,
166
+ title,
167
+ cardType,
168
+ url
169
+ }) => {
170
+ const cardClassNames = _clsx2.default.call(void 0, `twitter-preview__card-${cardType}`, {
171
+ "twitter-preview__card-has-image": !!image
172
+ });
173
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__card", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: cardClassNames, children: [
174
+ image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "twitter-preview__card-image", src: image, alt: "" }),
175
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__card-body", children: [
176
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__card-url", children: baseDomain(url || "") }),
177
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__card-title", children: title }),
178
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__card-description", children: twitterDescription(stripHtmlTags(description)) })
179
+ ] })
180
+ ] }) });
181
+ };
182
+
183
+ // src/twitter-preview/footer.tsx
184
+
185
+ var Footer = () => {
186
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__footer", children: [
187
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__icon-replies", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M1.751 10c0-4.42 3.584-8 8.005-8h4.366c4.49 0 8.129 3.64 8.129 8.13 0 2.96-1.607 5.68-4.196 7.11l-8.054 4.46v-3.69h-.067c-4.49.1-8.183-3.51-8.183-8.01zm8.005-6c-3.317 0-6.005 2.69-6.005 6 0 3.37 2.77 6.08 6.138 6.01l.351-.01h1.761v2.3l5.087-2.81c1.951-1.08 3.163-3.13 3.163-5.36 0-3.39-2.744-6.13-6.129-6.13H9.756z" }) }) }),
188
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__icon-retweets", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M4.5 3.88l4.432 4.14-1.364 1.46L5.5 7.55V16c0 1.1.896 2 2 2H13v2H7.5c-2.209 0-4-1.79-4-4V7.55L1.432 9.48.068 8.02 4.5 3.88zM16.5 6H11V4h5.5c2.209 0 4 1.79 4 4v8.45l2.068-1.93 1.364 1.46-4.432 4.14-4.432-4.14 1.364-1.46 2.068 1.93V8c0-1.1-.896-2-2-2z" }) }) }),
189
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__icon-likes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M16.697 5.5c-1.222-.06-2.679.51-3.89 2.16l-.805 1.09-.806-1.09C9.984 6.01 8.526 5.44 7.304 5.5c-1.243.07-2.349.78-2.91 1.91-.552 1.12-.633 2.78.479 4.82 1.074 1.97 3.257 4.27 7.129 6.61 3.87-2.34 6.052-4.64 7.126-6.61 1.111-2.04 1.03-3.7.477-4.82-.561-1.13-1.666-1.84-2.908-1.91zm4.187 7.69c-1.351 2.48-4.001 5.12-8.379 7.67l-.503.3-.504-.3c-4.379-2.55-7.029-5.19-8.382-7.67-1.36-2.5-1.41-4.86-.514-6.67.887-1.79 2.647-2.91 4.601-3.01 1.651-.09 3.368.56 4.798 2.01 1.429-1.45 3.146-2.1 4.796-2.01 1.954.1 3.714 1.22 4.601 3.01.896 1.81.846 4.17-.514 6.67z" }) }) }),
190
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__icon-analytics", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M8.75 21V3h2v18h-2zM18 21V8.5h2V21h-2zM4 21l.004-10h2L6 21H4zm9.248 0v-7h2v7h-2z" }) }) }),
191
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__icon-share", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M12 2.59l5.7 5.7-1.41 1.42L13 6.41V16h-2V6.41l-3.3 3.3-1.41-1.42L12 2.59zM21 15l-.02 3.51c0 1.38-1.12 2.49-2.5 2.49H5.5C4.11 21 3 19.88 3 18.5V15h2v3.5c0 .28.22.5.5.5h12.98c.28 0 .5-.22.5-.5L19 15h2z" }) }) })
192
+ ] });
193
+ };
194
+
195
+ // src/twitter-preview/header.tsx
196
+
197
+
198
+ var Header = ({ name, screenName, date }) => {
199
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__header", children: [
200
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__name", children: name || _i18n.__.call(void 0, "Account Name", "social-previews") }),
201
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__screen-name", children: screenName || "@account" }),
202
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\xB7" }),
203
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "twitter-preview__date", children: formatTweetDate(date || Date.now()) })
204
+ ] });
205
+ };
206
+
207
+ // src/twitter-preview/media.tsx
208
+
209
+ var _react = require('react');
210
+
211
+ var Media = ({ media }) => {
212
+ const filteredMedia = media.filter(
213
+ (mediaItem) => mediaItem.type.startsWith("image/") || mediaItem.type.startsWith("video/")
214
+ ).filter((mediaItem, idx, array) => {
215
+ if (0 === idx) {
216
+ return true;
217
+ }
218
+ if (array[0].type.startsWith("video/") || "image/gif" === array[0].type) {
219
+ return false;
220
+ }
221
+ if (mediaItem.type.startsWith("video/") || "image/gif" === mediaItem.type) {
222
+ return false;
223
+ }
224
+ return true;
225
+ }).slice(0, 4);
226
+ if (0 === filteredMedia.length) {
227
+ return null;
228
+ }
229
+ const isVideo = filteredMedia[0].type.startsWith("video/");
230
+ const mediaClasses = _clsx2.default.call(void 0, [
231
+ "twitter-preview__media",
232
+ "twitter-preview__media-children-" + filteredMedia.length
233
+ ]);
234
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: mediaClasses, children: filteredMedia.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: isVideo ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: mediaItem.alt || "", src: mediaItem.url }) }, `twitter-preview__media-item-${index}`)) });
235
+ };
236
+
237
+ // src/twitter-preview/quote-tweet.tsx
238
+ var _components = require('@wordpress/components');
239
+
240
+ var QuoteTweet = ({ tweetUrl }) => {
241
+ if (!tweetUrl) {
242
+ return null;
243
+ }
244
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__quote-tweet", children: [
245
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
246
+ _components.SandBox,
247
+ {
248
+ html: `<blockquote class="twitter-tweet" data-conversation="none" data-dnt="true"><a href="${tweetUrl}"></a></blockquote>`,
249
+ scripts: ["https://platform.twitter.com/widgets.js"],
250
+ title: "Embedded tweet"
251
+ }
252
+ ),
253
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__quote-tweet-overlay" })
254
+ ] });
255
+ };
256
+
257
+ // src/twitter-preview/sidebar.tsx
258
+
259
+
260
+ // src/twitter-preview/icons/default-avatar.tsx
261
+
262
+ var DefaultAvatar = () => {
263
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
264
+ "svg",
265
+ {
266
+ version: "1.0",
267
+ xmlns: "http://www.w3.org/2000/svg",
268
+ width: "271pt",
269
+ height: "270pt",
270
+ viewBox: "0 0 271 270",
271
+ children: [
272
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "100%", height: "100%", fill: "#ccd5de" }),
273
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "g", { transform: "translate(0,270) scale(0.1,-0.1)", fill: "#647785", stroke: "none", children: [
274
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M1251 2089 c-81 -14 -178 -65 -239 -125 -64 -65 -124 -185 -149 -299 -24 -111 -24 -339 -1 -415 38 -121 108 -193 227 -231 83 -27 339 -38 449 -19 139 23 236 91 286 200 59 130 52 395 -15 577 -88 235 -301 354 -558 312z" }),
275
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M1197 795 c-358 -68 -643 -357 -721 -732 l-14 -63 890 0 890 0 -7 42 c-11 70 -64 218 -102 288 -121 224 -336 394 -573 454 -92 24 -267 29 -363 11z" })
276
+ ] })
277
+ ]
278
+ }
279
+ );
280
+ };
281
+
282
+ // src/twitter-preview/sidebar.tsx
283
+
284
+ var Sidebar = ({ profileImage, showThreadConnector }) => {
285
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__sidebar", children: [
286
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__profile-image", children: profileImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: _i18n.__.call(void 0, "Twitter profile image", "social-previews"), src: profileImage }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultAvatar, {}) }),
287
+ showThreadConnector && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__connector" })
288
+ ] });
289
+ };
290
+
291
+ // src/twitter-preview/text.tsx
292
+
293
+ var Text = ({ text, url, retainUrl }) => {
294
+ if (!text) {
295
+ return null;
296
+ }
297
+ const tweetText = url && !retainUrl && text.endsWith(url) ? text.substring(0, text.lastIndexOf(url)) : text;
298
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__text", children: preparePreviewText(tweetText, { platform: "twitter" }) });
299
+ };
300
+
301
+ // src/twitter-preview/post-preview.tsx
302
+
303
+ var TwitterPostPreview = ({
304
+ date,
305
+ description,
306
+ image,
307
+ media,
308
+ name,
309
+ profileImage,
310
+ screenName,
311
+ showThreadConnector,
312
+ text,
313
+ title,
314
+ tweetUrl,
315
+ cardType,
316
+ url
317
+ }) => {
318
+ const hasMedia = !!_optionalChain([media, 'optionalAccess', _4 => _4.length]);
319
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "twitter-preview__wrapper", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__container", children: [
320
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Sidebar, { profileImage, showThreadConnector }),
321
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__main", children: [
322
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Header, { name, screenName, date }),
323
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "twitter-preview__content", children: [
324
+ text ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Text, { text, url: url || "", retainUrl: hasMedia }) : null,
325
+ hasMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Media, { media }) : null,
326
+ tweetUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, QuoteTweet, { tweetUrl }) : null,
327
+ !hasMedia && url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
328
+ Card,
329
+ {
330
+ description: description || "",
331
+ image,
332
+ title: title || "",
333
+ cardType: cardType || "",
334
+ url
335
+ }
336
+ )
337
+ ] }),
338
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Footer, {})
339
+ ] })
340
+ ] }) });
341
+ };
342
+
343
+ // src/twitter-preview/link-preview.tsx
344
+
345
+ var TwitterLinkPreview = (props) => {
346
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
347
+ TwitterPostPreview,
348
+ {
349
+ ...props,
350
+ text: "",
351
+ media: void 0
352
+ }
353
+ );
354
+ };
355
+
356
+ // src/twitter-preview/previews.tsx
357
+
358
+
359
+ // src/shared/section-heading/index.tsx
360
+
361
+ var HEADING_LEVELS = [2, 3, 4, 5, 6];
362
+ var SectionHeading = ({
363
+ className,
364
+ level,
365
+ children
366
+ }) => {
367
+ const Tag = `h${level && HEADING_LEVELS.includes(level) ? level : 3}`;
368
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { className: `social-preview__section-heading ${_nullishCoalesce(className, () => ( ""))}`, children });
369
+ };
370
+ var section_heading_default = SectionHeading;
371
+
372
+ // src/twitter-preview/previews.tsx
373
+
374
+ var TwitterPreviews = ({
375
+ headingLevel,
376
+ hideLinkPreview,
377
+ hidePostPreview,
378
+ tweets
379
+ }) => {
380
+ if (!_optionalChain([tweets, 'optionalAccess', _5 => _5.length])) {
381
+ return null;
382
+ }
383
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview twitter-preview", children: [
384
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section twitter-preview__section", children: [
385
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
386
+ level: headingLevel,
387
+ // translators: refers to a social post on Twitter
388
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
389
+ }),
390
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on X:", "social-previews") }),
391
+ tweets.map((tweet, index) => {
392
+ const isLast = index + 1 === tweets.length;
393
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
394
+ TwitterPostPreview,
395
+ {
396
+ ...tweet,
397
+ showThreadConnector: !isLast
398
+ },
399
+ `twitter-preview__tweet-${index}`
400
+ );
401
+ })
402
+ ] }),
403
+ !hideLinkPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section twitter-preview__section", children: [
404
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
405
+ level: headingLevel,
406
+ // translators: refers to a link to a Twitter post
407
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
408
+ }),
409
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
410
+ "This is what it will look like when someone shares the link to your WordPress post on X.",
411
+ "social-previews"
412
+ ) }),
413
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TwitterLinkPreview, { ...tweets[0], name: "", profileImage: "", screenName: "" })
414
+ ] })
415
+ ] });
416
+ };
417
+
418
+ // src/linkedin-preview/post-preview.tsx
419
+
420
+
421
+ // src/linkedin-preview/constants.ts
422
+ var FEED_TEXT_MAX_LENGTH = 550;
423
+
424
+ // src/linkedin-preview/icons/default-avatar.tsx
425
+
426
+ var DefaultAvatar2 = () => {
427
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 128 128", width: "128", height: "128", children: [
428
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { fill: "#e7e2dc", d: "M0 0h128v128H0z" }),
429
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M88.41 84.67a32 32 0 10-48.82 0 66.13 66.13 0 0148.82 0z", fill: "#788fa5" }),
430
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
431
+ "path",
432
+ {
433
+ d: "M88.41 84.67a32 32 0 01-48.82 0A66.79 66.79 0 000 128h128a66.79 66.79 0 00-39.59-43.33z",
434
+ fill: "#9db3c8"
435
+ }
436
+ ),
437
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
438
+ "path",
439
+ {
440
+ d: "M64 96a31.93 31.93 0 0024.41-11.33 66.13 66.13 0 00-48.82 0A31.93 31.93 0 0064 96z",
441
+ fill: "#56687a"
442
+ }
443
+ )
444
+ ] });
445
+ };
446
+
447
+ // src/linkedin-preview/post-preview.tsx
448
+
449
+ function LinkedInPostPreview({
450
+ articleReadTime = 5,
451
+ image,
452
+ jobTitle,
453
+ name,
454
+ profileImage,
455
+ description,
456
+ media,
457
+ title,
458
+ url
459
+ }) {
460
+ const hasMedia = !!_optionalChain([media, 'optionalAccess', _6 => _6.length]);
461
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "linkedin-preview__wrapper", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: `linkedin-preview__container ${hasMedia ? "has-media" : ""}`, children: [
462
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__header", children: [
463
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "linkedin-preview__header--avatar", children: profileImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: profileImage, alt: "" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultAvatar2, {}) }),
464
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__header--profile", children: [
465
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__header--profile-info", children: [
466
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "linkedin-preview__header--profile-name", children: name || _i18n.__.call(void 0, "Account Name", "social-previews") }),
467
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
468
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
469
+ className: "linkedin-preview__header--profile-actor",
470
+ // translators: refers to the actor level of the post being shared, e.g. "1st", "2nd", "3rd", etc.
471
+ children: _i18n.__.call(void 0, "1st", "social-previews")
472
+ })
473
+ ] }),
474
+ jobTitle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "linkedin-preview__header--profile-title", children: jobTitle }) : null,
475
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__header--profile-meta", children: [
476
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", {
477
+ // translators: refers to the time since the post was published, e.g. "1h"
478
+ children: _i18n.__.call(void 0, "1h", "social-previews")
479
+ }),
480
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
481
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 16 16", fill: "currentColor", width: "16", height: "16", focusable: "false", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M8 1a7 7 0 107 7 7 7 0 00-7-7zM3 8a5 5 0 011-3l.55.55A1.5 1.5 0 015 6.62v1.07a.75.75 0 00.22.53l.56.56a.75.75 0 00.53.22H7v.69a.75.75 0 00.22.53l.56.56a.75.75 0 01.22.53V13a5 5 0 01-5-5zm6.24 4.83l2-2.46a.75.75 0 00.09-.8l-.58-1.16A.76.76 0 0010 8H7v-.19a.51.51 0 01.28-.45l.38-.19a.74.74 0 01.68 0L9 7.5l.38-.7a1 1 0 00.12-.48v-.85a.78.78 0 01.21-.53l1.07-1.09a5 5 0 01-1.54 9z" }) })
482
+ ] })
483
+ ] })
484
+ ] }),
485
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__content", children: [
486
+ description ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__caption", children: [
487
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: preparePreviewText(description, {
488
+ platform: "linkedin",
489
+ maxChars: FEED_TEXT_MAX_LENGTH
490
+ }) }),
491
+ hasMedia && url && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
492
+ " - ",
493
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: url, rel: "nofollow noopener noreferrer", target: "_blank", children: url })
494
+ ] })
495
+ ] }) : null,
496
+ hasMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "linkedin-preview__media", children: media.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
497
+ "div",
498
+ {
499
+ className: "linkedin-preview__media-item",
500
+ children: mediaItem.type.startsWith("video/") ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: mediaItem.alt || "", src: mediaItem.url })
501
+ },
502
+ `linkedin-preview__media-item-${index}`
503
+ )) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { children: [
504
+ image ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "linkedin-preview__image", src: image, alt: "" }) : null,
505
+ url ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__description", children: [
506
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "linkedin-preview__description--title", children: title || getTitleFromDescription(description) }),
507
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "linkedin-preview__description--meta", children: [
508
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "linkedin-preview__description--url", children: baseDomain(url) }),
509
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
510
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _i18n.sprintf.call(void 0,
511
+ // translators: %d is the number of minutes it takes to read the article
512
+ _i18n.__.call(void 0, "%d min read", "social-previews"),
513
+ articleReadTime
514
+ ) })
515
+ ] })
516
+ ] }) : null
517
+ ] })
518
+ ] })
519
+ ] }) });
520
+ }
521
+
522
+ // src/linkedin-preview/link-preview.tsx
523
+
524
+ function LinkedInLinkPreview(props) {
525
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
526
+ LinkedInPostPreview,
527
+ {
528
+ name: "",
529
+ profileImage: "",
530
+ ...props,
531
+ description: "",
532
+ media: void 0,
533
+ title: props.title || getTitleFromDescription(props.description)
534
+ }
535
+ );
536
+ }
537
+
538
+ // src/linkedin-preview/previews.tsx
539
+
540
+
541
+ var LinkedInPreviews = ({
542
+ headingLevel,
543
+ hideLinkPreview,
544
+ hidePostPreview,
545
+ ...props
546
+ }) => {
547
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview linkedin-preview", children: [
548
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section linkedin-preview__section", children: [
549
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
550
+ level: headingLevel,
551
+ // translators: refers to a social post on LinkedIn
552
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
553
+ }),
554
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on LinkedIn:", "social-previews") }),
555
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LinkedInPostPreview, { ...props })
556
+ ] }),
557
+ !hideLinkPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section linkedin-preview__section", children: [
558
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
559
+ level: headingLevel,
560
+ // translators: refers to a link to a LinkedIn post
561
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
562
+ }),
563
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
564
+ "This is what it will look like when someone shares the link to your WordPress post on LinkedIn.",
565
+ "social-previews"
566
+ ) }),
567
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LinkedInLinkPreview, { ...props, name: "", profileImage: "" })
568
+ ] })
569
+ ] });
570
+ };
571
+
572
+ // src/tumblr-preview/link-preview.tsx
573
+
574
+
575
+ // src/tumblr-preview/helpers.ts
576
+ var TITLE_LENGTH2 = 1e3;
577
+ var DESCRIPTION_LENGTH3 = 400;
578
+ var tumblrTitle = (text) => firstValid(
579
+ shortEnough(TITLE_LENGTH2),
580
+ hardTruncation(TITLE_LENGTH2)
581
+ )(stripHtmlTags(text)) || "";
582
+ var tumblrDescription = (text) => {
583
+ let processedText = text;
584
+ let startIndex = processedText.indexOf("<!--");
585
+ while (startIndex !== -1) {
586
+ const endIndex = processedText.indexOf("-->", startIndex);
587
+ if (endIndex === -1) {
588
+ processedText = processedText.substring(0, startIndex);
589
+ break;
590
+ }
591
+ processedText = processedText.substring(0, startIndex) + processedText.substring(endIndex + 3);
592
+ startIndex = processedText.indexOf("<!--");
593
+ }
594
+ processedText = processedText.replace(/<\/p>/g, "</p>\n\n");
595
+ return firstValid(
596
+ shortEnough(DESCRIPTION_LENGTH3),
597
+ hardTruncation(DESCRIPTION_LENGTH3)
598
+ )(stripHtmlTags(processedText)) || "";
599
+ };
600
+
601
+ // src/tumblr-preview/post/actions/index.tsx
602
+
603
+
604
+ // src/tumblr-preview/post/icons/index.tsx
605
+
606
+ var TumblrPostIcon = ({ name }) => {
607
+ let svg;
608
+ switch (name) {
609
+ case "blaze":
610
+ svg = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 25 22", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "m7.5059-0.24414c-0.79843 0.057223-1.2169 0.88587-1.1635 1.6128-0.2266 2.0449-1.4898 3.8696-3.1975 4.9778-3.0182 2.414-4.2201 6.8066-2.8033 10.411 0.92417 2.4679 2.9589 4.5674 5.4768 5.3928 0.95914 0.16102 1.7233-0.94358 1.3074-1.8059-0.11578-0.51062-0.17482-0.96516-0.17845-1.487 1.0413 1.5607 2.5484 2.8986 4.341 3.4975 1.0396-0.0154 1.98-0.64458 2.8516-1.1608 3.3821-2.1786 4.9604-6.7097 3.6597-10.518-0.49144-1.4599-1.2948-2.8935-2.5028-3.8698-0.7512-0.45498-1.661 0.09677-1.9202 0.86038-0.12274 0.16822-0.70352 1.1955-0.6191 0.61976 0.25488-3.4397-1.6789-7.0066-4.8123-8.4958-0.14322-0.037843-0.292-0.049464-0.43945-0.035156zm1.0586 3.5605c1.8947 2.0016 2.2326 5.1984 0.89062 7.5879-0.38498 0.96148 0.71762 2.0063 1.6567 1.5681 1.4159-0.4624 2.6998-1.3259 3.6577-2.4665 1.6442 2.5888 1.1465 6.2819-1.0629 8.3379-0.62378 0.60782-1.3666 1.0945-2.1754 1.4179-1.9543-0.989-3.3534-3.0966-3.5625-5.3125-0.25636-1.0253-1.81-1.2013-2.2852-0.25781-0.75058 1.3054-1.1846 2.7948-1.2305 4.3008-2.2396-1.9852-2.8468-5.4435-1.4609-8.0527 0.58926-1.239 1.651-2.13 2.724-2.9329 1.2958-1.1271 2.2791-2.62 2.7682-4.2683l0.071578 0.069832z" }) });
611
+ break;
612
+ case "delete":
613
+ svg = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { viewBox: "0 0 14 17", children: [
614
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M12 5v9c.1.7-.3 1-1 1H3c-.5 0-.9-.3-1-1V5c0-.6-.4-1-1-1-.5 0-1 .4-1 1v9.5C0 16.1 1.4 17 3 17h8c1.8 0 3-.8 3-2.5V5c0-.6-.5-1-1-1-.6 0-1 .5-1 1z" }),
615
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M4 12s0 1 1 1 1-1 1-1V5c0-.5-.4-1-1-1-.5 0-1 .5-1 1v7zm4 0s0 1 1 1 1-1 1-1V5c0-.5-.4-1-1-1-.5 0-1 .5-1 1v7zm5-10c.5 0 1-.4 1-1 0-.5-.4-.9-1-1H1C.5.1 0 .5 0 1c0 .6.6 1 1.1 1H13z" })
616
+ ] });
617
+ break;
618
+ case "edit":
619
+ svg = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 17.6 17.6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M5.3 13.8l-2.1.7.7-2.1L10.3 6l1.4 1.4-6.4 6.4zm6.4-9.3l-1.4-1.4-1.4 1.4-6.7 6.7-.2.5-2 5.9 3.8-1.3 2.1-.7.4-.1.3-.3 7.8-7.8c.1 0-2.7-2.9-2.7-2.9zm5.6-1.4L14.5.3c-.4-.4-1-.4-1.4 0l-1.4 1.4L15.9 6l1.4-1.4c.4-.5.4-1.1 0-1.5" }) });
620
+ break;
621
+ case "share":
622
+ svg = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M12.6173 1.07612C12.991 0.921338 13.4211 1.00689 13.7071 1.29289L22.7071 10.2929C23.0832 10.669 23.0991 11.2736 22.7433 11.669L13.7433 21.669C13.4663 21.9767 13.0283 22.082 12.6417 21.9336C12.2552 21.7853 12 21.414 12 21V16H11.5C7.31775 16 3.92896 18.2486 2.95256 21.3044C2.80256 21.7738 2.33292 22.064 1.84598 21.9881C1.35904 21.9122 1 21.4928 1 21V18.5C1 12.3162 5.88069 7.27245 12 7.01067V2C12 1.59554 12.2436 1.2309 12.6173 1.07612ZM14 4.41421V8C14 8.55228 13.5523 9 13 9H12.5C7.64534 9 3.64117 12.6414 3.06988 17.3419C5.09636 15.2366 8.18218 14 11.5 14H13C13.5523 14 14 14.4477 14 15V18.394L20.622 11.0362L14 4.41421Z" }) });
623
+ break;
624
+ case "reply":
625
+ svg = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 17 17", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M8.7 0C4.1 0 .4 3.7.4 8.3c0 1.2.2 2.3.7 3.4-.2.6-.4 1.5-.7 2.5L0 15.8c-.2.7.5 1.4 1.2 1.2l1.6-.4 2.4-.7c1.1.5 2.2.7 3.4.7 4.6 0 8.3-3.7 8.3-8.3C17 3.7 13.3 0 8.7 0zM15 8.3c0 3.5-2.8 6.3-6.4 6.3-1.2 0-2.3-.3-3.2-.9l-3.2.9.9-3.2c-.5-.9-.9-2-.9-3.2.1-3.4 3-6.2 6.5-6.2S15 4.8 15 8.3z" }) });
626
+ break;
627
+ case "reblog":
628
+ svg = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 17 18.1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M12.8.2c-.4-.4-.8-.2-.8.4v2H2c-2 0-2 2-2 2v5s0 1 1 1 1-1 1-1v-4c0-1 .5-1 1-1h9v2c0 .6.3.7.8.4L17 3.6 12.8.2zM4.2 17.9c.5.4.8.2.8-.3v-2h10c2 0 2-2 2-2v-5s0-1-1-1-1 1-1 1v4c0 1-.5 1-1 1H5v-2c0-.6-.3-.7-.8-.4L0 14.6l4.2 3.3z" }) });
629
+ break;
630
+ case "like":
631
+ svg = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 20 18", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M14.658 0c-1.625 0-3.21.767-4.463 2.156-.06.064-.127.138-.197.225-.074-.085-.137-.159-.196-.225C8.547.766 6.966 0 5.35 0 4.215 0 3.114.387 2.162 1.117c-2.773 2.13-2.611 5.89-1.017 8.5 2.158 3.535 6.556 7.18 7.416 7.875A2.3 2.3 0 0 0 9.998 18c.519 0 1.028-.18 1.436-.508.859-.695 5.257-4.34 7.416-7.875 1.595-2.616 1.765-6.376-1-8.5C16.895.387 15.792 0 14.657 0h.001zm0 2.124c.645 0 1.298.208 1.916.683 1.903 1.461 1.457 4.099.484 5.695-1.973 3.23-6.16 6.7-6.94 7.331a.191.191 0 0 1-.241 0c-.779-.631-4.966-4.101-6.94-7.332-.972-1.595-1.4-4.233.5-5.694.619-.475 1.27-.683 1.911-.683 1.064 0 2.095.574 2.898 1.461.495.549 1.658 2.082 1.753 2.203.095-.12 1.259-1.654 1.752-2.203.8-.887 1.842-1.461 2.908-1.461h-.001z" }) });
632
+ break;
633
+ case "ellipsis":
634
+ svg = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 17.5 3.9", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M17.5 1.9c0 1.1-.9 1.9-1.9 1.9-1.1 0-1.9-.9-1.9-1.9S14.5 0 15.6 0c1 0 1.9.9 1.9 1.9m-6.8 0c0 1.1-.9 1.9-1.9 1.9-1.1.1-2-.8-2-1.9 0-1 .9-1.9 2-1.9s1.9.9 1.9 1.9m-6.8 0c0 1.1-.9 2-2 2-1 0-1.9-.9-1.9-2S.9 0 1.9 0c1.1 0 2 .9 2 1.9" }) });
635
+ break;
636
+ }
637
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `tumblr-preview__post-icon tumblr-preview__post-icon-${name}`, children: svg });
638
+ };
639
+ var icons_default = TumblrPostIcon;
640
+
641
+ // src/tumblr-preview/post/actions/index.tsx
642
+
643
+ var TumblrPostActions = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__post-actions", children: [
644
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__post-manage-actions", children: [
645
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__post-actions-blaze", children: [
646
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, icons_default, { name: "blaze" }),
647
+ "\xA0Blaze"
648
+ ] }),
649
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { children: [
650
+ {
651
+ icon: "delete",
652
+ // translators: "Delete" action on a Tumblr post
653
+ label: _i18n.__.call(void 0, "Delete", "social-previews")
654
+ },
655
+ {
656
+ icon: "edit",
657
+ // translators: "Edit" action on a Tumblr post
658
+ label: _i18n.__.call(void 0, "Edit", "social-previews")
659
+ }
660
+ ].map(({ icon, label }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "aria-label": label, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, icons_default, { name: icon }) }, icon)) })
661
+ ] }),
662
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__post-social-actions", children: [
663
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
664
+ // translators: count of notes on a Tumblr post
665
+ children: _i18n.__.call(void 0, "0 notes", "social-previews")
666
+ }),
667
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { children: [
668
+ {
669
+ icon: "share",
670
+ // translators: "Share" action on a Tumblr post
671
+ label: _i18n.__.call(void 0, "Share", "social-previews")
672
+ },
673
+ {
674
+ icon: "reply",
675
+ // translators: "Reply" action on a Tumblr post
676
+ label: _i18n.__.call(void 0, "Reply", "social-previews")
677
+ },
678
+ {
679
+ icon: "reblog",
680
+ // translators: "Reblog" action on a Tumblr post
681
+ label: _i18n.__.call(void 0, "Reblog", "social-previews")
682
+ },
683
+ {
684
+ icon: "like",
685
+ // translators: "Like" action on a Tumblr post
686
+ label: _i18n.__.call(void 0, "Like", "social-previews")
687
+ }
688
+ ].map(({ icon, label }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "aria-label": label, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, icons_default, { name: icon }) }, icon)) })
689
+ ] })
690
+ ] });
691
+ var actions_default = TumblrPostActions;
692
+
693
+ // src/tumblr-preview/post/header/index.tsx
694
+
695
+
696
+ var TumblrPostHeader = ({ user }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__post-header", children: [
697
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__post-header-username", children: _optionalChain([user, 'optionalAccess', _7 => _7.displayName]) || // translators: username of a fictional Tumblr User
698
+ _i18n.__.call(void 0, "anonymous-user", "social-previews") }),
699
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, icons_default, { name: "ellipsis" })
700
+ ] });
701
+ var header_default = TumblrPostHeader;
702
+
703
+ // src/tumblr-preview/link-preview.tsx
704
+
705
+ var TumblrLinkPreview = ({
706
+ title,
707
+ description,
708
+ image,
709
+ user,
710
+ url
711
+ }) => {
712
+ const avatarUrl = _optionalChain([user, 'optionalAccess', _8 => _8.avatarUrl]);
713
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__post", children: [
714
+ avatarUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "tumblr-preview__avatar", src: avatarUrl, alt: "" }),
715
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__card", children: [
716
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default, { user }),
717
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__window", children: [
718
+ image && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__window-top", children: [
719
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__overlay", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__title", children: tumblrTitle(title) }) }),
720
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
721
+ "img",
722
+ {
723
+ className: "tumblr-preview__image",
724
+ src: image,
725
+ alt: _i18n.__.call(void 0, "Tumblr preview thumbnail", "social-previews")
726
+ }
727
+ )
728
+ ] }),
729
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `tumblr-preview__window-bottom ${!image ? "is-full" : ""}`, children: [
730
+ !image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__title", children: tumblrTitle(title) }),
731
+ description && image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__description", children: tumblrDescription(description) }),
732
+ url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__site-name", children: baseDomain(url) })
733
+ ] })
734
+ ] }),
735
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default, {})
736
+ ] })
737
+ ] });
738
+ };
739
+
740
+ // src/tumblr-preview/post-preview.tsx
741
+
742
+
743
+ var TumblrPostPreview = ({
744
+ title,
745
+ description,
746
+ image,
747
+ user,
748
+ url,
749
+ customText,
750
+ media
751
+ }) => {
752
+ const avatarUrl = _optionalChain([user, 'optionalAccess', _9 => _9.avatarUrl]);
753
+ const mediaItem = _optionalChain([media, 'optionalAccess', _10 => _10[0]]);
754
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__post", children: [
755
+ avatarUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "tumblr-preview__avatar", src: avatarUrl, alt: "" }),
756
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__card", children: [
757
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default, { user }),
758
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "tumblr-preview__body", children: [
759
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__title", children: tumblrTitle(title) }),
760
+ customText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__custom-text", children: customText }),
761
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__description", children: preparePreviewText(tumblrDescription(description), {
762
+ platform: "tumblr"
763
+ }) }),
764
+ mediaItem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "tumblr-preview__media-item", children: mediaItem.type.startsWith("video/") ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, className: "tumblr-preview__media--video", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "tumblr-preview__image", src: mediaItem.url, alt: "" }) }) : image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
765
+ "img",
766
+ {
767
+ className: "tumblr-preview__image",
768
+ src: image,
769
+ alt: _i18n.__.call(void 0, "Tumblr preview thumbnail", "social-previews")
770
+ }
771
+ ),
772
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { className: "tumblr-preview__url", href: url, target: "_blank", rel: "noreferrer", children: _i18n.__.call(void 0, "View On WordPress", "social-previews") })
773
+ ] }),
774
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default, {})
775
+ ] })
776
+ ] });
777
+ };
778
+
779
+ // src/tumblr-preview/previews.tsx
780
+
781
+
782
+ var TumblrPreviews = ({
783
+ headingLevel,
784
+ hideLinkPreview,
785
+ hidePostPreview,
786
+ ...props
787
+ }) => {
788
+ const hasMedia = !!_optionalChain([props, 'access', _11 => _11.media, 'optionalAccess', _12 => _12.length]);
789
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview tumblr-preview", children: [
790
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section tumblr-preview__section", children: [
791
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionHeading, {
792
+ level: headingLevel,
793
+ // translators: refers to a social post on Tumblr
794
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
795
+ }),
796
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on Tumblr:", "social-previews") }),
797
+ hasMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TumblrPostPreview, { ...props }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TumblrLinkPreview, { ...props })
798
+ ] }),
799
+ !hideLinkPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section tumblr-preview__section", children: [
800
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionHeading, {
801
+ level: headingLevel,
802
+ // translators: refers to a link on Tumblr
803
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
804
+ }),
805
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
806
+ "This is what it will look like when someone shares the link to your WordPress post on Tumblr.",
807
+ "social-previews"
808
+ ) }),
809
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TumblrLinkPreview, { ...props, user: void 0 })
810
+ ] })
811
+ ] });
812
+ };
813
+
814
+ // src/facebook-preview/previews.tsx
815
+
816
+
817
+ // src/facebook-preview/link-preview.tsx
818
+
819
+
820
+ // src/constants.ts
821
+ var AUTO_SHARED_SOCIAL_POST_PREVIEW = "AUTO_SHARED_SOCIAL_POST_PREVIEW";
822
+ var AUTO_SHARED_LINK_PREVIEW = "AUTO_SHARED_LINK_PREVIEW";
823
+ var DEFAULT_LINK_PREVIEW = "DEFAULT_LINK_PREVIEW";
824
+ var TYPE_WEBSITE = "website";
825
+ var TYPE_ARTICLE = "article";
826
+ var LANDSCAPE_MODE = "landscape";
827
+ var PORTRAIT_MODE = "portrait";
828
+
829
+ // src/facebook-preview/helpers.ts
830
+ var TITLE_LENGTH3 = 110;
831
+ var DESCRIPTION_LENGTH4 = 200;
832
+ var CUSTOM_TEXT_LENGTH = 440;
833
+ var facebookTitle = (text) => firstValid(
834
+ shortEnough(TITLE_LENGTH3),
835
+ hardTruncation(TITLE_LENGTH3)
836
+ )(stripHtmlTags(text)) || "";
837
+ var facebookDescription = (text) => firstValid(
838
+ shortEnough(DESCRIPTION_LENGTH4),
839
+ hardTruncation(DESCRIPTION_LENGTH4)
840
+ )(stripHtmlTags(text)) || "";
841
+
842
+ // src/facebook-preview/custom-text.tsx
843
+
844
+ var CustomText = ({ text, url, forceUrlDisplay }) => {
845
+ let postLink;
846
+ if (forceUrlDisplay || hasTag(text, "a")) {
847
+ postLink = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
848
+ "a",
849
+ {
850
+ className: "facebook-preview__custom-text-post-url",
851
+ href: url,
852
+ rel: "nofollow noopener noreferrer",
853
+ target: "_blank",
854
+ children: url
855
+ }
856
+ );
857
+ }
858
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "facebook-preview__custom-text", children: [
859
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: preparePreviewText(text, {
860
+ platform: "facebook",
861
+ maxChars: CUSTOM_TEXT_LENGTH
862
+ }) }),
863
+ postLink
864
+ ] });
865
+ };
866
+ var custom_text_default = CustomText;
867
+
868
+ // src/facebook-preview/hooks/use-image-hook.ts
869
+
870
+
871
+ var useImage = ({ mode: initialMode }) => {
872
+ const [mode, setMode] = _react.useState.call(void 0, initialMode);
873
+ const [isLoadingImage, setLoadingImage] = _react.useState.call(void 0, true);
874
+ const onLoad = _react.useCallback.call(void 0,
875
+ ({ target }) => {
876
+ if (!mode) {
877
+ const image = target;
878
+ setMode(image.naturalWidth > image.naturalHeight ? LANDSCAPE_MODE : PORTRAIT_MODE);
879
+ }
880
+ setLoadingImage(false);
881
+ },
882
+ [mode]
883
+ );
884
+ const onError = _react.useCallback.call(void 0, () => setLoadingImage(false), []);
885
+ return [
886
+ mode,
887
+ isLoadingImage,
888
+ {
889
+ alt: _i18n.__.call(void 0, "Facebook Preview Thumbnail", "social-previews"),
890
+ onLoad,
891
+ onError
892
+ }
893
+ ];
894
+ };
895
+ var use_image_hook_default = useImage;
896
+
897
+ // src/facebook-preview/post/actions/index.tsx
898
+
899
+
900
+ // src/facebook-preview/post/icons/index.tsx
901
+
902
+ var FacebookPostIcon = ({ name }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "i", { className: `facebook-preview__post-icon facebook-preview__post-icon-${name}` });
903
+ var icons_default2 = FacebookPostIcon;
904
+
905
+ // src/facebook-preview/post/actions/index.tsx
906
+
907
+ var FacebookPostActions = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "facebook-preview__post-actions", children: [
908
+ {
909
+ icon: "like",
910
+ // translators: Facebook "Like" action
911
+ label: _i18n.__.call(void 0, "Like", "social-previews")
912
+ },
913
+ {
914
+ icon: "comment",
915
+ // translators: Facebook "Comment" action
916
+ label: _i18n.__.call(void 0, "Comment", "social-previews")
917
+ },
918
+ {
919
+ icon: "share",
920
+ // translators: Facebook "Share" action
921
+ label: _i18n.__.call(void 0, "Share", "social-previews")
922
+ }
923
+ ].map(({ icon, label }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { children: [
924
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, icons_default2, { name: icon }),
925
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: label })
926
+ ] }, icon)) });
927
+ var actions_default2 = FacebookPostActions;
928
+
929
+ // src/facebook-preview/post/header/index.tsx
930
+
931
+
932
+
933
+ var defaultAvatar = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IB2cksfwAADwtJREFUeJztXet2mzgX3RLg+H5NmsRt0zad6Zp5/6eYtebPvMDX20zaJm4udmwH20jfDyQQQthpgm1gsTuMWgukg7aOzjmSAPLX3/9wlCgs6L4FKLFdlAQXHCXBBUdJcMFRElxwlAQXHCXBBUdJcMFRElxwlAQXHCXBBUdJcMFRElxwlAQXHCXBBUdJcMFRElxwlAQXHCXBBUdJcMFRElxwlAQXHCXBBUdJcMFRElxwlAQXHCXBBUdJcMFh71uAbYMQsjaf82I/e1c4ggkh4JwrB8DBAQ6I/wEg4j8CQvxr5FE0wgtDMCEEjDF4ngdKKSzLQr1eQ71WxUGlAtu2QamvzYxxrFYruIsFZvMHzGZzeJ4XXEspLQzRhSF4tVrBcRwM+j30um2020049uNub7laYTy+x83tGLd3YyyXS1iWtXWZd4FcE0wI4HkchAAnJy9wfNhHvV6Lnccjw3NwNaR5dmwbg34Xg34Xs9kcP0bXuLwcgXPAsgjyrMy5Jdgnl6Fer+Ht6yHa7RYQOE0hefJcYJOzBQAc9XoN785eYtBt49PXC8xmc1gWzS3JuQyTCCFYrRh6vTb+/PDeJ5f7JPnO0lPKlA6ar+ztdgt/fniPXq+N1Ypt9MazitwRTACsPA+DXge/n7+F49hBRhocEBIqu+PY+P38LQa9Dlaet2EMyCZyR7DHOBq1Gt6fn/ne7hbr4gAopXh/foZGrQaP5W+czh3BlBK8ORvCsixwzreqVUTYdMuy8OZsGIRZeUKuCPY8htOTI3TaLZ/cHdhFOfnRabdwenIEz2NbrzNN5IZgzjmq1QMMT46BR0xBpglZ1/DkGNXqQa4mQXJBMCEEHmM4GvT2FrL4MTHF0aAHj+XHq84FwZxzVBwH/X5X/rIPKQAA/X4XFcfJjRZnnmBCCDzPQ6fdRK1W3ZntNcnBOUetVkWn3YTnebnQ4swTLAltNRuZiEMJ4MuSk5WnzBMMEYs2mnVgx86VDll3o1kHpblouuwTzDlgWzYatfgiwr7QqNVgW3Yu5qczTbA/0cDQaFQzpTGUUjQaVXDOMmE21iE7rWaCmPyvVg/2LUkMfjyMdCbAt4hsEwx/u41jO/7fMzAkShkc2/G3AmUcmScYHLDlilEmGtSXwXbsbIizAdknGBxWBodBX6bsM5wDggGSwVWcLMpkQg4IJmBZML4amNgalHXkgGCAsewt0WVRJhMyTzAhwHK5En/fv8ZIGZbLVdYjJCAPBAMErrvYtxAx+DJln+FME8w5B6UE8/k8Yx4rx3w+B6XZX3DINME+COYPLhZimM4CFssV5g9uqcFpgBDfoRlP7oE9Pw0o6x5P7sEYK21wGvAX/Blub8f7FiXA7e0YnpePbTuZJ5hzDmpZGE+mcF13bwvtcuOB67oYT6agYttu1pF5ggGAEoIH18XV6Fr8sg/N8eu8Gl3jwXVBc6C9yAvBnHPYlOJydI3Vaj/xJyH+I6qXo2vYOXp+OBcEAwChFK67xPcfI2DHzpas6/uPEVx3CZKhzQebkBtJ/UdICL79uMLkfrozWyxt7+R+im8/rsTzwvnQXuSJYB/+FtpPn//d2bZVuW1X1pmH2FdFzggGLMvC/XSOz18vdlbn568XuJ/Oc/lah9wRzDmHbVNcXv3Epy//bXUbD+fApy//4fLqJ2w7P46VitwRjOA5IQvfvl/i4+evQcOnQYBa1sfPX/Ht+6V4VPXZRe8FuX1Hh6/JNr5fjuCtPJydDXFQqQR5v2qf5TWEELiLBT5/ucDo+gaObedScyVySzAEKY5tY3Rzi+lsjuHwGC8O+wG5kpgkstV8ec7l6BoXFz8wd93ck4u8EwypyZYFd7HA/z5+wWh0jRcvBmi3mqg4ztprJamL5RLjyT0uL39iPLkHIQR2TqYiNyH3BEMbXseTKe7GE9TrNTTqdbSaddRqNRxUnMAL9jwP7mKJ+XyOyf0M09kMs9kchNDgCYoikIuiEKyCUgJCbMznLmazOX5e30TeRQlBnjz8ZT8KuwDDsQmFIxjKThBC7IhXzJi0uRApCYgtIrkoKsESOmkmX6uoxErkMg4u8XjkQoP1sEfC/JLR1GuPaX6SPFlEZglWX+wtJ/l9uxo6S7t6MZlqx315GAAOSmnmXySeKYJ1UgkhqFUPUK0eoFaronrg/91x7OCl39veWcGELIwxLJcrPDy4eHBdzOcPeHhwMX9whVOXTbIzRbD/wk+Cg4qDfq+DTqeNWu0gmILcBygAW8TPtSrQbjWDPHexwHzu4u5ujOubO7iLJThnsKzsuDbkr7//2Xt3k8/5tFtNHB0N0O92Yo20adpxV0iSw/MYrm/vcDX6ifHY3+KbhddO7E2D5TcWGGNot1oYnh6h22lHGk5dNNg3sRK6HFJG+Ra8w34Xt3djXHy7wngy2fs3IPZCsL+BzUOl4mB4eoyTFwPFM41ORGQd0Q7p/7vX7aDbaeP75U9cfPuBxWIp1pN3L99eCPY8D91uG+/OXgUvWAnnk/chUTqQsst7OT0+RK/Twscv/+LubgxKd78jZKdGgnPf3g5Pj/HHh/PIm1vzoK2PhRonV6sH+OPDOYanx2CM7VyLd6bBIpLE2zcvcfLiKPitSMTqIIRAfCIEZ6+GqFQcfP5yAQ6ys617W9fgwEkC8Nv5WUAucrc/8WlQ7/HkxRF+Oz8LfttF5946wXLi4t2bVxj0e9uuLvMY9Ht49+bVzlawtkqwHwpxvH51iqPDfqYe4d4XOICjwz5evzoFY9t/NfLWCPa/bbTCYb+L05OjrX9AIy+QH/o4PT7C4aArnrXaXstsjWDP89Co1/Dm7KXRpXjMVtdN5zxnu6x+bfSLpfG8x5SnX5+UD6EAb85eolGvbfVDH1vV4LPXQziOHeykWNeApgNy4j72ydjHlAEt1a8lsVQ9HiujKqt6PIZwx7Zx9nq41dg/dYLlE/mHgx66nbb/Makn3sBmDSJaGrk6knLtAHiwniy/Maz+eYqs6wjVO5C8pttp43DQ29obA1KPgxljcBwbL0+Phd3lACebm0y/Nx5JDI1OACI+/Ey44VW0RBg8M/8hueIkrs0xP0ZerqQx8Xn0JKKdxP0zKIDh6TFubsdbeaAuVQ2WCwiHgx6q1YNgaDYhpjE8fsjfw8ZSD6kp3DjExvJjKhzV8CQZTbKa5I2PANEeYDIR0uGqVQ9wOOiJHZ7pEpyqBnPO4TgODgc9/0bCjM3Xbvg90dEKUkM+EVWThOsjHCSVv77eJMHD+jaXyznH4aCH0c+b1F+RmJoGy+do260m6vV64BnK+/xVGyeVLGnbld58uoJy1bYmDKGb8rGG4JgMcSO/dozgSpt4jKFer6O9hc/1pKbBcttKt9sGkYOU6gnr5wf2M8FOcq2BTPnEV1GZRiC1UqR8Q5utkzGQNVa+MN2G7Fi+Tlogmzydo9dp4+bmLtUZrlQJdhwH7VYLHuPS8gg/KM5gxD+CuZuvG0HlBzsICDhnTyxfSmYaVUi8jMgNR9NY/+N6H9OHXqV88dncdrsFx3GwXC5T0+JUhmjpLDQbdf/bgozFYlEdXIYWSdqj5AWp+siJMK4y/dU4OZ4X9Zugcbjxen2UFjKqsupxduRgDBalaDbqIvpIB+nYYDEMN5uN4KPNMT/SQAARN0oMN6znxav0h2ViGp4VmZJMBDQCYz64QR71zyb5AxkVWWM9KNy64stACRrNejhxkgJSGaKl/a0eVERvDAUMmtYUi65xZJgYdjmYcfO51DoinCQ9X4YcSaEHZ6JWnuBG6fUlyEgICWSNXE7iI4Ser8ooREGtWk11D1dqBDuOIx7kUntmqB6/LjARjSTTWK2G6UblaqG5SfuUY/Pjhg70GBmDmNbgQ63zIlXZ1P3gtkVTtcPPJpiIzeG2bcG2bbEthYseCiWN3+B6yN6PSBrUSxDUI1MV6vw3YNBwKSMPZYyWv76DqDKaPDg5qqgy6vL7y4WhrIwx2LYN27awWCxAySNmADfg+RosWs6yLLGXWUR4IrZJ1jC1EeIERJwdk5PG9TIMXnBC2Yh0EHWxQS2fawSZrg/TJBlVWfXyowsdUNrRilbyDKQ0REsNlfYI4TRSopByCk9N9XLVYSx+PRMOjkx1yAV105Spv1+KiBg2WcaQgGi+lDckMd6B1eFZ/3JMKG+48MA5QAn1NTelUDilOJiDii2vXAzLsbn4RBsnPUquFxnabmKKQ3k0P8HTThpmudj6Fqb6xevLxoaJGunARYJh4/1HZaWWfLguQ04WgMg6KBGaHPFidf50J4OZblid5DAQyAVBPNnJknXpXjDhJOIFxxwaEcMHoZDuQ7BQbmLUuGgwTfTVqgQniwNmm/JEpLtcqN7TpjhUzzc5YZG8uJFOWOkLZVhj5AMZVVk2yfgL8usmKlFGRdaEfvwspL6aFOvKUoviJwcTCkQ5L3pZOM9oXC5WvJj4VGG0/JiGb7qXDeVDi8P1OwxGbs6jZan5hjZIK/6VSI9gnUiT26n+k0ftYFwDogYuScOwTsOUkmIdSHeDDWUTMTqE8+n6/XDwBCPM9fbYMELxdW33DKSowUJYlTjVzmgNJH3toOEMXqZq54wqJ3835Sd6rTJ7/XRoMIfGQ1n18iPX6566Lo8pX4sDwxmvDNpgBjG5rpC71gveANVBehI0D9c01ajLqF+upokyPmmWziwjRIdnKRriFAgWsaa3gse8qDZEWineK6P3pocx0UAr5oVi04IE0eo3jBDSA09c0E36lyIBV4dp5XxOYqFY5GoZXwepX8tqtQLzVqmFSs8mWE5yLJcrLBcrVCpOfJnGECfGvOCYm8k32FhdAw1TYUl1K6YhNBHaCUH8muAFywkaWYnRxq7RcoMPQAjBYrkSH75MZ7IjlSGaUorFYgnXdVGpVILYNxKhxCYaoPRe050oK/WJJnbdlopHjrMCcR8v3JVictJiFSSY2MQ4PrhU8dQpheu6WCyWqa0opbIeLIP0u7uJMq0olg1Fynj02IzIjrnYgvojBQtT/fAzgpSz6CFlXC+rMt2olf8LfSsUlzHc3Y0ja8rPRWpOFqUUk/t7TKdTNBqNcHdggpymmZyEEwHjCK9sC1KH2oTrk39PbkjV0fvV1TCi36NetlYvpRTT6RST+2mqL2/5Pz0W8ayv9wEYAAAAAElFTkSuQmCC";
934
+ var FacebookPostHeader = ({ user, timeElapsed, hideOptions }) => {
935
+ const [avatarSrc, setAvatarSrc] = _react.useState.call(void 0, _optionalChain([user, 'optionalAccess', _13 => _13.avatarUrl]) || defaultAvatar);
936
+ const onImageError = _react.useCallback.call(void 0, () => {
937
+ if (avatarSrc !== defaultAvatar) {
938
+ setAvatarSrc(defaultAvatar);
939
+ }
940
+ }, [avatarSrc]);
941
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__post-header", children: [
942
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__post-header-content", children: [
943
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
944
+ "img",
945
+ {
946
+ className: "facebook-preview__post-header-avatar",
947
+ src: avatarSrc,
948
+ alt: "",
949
+ onError: onImageError
950
+ }
951
+ ),
952
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
953
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__post-header-name", children: _optionalChain([user, 'optionalAccess', _14 => _14.displayName]) || // translators: name of a fictional Facebook User
954
+ _i18n.__.call(void 0, "Anonymous User", "social-previews") }),
955
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__post-header-share", children: [
956
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "facebook-preview__post-header-time", children: timeElapsed ? _i18n.__.call(void 0,
957
+ // translators: short version of `1 hour`
958
+ "1h",
959
+ "social-previews"
960
+ ) : _i18n._x.call(void 0,
961
+ // translators: temporal indication of when a post was published
962
+ "Just now",
963
+ "",
964
+ "social-previews"
965
+ ) }),
966
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "facebook-preview__post-header-dot", "aria-hidden": "true", children: "\xB7" }),
967
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, icons_default2, { name: "public" })
968
+ ] })
969
+ ] })
970
+ ] }),
971
+ !hideOptions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__post-header-more" })
972
+ ] });
973
+ };
974
+ var header_default2 = FacebookPostHeader;
975
+
976
+ // src/facebook-preview/link-preview.tsx
977
+
978
+ var FacebookLinkPreview = ({
979
+ url,
980
+ title,
981
+ description,
982
+ image,
983
+ user,
984
+ customText,
985
+ type,
986
+ imageMode,
987
+ compactDescription
988
+ }) => {
989
+ const [mode, isLoadingImage, imgProps] = use_image_hook_default({ mode: imageMode });
990
+ const isArticle = type === TYPE_ARTICLE;
991
+ const portraitMode = isArticle && !image || mode === PORTRAIT_MODE;
992
+ const modeClass = `is-${portraitMode ? "portrait" : "landscape"}`;
993
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__post", children: [
994
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default2, { user }),
995
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__content", children: [
996
+ customText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, custom_text_default, { text: customText, url }),
997
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
998
+ "div",
999
+ {
1000
+ className: `facebook-preview__body ${modeClass} ${image && isLoadingImage ? "is-loading" : ""}`,
1001
+ children: [
1002
+ (image || isArticle) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1003
+ "div",
1004
+ {
1005
+ className: `facebook-preview__image ${image ? "" : "is-empty"} ${modeClass}`,
1006
+ children: image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: image, ...imgProps })
1007
+ }
1008
+ ),
1009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__text", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__text-wrapper", children: [
1010
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__url", children: baseDomain(url) }),
1011
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__title", children: facebookTitle(title) || baseDomain(url) }),
1012
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1013
+ "div",
1014
+ {
1015
+ className: `facebook-preview__description ${compactDescription ? "is-compact" : ""}`,
1016
+ children: [
1017
+ description && facebookDescription(description),
1018
+ isArticle && !description && // translators: Default description for a Facebook post
1019
+ _i18n.__.call(void 0, "Visit the post for more.", "social-previews")
1020
+ ]
1021
+ }
1022
+ ),
1023
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__info", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, icons_default2, { name: "info" }) })
1024
+ ] }) })
1025
+ ]
1026
+ }
1027
+ )
1028
+ ] }),
1029
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default2, {})
1030
+ ] });
1031
+ };
1032
+
1033
+ // src/facebook-preview/link-preview-details.tsx
1034
+
1035
+ var LinkPreviewDetails = ({
1036
+ url,
1037
+ customImage,
1038
+ user,
1039
+ customText,
1040
+ imageMode
1041
+ }) => {
1042
+ const [mode, isLoadingImage, imgProps] = use_image_hook_default({ mode: imageMode });
1043
+ const modeClass = `is-${mode === PORTRAIT_MODE ? "portrait" : "landscape"}`;
1044
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__post", children: [
1045
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default2, { user: void 0 }),
1046
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__content", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1047
+ "div",
1048
+ {
1049
+ className: `facebook-preview__window ${modeClass} ${customImage && isLoadingImage ? "is-loading" : ""}`,
1050
+ children: [
1051
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `facebook-preview__custom-image ${modeClass}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: customImage, ...imgProps }) }),
1052
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default2, { user, timeElapsed: true, hideOptions: true }),
1053
+ customText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, custom_text_default, { text: customText, url, forceUrlDisplay: true })
1054
+ ]
1055
+ }
1056
+ ) }),
1057
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default2, {})
1058
+ ] });
1059
+ };
1060
+
1061
+ // src/facebook-preview/post-preview.tsx
1062
+
1063
+ var FacebookPostPreview = ({
1064
+ url,
1065
+ user,
1066
+ customText,
1067
+ media,
1068
+ imageMode
1069
+ }) => {
1070
+ const [mode] = use_image_hook_default({ mode: imageMode });
1071
+ const modeClass = `is-${mode === PORTRAIT_MODE ? "portrait" : "landscape"}`;
1072
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__post", children: [
1073
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default2, { user }),
1074
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "facebook-preview__content", children: [
1075
+ customText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, custom_text_default, { text: customText, url, forceUrlDisplay: true }),
1076
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "facebook-preview__body", children: media ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `facebook-preview__media ${modeClass}`, children: media.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1077
+ "div",
1078
+ {
1079
+ className: `facebook-preview__media-item ${modeClass}`,
1080
+ children: mediaItem.type.startsWith("video/") ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: mediaItem.alt || "", src: mediaItem.url })
1081
+ },
1082
+ `facebook-preview__media-item-${index}`
1083
+ )) }) : null })
1084
+ ] }),
1085
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default2, {})
1086
+ ] });
1087
+ };
1088
+
1089
+ // src/facebook-preview/previews.tsx
1090
+
1091
+ var FacebookPreviews = ({
1092
+ headingLevel,
1093
+ hideLinkPreview,
1094
+ hidePostPreview,
1095
+ ...props
1096
+ }) => {
1097
+ const hasMedia = !!_optionalChain([props, 'access', _15 => _15.media, 'optionalAccess', _16 => _16.length]);
1098
+ const hasCustomImage = !!props.customImage;
1099
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview facebook-preview", children: [
1100
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section facebook-preview__section", children: [
1101
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
1102
+ level: headingLevel,
1103
+ // translators: refers to a social post on Facebook
1104
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
1105
+ }),
1106
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on Facebook:", "social-previews") }),
1107
+ hasMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FacebookPostPreview, { ...props }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FacebookLinkPreview, { ...props })
1108
+ ] }),
1109
+ !hideLinkPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section facebook-preview__section", children: [
1110
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
1111
+ level: headingLevel,
1112
+ // translators: refers to a link to a Facebook post
1113
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
1114
+ }),
1115
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
1116
+ "This is what it will look like when someone shares the link to your WordPress post on Facebook.",
1117
+ "social-previews"
1118
+ ) }),
1119
+ hasCustomImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LinkPreviewDetails, { ...props }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FacebookLinkPreview, { ...props, compactDescription: true, customText: "", user: void 0 })
1120
+ ] })
1121
+ ] });
1122
+ };
1123
+
1124
+ // src/mastodon-preview/post/actions/index.tsx
1125
+
1126
+ var MastodonPostActions = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__post-actions", children: [
1127
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
1128
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1129
+ "svg",
1130
+ {
1131
+ xmlns: "http://www.w3.org/2000/svg",
1132
+ height: "24",
1133
+ viewBox: "0 -960 960 960",
1134
+ width: "24",
1135
+ "aria-hidden": "true",
1136
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M760-200v-160q0-50-35-85t-85-35H273l144 144-57 56-240-240 240-240 57 56-144 144h367q83 0 141.5 58.5T840-360v160h-80Z" })
1137
+ }
1138
+ ),
1139
+ "\xA0",
1140
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: 0 })
1141
+ ] }),
1142
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1143
+ "svg",
1144
+ {
1145
+ xmlns: "http://www.w3.org/2000/svg",
1146
+ height: "24",
1147
+ viewBox: "0 -960 960 960",
1148
+ width: "24",
1149
+ "aria-hidden": "true",
1150
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M280-80 120-240l160-160 56 58-62 62h406v-160h80v240H274l62 62-56 58Zm-80-440v-240h486l-62-62 56-58 160 160-160 160-56-58 62-62H280v160h-80Z" })
1151
+ }
1152
+ ) }),
1153
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1154
+ "svg",
1155
+ {
1156
+ xmlns: "http://www.w3.org/2000/svg",
1157
+ height: "24",
1158
+ viewBox: "0 -960 960 960",
1159
+ width: "24",
1160
+ "aria-hidden": "true",
1161
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "m354-287 126-76 126 77-33-144 111-96-146-13-58-136-58 135-146 13 111 97-33 143ZM233-120l65-281L80-590l288-25 112-265 112 265 288 25-218 189 65 281-247-149-247 149Zm247-350Z" })
1162
+ }
1163
+ ) }),
1164
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1165
+ "svg",
1166
+ {
1167
+ xmlns: "http://www.w3.org/2000/svg",
1168
+ height: "24",
1169
+ viewBox: "0 -960 960 960",
1170
+ width: "24",
1171
+ "aria-hidden": "true",
1172
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M200-120v-640q0-33 23.5-56.5T280-840h400q33 0 56.5 23.5T760-760v640L480-240 200-120Zm80-122 200-86 200 86v-518H280v518Zm0-518h400-400Z" })
1173
+ }
1174
+ ) }),
1175
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1176
+ "svg",
1177
+ {
1178
+ xmlns: "http://www.w3.org/2000/svg",
1179
+ height: "24",
1180
+ viewBox: "0 -960 960 960",
1181
+ width: "24",
1182
+ "aria-hidden": "true",
1183
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z" })
1184
+ }
1185
+ ) })
1186
+ ] });
1187
+ var actions_default3 = MastodonPostActions;
1188
+
1189
+ // src/mastodon-preview/constants.ts
1190
+ var DEFAULT_MASTODON_INSTANCE = "mastodon.social";
1191
+ var DEFAULT_AVATAR = "data:image/png;base64,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";
1192
+
1193
+ // src/mastodon-preview/helpers.ts
1194
+ var TITLE_LENGTH4 = 200;
1195
+ var BODY_LENGTH = 500;
1196
+ var URL_LENGTH2 = 30;
1197
+ var ADDRESS_PATTERN = /^@([^@]*)@([^@]*)$/i;
1198
+ var mastodonTitle = (text) => firstValid(
1199
+ shortEnough(TITLE_LENGTH4),
1200
+ hardTruncation(TITLE_LENGTH4)
1201
+ )(stripHtmlTags(text)) || "";
1202
+ var mastodonBody = (text, options) => {
1203
+ const { instance, offset } = options;
1204
+ return preparePreviewText(text, {
1205
+ platform: "mastodon",
1206
+ maxChars: BODY_LENGTH - URL_LENGTH2 - offset,
1207
+ hashtagDomain: instance
1208
+ });
1209
+ };
1210
+ var mastodonUrl = (text) => firstValid(shortEnough(URL_LENGTH2), hardTruncation(URL_LENGTH2))(stripHtmlTags(text)) || "";
1211
+ var getMastodonAddressDetails = (address) => {
1212
+ const matches = address.match(ADDRESS_PATTERN);
1213
+ return {
1214
+ username: _optionalChain([matches, 'optionalAccess', _17 => _17[1]]) || "",
1215
+ instance: _optionalChain([matches, 'optionalAccess', _18 => _18[2]]) || DEFAULT_MASTODON_INSTANCE
1216
+ };
1217
+ };
1218
+
1219
+ // src/mastodon-preview/post/body/index.tsx
1220
+
1221
+ var MastonPostBody = (props) => {
1222
+ const { title, description, customText, url, user, children } = props;
1223
+ const instance = _optionalChain([user, 'optionalAccess', _19 => _19.address]) ? getMastodonAddressDetails(user.address).instance : "";
1224
+ const options = {
1225
+ instance,
1226
+ offset: 0
1227
+ };
1228
+ let bodyTxt;
1229
+ if (customText) {
1230
+ bodyTxt = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: mastodonBody(customText, options) });
1231
+ } else if (description) {
1232
+ if (title) {
1233
+ const renderedTitle = stripHtmlTags(title);
1234
+ options.offset = renderedTitle.length;
1235
+ bodyTxt = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1236
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: renderedTitle }),
1237
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: mastodonBody(description, options) })
1238
+ ] });
1239
+ } else {
1240
+ bodyTxt = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: mastodonBody(description, options) });
1241
+ }
1242
+ } else {
1243
+ bodyTxt = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: mastodonBody(title, options) });
1244
+ }
1245
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__body", children: [
1246
+ bodyTxt,
1247
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: url, target: "_blank", rel: "noreferrer noopener", children: mastodonUrl(url.replace(/^https?:\/\//, "")) }),
1248
+ children
1249
+ ] });
1250
+ };
1251
+ var body_default = MastonPostBody;
1252
+
1253
+ // src/mastodon-preview/post/card/index.tsx
1254
+
1255
+
1256
+
1257
+ var MastodonPostCard = ({
1258
+ siteName,
1259
+ title,
1260
+ description,
1261
+ url,
1262
+ image,
1263
+ customImage
1264
+ }) => {
1265
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _clsx2.default.call(void 0, "mastodon-preview__card", { "has-image": image }), children: [
1266
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mastodon-preview__card-img", children: image || customImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1267
+ "img",
1268
+ {
1269
+ src: image || customImage,
1270
+ alt: _i18n.__.call(void 0, "Mastodon preview thumbnail", "social-previews")
1271
+ }
1272
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mastodon-preview__card-img--fallback", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1273
+ "svg",
1274
+ {
1275
+ xmlns: "http://www.w3.org/2000/svg",
1276
+ height: "24",
1277
+ viewBox: "0 -960 960 960",
1278
+ width: "24",
1279
+ "aria-hidden": "true",
1280
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M320-240h320v-80H320v80Zm0-160h320v-80H320v80ZM240-80q-33 0-56.5-23.5T160-160v-640q0-33 23.5-56.5T240-880h320l240 240v480q0 33-23.5 56.5T720-80H240Zm280-520h200L520-800v200Z" })
1281
+ }
1282
+ ) }) }),
1283
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__card-text", children: [
1284
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "mastodon-preview__card-site", children: siteName || baseDomain(url) }),
1285
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "mastodon-preview__card-title", children: mastodonTitle(title) || getTitleFromDescription(description) }),
1286
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "mastodon-preview__card-description", children: stripHtmlTags(description) })
1287
+ ] })
1288
+ ] });
1289
+ };
1290
+ var card_default = MastodonPostCard;
1291
+
1292
+ // src/mastodon-preview/post/header/index.tsx
1293
+
1294
+
1295
+ // src/mastodon-preview/post/icons/index.tsx
1296
+
1297
+ function GlobeIcon() {
1298
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1299
+ "svg",
1300
+ {
1301
+ xmlns: "http://www.w3.org/2000/svg",
1302
+ height: "15",
1303
+ viewBox: "0 -960 960 960",
1304
+ width: "15",
1305
+ role: "img",
1306
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm-40-82v-78q-33 0-56.5-23.5T360-320v-40L168-552q-3 18-5.5 36t-2.5 36q0 121 79.5 212T440-162Zm276-102q20-22 36-47.5t26.5-53q10.5-27.5 16-56.5t5.5-59q0-98-54.5-179T600-776v16q0 33-23.5 56.5T520-680h-80v80q0 17-11.5 28.5T400-560h-80v80h240q17 0 28.5 11.5T600-440v120h40q26 0 47 15.5t29 40.5Z" })
1307
+ }
1308
+ );
1309
+ }
1310
+
1311
+ // src/mastodon-preview/post/header/index.tsx
1312
+
1313
+ var MastodonPostHeader = ({ user }) => {
1314
+ const { displayName, address, avatarUrl } = user || {};
1315
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__post-header", children: [
1316
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__post-header-user", children: [
1317
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "mastodon-preview__post-avatar", src: avatarUrl || DEFAULT_AVATAR, alt: "" }),
1318
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
1319
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mastodon-preview__post-header-displayname", children: displayName || // translators: username of a fictional Mastodon User
1320
+ _i18n.__.call(void 0, "anonymous-user", "social-previews") }),
1321
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mastodon-preview__post-header-username", children: _optionalChain([address, 'optionalAccess', _20 => _20.replace, 'call', _21 => _21(`@${DEFAULT_MASTODON_INSTANCE}`, "")]) || "@username" })
1322
+ ] })
1323
+ ] }),
1324
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__post-header-audience", children: [
1325
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GlobeIcon, {}),
1326
+ formatMastodonDate(/* @__PURE__ */ new Date())
1327
+ ] })
1328
+ ] });
1329
+ };
1330
+ var header_default3 = MastodonPostHeader;
1331
+
1332
+ // src/mastodon-preview/link-preview.tsx
1333
+
1334
+ var MastodonLinkPreview = (props) => {
1335
+ const { user } = props;
1336
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__post", children: [
1337
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default3, { user }),
1338
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, body_default, { ...props }),
1339
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, card_default, { ...props, customImage: "" }),
1340
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default3, {})
1341
+ ] });
1342
+ };
1343
+
1344
+ // src/mastodon-preview/post-preview.tsx
1345
+
1346
+
1347
+ var MastodonPostPreview = (props) => {
1348
+ const { user, media } = props;
1349
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mastodon-preview__post", children: [
1350
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default3, { user }),
1351
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, body_default, { ...props, children: _optionalChain([media, 'optionalAccess', _22 => _22.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _clsx2.default.call(void 0, "mastodon-preview__media", { "as-grid": media.length > 1 }), children: media.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1352
+ "div",
1353
+ {
1354
+ className: "mastodon-preview__media-item",
1355
+ children: mediaItem.type.startsWith("video/") ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: mediaItem.alt || "", src: mediaItem.url })
1356
+ },
1357
+ `mastodon-preview__media-item-${index}`
1358
+ )) }) : null }),
1359
+ !_optionalChain([media, 'optionalAccess', _23 => _23.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, card_default, { ...props }) : null,
1360
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default3, {})
1361
+ ] });
1362
+ };
1363
+
1364
+ // src/mastodon-preview/previews.tsx
1365
+
1366
+
1367
+ var MastodonPreviews = ({
1368
+ headingLevel,
1369
+ hidePostPreview,
1370
+ hideLinkPreview,
1371
+ ...props
1372
+ }) => {
1373
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview mastodon-preview", children: [
1374
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section mastodon-preview__section", children: [
1375
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionHeading, {
1376
+ level: headingLevel,
1377
+ // translators: refers to a social post on Mastodon
1378
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
1379
+ }),
1380
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on Mastodon:", "social-previews") }),
1381
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MastodonPostPreview, { ...props })
1382
+ ] }),
1383
+ !hideLinkPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section mastodon-preview__section", children: [
1384
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionHeading, {
1385
+ level: headingLevel,
1386
+ // translators: refers to a link to a Mastodon post
1387
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
1388
+ }),
1389
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
1390
+ "This is what it will look like when someone shares the link to your WordPress post on Mastodon.",
1391
+ "social-previews"
1392
+ ) }),
1393
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MastodonLinkPreview, { ...props, user: void 0 })
1394
+ ] })
1395
+ ] });
1396
+ };
1397
+
1398
+ // src/nextdoor-preview/post-preview.tsx
1399
+
1400
+
1401
+
1402
+ // src/nextdoor-preview/constants.ts
1403
+ var FEED_TEXT_MAX_LENGTH2 = 500;
1404
+
1405
+ // src/nextdoor-preview/footer-actions.tsx
1406
+
1407
+
1408
+ // src/nextdoor-preview/icons/comment-icon.tsx
1409
+
1410
+ function CommentIcon() {
1411
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "20", height: "20", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1412
+ "path",
1413
+ {
1414
+ fill: "currentColor",
1415
+ fillRule: "evenodd",
1416
+ d: "M2 10.031C2 5.596 5.574 2 10 2h4c4.427 0 8 3.596 8 8.031 0 4.435-3.573 8.031-8 8.031h-1.52a17.033 17.033 0 0 1-1.377 1.467c-.991.938-2.456 2.079-4.086 2.437a1.403 1.403 0 0 1-1.458-.565 1.55 1.55 0 0 1-.195-1.394c.28-.823.395-1.734.434-2.464.014-.257.018-.485.018-.672A8.017 8.017 0 0 1 2 10.031Zm5.798 6.178a7.02 7.02 0 0 1 .016.418c.005.252.004.606-.019 1.023-.03.573-.103 1.285-.266 2.024.775-.377 1.54-.974 2.202-1.598a15.066 15.066 0 0 0 1.448-1.586l.017-.022.003-.004a1 1 0 0 1 .801-.402h2c3.314 0 6-2.692 6-6.03C20 6.691 17.314 4 14 4h-4c-3.314 0-6 2.692-6 6.031 0 2.336 1.32 4.36 3.258 5.359.308.159.515.474.54.82Z",
1417
+ clipRule: "evenodd"
1418
+ }
1419
+ ) });
1420
+ }
1421
+
1422
+ // src/nextdoor-preview/icons/like-icon.tsx
1423
+
1424
+ function LikeIcon() {
1425
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "20", height: "20", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1426
+ "path",
1427
+ {
1428
+ fill: "currentColor",
1429
+ fillRule: "evenodd",
1430
+ d: "M13.275 8.752a1.5 1.5 0 0 1-2.55 0C9.75 7.18 8.719 5.617 6.565 6.074 5.248 6.352 4 7.433 4 9.644c0 2.153 1.348 4.592 4.259 7.236A28.475 28.475 0 0 0 12 19.74a28.475 28.475 0 0 0 3.741-2.86C18.651 14.236 20 11.797 20 9.643c0-2.21-1.25-3.29-2.564-3.57-2.155-.456-3.187 1.106-4.16 2.68Zm-2.581-3.48C7.634 2.58 2 4.217 2 9.643c0 2.996 1.85 5.934 4.914 8.717 1.478 1.343 3.1 2.585 4.839 3.575a.5.5 0 0 0 .494 0c1.739-.99 3.361-2.232 4.84-3.575C20.148 15.577 22 12.64 22 9.643c0-5.426-5.634-7.062-8.694-4.371A5.287 5.287 0 0 0 12 7.04a5.287 5.287 0 0 0-1.306-1.77Z",
1431
+ clipRule: "evenodd"
1432
+ }
1433
+ ) });
1434
+ }
1435
+
1436
+ // src/nextdoor-preview/icons/share-icon.tsx
1437
+
1438
+ function ShareIcon() {
1439
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "20", height: "20", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1440
+ "path",
1441
+ {
1442
+ fill: "currentColor",
1443
+ fillRule: "evenodd",
1444
+ d: "M11.617 2.076a1 1 0 0 1 1.09.217l9 9a1 1 0 0 1 0 1.414l-9 9A1 1 0 0 1 11 21v-4.436c-2.849.366-5.261 2.271-6.384 4.837a1 1 0 0 1-1.856-.06C2.338 20.182 2 18.86 2 17.5a9.959 9.959 0 0 1 9-9.951V3a1 1 0 0 1 .617-.924ZM13 5.414V8.5a1 1 0 0 1-1 1c-4.448 0-8 3.552-8 8 0 .31.023.625.066.94C5.905 16.067 8.776 14.5 12 14.5a1 1 0 0 1 1 1v3.086L19.586 12 13 5.414Z",
1445
+ clipRule: "evenodd"
1446
+ }
1447
+ ) });
1448
+ }
1449
+
1450
+ // src/nextdoor-preview/footer-actions.tsx
1451
+
1452
+ function FooterActions() {
1453
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__footer--actions", children: [
1454
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__footer--actions-item", children: [
1455
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LikeIcon, {}),
1456
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _i18n.__.call(void 0, "Like", "social-previews") })
1457
+ ] }),
1458
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__footer--actions-item", children: [
1459
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CommentIcon, {}),
1460
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _i18n.__.call(void 0, "Comment", "social-previews") })
1461
+ ] }),
1462
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__footer--actions-item", children: [
1463
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ShareIcon, {}),
1464
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _i18n.__.call(void 0, "Share", "social-previews") })
1465
+ ] })
1466
+ ] });
1467
+ }
1468
+
1469
+ // src/nextdoor-preview/icons/chevron-icon.tsx
1470
+
1471
+ function ChevronIcon() {
1472
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "20", height: "20", viewBox: "0 0 20 20", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1473
+ "path",
1474
+ {
1475
+ fill: "#dfe1e4",
1476
+ fillRule: "evenodd",
1477
+ d: "M7.127 13.876a.732.732 0 1 0 1.035 1.035l4.75-4.749a.732.732 0 0 0 0-1.035L8.123 4.34A.732.732 0 0 0 7.09 5.375l4.27 4.27-4.232 4.23Z"
1478
+ }
1479
+ ) });
1480
+ }
1481
+
1482
+ // src/nextdoor-preview/icons/default-avatar.tsx
1483
+
1484
+ var DefaultAvatar3 = () => {
1485
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__default-avatar", children: "A" });
1486
+ };
1487
+
1488
+ // src/nextdoor-preview/icons/default-image.tsx
1489
+
1490
+ function DefaultImage() {
1491
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__default-image", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1492
+ "svg",
1493
+ {
1494
+ width: "24",
1495
+ height: "24",
1496
+ fill: "none",
1497
+ viewBox: "0 0 24 24",
1498
+ "aria-hidden": "true",
1499
+ color: "#055c00",
1500
+ children: [
1501
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1502
+ "path",
1503
+ {
1504
+ fill: "currentColor",
1505
+ d: "M13.207 5.207c1.51-1.51 4.076-1.51 5.586 0 1.51 1.51 1.51 4.076 0 5.586l-2.1 2.1c-1.51 1.51-4.077 1.51-5.586 0a1 1 0 1 0-1.414 1.414c2.29 2.29 6.123 2.29 8.414 0l2.1-2.1c2.29-2.29 2.29-6.124 0-8.414s-6.124-2.29-8.414 0l-.7.7a1 1 0 0 0 1.414 1.414l.7-.7Z"
1506
+ }
1507
+ ),
1508
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1509
+ "path",
1510
+ {
1511
+ fill: "currentColor",
1512
+ d: "M7.307 11.107c1.51-1.51 4.076-1.51 5.586 0a1 1 0 0 0 1.414-1.414c-2.29-2.29-6.124-2.29-8.414 0l-2.1 2.1c-2.29 2.29-2.29 6.123 0 8.414 2.29 2.29 6.124 2.29 8.414 0l.7-.7a1 1 0 0 0-1.414-1.414l-.7.7c-1.51 1.51-4.076 1.51-5.586 0-1.51-1.51-1.51-4.076 0-5.586l2.1-2.1Z"
1513
+ }
1514
+ )
1515
+ ]
1516
+ }
1517
+ ) });
1518
+ }
1519
+
1520
+ // src/nextdoor-preview/icons/globe-icon.tsx
1521
+
1522
+ function GlobeIcon2() {
1523
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "14", height: "14", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1524
+ "path",
1525
+ {
1526
+ fill: "currentColor",
1527
+ fillRule: "evenodd",
1528
+ d: "M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm9.495-7.643c.286-.335.46-.357.505-.357.045 0 .219.022.505.357.282.33.581.868.852 1.619.464 1.283.79 3.034.872 5.024H9.771c.082-1.99.408-3.741.871-5.024.272-.751.571-1.289.854-1.62ZM7.77 11c.084-2.181.439-4.171.992-5.704.093-.255.192-.502.298-.738A8.009 8.009 0 0 0 4.062 11h3.707Zm-3.707 2h3.707c.084 2.181.439 4.171.992 5.704.093.255.192.502.298.738A8.009 8.009 0 0 1 4.062 13Zm15.876-2a8.009 8.009 0 0 0-4.997-6.442c.106.236.205.483.298.738.553 1.533.908 3.523.992 5.704h3.707Zm-3.707 2h3.707a8.009 8.009 0 0 1-4.997 6.442c.106-.236.205-.483.298-.738.553-1.533.908-3.523.992-5.704Zm-2.002 0c-.082 1.99-.408 3.741-.871 5.024-.272.751-.571 1.289-.854 1.62-.285.334-.46.356-.504.356-.045 0-.219-.022-.505-.357-.282-.33-.581-.868-.852-1.619-.464-1.283-.79-3.034-.872-5.024h4.458Z",
1529
+ clipRule: "evenodd"
1530
+ }
1531
+ ) });
1532
+ }
1533
+
1534
+ // src/nextdoor-preview/post-preview.tsx
1535
+
1536
+ function NextdoorPostPreview({
1537
+ image,
1538
+ name,
1539
+ profileImage,
1540
+ description,
1541
+ neighborhood,
1542
+ media,
1543
+ title,
1544
+ url
1545
+ }) {
1546
+ const hasMedia = !!_optionalChain([media, 'optionalAccess', _24 => _24.length]);
1547
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__wrapper", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: `nextdoor-preview__container ${hasMedia ? "has-media" : ""}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__content", children: [
1548
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__header", children: [
1549
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__header--avatar", children: profileImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: profileImage, alt: "" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultAvatar3, {}) }),
1550
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__header--details", children: [
1551
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__header--name", children: name || _i18n.__.call(void 0, "Account Name", "social-previews") }),
1552
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__header--meta", children: [
1553
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: neighborhood || _i18n.__.call(void 0, "Neighborhood", "social-previews") }),
1554
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
1555
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: formatNextdoorDate(Date.now()) }),
1556
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2022" }),
1557
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GlobeIcon2, {})
1558
+ ] })
1559
+ ] })
1560
+ ] }),
1561
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__body", children: [
1562
+ description ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__caption", children: [
1563
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: preparePreviewText(description, {
1564
+ platform: "nextdoor",
1565
+ maxChars: FEED_TEXT_MAX_LENGTH2
1566
+ }) }),
1567
+ !hasMedia && url && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1568
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "br", {}),
1569
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "br", {}),
1570
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: url, rel: "nofollow noopener noreferrer", target: "_blank", children: url })
1571
+ ] })
1572
+ ] }) : null,
1573
+ hasMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__media", children: media.map((mediaItem, index) => {
1574
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1575
+ "div",
1576
+ {
1577
+ className: "nextdoor-preview__media-item",
1578
+ children: _optionalChain([mediaItem, 'optionalAccess', _25 => _25.type, 'optionalAccess', _26 => _26.startsWith, 'call', _27 => _27("video/")]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: mediaItem.alt || "", src: mediaItem.url })
1579
+ },
1580
+ `nextdoor-preview__media-item-${index}`
1581
+ );
1582
+ }) }) : null,
1583
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1584
+ "article",
1585
+ {
1586
+ className: _clsx2.default.call(void 0, "nextdoor-preview__card", {
1587
+ "small-preview": !image || hasMedia
1588
+ }),
1589
+ children: [
1590
+ image ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "nextdoor-preview__image", src: image, alt: "" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultImage, {}),
1591
+ url ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "nextdoor-preview__description", children: [
1592
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "nextdoor-preview__description--title", children: title || getTitleFromDescription(description) }),
1593
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "nextdoor-preview__description--url", children: baseDomain(url) })
1594
+ ] }) : null,
1595
+ hasMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__card--chevron-wrapper", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronIcon, {}) }) : null
1596
+ ]
1597
+ }
1598
+ )
1599
+ ] }),
1600
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "nextdoor-preview__footer", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FooterActions, {}) })
1601
+ ] }) }) });
1602
+ }
1603
+
1604
+ // src/nextdoor-preview/link-preview.tsx
1605
+
1606
+ function NextdoorLinkPreview(props) {
1607
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1608
+ NextdoorPostPreview,
1609
+ {
1610
+ name: "",
1611
+ profileImage: "",
1612
+ ...props,
1613
+ description: "",
1614
+ media: void 0,
1615
+ title: props.title || getTitleFromDescription(props.description)
1616
+ }
1617
+ );
1618
+ }
1619
+
1620
+ // src/nextdoor-preview/previews.tsx
1621
+
1622
+
1623
+ var NextdoorPreviews = ({
1624
+ headingLevel,
1625
+ hideLinkPreview,
1626
+ hidePostPreview,
1627
+ ...props
1628
+ }) => {
1629
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview nextdoor-preview", children: [
1630
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section nextdoor-preview__section", children: [
1631
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
1632
+ level: headingLevel,
1633
+ // translators: refers to a social post on Nextdoor
1634
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
1635
+ }),
1636
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on Nextdoor:", "social-previews") }),
1637
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NextdoorPostPreview, { ...props })
1638
+ ] }),
1639
+ !hideLinkPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section nextdoor-preview__section", children: [
1640
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
1641
+ level: headingLevel,
1642
+ // translators: refers to a link to a Nextdoor post
1643
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
1644
+ }),
1645
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
1646
+ "This is what it will look like when someone shares the link to your WordPress post on Nextdoor.",
1647
+ "social-previews"
1648
+ ) }),
1649
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NextdoorLinkPreview, { ...props, name: "", profileImage: "" })
1650
+ ] })
1651
+ ] });
1652
+ };
1653
+
1654
+ // src/bluesky-preview/post-preview.tsx
1655
+
1656
+
1657
+ // src/bluesky-preview/post/actions/index.tsx
1658
+
1659
+ var BlueskyPostActions = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bluesky-preview__post-actions", children: [
1660
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
1661
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1662
+ "svg",
1663
+ {
1664
+ fill: "none",
1665
+ width: "18",
1666
+ viewBox: "0 0 24 24",
1667
+ height: "18",
1668
+ style: { color: "rgb(111, 134, 159)" },
1669
+ "aria-hidden": "true",
1670
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1671
+ "path",
1672
+ {
1673
+ fill: "hsl(211, 20%, 53%)",
1674
+ fillRule: "evenodd",
1675
+ clipRule: "evenodd",
1676
+ d: "M2.002 6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H12.28l-4.762 2.858A1 1 0 0 1 6.002 21v-2h-1a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2a1 1 0 0 1 1 1v1.234l3.486-2.092a1 1 0 0 1 .514-.142h7a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-14Z"
1677
+ }
1678
+ )
1679
+ }
1680
+ ),
1681
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: 0 })
1682
+ ] }),
1683
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
1684
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1685
+ "svg",
1686
+ {
1687
+ fill: "none",
1688
+ width: "18",
1689
+ viewBox: "0 0 24 24",
1690
+ height: "18",
1691
+ style: { color: "rgb(111, 134, 159)" },
1692
+ "aria-hidden": "true",
1693
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1694
+ "path",
1695
+ {
1696
+ fill: "hsl(211, 20%, 53%)",
1697
+ fillRule: "evenodd",
1698
+ clipRule: "evenodd",
1699
+ d: "M17.957 2.293a1 1 0 1 0-1.414 1.414L17.836 5H6a3 3 0 0 0-3 3v3a1 1 0 1 0 2 0V8a1 1 0 0 1 1-1h11.836l-1.293 1.293a1 1 0 0 0 1.414 1.414l2.47-2.47a1.75 1.75 0 0 0 0-2.474l-2.47-2.47ZM20 12a1 1 0 0 1 1 1v3a3 3 0 0 1-3 3H6.164l1.293 1.293a1 1 0 1 1-1.414 1.414l-2.47-2.47a1.75 1.75 0 0 1 0-2.474l2.47-2.47a1 1 0 0 1 1.414 1.414L6.164 17H18a1 1 0 0 0 1-1v-3a1 1 0 0 1 1-1Z"
1700
+ }
1701
+ )
1702
+ }
1703
+ ),
1704
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: 0 })
1705
+ ] }),
1706
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
1707
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1708
+ "svg",
1709
+ {
1710
+ fill: "none",
1711
+ width: "18",
1712
+ viewBox: "0 0 24 24",
1713
+ height: "18",
1714
+ style: { color: "rgb(111, 134, 159)" },
1715
+ "aria-hidden": "true",
1716
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1717
+ "path",
1718
+ {
1719
+ fill: "hsl(211, 20%, 53%)",
1720
+ fillRule: "evenodd",
1721
+ clipRule: "evenodd",
1722
+ d: "M16.734 5.091c-1.238-.276-2.708.047-4.022 1.38a1 1 0 0 1-1.424 0C9.974 5.137 8.504 4.814 7.266 5.09c-1.263.282-2.379 1.206-2.92 2.556C3.33 10.18 4.252 14.84 12 19.348c7.747-4.508 8.67-9.168 7.654-11.7-.541-1.351-1.657-2.275-2.92-2.557Zm4.777 1.812c1.604 4-.494 9.69-9.022 14.47a1 1 0 0 1-.978 0C2.983 16.592.885 10.902 2.49 6.902c.779-1.942 2.414-3.334 4.342-3.764 1.697-.378 3.552.003 5.169 1.286 1.617-1.283 3.472-1.664 5.17-1.286 1.927.43 3.562 1.822 4.34 3.764Z"
1723
+ }
1724
+ )
1725
+ }
1726
+ ),
1727
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: 0 })
1728
+ ] }),
1729
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { fill: "none", viewBox: "0 0 24 24", width: "20", height: "20", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1730
+ "path",
1731
+ {
1732
+ fill: "hsl(211, 20%, 53%)",
1733
+ fillRule: "evenodd",
1734
+ clipRule: "evenodd",
1735
+ d: "M2 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm16 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-6-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"
1736
+ }
1737
+ ) }) })
1738
+ ] });
1739
+ var actions_default4 = BlueskyPostActions;
1740
+
1741
+ // src/bluesky-preview/helpers.ts
1742
+ var TITLE_LENGTH5 = 200;
1743
+ var BODY_LENGTH2 = 300;
1744
+ var URL_LENGTH3 = 40;
1745
+ var blueskyTitle = (text) => firstValid(
1746
+ shortEnough(TITLE_LENGTH5),
1747
+ hardTruncation(TITLE_LENGTH5)
1748
+ )(stripHtmlTags(text)) || "";
1749
+ var blueskyBody = (text, options = {}) => {
1750
+ const { offset = 0 } = options;
1751
+ return preparePreviewText(text, {
1752
+ platform: "bluesky",
1753
+ maxChars: BODY_LENGTH2 - URL_LENGTH3 - offset
1754
+ });
1755
+ };
1756
+ var blueskyUrl = (text) => firstValid(shortEnough(URL_LENGTH3), hardTruncation(URL_LENGTH3))(stripHtmlTags(text)) || "";
1757
+
1758
+ // src/bluesky-preview/post/body/index.tsx
1759
+
1760
+ var BlueskyPostBody = ({ customText, url, children, appendUrl }) => {
1761
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bluesky-preview__body", children: [
1762
+ customText ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1763
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: blueskyBody(customText) }),
1764
+ appendUrl && url ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1765
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "br", {}),
1766
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: url, target: "_blank", rel: "noreferrer noopener", children: blueskyUrl(url.replace(/^https?:\/\//, "")) })
1767
+ ] }) : null
1768
+ ] }) : null,
1769
+ children
1770
+ ] });
1771
+ };
1772
+ var body_default2 = BlueskyPostBody;
1773
+
1774
+ // src/bluesky-preview/post/card/index.tsx
1775
+
1776
+ var BlueskyPostCard = ({ title, description, url, image }) => {
1777
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bluesky-preview__card", children: [
1778
+ image ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__card-image", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: image, alt: "" }) }) : null,
1779
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bluesky-preview__card-text", children: [
1780
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__card-site", children: baseDomain(url) }),
1781
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__card-title", children: blueskyTitle(title) || getTitleFromDescription(description) }),
1782
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__card-description", children: stripHtmlTags(description) })
1783
+ ] })
1784
+ ] });
1785
+ };
1786
+ var card_default2 = BlueskyPostCard;
1787
+
1788
+ // src/bluesky-preview/post/header/index.tsx
1789
+
1790
+
1791
+ var BlueskyPostHeader = ({ user }) => {
1792
+ const { displayName, address } = user || {};
1793
+ let handle = address || "username.bsky.social";
1794
+ if (!handle.startsWith("@")) {
1795
+ handle = "@" + handle;
1796
+ }
1797
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bluesky-preview__post-header", children: [
1798
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bluesky-preview__post-header-user", children: [
1799
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bluesky-preview__post-header--displayname", children: displayName || _i18n.__.call(void 0, "Account name", "social-previews") }),
1800
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bluesky-preview__post-header--username", children: handle })
1801
+ ] }),
1802
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__post-header--separator", children: "\xB7" }),
1803
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__post-header--date", children: _i18n._x.call(void 0,
1804
+ "1h",
1805
+ 'refers to the time since the post was published, e.g. "1h"',
1806
+ "social-previews"
1807
+ ) })
1808
+ ] });
1809
+ };
1810
+ var header_default4 = BlueskyPostHeader;
1811
+
1812
+ // src/bluesky-preview/post/sidebar/index.tsx
1813
+
1814
+ var BlueskyPostSidebar = ({ user }) => {
1815
+ const { avatarUrl } = user || {};
1816
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__post-sidebar", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bluesky-preview__post-sidebar-user", children: avatarUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "bluesky-preview__post-avatar", src: avatarUrl, alt: "" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1817
+ "svg",
1818
+ {
1819
+ className: "bluesky-preview__post-avatar",
1820
+ viewBox: "0 0 24 24",
1821
+ fill: "none",
1822
+ stroke: "none",
1823
+ role: "presentation",
1824
+ children: [
1825
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "12", cy: "12", r: "12", fill: "#0070ff" }),
1826
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "12", cy: "9.5", r: "3.5", fill: "#fff" }),
1827
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1828
+ "path",
1829
+ {
1830
+ strokeLinecap: "round",
1831
+ strokeLinejoin: "round",
1832
+ fill: "#fff",
1833
+ d: "M 12.058 22.784 C 9.422 22.784 7.007 21.836 5.137 20.262 C 5.667 17.988 8.534 16.25 11.99 16.25 C 15.494 16.25 18.391 18.036 18.864 20.357 C 17.01 21.874 14.64 22.784 12.058 22.784 Z"
1834
+ }
1835
+ )
1836
+ ]
1837
+ }
1838
+ ) }) });
1839
+ };
1840
+
1841
+ // src/bluesky-preview/post-preview.tsx
1842
+
1843
+ var BlueskyPostPreview = (props) => {
1844
+ const { user, media, appendUrl } = props;
1845
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bluesky-preview__post", children: [
1846
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlueskyPostSidebar, { user }),
1847
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
1848
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, header_default4, { user }),
1849
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, body_default2, { ...props, appendUrl: _nullishCoalesce(appendUrl, () => ( Boolean(_optionalChain([media, 'optionalAccess', _28 => _28.length])))), children: _optionalChain([media, 'optionalAccess', _29 => _29.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _clsx2.default.call(void 0, "bluesky-preview__media", { "as-grid": media.length > 1 }), children: media.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1850
+ "div",
1851
+ {
1852
+ className: "bluesky-preview__media-item",
1853
+ children: mediaItem.type.startsWith("video/") ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: mediaItem.alt || "", src: mediaItem.url })
1854
+ },
1855
+ `bluesky-preview__media-item-${index}`
1856
+ )) }) : null }),
1857
+ !_optionalChain([media, 'optionalAccess', _30 => _30.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, card_default2, { ...props }) : null,
1858
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actions_default4, {})
1859
+ ] })
1860
+ ] });
1861
+ };
1862
+
1863
+ // src/bluesky-preview/link-preview.tsx
1864
+
1865
+ var BlueskyLinkPreview = (props) => {
1866
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlueskyPostPreview, { ...props, user: void 0, media: void 0, customText: "" });
1867
+ };
1868
+
1869
+ // src/bluesky-preview/previews.tsx
1870
+
1871
+
1872
+ var BlueskyPreviews = ({
1873
+ headingLevel,
1874
+ hidePostPreview,
1875
+ hideLinkPreview,
1876
+ ...props
1877
+ }) => {
1878
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview bluesky-preview", children: [
1879
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section bluesky-preview__section", children: [
1880
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionHeading, {
1881
+ level: headingLevel,
1882
+ // translators: refers to a social post on Bluesky
1883
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
1884
+ }),
1885
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on Bluesky:", "social-previews") }),
1886
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlueskyPostPreview, { ...props })
1887
+ ] }),
1888
+ !hideLinkPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section bluesky-preview__section", children: [
1889
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionHeading, {
1890
+ level: headingLevel,
1891
+ // translators: refers to a link to a Bluesky post
1892
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
1893
+ }),
1894
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
1895
+ "This is what it will look like when someone shares the link to your WordPress post on Bluesky.",
1896
+ "social-previews"
1897
+ ) }),
1898
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlueskyLinkPreview, { ...props })
1899
+ ] })
1900
+ ] });
1901
+ };
1902
+
1903
+ // src/threads-preview/card.tsx
1904
+
1905
+
1906
+ // src/threads-preview/helpers.ts
1907
+ var TITLE_LENGTH6 = 120;
1908
+ var CAPTION_MAX_CHARS = 500;
1909
+ var threadsTitle = (text) => firstValid(
1910
+ shortEnough(TITLE_LENGTH6),
1911
+ hardTruncation(TITLE_LENGTH6)
1912
+ )(stripHtmlTags(text)) || "";
1913
+
1914
+ // src/threads-preview/card.tsx
1915
+
1916
+ var Card2 = ({ image, title, url }) => {
1917
+ const cardClassNames = _clsx2.default.call(void 0, {
1918
+ "threads-preview__card-has-image": !!image
1919
+ });
1920
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "threads-preview__card", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: cardClassNames, children: [
1921
+ image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "threads-preview__card-image", src: image, alt: "" }),
1922
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "threads-preview__card-body", children: [
1923
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "threads-preview__card-url", children: baseDomain(url || "") }),
1924
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "threads-preview__card-title", children: threadsTitle(title) })
1925
+ ] })
1926
+ ] }) });
1927
+ };
1928
+
1929
+ // src/threads-preview/footer.tsx
1930
+
1931
+ var Footer2 = () => {
1932
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "threads-preview__footer", children: [
1933
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "threads-preview__icon--like", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { role: "img", viewBox: "0 0 18 18", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1934
+ "path",
1935
+ {
1936
+ d: "M1.34375 7.53125L1.34375 7.54043C1.34374 8.04211 1.34372 8.76295 1.6611 9.65585C1.9795 10.5516 2.60026 11.5779 3.77681 12.7544C5.59273 14.5704 7.58105 16.0215 8.33387 16.5497C8.73525 16.8313 9.26573 16.8313 9.66705 16.5496C10.4197 16.0213 12.4074 14.5703 14.2232 12.7544C15.3997 11.5779 16.0205 10.5516 16.3389 9.65585C16.6563 8.76296 16.6563 8.04211 16.6562 7.54043V7.53125C16.6562 5.23466 15.0849 3.25 12.6562 3.25C11.5214 3.25 10.6433 3.78244 9.99228 4.45476C9.59009 4.87012 9.26356 5.3491 9 5.81533C8.73645 5.3491 8.40991 4.87012 8.00772 4.45476C7.35672 3.78244 6.47861 3.25 5.34375 3.25C2.9151 3.25 1.34375 5.23466 1.34375 7.53125Z",
1937
+ strokeWidth: "1.25"
1938
+ }
1939
+ ) }) }),
1940
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "threads-preview__icon--reply", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { role: "img", viewBox: "0 0 18 18", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1941
+ "path",
1942
+ {
1943
+ d: "M15.376 13.2177L16.2861 16.7955L12.7106 15.8848C12.6781 15.8848 12.6131 15.8848 12.5806 15.8848C11.3779 16.5678 9.94767 16.8931 8.41995 16.7955C4.94194 16.5353 2.08152 13.7381 1.72397 10.2578C1.2689 5.63919 5.13697 1.76863 9.75264 2.22399C13.2307 2.58177 16.0261 5.41151 16.2861 8.92429C16.4161 10.453 16.0586 11.8841 15.376 13.0876C15.376 13.1526 15.376 13.1852 15.376 13.2177Z",
1944
+ strokeLinejoin: "round",
1945
+ strokeWidth: "1.25"
1946
+ }
1947
+ ) }) }),
1948
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "threads-preview__icon--repost", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { role: "img", viewBox: "0 0 18 18", children: [
1949
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M6.41256 1.23531C6.6349 0.971277 7.02918 0.937481 7.29321 1.15982L9.96509 3.40982C10.1022 3.52528 10.1831 3.69404 10.1873 3.87324C10.1915 4.05243 10.1186 4.2248 9.98706 4.34656L7.31518 6.81971C7.06186 7.05419 6.66643 7.03892 6.43196 6.7856C6.19748 6.53228 6.21275 6.13685 6.46607 5.90237L7.9672 4.51289H5.20312C3.68434 4.51289 2.45312 5.74411 2.45312 7.26289V9.51289V11.7629C2.45312 13.2817 3.68434 14.5129 5.20312 14.5129C5.5483 14.5129 5.82812 14.7927 5.82812 15.1379C5.82812 15.4831 5.5483 15.7629 5.20312 15.7629C2.99399 15.7629 1.20312 13.972 1.20312 11.7629V9.51289V7.26289C1.20312 5.05375 2.99399 3.26289 5.20312 3.26289H7.85002L6.48804 2.11596C6.22401 1.89362 6.19021 1.49934 6.41256 1.23531Z" }),
1950
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M11.5874 17.7904C11.3651 18.0545 10.9708 18.0883 10.7068 17.8659L8.03491 15.6159C7.89781 15.5005 7.81687 15.3317 7.81267 15.1525C7.80847 14.9733 7.8814 14.801 8.01294 14.6792L10.6848 12.206C10.9381 11.9716 11.3336 11.9868 11.568 12.2402C11.8025 12.4935 11.7872 12.8889 11.5339 13.1234L10.0328 14.5129H12.7969C14.3157 14.5129 15.5469 13.2816 15.5469 11.7629V9.51286V7.26286C15.5469 5.74408 14.3157 4.51286 12.7969 4.51286C12.4517 4.51286 12.1719 4.23304 12.1719 3.88786C12.1719 3.54269 12.4517 3.26286 12.7969 3.26286C15.006 3.26286 16.7969 5.05373 16.7969 7.26286V9.51286V11.7629C16.7969 13.972 15.006 15.7629 12.7969 15.7629H10.15L11.512 16.9098C11.776 17.1321 11.8098 17.5264 11.5874 17.7904Z" })
1951
+ ] }) }),
1952
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "threads-preview__icon--share", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { role: "img", viewBox: "0 0 18 18", children: [
1953
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1954
+ "path",
1955
+ {
1956
+ d: "M15.6097 4.09082L6.65039 9.11104",
1957
+ strokeLinejoin: "round",
1958
+ strokeWidth: "1.25"
1959
+ }
1960
+ ),
1961
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1962
+ "path",
1963
+ {
1964
+ d: "M7.79128 14.439C8.00463 15.3275 8.11131 15.7718 8.33426 15.932C8.52764 16.071 8.77617 16.1081 9.00173 16.0318C9.26179 15.9438 9.49373 15.5501 9.95761 14.7628L15.5444 5.2809C15.8883 4.69727 16.0603 4.40546 16.0365 4.16566C16.0159 3.95653 15.9071 3.76612 15.7374 3.64215C15.5428 3.5 15.2041 3.5 14.5267 3.5H3.71404C2.81451 3.5 2.36474 3.5 2.15744 3.67754C1.97758 3.83158 1.88253 4.06254 1.90186 4.29856C1.92415 4.57059 2.24363 4.88716 2.88259 5.52032L6.11593 8.7243C6.26394 8.87097 6.33795 8.94431 6.39784 9.02755C6.451 9.10144 6.4958 9.18101 6.53142 9.26479C6.57153 9.35916 6.59586 9.46047 6.64451 9.66309L7.79128 14.439Z",
1965
+ strokeLinejoin: "round",
1966
+ strokeWidth: "1.25"
1967
+ }
1968
+ )
1969
+ ] }) })
1970
+ ] });
1971
+ };
1972
+
1973
+ // src/threads-preview/header.tsx
1974
+
1975
+
1976
+ var Header2 = ({ name, date }) => {
1977
+ const postDate = date || /* @__PURE__ */ new Date();
1978
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "threads-preview__header", children: [
1979
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "threads-preview__name", children: name || _i18n.__.call(void 0, "Account Name", "social-previews") }),
1980
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { className: "threads-preview__date", dateTime: postDate.toISOString(), children: formatThreadsDate(postDate) })
1981
+ ] });
1982
+ };
1983
+
1984
+ // src/threads-preview/media.tsx
1985
+
1986
+
1987
+
1988
+ var Media2 = ({ media }) => {
1989
+ const filteredMedia = media.filter(
1990
+ (mediaItem) => mediaItem.type.startsWith("image/") || mediaItem.type.startsWith("video/")
1991
+ ).filter((mediaItem, idx, array) => {
1992
+ if (0 === idx) {
1993
+ return true;
1994
+ }
1995
+ if (array[0].type.startsWith("video/") || "image/gif" === array[0].type) {
1996
+ return false;
1997
+ }
1998
+ if (mediaItem.type.startsWith("video/") || "image/gif" === mediaItem.type) {
1999
+ return false;
2000
+ }
2001
+ return true;
2002
+ }).slice(0, 4);
2003
+ if (0 === filteredMedia.length) {
2004
+ return null;
2005
+ }
2006
+ const isVideo = filteredMedia[0].type.startsWith("video/");
2007
+ const mediaClasses = _clsx2.default.call(void 0, [
2008
+ "threads-preview__media",
2009
+ "threads-preview__media-children-" + filteredMedia.length
2010
+ ]);
2011
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: mediaClasses, children: filteredMedia.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: isVideo ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: mediaItem.alt || "", src: mediaItem.url }) }, `threads-preview__media-item-${index}`)) });
2012
+ };
2013
+
2014
+ // src/threads-preview/sidebar.tsx
2015
+
2016
+
2017
+ // src/threads-preview/icons/default-avatar.tsx
2018
+
2019
+ var DefaultAvatar4 = () => {
2020
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2021
+ "svg",
2022
+ {
2023
+ width: "36",
2024
+ height: "36",
2025
+ viewBox: "0 0 6.3500001 6.3500001",
2026
+ version: "1.1",
2027
+ xmlns: "http://www.w3.org/2000/svg",
2028
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "g", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "g", { children: [
2029
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2030
+ "circle",
2031
+ {
2032
+ fill: "#fff",
2033
+ fillOpacity: "1",
2034
+ stroke: "#dbdbdb",
2035
+ strokeWidth: "0.144331",
2036
+ strokeOpacity: "1",
2037
+ strokeDasharray: "none",
2038
+ cx: "3.175",
2039
+ cy: "3.175",
2040
+ r: "3.1028347"
2041
+ }
2042
+ ),
2043
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2044
+ "path",
2045
+ {
2046
+ fill: "#dbdbdb",
2047
+ fillOpacity: "1",
2048
+ stroke: "#dbdbdb",
2049
+ strokeWidth: "0.00924637",
2050
+ strokeOpacity: "1",
2051
+ d: "m 3.175,0.10128581 c -0.2931267,2e-6 -0.5848453,0.0419523 -0.866097,0.1245402 C 2.0276513,0.30840593 1.7596787,0.43063749 1.5130859,0.58911133 1.1424103,0.82733009 0.82733009,1.1424103 0.58911133,1.5130859 0.43063749,1.7596787 0.30840793,2.0276513 0.22582601,2.308903 0.14323609,2.5901547 0.10128781,2.8818733 0.10128581,3.175 c 5.02e-4,0.1391369 0.0101356,0.2782044 0.0294556,0.4159953 0.01723,0.1151309 0.0411535,0.2291443 0.0713135,0.3415812 0.0045,0.0218 0.009469,0.043412 0.0144694,0.065112 0.03449,0.1203489 0.076152,0.2387347 0.12505697,0.3539836 0.0045,0.01235 0.009253,0.0244 0.0139526,0.03669 0.05201,0.1191279 0.111111,0.235155 0.17776693,0.3467489 0.0038,0.0071 0.008066,0.013651 0.0118856,0.020671 0.0694099,0.1145998 0.14620121,0.2246049 0.22996012,0.3291788 0.0022,0.0029 0.004001,0.00589 0.006201,0.00879 0.0861099,0.1069859 0.17942183,0.208301 0.27905277,0.3028239 0.3233817,-0.5511754 0.8330913,-0.701365 1.065568,-0.697115 h 2.0629232 c 0.5904654,-0.0058 0.9954919,0.5335544 1.1032918,0.6945312 0.0993,-0.09444 0.1921923,-0.1954752 0.2780192,-0.3023071 0.0023,-0.0031 0.00442,-0.0062 0.00672,-0.0093 0.08334,-0.1042929 0.1598386,-0.2139114 0.2289266,-0.3281453 0.004,-0.0073 0.00841,-0.014891 0.012402,-0.022221 0.0663,-0.1112249 0.1254962,-0.2265057 0.1772502,-0.3451986 0.0048,-0.01266 0.00934,-0.025004 0.013953,-0.037724 0.04856,-0.1146958 0.090239,-0.2321796 0.1245402,-0.3519165 0.0053,-0.02288 0.010256,-0.046256 0.014986,-0.069246 0.02971,-0.1111369 0.05321,-0.2236822 0.07028,-0.3374471 0.01929,-0.1376588 0.028946,-0.2764746 0.029456,-0.4154785 0,-0.0503 -0.00112,-0.1006562 -0.00362,-0.1508952 -0.0049,-0.1004917 -0.014695,-0.20073 -0.029455,-0.3002469 C 6.2008813,2.6243448 6.1811701,2.5258685 6.1567301,2.4282756 6.1445102,2.3794856 6.1310225,2.330673 6.1164225,2.282548 6.0286626,1.9932503 5.8988742,1.7184607 5.7309163,1.4670939 5.6750164,1.383444 5.6149083,1.3030201 5.5510824,1.2252482 5.5191724,1.1863682 5.4861603,1.1477995 5.4523804,1.1105265 5.3848104,1.0359766 5.3140214,0.96518559 5.2394735,0.89761963 5.1276256,0.79624473 5.008419,0.70295057 4.8829061,0.61908366 4.7573922,0.53522374 4.6255915,0.46089717 4.4891317,0.39635824 c -0.09095,-0.04302 -0.1838061,-0.0813435 -0.278536,-0.11523845 -0.09473,-0.0339 -0.1912764,-0.0634 -0.2888713,-0.0878499 C 3.7752926,0.15658989 3.6265025,0.13054519 3.4762736,0.11575521 3.3761487,0.10585522 3.2756099,0.10128581 3.175,0.10128581 Z m 0,1.44125569 A 1.4106187,1.4106187 0 0 1 4.5857666,2.9533081 1.4106187,1.4106187 0 0 1 3.175,4.3635579 1.4106187,1.4106187 0 0 1 1.7642334,2.9533081 1.4106187,1.4106187 0 0 1 3.175,1.5425415 Z"
2052
+ }
2053
+ )
2054
+ ] }) })
2055
+ }
2056
+ );
2057
+ };
2058
+
2059
+ // src/threads-preview/sidebar.tsx
2060
+
2061
+ var Sidebar2 = ({ profileImage, showThreadConnector }) => {
2062
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "threads-preview__sidebar", children: [
2063
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "threads-preview__profile-image", children: profileImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { alt: _i18n.__.call(void 0, "Threads profile image", "social-previews"), src: profileImage }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultAvatar4, {}) }),
2064
+ showThreadConnector && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "threads-preview__connector" })
2065
+ ] });
2066
+ };
2067
+
2068
+ // src/threads-preview/post-preview.tsx
2069
+
2070
+ var ThreadsPostPreview = ({
2071
+ caption,
2072
+ date,
2073
+ image,
2074
+ media,
2075
+ name,
2076
+ profileImage,
2077
+ showThreadConnector,
2078
+ title,
2079
+ url
2080
+ }) => {
2081
+ const hasMedia = !!_optionalChain([media, 'optionalAccess', _31 => _31.length]);
2082
+ const displayAsCard = url && image && !hasMedia;
2083
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "threads-preview__wrapper", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "threads-preview__container", children: [
2084
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Sidebar2, { profileImage, showThreadConnector }),
2085
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "threads-preview__main", children: [
2086
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Header2, { name, date }),
2087
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "threads-preview__content", children: [
2088
+ caption ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "threads-preview__text", children: preparePreviewText(caption, {
2089
+ platform: "threads",
2090
+ maxChars: CAPTION_MAX_CHARS
2091
+ }) }) : null,
2092
+ hasMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Media2, { media }) : null,
2093
+ displayAsCard ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card2, { image, title: title || "", url }) : null
2094
+ ] }),
2095
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Footer2, {})
2096
+ ] })
2097
+ ] }) });
2098
+ };
2099
+
2100
+ // src/threads-preview/link-preview.tsx
2101
+
2102
+ var ThreadsLinkPreview = (props) => {
2103
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2104
+ ThreadsPostPreview,
2105
+ {
2106
+ ...props,
2107
+ caption: "",
2108
+ media: void 0
2109
+ }
2110
+ );
2111
+ };
2112
+
2113
+ // src/threads-preview/previews.tsx
2114
+
2115
+
2116
+ var ThreadsPreviews = ({
2117
+ headingLevel,
2118
+ hideLinkPreview,
2119
+ hidePostPreview,
2120
+ posts
2121
+ }) => {
2122
+ if (!_optionalChain([posts, 'optionalAccess', _32 => _32.length])) {
2123
+ return null;
2124
+ }
2125
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "social-preview threads-preview", children: [
2126
+ !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section threads-preview__section", children: [
2127
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
2128
+ level: headingLevel,
2129
+ // translators: refers to a social post on Threads
2130
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
2131
+ }),
2132
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0, "This is what your social post will look like on Threads:", "social-previews") }),
2133
+ posts.map((post, index) => {
2134
+ const isLast = index + 1 === posts.length;
2135
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2136
+ ThreadsPostPreview,
2137
+ {
2138
+ ...post,
2139
+ showThreadConnector: !isLast
2140
+ },
2141
+ `threads-preview__post-${index}`
2142
+ );
2143
+ })
2144
+ ] }),
2145
+ !hideLinkPreview ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section threads-preview__section", children: [
2146
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
2147
+ level: headingLevel,
2148
+ // translators: refers to a link to a Threads post
2149
+ children: _i18n.__.call(void 0, "Link preview", "social-previews")
2150
+ }),
2151
+ posts[0].image ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2152
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
2153
+ "This is what it will look like when someone shares the link to your WordPress post on Threads.",
2154
+ "social-previews"
2155
+ ) }),
2156
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadsLinkPreview, { ...posts[0], name: "", profileImage: "" })
2157
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
2158
+ "Threads link preview requires an image to be set for the post. Please add an image to see the preview.",
2159
+ "social-previews"
2160
+ ) })
2161
+ ] }) : null
2162
+ ] });
2163
+ };
2164
+
2165
+ // src/instagram-preview/post-preview.tsx
2166
+
2167
+
2168
+ // src/instagram-preview/constants.tsx
2169
+ var FEED_TEXT_MAX_LENGTH3 = 520;
2170
+
2171
+ // src/instagram-preview/icons/bookmark.tsx
2172
+
2173
+ var Bookmark = () => {
2174
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2175
+ "svg",
2176
+ {
2177
+ color: "rgb(38, 38, 38)",
2178
+ fill: "rgb(38, 38, 38)",
2179
+ height: "24",
2180
+ role: "img",
2181
+ viewBox: "0 0 24 24",
2182
+ width: "24",
2183
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2184
+ "polygon",
2185
+ {
2186
+ fill: "none",
2187
+ points: "20 21 12 13.44 4 21 4 3 20 3 20 21",
2188
+ stroke: "currentColor",
2189
+ strokeLinecap: "round",
2190
+ strokeLinejoin: "round",
2191
+ strokeWidth: "2"
2192
+ }
2193
+ )
2194
+ }
2195
+ );
2196
+ };
2197
+
2198
+ // src/instagram-preview/icons/comment.tsx
2199
+
2200
+ var Comment = () => {
2201
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2202
+ "svg",
2203
+ {
2204
+ color: "rgb(38, 38, 38)",
2205
+ fill: "rgb(38, 38, 38)",
2206
+ height: "24",
2207
+ role: "img",
2208
+ viewBox: "0 0 24 24",
2209
+ width: "24",
2210
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2211
+ "path",
2212
+ {
2213
+ d: "M20.656 17.008a9.993 9.993 0 1 0-3.59 3.615L22 22Z",
2214
+ fill: "none",
2215
+ stroke: "currentColor",
2216
+ strokeLinejoin: "round",
2217
+ strokeWidth: "2"
2218
+ }
2219
+ )
2220
+ }
2221
+ );
2222
+ };
2223
+
2224
+ // src/instagram-preview/icons/default-avatar.tsx
2225
+
2226
+ var DefaultAvatar5 = () => {
2227
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 340 340", width: "340", height: "340", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2228
+ "path",
2229
+ {
2230
+ fill: "#DDD",
2231
+ d: "m169,.5a169,169 0 1,0 2,0zm0,86a76,76 0 1 1-2,0zM57,287q27-35 67-35h92q40,0 67,35a164,164 0 0,1-226,0"
2232
+ }
2233
+ ) });
2234
+ };
2235
+
2236
+ // src/instagram-preview/icons/heart.tsx
2237
+
2238
+ var Heart = () => {
2239
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2240
+ "svg",
2241
+ {
2242
+ color: "rgb(38, 38, 38)",
2243
+ fill: "rgb(38, 38, 38)",
2244
+ height: "24",
2245
+ role: "img",
2246
+ viewBox: "0 0 24 24",
2247
+ width: "24",
2248
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M16.792 3.904A4.989 4.989 0 0 1 21.5 9.122c0 3.072-2.652 4.959-5.197 7.222-2.512 2.243-3.865 3.469-4.303 3.752-.477-.309-2.143-1.823-4.303-3.752C5.141 14.072 2.5 12.167 2.5 9.122a4.989 4.989 0 0 1 4.708-5.218 4.21 4.21 0 0 1 3.675 1.941c.84 1.175.98 1.763 1.12 1.763s.278-.588 1.11-1.766a4.17 4.17 0 0 1 3.679-1.938m0-2a6.04 6.04 0 0 0-4.797 2.127 6.052 6.052 0 0 0-4.787-2.127A6.985 6.985 0 0 0 .5 9.122c0 3.61 2.55 5.827 5.015 7.97.283.246.569.494.853.747l1.027.918a44.998 44.998 0 0 0 3.518 3.018 2 2 0 0 0 2.174 0 45.263 45.263 0 0 0 3.626-3.115l.922-.824c.293-.26.59-.519.885-.774 2.334-2.025 4.98-4.32 4.98-7.94a6.985 6.985 0 0 0-6.708-7.218Z" })
2249
+ }
2250
+ );
2251
+ };
2252
+
2253
+ // src/instagram-preview/icons/menu.tsx
2254
+
2255
+ var Menu = () => {
2256
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { width: "17", height: "5", viewBox: "0 0 17 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
2257
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2258
+ "path",
2259
+ {
2260
+ d: "M2.11865 3.5C2.67094 3.5 3.11865 3.05228 3.11865 2.5C3.11865 1.94772 2.67094 1.5 2.11865 1.5C1.56637 1.5 1.11865 1.94772 1.11865 2.5C1.11865 3.05228 1.56637 3.5 2.11865 3.5Z",
2261
+ fill: "black",
2262
+ stroke: "black",
2263
+ strokeWidth: "2"
2264
+ }
2265
+ ),
2266
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2267
+ "path",
2268
+ {
2269
+ d: "M8.55933 3.5C9.11161 3.5 9.55933 3.05228 9.55933 2.5C9.55933 1.94772 9.11161 1.5 8.55933 1.5C8.00704 1.5 7.55933 1.94772 7.55933 2.5C7.55933 3.05228 8.00704 3.5 8.55933 3.5Z",
2270
+ fill: "black",
2271
+ stroke: "black",
2272
+ strokeWidth: "2"
2273
+ }
2274
+ ),
2275
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2276
+ "path",
2277
+ {
2278
+ d: "M15 3.5C15.5523 3.5 16 3.05228 16 2.5C16 1.94772 15.5523 1.5 15 1.5C14.4477 1.5 14 1.94772 14 2.5C14 3.05228 14.4477 3.5 15 3.5Z",
2279
+ fill: "black",
2280
+ stroke: "black",
2281
+ strokeWidth: "2"
2282
+ }
2283
+ )
2284
+ ] });
2285
+ };
2286
+
2287
+ // src/instagram-preview/icons/share.tsx
2288
+
2289
+ var Share = () => {
2290
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2291
+ "svg",
2292
+ {
2293
+ color: "rgb(38, 38, 38)",
2294
+ fill: "rgb(38, 38, 38)",
2295
+ height: "24",
2296
+ role: "img",
2297
+ viewBox: "0 0 24 24",
2298
+ width: "24",
2299
+ children: [
2300
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2301
+ "line",
2302
+ {
2303
+ fill: "none",
2304
+ stroke: "currentColor",
2305
+ strokeLinejoin: "round",
2306
+ strokeWidth: "2",
2307
+ x1: "22",
2308
+ x2: "9.218",
2309
+ y1: "3",
2310
+ y2: "10.083"
2311
+ }
2312
+ ),
2313
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2314
+ "polygon",
2315
+ {
2316
+ fill: "none",
2317
+ points: "11.698 20.334 22 3.001 2 3.001 9.218 10.084 11.698 20.334",
2318
+ stroke: "currentColor",
2319
+ strokeLinejoin: "round",
2320
+ strokeWidth: "2"
2321
+ }
2322
+ )
2323
+ ]
2324
+ }
2325
+ );
2326
+ };
2327
+
2328
+ // src/instagram-preview/post-preview.tsx
2329
+
2330
+ function InstagramPostPreview({
2331
+ image,
2332
+ media,
2333
+ name,
2334
+ profileImage,
2335
+ caption,
2336
+ url
2337
+ }) {
2338
+ const username = name || "username";
2339
+ const mediaItem = _optionalChain([media, 'optionalAccess', _33 => _33[0]]);
2340
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__wrapper", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "instagram-preview__container", children: [
2341
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "instagram-preview__header", children: [
2342
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__header--avatar", children: profileImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: profileImage, alt: "" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultAvatar5, {}) }),
2343
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "instagram-preview__header--profile", children: [
2344
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__header--profile-name", children: username }),
2345
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__header--profile-menu", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Menu, {}) })
2346
+ ] })
2347
+ ] }),
2348
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__media", children: mediaItem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__media-item", children: mediaItem.type.startsWith("video/") ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "video", { controls: false, className: "instagram-preview__media--video", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { src: mediaItem.url, type: mediaItem.type }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "instagram-preview__media--image", src: mediaItem.url, alt: "" }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { className: "instagram-preview__media--image", src: image, alt: "" }) }),
2349
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "instagram-preview__content", children: [
2350
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "instagram-preview__content--actions", children: [
2351
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "instagram-preview__content--actions-primary", children: [
2352
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Heart, {}),
2353
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Comment, {}),
2354
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Share, {})
2355
+ ] }),
2356
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__content--actions-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Bookmark, {}) })
2357
+ ] }),
2358
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "instagram-preview__content--body", children: [
2359
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__content--name", children: username }),
2360
+ "\xA0",
2361
+ caption ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "instagram-preview__content--text", children: [
2362
+ preparePreviewText(caption, {
2363
+ platform: "instagram",
2364
+ maxChars: FEED_TEXT_MAX_LENGTH3
2365
+ }),
2366
+ media && url && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2367
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "br", {}),
2368
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "br", {}),
2369
+ url
2370
+ ] })
2371
+ ] }) : null
2372
+ ] }),
2373
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "instagram-preview__content--footer", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _i18n.__.call(void 0, "View one comment", "social-previews") }) })
2374
+ ] })
2375
+ ] }) });
2376
+ }
2377
+
2378
+ // src/instagram-preview/previews.tsx
2379
+
2380
+
2381
+ var InstagramPreviews = ({
2382
+ headingLevel,
2383
+ hidePostPreview,
2384
+ ...props
2385
+ }) => {
2386
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "social-preview instagram-preview", children: !hidePostPreview && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: "social-preview__section instagram-preview__section", children: [
2387
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, section_heading_default, {
2388
+ level: headingLevel,
2389
+ // translators: refers to a social post on Instagram
2390
+ children: _i18n.__.call(void 0, "Your post", "social-previews")
2391
+ }),
2392
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "social-preview__section-desc", children: _i18n.__.call(void 0,
2393
+ "This is what your social post will look like on Instagram:",
2394
+ "social-previews"
2395
+ ) }),
2396
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InstagramPostPreview, { ...props })
2397
+ ] }) });
2398
+ };
2399
+
2400
+
2401
+
2402
+
2403
+
2404
+
2405
+
2406
+
2407
+
2408
+
2409
+
2410
+
2411
+
2412
+
2413
+
2414
+
2415
+
2416
+
2417
+
2418
+
2419
+
2420
+
2421
+
2422
+
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+ exports.AUTO_SHARED_LINK_PREVIEW = AUTO_SHARED_LINK_PREVIEW; exports.AUTO_SHARED_SOCIAL_POST_PREVIEW = AUTO_SHARED_SOCIAL_POST_PREVIEW; exports.BlueskyLinkPreview = BlueskyLinkPreview; exports.BlueskyPostPreview = BlueskyPostPreview; exports.BlueskyPreviews = BlueskyPreviews; exports.DEFAULT_LINK_PREVIEW = DEFAULT_LINK_PREVIEW; exports.FacebookLinkPreview = FacebookLinkPreview; exports.FacebookPostPreview = FacebookPostPreview; exports.FacebookPreviews = FacebookPreviews; exports.GoogleSearchPreview = GoogleSearchPreview; exports.InstagramPostPreview = InstagramPostPreview; exports.InstagramPreviews = InstagramPreviews; exports.LANDSCAPE_MODE = LANDSCAPE_MODE; exports.LinkedInLinkPreview = LinkedInLinkPreview; exports.LinkedInPostPreview = LinkedInPostPreview; exports.LinkedInPreviews = LinkedInPreviews; exports.MastodonLinkPreview = MastodonLinkPreview; exports.MastodonPostPreview = MastodonPostPreview; exports.MastodonPreviews = MastodonPreviews; exports.NextdoorLinkPreview = NextdoorLinkPreview; exports.NextdoorPostPreview = NextdoorPostPreview; exports.NextdoorPreviews = NextdoorPreviews; exports.PORTRAIT_MODE = PORTRAIT_MODE; exports.TYPE_ARTICLE = TYPE_ARTICLE; exports.TYPE_WEBSITE = TYPE_WEBSITE; exports.ThreadsLinkPreview = ThreadsLinkPreview; exports.ThreadsPostPreview = ThreadsPostPreview; exports.ThreadsPreviews = ThreadsPreviews; exports.TumblrLinkPreview = TumblrLinkPreview; exports.TumblrPostPreview = TumblrPostPreview; exports.TumblrPreviews = TumblrPreviews; exports.TwitterLinkPreview = TwitterLinkPreview; exports.TwitterPostPreview = TwitterPostPreview; exports.TwitterPreviews = TwitterPreviews;
2435
+ //# sourceMappingURL=index.js.map