@wordpress/block-library
Version:
Block library for the WordPress editor.
360 lines (358 loc) • 13 kB
JavaScript
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// packages/block-library/src/embed/variations.js
var variations_exports = {};
__export(variations_exports, {
default: () => variations_default
});
module.exports = __toCommonJS(variations_exports);
var import_i18n = require("@wordpress/i18n");
var import_icons = require("./icons");
function getTitle(providerName) {
return (0, import_i18n.sprintf)(
/* translators: %s: provider name */
(0, import_i18n.__)("%s Embed"),
providerName
);
}
var variations = [
{
name: "twitter",
title: getTitle("X"),
icon: import_icons.embedTwitterIcon,
keywords: ["x", "twitter", "tweet", (0, import_i18n.__)("social")],
description: (0, import_i18n.__)("Embed an X post."),
patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i],
attributes: { providerNameSlug: "twitter", responsive: true }
},
{
name: "youtube",
title: getTitle("YouTube"),
icon: import_icons.embedYouTubeIcon,
keywords: [(0, import_i18n.__)("music"), (0, import_i18n.__)("video")],
description: (0, import_i18n.__)("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: import_icons.embedFacebookIcon,
keywords: [(0, import_i18n.__)("social")],
description: (0, import_i18n.__)("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: import_icons.embedInstagramIcon,
keywords: [(0, import_i18n.__)("image"), (0, import_i18n.__)("social")],
description: (0, import_i18n.__)("Embed an Instagram post."),
scope: ["block"],
patterns: [],
attributes: { providerNameSlug: "instagram", responsive: true }
},
{
name: "wordpress",
title: getTitle("WordPress"),
icon: import_icons.embedWordPressIcon,
keywords: [(0, import_i18n.__)("post"), (0, import_i18n.__)("blog")],
description: (0, import_i18n.__)("Embed a WordPress post."),
attributes: {
providerNameSlug: "wordpress"
}
},
{
name: "soundcloud",
title: getTitle("SoundCloud"),
icon: import_icons.embedAudioIcon,
keywords: [(0, import_i18n.__)("music"), (0, import_i18n.__)("audio")],
description: (0, import_i18n.__)("Embed SoundCloud content."),
patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i],
attributes: { providerNameSlug: "soundcloud", responsive: true }
},
{
name: "spotify",
title: getTitle("Spotify"),
icon: import_icons.embedSpotifyIcon,
keywords: [(0, import_i18n.__)("music"), (0, import_i18n.__)("audio")],
description: (0, import_i18n.__)("Embed Spotify content."),
patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i],
attributes: { providerNameSlug: "spotify", responsive: true }
},
{
name: "flickr",
title: getTitle("Flickr"),
icon: import_icons.embedFlickrIcon,
keywords: [(0, import_i18n.__)("image")],
description: (0, import_i18n.__)("Embed Flickr content."),
patterns: [
/^https?:\/\/(www\.)?flickr\.com\/.+/i,
/^https?:\/\/flic\.kr\/.+/i
],
attributes: { providerNameSlug: "flickr", responsive: true }
},
{
name: "vimeo",
title: getTitle("Vimeo"),
icon: import_icons.embedVimeoIcon,
keywords: [(0, import_i18n.__)("video")],
description: (0, import_i18n.__)("Embed a Vimeo video."),
patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i],
attributes: { providerNameSlug: "vimeo", responsive: true }
},
{
name: "animoto",
title: getTitle("Animoto"),
icon: import_icons.embedAnimotoIcon,
description: (0, import_i18n.__)("Embed an Animoto video."),
patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i],
attributes: { providerNameSlug: "animoto", responsive: true }
},
{
name: "cloudup",
title: getTitle("Cloudup"),
icon: import_icons.embedContentIcon,
description: (0, import_i18n.__)("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: import_icons.embedVideoIcon,
description: (0, import_i18n.__)("Embed CollegeHumor content."),
scope: ["block"],
patterns: [],
attributes: { providerNameSlug: "collegehumor", responsive: true }
},
{
name: "crowdsignal",
title: getTitle("Crowdsignal"),
icon: import_icons.embedContentIcon,
keywords: ["polldaddy", (0, import_i18n.__)("survey")],
description: (0, import_i18n.__)("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: import_icons.embedDailymotionIcon,
keywords: [(0, import_i18n.__)("video")],
description: (0, import_i18n.__)("Embed a Dailymotion video."),
patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i],
attributes: { providerNameSlug: "dailymotion", responsive: true }
},
{
name: "imgur",
title: getTitle("Imgur"),
icon: import_icons.embedPhotoIcon,
description: (0, import_i18n.__)("Embed Imgur content."),
patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i],
attributes: { providerNameSlug: "imgur", responsive: true }
},
{
name: "issuu",
title: getTitle("Issuu"),
icon: import_icons.embedContentIcon,
description: (0, import_i18n.__)("Embed Issuu content."),
patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i],
attributes: { providerNameSlug: "issuu", responsive: true }
},
{
name: "kickstarter",
title: getTitle("Kickstarter"),
icon: import_icons.embedContentIcon,
description: (0, import_i18n.__)("Embed Kickstarter content."),
patterns: [
/^https?:\/\/(www\.)?kickstarter\.com\/.+/i,
/^https?:\/\/kck\.st\/.+/i
],
attributes: { providerNameSlug: "kickstarter", responsive: true }
},
{
name: "mixcloud",
title: getTitle("Mixcloud"),
icon: import_icons.embedAudioIcon,
keywords: [(0, import_i18n.__)("music"), (0, import_i18n.__)("audio")],
description: (0, import_i18n.__)("Embed Mixcloud content."),
patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i],
attributes: { providerNameSlug: "mixcloud", responsive: true }
},
{
name: "pocket-casts",
title: getTitle("Pocket Casts"),
icon: import_icons.embedPocketCastsIcon,
keywords: [(0, import_i18n.__)("podcast"), (0, import_i18n.__)("audio")],
description: (0, import_i18n.__)("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: import_icons.embedRedditIcon,
description: (0, import_i18n.__)("Embed a Reddit thread."),
patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i],
attributes: { providerNameSlug: "reddit", responsive: true }
},
{
name: "reverbnation",
title: getTitle("ReverbNation"),
icon: import_icons.embedAudioIcon,
description: (0, import_i18n.__)("Embed ReverbNation content."),
patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i],
attributes: { providerNameSlug: "reverbnation", responsive: true }
},
{
name: "scribd",
title: getTitle("Scribd"),
icon: import_icons.embedContentIcon,
description: (0, import_i18n.__)("Embed Scribd content."),
patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i],
attributes: { providerNameSlug: "scribd", responsive: true }
},
{
name: "smugmug",
title: getTitle("SmugMug"),
icon: import_icons.embedPhotoIcon,
description: (0, import_i18n.__)("Embed SmugMug content."),
patterns: [/^https?:\/\/(.+\.)?smugmug\.com\/.*/i],
attributes: {
providerNameSlug: "smugmug",
previewable: false,
responsive: true
}
},
{
name: "speaker-deck",
title: getTitle("Speaker Deck"),
icon: import_icons.embedContentIcon,
description: (0, import_i18n.__)("Embed Speaker Deck content."),
patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i],
attributes: { providerNameSlug: "speaker-deck", responsive: true }
},
{
name: "tiktok",
title: getTitle("TikTok"),
icon: import_icons.embedVideoIcon,
keywords: [(0, import_i18n.__)("video")],
description: (0, import_i18n.__)("Embed a TikTok video."),
patterns: [/^https?:\/\/(www\.)?tiktok\.com\/.+/i],
attributes: { providerNameSlug: "tiktok", responsive: true }
},
{
name: "ted",
title: getTitle("TED"),
icon: import_icons.embedVideoIcon,
description: (0, import_i18n.__)("Embed a TED video."),
patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i],
attributes: { providerNameSlug: "ted", responsive: true }
},
{
name: "tumblr",
title: getTitle("Tumblr"),
icon: import_icons.embedTumblrIcon,
keywords: [(0, import_i18n.__)("social")],
description: (0, import_i18n.__)("Embed a Tumblr post."),
patterns: [/^https?:\/\/(.+)\.tumblr\.com\/.+/i],
attributes: { providerNameSlug: "tumblr", responsive: true }
},
{
name: "videopress",
title: getTitle("VideoPress"),
icon: import_icons.embedVideoIcon,
keywords: [(0, import_i18n.__)("video")],
description: (0, import_i18n.__)("Embed a VideoPress video."),
patterns: [/^https?:\/\/videopress\.com\/.+/i],
attributes: { providerNameSlug: "videopress", responsive: true }
},
{
name: "wordpress-tv",
title: getTitle("WordPress.tv"),
icon: import_icons.embedVideoIcon,
description: (0, import_i18n.__)("Embed a WordPress.tv video."),
patterns: [/^https?:\/\/wordpress\.tv\/.+/i],
attributes: { providerNameSlug: "wordpress-tv", responsive: true }
},
{
name: "amazon-kindle",
title: getTitle("Amazon Kindle"),
icon: import_icons.embedAmazonIcon,
keywords: [(0, import_i18n.__)("ebook")],
description: (0, import_i18n.__)("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: import_icons.embedPinterestIcon,
keywords: [(0, import_i18n.__)("social"), (0, import_i18n.__)("bookmark")],
description: (0, import_i18n.__)("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: import_icons.embedWolframIcon,
description: (0, import_i18n.__)("Embed Wolfram notebook content."),
patterns: [/^https?:\/\/(www\.)?wolframcloud\.com\/obj\/.+/i],
attributes: { providerNameSlug: "wolfram-cloud", responsive: true }
},
{
name: "bluesky",
title: getTitle("Bluesky"),
icon: import_icons.embedBlueskyIcon,
description: (0, import_i18n.__)("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;
//# sourceMappingURL=variations.js.map