UNPKG

@wordpress/block-library

Version:
361 lines (360 loc) 11.1 kB
// packages/block-library/src/embed/variations.js import { __, sprintf } from "@wordpress/i18n"; import { embedContentIcon, embedAudioIcon, embedPhotoIcon, embedVideoIcon, embedTwitterIcon, embedYouTubeIcon, embedFacebookIcon, embedInstagramIcon, embedWordPressIcon, embedSpotifyIcon, embedFlickrIcon, embedVimeoIcon, embedRedditIcon, embedTumblrIcon, embedAmazonIcon, embedAnimotoIcon, embedDailymotionIcon, embedPinterestIcon, embedWolframIcon, embedPocketCastsIcon, embedBlueskyIcon } from "./icons"; function getTitle(providerName) { return sprintf( /* translators: %s: provider name */ __("%s Embed"), providerName ); } var variations = [ { name: "twitter", title: getTitle("X"), icon: embedTwitterIcon, keywords: ["x", "twitter", "tweet", __("social")], description: __("Embed an X post."), patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i], attributes: { providerNameSlug: "twitter", responsive: true } }, { name: "youtube", title: getTitle("YouTube"), icon: embedYouTubeIcon, keywords: [__("music"), __("video")], description: __("Embed a YouTube video."), patterns: [ /^https?:\/\/((m|www)\.)?youtube\.com\/.+/i, /^https?:\/\/youtu\.be\/.+/i ], attributes: { providerNameSlug: "youtube", responsive: true } }, { // Deprecate Facebook Embed per FB policy // See: https://developers.facebook.com/docs/plugins/oembed-legacy name: "facebook", title: getTitle("Facebook"), icon: embedFacebookIcon, keywords: [__("social")], description: __("Embed a Facebook post."), scope: ["block"], patterns: [], attributes: { providerNameSlug: "facebook", previewable: false, responsive: true } }, { // Deprecate Instagram per FB policy // See: https://developers.facebook.com/docs/instagram/oembed-legacy name: "instagram", title: getTitle("Instagram"), icon: embedInstagramIcon, keywords: [__("image"), __("social")], description: __("Embed an Instagram post."), scope: ["block"], patterns: [], attributes: { providerNameSlug: "instagram", responsive: true } }, { name: "wordpress", title: getTitle("WordPress"), icon: embedWordPressIcon, keywords: [__("post"), __("blog")], description: __("Embed a WordPress post."), attributes: { providerNameSlug: "wordpress" } }, { name: "soundcloud", title: getTitle("SoundCloud"), icon: embedAudioIcon, keywords: [__("music"), __("audio")], description: __("Embed SoundCloud content."), patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i], attributes: { providerNameSlug: "soundcloud", responsive: true } }, { name: "spotify", title: getTitle("Spotify"), icon: embedSpotifyIcon, keywords: [__("music"), __("audio")], description: __("Embed Spotify content."), patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i], attributes: { providerNameSlug: "spotify", responsive: true } }, { name: "flickr", title: getTitle("Flickr"), icon: embedFlickrIcon, keywords: [__("image")], description: __("Embed Flickr content."), patterns: [ /^https?:\/\/(www\.)?flickr\.com\/.+/i, /^https?:\/\/flic\.kr\/.+/i ], attributes: { providerNameSlug: "flickr", responsive: true } }, { name: "vimeo", title: getTitle("Vimeo"), icon: embedVimeoIcon, keywords: [__("video")], description: __("Embed a Vimeo video."), patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i], attributes: { providerNameSlug: "vimeo", responsive: true } }, { name: "animoto", title: getTitle("Animoto"), icon: embedAnimotoIcon, description: __("Embed an Animoto video."), patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i], attributes: { providerNameSlug: "animoto", responsive: true } }, { name: "cloudup", title: getTitle("Cloudup"), icon: embedContentIcon, description: __("Embed Cloudup content."), patterns: [/^https?:\/\/cloudup\.com\/.+/i], attributes: { providerNameSlug: "cloudup", responsive: true } }, { // Deprecated since CollegeHumor content is now powered by YouTube. name: "collegehumor", title: getTitle("CollegeHumor"), icon: embedVideoIcon, description: __("Embed CollegeHumor content."), scope: ["block"], patterns: [], attributes: { providerNameSlug: "collegehumor", responsive: true } }, { name: "crowdsignal", title: getTitle("Crowdsignal"), icon: embedContentIcon, keywords: ["polldaddy", __("survey")], description: __("Embed Crowdsignal (formerly Polldaddy) content."), patterns: [ /^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.crowdsignal\.net|.+\.survey\.fm)\/.+/i ], attributes: { providerNameSlug: "crowdsignal", responsive: true } }, { name: "dailymotion", title: getTitle("Dailymotion"), icon: embedDailymotionIcon, keywords: [__("video")], description: __("Embed a Dailymotion video."), patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i], attributes: { providerNameSlug: "dailymotion", responsive: true } }, { name: "imgur", title: getTitle("Imgur"), icon: embedPhotoIcon, description: __("Embed Imgur content."), patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i], attributes: { providerNameSlug: "imgur", responsive: true } }, { name: "issuu", title: getTitle("Issuu"), icon: embedContentIcon, description: __("Embed Issuu content."), patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i], attributes: { providerNameSlug: "issuu", responsive: true } }, { name: "kickstarter", title: getTitle("Kickstarter"), icon: embedContentIcon, description: __("Embed Kickstarter content."), patterns: [ /^https?:\/\/(www\.)?kickstarter\.com\/.+/i, /^https?:\/\/kck\.st\/.+/i ], attributes: { providerNameSlug: "kickstarter", responsive: true } }, { name: "mixcloud", title: getTitle("Mixcloud"), icon: embedAudioIcon, keywords: [__("music"), __("audio")], description: __("Embed Mixcloud content."), patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i], attributes: { providerNameSlug: "mixcloud", responsive: true } }, { name: "pocket-casts", title: getTitle("Pocket Casts"), icon: embedPocketCastsIcon, keywords: [__("podcast"), __("audio")], description: __("Embed a podcast player from Pocket Casts."), patterns: [/^https:\/\/pca.st\/\w+/i], attributes: { providerNameSlug: "pocket-casts", responsive: true } }, { name: "reddit", title: getTitle("Reddit"), icon: embedRedditIcon, description: __("Embed a Reddit thread."), patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i], attributes: { providerNameSlug: "reddit", responsive: true } }, { name: "reverbnation", title: getTitle("ReverbNation"), icon: embedAudioIcon, description: __("Embed ReverbNation content."), patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i], attributes: { providerNameSlug: "reverbnation", responsive: true } }, { name: "scribd", title: getTitle("Scribd"), icon: embedContentIcon, description: __("Embed Scribd content."), patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i], attributes: { providerNameSlug: "scribd", responsive: true } }, { name: "smugmug", title: getTitle("SmugMug"), icon: embedPhotoIcon, description: __("Embed SmugMug content."), patterns: [/^https?:\/\/(.+\.)?smugmug\.com\/.*/i], attributes: { providerNameSlug: "smugmug", previewable: false, responsive: true } }, { name: "speaker-deck", title: getTitle("Speaker Deck"), icon: embedContentIcon, description: __("Embed Speaker Deck content."), patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i], attributes: { providerNameSlug: "speaker-deck", responsive: true } }, { name: "tiktok", title: getTitle("TikTok"), icon: embedVideoIcon, keywords: [__("video")], description: __("Embed a TikTok video."), patterns: [/^https?:\/\/(www\.)?tiktok\.com\/.+/i], attributes: { providerNameSlug: "tiktok", responsive: true } }, { name: "ted", title: getTitle("TED"), icon: embedVideoIcon, description: __("Embed a TED video."), patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i], attributes: { providerNameSlug: "ted", responsive: true } }, { name: "tumblr", title: getTitle("Tumblr"), icon: embedTumblrIcon, keywords: [__("social")], description: __("Embed a Tumblr post."), patterns: [/^https?:\/\/(.+)\.tumblr\.com\/.+/i], attributes: { providerNameSlug: "tumblr", responsive: true } }, { name: "videopress", title: getTitle("VideoPress"), icon: embedVideoIcon, keywords: [__("video")], description: __("Embed a VideoPress video."), patterns: [/^https?:\/\/videopress\.com\/.+/i], attributes: { providerNameSlug: "videopress", responsive: true } }, { name: "wordpress-tv", title: getTitle("WordPress.tv"), icon: embedVideoIcon, description: __("Embed a WordPress.tv video."), patterns: [/^https?:\/\/wordpress\.tv\/.+/i], attributes: { providerNameSlug: "wordpress-tv", responsive: true } }, { name: "amazon-kindle", title: getTitle("Amazon Kindle"), icon: embedAmazonIcon, keywords: [__("ebook")], description: __("Embed Amazon Kindle content."), patterns: [ /^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i, /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i ], attributes: { providerNameSlug: "amazon-kindle" } }, { name: "pinterest", title: getTitle("Pinterest"), icon: embedPinterestIcon, keywords: [__("social"), __("bookmark")], description: __("Embed Pinterest pins, boards, and profiles."), patterns: [ /^https?:\/\/([a-z]{2}|www)\.pinterest\.com(\.(au|mx))?\/.*/i ], attributes: { providerNameSlug: "pinterest" } }, { name: "wolfram-cloud", title: getTitle("Wolfram"), icon: embedWolframIcon, description: __("Embed Wolfram notebook content."), patterns: [/^https?:\/\/(www\.)?wolframcloud\.com\/obj\/.+/i], attributes: { providerNameSlug: "wolfram-cloud", responsive: true } }, { name: "bluesky", title: getTitle("Bluesky"), icon: embedBlueskyIcon, description: __("Embed a Bluesky post."), patterns: [/^https?:\/\/bsky\.app\/profile\/.+\/post\/.+/i], attributes: { providerNameSlug: "bluesky" } } ]; variations.forEach((variation) => { if (variation.isActive) { return; } variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.providerNameSlug === variationAttributes.providerNameSlug; }); var variations_default = variations; export { variations_default as default }; //# sourceMappingURL=variations.js.map