@automattic/calypso-products
Version:
This module contains information about the various products sold within calypso, such as product slugs, plan intervals, etc.
627 lines • 32.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.featureGroups = void 0;
exports.resolveFeatureGroupsForFeaturesGrid = resolveFeatureGroupsForFeaturesGrid;
exports.resolveFeatureGroupsForComparisonGrid = resolveFeatureGroupsForComparisonGrid;
exports.resolveWooExpressFeatureGroupsForComparisonGrid = resolveWooExpressFeatureGroupsForComparisonGrid;
exports.resolveWooHostedFeatureGroupsForFeaturesGrid = resolveWooHostedFeatureGroupsForFeaturesGrid;
exports.resolveWooHostedFeatureGroupsForComparisonGrid = resolveWooHostedFeatureGroupsForComparisonGrid;
exports.resolveWordPressHostingFeatureGroupsForFeaturesGrid = resolveWordPressHostingFeatureGroupsForFeaturesGrid;
const tslib_1 = require("tslib");
const i18n_calypso_1 = tslib_1.__importDefault(require("i18n-calypso"));
const constants_1 = require("./constants");
const isUploadVideosTranslated = () => {
const isEnglishLocale = i18n_calypso_1.default.getLocaleSlug()?.startsWith('en');
const hasUploadVideoTranslation = i18n_calypso_1.default.hasTranslation('Upload videos') &&
i18n_calypso_1.default.hasTranslation('Upload video files like mp4 and display them beautifully in 4K resolution, with picture-in-picture, subtitles, and without intrusive ads.');
return isEnglishLocale || hasUploadVideoTranslation;
};
const isStatsGroupTranslated = () => {
const isEnglishLocale = i18n_calypso_1.default.getLocaleSlug()?.startsWith('en');
const hasTranslation = i18n_calypso_1.default.hasTranslation('Stats') && i18n_calypso_1.default.hasTranslation('Premium stats');
return isEnglishLocale || hasTranslation;
};
exports.featureGroups = {
[constants_1.FEATURE_GROUP_ALL_FEATURES]: {
slug: constants_1.FEATURE_GROUP_ALL_FEATURES,
getTitle: () => null, // Intentionally null, as this is a placeholder for all features.
getFeatures: () => [], // This is a placeholder for now. It will not be processed, but theoretically a reference to all the features.
},
[constants_1.FEATURE_GROUP_STORAGE]: {
slug: constants_1.FEATURE_GROUP_STORAGE,
getTitle: () => i18n_calypso_1.default.translate('Storage'),
getFeatures: () => [], // Intentionally empty for now. We will include a fixed list of feature slugs in a follow-up.
},
[constants_1.FEATURE_GROUP_ESSENTIAL_FEATURES]: {
slug: constants_1.FEATURE_GROUP_ESSENTIAL_FEATURES,
getTitle: () => i18n_calypso_1.default.translate('Essential features'),
getFeatures: () => [
constants_1.FEATURE_PAGES,
constants_1.FEATURE_USERS,
constants_1.FEATURE_POST_EDITS_HISTORY,
constants_1.FEATURE_ALWAYS_ONLINE,
constants_1.FEATURE_CUSTOM_DOMAIN,
constants_1.FEATURE_BANDWIDTH,
constants_1.FEATURE_STATS_JP,
constants_1.FEATURE_SUPPORT,
constants_1.FEATURE_PLUGINS_THEMES,
constants_1.FEATURE_PLUGIN_AUTOUPDATE_JP,
constants_1.FEATURE_CONTACT_FORM_JP,
constants_1.FEATURE_ADVANCED_FORM_FEATURES_JP,
constants_1.FEATURE_ES_SEARCH_JP,
constants_1.FEATURE_SMART_REDIRECTS,
// AI features for plan differentiators experiment
constants_1.FEATURE_AI_WRITER_DESIGNER,
],
},
[constants_1.FEATURE_GROUP_PERFORMANCE_BOOSTERS]: {
slug: constants_1.FEATURE_GROUP_PERFORMANCE_BOOSTERS,
getTitle: () => i18n_calypso_1.default.translate('Performance boosters'),
getFeatures: () => [
constants_1.FEATURE_FAST_DNS,
constants_1.FEATURE_BURST,
constants_1.FEATURE_CPUS,
constants_1.FEATURE_GLOBAL_EDGE_CACHING,
constants_1.FEATURE_CDN,
],
},
[constants_1.FEATURE_GROUP_HIGH_AVAILABILITY]: {
slug: constants_1.FEATURE_GROUP_HIGH_AVAILABILITY,
getTitle: () => i18n_calypso_1.default.translate('High Availability'),
getFeatures: () => [
constants_1.FEATURE_DATACENTRE_FAILOVER,
constants_1.FEATURE_ONE_CLICK_RESTORE_V2,
constants_1.FEATURE_REALTIME_BACKUPS_JP,
constants_1.FEATURE_UPTIME_MONITOR_JP,
],
},
[constants_1.FEATURE_GROUP_DEVELOPER_TOOLS]: {
slug: constants_1.FEATURE_GROUP_DEVELOPER_TOOLS,
getTitle: () => i18n_calypso_1.default.translate('Developer tools'),
getFeatures: () => [
constants_1.FEATURE_DEV_TOOLS,
constants_1.FEATURE_DEV_TOOLS_SSH,
constants_1.FEATURE_DEV_TOOLS_GIT,
constants_1.FEATURE_SITE_STAGING_SITES,
constants_1.FEATURE_MULTI_SITE,
constants_1.FEATURE_WP_UPDATES,
],
},
[constants_1.FEATURE_GROUP_SECURITY_AND_SAFETY]: {
slug: constants_1.FEATURE_GROUP_SECURITY_AND_SAFETY,
getTitle: () => i18n_calypso_1.default.translate('Security and safety'),
getFeatures: () => [
constants_1.FEATURE_SECURITY_BRUTE_FORCE,
constants_1.FEATURE_ISOLATED_INFRA,
constants_1.FEATURE_SPAM_JP,
constants_1.FEATURE_SECURITY_DDOS,
constants_1.FEATURE_SECURITY_MALWARE,
constants_1.FEATURE_WAF_V2,
constants_1.FEATURE_SITE_ACTIVITY_LOG_JP,
],
},
[constants_1.FEATURE_GROUP_THEMES_AND_CUSTOMIZATION]: {
slug: constants_1.FEATURE_GROUP_THEMES_AND_CUSTOMIZATION,
getTitle: () => i18n_calypso_1.default.translate('Design customization'),
getFeatures: () => [
constants_1.FEATURE_BEAUTIFUL_THEMES,
constants_1.FEATURE_STYLE_CUSTOMIZATION,
constants_1.FEATURE_PREMIUM_THEMES,
],
},
[constants_1.FEATURE_GROUP_SUPERIOR_COMMERCE_SOLUTIONS]: {
slug: constants_1.FEATURE_GROUP_SUPERIOR_COMMERCE_SOLUTIONS,
getTitle: () => i18n_calypso_1.default.translate('Commerce solutions'),
getFeatures: () => [
constants_1.FEATURE_PREMIUM_STORE_THEMES,
constants_1.FEATURE_STORE_DESIGN,
constants_1.FEATURE_UNLIMITED_PRODUCTS,
constants_1.FEATURE_DISPLAY_PRODUCTS_BRAND,
constants_1.FEATURE_PRODUCT_ADD_ONS,
constants_1.FEATURE_ASSEMBLED_KITS,
constants_1.FEATURE_MIN_MAX_ORDER_QUANTITY,
constants_1.FEATURE_STOCK_NOTIFS,
constants_1.FEATURE_DYNAMIC_UPSELLS,
constants_1.FEATURE_CUSTOM_MARKETING_AUTOMATION,
constants_1.FEATURE_BULK_DISCOUNTS,
constants_1.FEATURE_INVENTORY_MGMT,
constants_1.FEATURE_STREAMLINED_CHECKOUT,
constants_1.FEATURE_SELL_60_COUNTRIES,
constants_1.FEATURE_SHIPPING_INTEGRATIONS,
],
},
[constants_1.FEATURE_GROUP_MARKETING_GROWTH_AND_MONETIZATION_TOOLS]: {
slug: constants_1.FEATURE_GROUP_MARKETING_GROWTH_AND_MONETIZATION_TOOLS,
getTitle: () => i18n_calypso_1.default.translate('Growth and monetization tools'),
getFeatures: () => [
constants_1.FEATURE_AI_ASSISTANT,
constants_1.FEATURE_BUILT_IN_SITE_ASSISTANT,
constants_1.FEATURE_ENHANCED_AI_ASSISTANT_AND_TOOLS,
constants_1.FEATURE_NEWSLETTERS_RSS,
constants_1.FEATURE_AD_FREE_EXPERIENCE,
constants_1.FEATURE_WORDADS,
constants_1.FEATURE_CONNECT_ANALYTICS,
constants_1.FEATURE_STATS_PAID,
constants_1.FEATURE_UNLTD_SOCIAL_MEDIA_JP,
constants_1.FEATURE_SEO_JP,
...(isUploadVideosTranslated() ? [constants_1.FEATURE_UPLOAD_VIDEO] : []),
constants_1.FEATURE_PREMIUM_CONTENT_JP,
constants_1.FEATURE_PAID_SUBSCRIBERS_JP,
constants_1.FEATURE_COMMISSION_FEE_STANDARD_FEATURES,
constants_1.FEATURE_COMMISSION_FEE_WOO_FEATURES,
constants_1.FEATURE_DONATIONS_AND_TIPS_JP,
constants_1.FEATURE_PAYMENT_BUTTONS_JP,
constants_1.FEATURE_PAYPAL_JP,
],
},
[constants_1.FEATURE_GROUP_YOUR_STORE]: {
slug: constants_1.FEATURE_GROUP_YOUR_STORE,
getTitle: () => i18n_calypso_1.default.translate('Your store'),
getFeatures: () => [
constants_1.FEATURE_WOOCOMMERCE_STORE,
constants_1.FEATURE_WOOCOMMERCE_MOBILE_APP,
constants_1.FEATURE_WORDPRESS_CMS,
constants_1.FEATURE_WORDPRESS_MOBILE_APP,
constants_1.FEATURE_CUSTOM_DOMAIN,
constants_1.FEATURE_FREE_SSL_CERTIFICATE,
constants_1.FEATURE_AUTOMATED_BACKUPS_SECURITY_SCAN,
constants_1.FEATURE_AD_FREE_EXPERIENCE,
constants_1.FEATURE_UNLIMITED_ADMINS,
constants_1.FEATURE_PRIORITY_24_7_SUPPORT,
constants_1.FEATURE_FAST_SUPPORT_FROM_EXPERTS,
constants_1.WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
constants_1.FEATURE_SALES_REPORTS,
constants_1.FEATURE_GOOGLE_ANALYTICS_V3,
],
},
/* START: WooExpress Feature Groups */
[constants_1.FEATURE_GROUP_PRODUCTS]: {
slug: constants_1.FEATURE_GROUP_PRODUCTS,
getTitle: () => i18n_calypso_1.default.translate('Products'),
getFeatures: () => [
constants_1.FEATURE_LIST_UNLIMITED_PRODUCTS,
constants_1.FEATURE_GIFT_CARDS,
constants_1.FEATURE_MIN_MAX_ORDER_QUANTITY,
constants_1.FEATURE_PRODUCT_BUNDLES,
constants_1.FEATURE_CUSTOM_PRODUCT_KITS,
constants_1.FEATURE_LIST_PRODUCTS_BY_BRAND,
constants_1.FEATURE_PRODUCT_RECOMMENDATIONS,
constants_1.FEATURE_AI_ASSISTED_PRODUCT_DESCRIPTION,
],
},
[constants_1.FEATURE_GROUP_PAYMENTS]: {
slug: constants_1.FEATURE_GROUP_PAYMENTS,
getTitle: () => i18n_calypso_1.default.translate('Payments'),
getFeatures: () => [
constants_1.FEATURE_INTEGRATED_PAYMENTS,
constants_1.FEATURE_INTERNATIONAL_PAYMENTS,
constants_1.FEATURE_AUTOMATED_SALES_TAXES,
constants_1.FEATURE_ACCEPT_LOCAL_PAYMENTS,
constants_1.FEATURE_RECURRING_PAYMENTS,
],
getFootnotes: () => ({
[i18n_calypso_1.default.translate('Available as standard in WooCommerce Payments (restrictions apply). Additional extensions may be required for other payment providers.')]: [
constants_1.FEATURE_INTERNATIONAL_PAYMENTS,
constants_1.FEATURE_ACCEPT_LOCAL_PAYMENTS,
constants_1.FEATURE_RECURRING_PAYMENTS,
],
}),
},
[constants_1.FEATURE_GROUP_MARKETING_EMAIL]: {
slug: constants_1.FEATURE_GROUP_MARKETING_EMAIL,
getTitle: () => i18n_calypso_1.default.translate('Marketing & Email'),
getFeatures: () => [
constants_1.FEATURE_PROMOTE_ON_TIKTOK,
constants_1.FEATURE_SYNC_WITH_PINTEREST,
constants_1.FEATURE_CONNECT_WITH_FACEBOOK,
constants_1.FEATURE_BACK_IN_STOCK_NOTIFICATIONS,
constants_1.FEATURE_MARKETING_AUTOMATION,
constants_1.FEATURE_ABANDONED_CART_RECOVERY,
constants_1.FEATURE_ADVANCED_SEO_TOOLS,
constants_1.FEATURE_ADVERTISE_ON_GOOGLE,
constants_1.FEATURE_REFERRAL_PROGRAMS,
constants_1.FEATURE_CUSTOMER_BIRTHDAY_EMAILS,
constants_1.FEATURE_CUSTOM_ORDER_EMAILS,
constants_1.FEATURE_LOYALTY_POINTS_PROGRAMS,
],
},
[constants_1.FEATURE_GROUP_SHIPPING]: {
slug: constants_1.FEATURE_GROUP_SHIPPING,
getTitle: () => i18n_calypso_1.default.translate('Shipping'),
getFeatures: () => [
constants_1.FEATURE_INTEGRATED_SHIPMENT_TRACKING,
constants_1.FEATURE_LIVE_SHIPPING_RATES,
constants_1.FEATURE_DISCOUNTED_SHIPPING,
constants_1.FEATURE_PRINT_SHIPPING_LABELS,
],
getFootnotes: () => ({
[i18n_calypso_1.default.translate('Only available in the U.S. – an additional extension will be required for other countries.')]: [constants_1.FEATURE_DISCOUNTED_SHIPPING, constants_1.FEATURE_PRINT_SHIPPING_LABELS],
}),
},
/* END: WooExpress Feature Groups */
/* START: Woo Hosted (CIAB) Feature Groups */
[constants_1.FEATURE_GROUP_WOO_HOSTED]: {
slug: constants_1.FEATURE_GROUP_WOO_HOSTED,
getTitle: () => null,
getFeatures: () => [
constants_1.FEATURE_WOO_HOSTED_PACKAGE,
constants_1.FEATURE_WOO_HOSTED_AI_BUILDER,
constants_1.FEATURE_WOO_HOSTED_PAYPAL_INTEGRATON,
constants_1.FEATURE_WOO_HOSTED_MARKETING_TOOLS,
constants_1.FEATURE_WOO_HOSTED_BASIC_MAILPOET,
constants_1.FEATURE_WOO_HOSTED_PRO_MAILPOET,
constants_1.FEATURE_CUSTOM_DOMAIN,
constants_1.FEATURE_WOO_HOSTED_BASIC_ADMIN_USERS,
constants_1.FEATURE_WOO_HOSTED_PRO_ADMIN_USERS,
constants_1.FEATURE_WOO_HOSTED_BASIC_STORAGE,
constants_1.FEATURE_WOO_HOSTED_PRO_STORAGE,
],
},
[constants_1.FEATURE_GROUP_WOO_HOSTED_CREATE_STORE]: {
slug: constants_1.FEATURE_GROUP_WOO_HOSTED_CREATE_STORE,
getTitle: () => i18n_calypso_1.default.translate('Create your own online store'),
getFeatures: () => [
constants_1.FEATURE_WOO_HOSTED_POWERFUL_COMMERCE_TOOLS,
constants_1.FEATURE_WOO_HOSTED_AI_BUILDER,
constants_1.FEATURE_WOO_HOSTED_FREE_DOMAIN_1_YEAR,
],
},
[constants_1.FEATURE_GROUP_WOO_HOSTED_PAYMENTS]: {
slug: constants_1.FEATURE_GROUP_WOO_HOSTED_PAYMENTS,
getTitle: () => i18n_calypso_1.default.translate('Accept payments'),
getFeatures: () => [
constants_1.FEATURE_WOO_HOSTED_SEAMLESS_CHECKOUT,
constants_1.FEATURE_WOO_HOSTED_ACCEPT_CARD_PAYMENTS,
constants_1.FEATURE_WOO_HOSTED_POS_PAYMENTS,
constants_1.FEATURE_WOO_HOSTED_POS_SYSTEM,
constants_1.FEATURE_WOO_HOSTED_POS_NO_MONTHLY_FEES,
],
},
[constants_1.FEATURE_GROUP_WOO_HOSTED_PRODUCTS]: {
slug: constants_1.FEATURE_GROUP_WOO_HOSTED_PRODUCTS,
getTitle: () => i18n_calypso_1.default.translate('Sell products and bookable services'),
getFeatures: () => [
constants_1.FEATURE_WOO_HOSTED_LIST_PRODUCTS,
constants_1.FEATURE_WOO_HOSTED_BOOKINGS,
constants_1.FEATURE_WOO_HOSTED_TEAM_BOOKINGS,
constants_1.FEATURE_WOO_HOSTED_UPSELLS_CROSS_SELLS,
constants_1.FEATURE_WOO_HOSTED_GIFT_CARDS,
],
},
[constants_1.FEATURE_GROUP_WOO_HOSTED_MANAGE]: {
slug: constants_1.FEATURE_GROUP_WOO_HOSTED_MANAGE,
getTitle: () => i18n_calypso_1.default.translate('Manage your store'),
getFeatures: () => [
constants_1.FEATURE_WOO_HOSTED_MOBILE_APP,
constants_1.FEATURE_WOO_HOSTED_STAFF_ACCOUNTS,
constants_1.FEATURE_WOO_HOSTED_SALES_TAX,
constants_1.FEATURE_WOO_HOSTED_SHIPPING_LABELS,
constants_1.FEATURE_WOO_HOSTED_SHIPMENT_TRACKING,
constants_1.FEATURE_WOO_HOSTED_USPS_UPS,
constants_1.FEATURE_WOO_HOSTED_ANALYTICS_REPORTS,
constants_1.FEATURE_WOO_HOSTED_STORAGE_SPACE,
constants_1.FEATURE_WOO_HOSTED_SECURITY,
constants_1.FEATURE_WOO_HOSTED_PRIORITY_SUPPORT,
],
},
[constants_1.FEATURE_GROUP_WOO_HOSTED_GROW]: {
slug: constants_1.FEATURE_GROUP_WOO_HOSTED_GROW,
getTitle: () => i18n_calypso_1.default.translate('Grow your business'),
getFeatures: () => [
constants_1.FEATURE_WOO_HOSTED_EMAIL_CAMPAIGNS,
constants_1.FEATURE_WOO_HOSTED_EMAIL_SUBSCRIBER_MGMT,
constants_1.FEATURE_WOO_HOSTED_AUTOMATED_EMAIL_FLOWS,
constants_1.FEATURE_WOO_HOSTED_ABANDONED_CART_EMAILS,
constants_1.FEATURE_WOO_HOSTED_POST_PURCHASE_EMAILS,
constants_1.FEATURE_WOO_HOSTED_EMAIL_TEMPLATES,
constants_1.FEATURE_WOO_HOSTED_SEO_TOOLS,
constants_1.FEATURE_WOO_HOSTED_COUPONS,
],
},
/* END: Woo Hosted (CIAB) Feature Groups */
[constants_1.FEATURE_GROUP_DOMAIN]: {
slug: constants_1.FEATURE_GROUP_DOMAIN,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_CUSTOM_DOMAIN],
},
[constants_1.FEATURE_GROUP_SUPPORT]: {
slug: constants_1.FEATURE_GROUP_SUPPORT,
getTitle: () => null,
getFeatures: () => [
constants_1.FEATURE_SUPPORT_FROM_EXPERTS,
constants_1.FEATURE_FAST_SUPPORT_FROM_EXPERTS,
constants_1.FEATURE_PRIORITY_24_7_SUPPORT,
],
},
[constants_1.FEATURE_GROUP_THEMES]: {
slug: constants_1.FEATURE_GROUP_THEMES,
getTitle: () => null,
getFeatures: () => [
constants_1.FEATURE_BEAUTIFUL_THEMES,
constants_1.FEATURE_PREMIUM_THEMES,
constants_1.FEATURE_THEMES_PREMIUM_AND_STORE,
constants_1.WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
constants_1.WPCOM_FEATURES_PREMIUM_THEMES_LIMITED,
],
},
[constants_1.FEATURE_GROUP_BIG_SKY]: {
slug: constants_1.FEATURE_GROUP_BIG_SKY,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_BIG_SKY_WEBSITE_BUILDER],
},
[constants_1.FEATURE_GROUP_ENTITIES]: {
slug: constants_1.FEATURE_GROUP_ENTITIES,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_UNLIMITED_ENTITIES],
},
[constants_1.FEATURE_GROUP_UPLOAD_VIDEOS]: {
slug: constants_1.FEATURE_GROUP_UPLOAD_VIDEOS,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_UPLOAD_VIDEO],
},
[constants_1.FEATURE_GROUP_STATS]: {
slug: constants_1.FEATURE_GROUP_STATS,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_STATS_BASIC_20250206, constants_1.FEATURE_STATS_ADVANCED_20250206],
},
[constants_1.FEATURE_GROUP_ADS]: {
slug: constants_1.FEATURE_GROUP_ADS,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_AD_FREE_EXPERIENCE],
},
[constants_1.FEATURE_GROUP_CUSTOMIZE_STYLE]: {
slug: constants_1.FEATURE_GROUP_CUSTOMIZE_STYLE,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_STYLE_CUSTOMIZATION],
},
[constants_1.FEATURE_GROUP_ANALYTICS]: {
slug: constants_1.FEATURE_GROUP_ANALYTICS,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_CONNECT_ANALYTICS],
},
[constants_1.FEATURE_GROUP_WOO]: {
slug: constants_1.FEATURE_GROUP_WOO,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_WOOCOMMERCE_HOSTING],
},
[constants_1.FEATURE_GROUP_CUSTOM_PLUGINS]: {
slug: constants_1.FEATURE_GROUP_CUSTOM_PLUGINS,
getTitle: () => null,
getFeatures: () => [constants_1.FEATURE_UPLOAD_PLUGINS],
},
[constants_1.FEATURE_GROUP_DEV_TOOLS]: {
slug: constants_1.FEATURE_GROUP_DEV_TOOLS,
getTitle: () => null,
getFeatures: () => [
constants_1.FEATURE_DEV_TOOLS,
constants_1.FEATURE_SITE_STAGING_SITES,
constants_1.FEATURE_MULTI_SITE,
constants_1.FEATURE_WP_UPDATES,
],
},
// WordPress Hosting Intent Feature Groups
[constants_1.FEATURE_GROUP_WP_HOSTING_ESSENTIALS]: {
slug: constants_1.FEATURE_GROUP_WP_HOSTING_ESSENTIALS,
getTitle: () => null, // No title for this group
getFeatures: () => [constants_1.FEATURE_UNLIMITED_TRAFFIC, constants_1.FEATURE_CUSTOM_DOMAIN],
},
[constants_1.FEATURE_GROUP_WP_HOSTING_MANAGED]: {
slug: constants_1.FEATURE_GROUP_WP_HOSTING_MANAGED,
getTitle: () => i18n_calypso_1.default.translate('Managed WordPress Hosting'),
getFeatures: () => [
constants_1.FEATURE_FREE_SSL_CERTIFICATE,
constants_1.FEATURE_CDN,
constants_1.WPCOM_FEATURES_BACKUPS_RESTORE,
constants_1.FEATURE_EASY_SITE_MIGRATION,
constants_1.FEATURE_WAF_V2,
constants_1.FEATURE_SECURITY_DDOS,
constants_1.FEATURE_DATACENTRE_FAILOVER,
constants_1.FEATURE_REAL_TIME_SECURITY_SCANS,
constants_1.FEATURE_99_999_UPTIME,
],
},
[constants_1.FEATURE_GROUP_WP_HOSTING_DEVELOPER]: {
slug: constants_1.FEATURE_GROUP_WP_HOSTING_DEVELOPER,
getTitle: () => i18n_calypso_1.default.translate('Developer Tools'),
getFeatures: () => [
constants_1.FEATURE_SITE_STAGING_SITES,
constants_1.FEATURE_SEAMLESS_STAGING_PRODUCTION_SYNCING,
constants_1.FEATURE_DEV_TOOLS_GIT,
constants_1.FEATURE_DEV_TOOLS_SSH,
],
},
[constants_1.FEATURE_GROUP_WP_HOSTING_SUPPORT]: {
slug: constants_1.FEATURE_GROUP_WP_HOSTING_SUPPORT,
getTitle: () => i18n_calypso_1.default.translate('Support'),
getFeatures: () => [constants_1.FEATURE_PRIORITY_24_7_SUPPORT],
},
[constants_1.FEATURE_GROUP_PAYMENT_TRANSACTION_FEES]: {
slug: constants_1.FEATURE_GROUP_PAYMENT_TRANSACTION_FEES,
getTitle: () => i18n_calypso_1.default.translate('Payment transaction fees'),
getFeatures: () => [
constants_1.FEATURE_PAYMENT_TRANSACTION_FEES_8,
constants_1.FEATURE_PAYMENT_TRANSACTION_FEES_4,
constants_1.FEATURE_PAYMENT_TRANSACTION_FEES_2,
constants_1.FEATURE_PAYMENT_TRANSACTION_FEES_0,
],
},
[constants_1.FEATURE_GROUP_WORDADS]: {
slug: constants_1.FEATURE_GROUP_WORDADS,
getTitle: () => i18n_calypso_1.default.translate('WordAds'),
getFeatures: () => [constants_1.FEATURE_WORDADS],
},
[constants_1.FEATURE_GROUP_WP_HOSTING_COMMERCE]: {
slug: constants_1.FEATURE_GROUP_WP_HOSTING_COMMERCE,
getTitle: () => i18n_calypso_1.default.translate('Commerce specific capabilities'),
getFeatures: () => [
constants_1.FEATURE_ACCEPT_PAYMENTS,
constants_1.FEATURE_WOO_AUTOMATE,
constants_1.FEATURE_PRODUCT_ADD_ONS,
constants_1.FEATURE_WOO_SHIPPING_TRACKING,
constants_1.FEATURE_GOOGLE_LISTING_ADS,
],
},
};
function resolveFeatureGroupsForFeaturesGrid({ showSimplifiedFeatures, } = {}) {
if (showSimplifiedFeatures) {
return {
[constants_1.FEATURE_GROUP_STORAGE]: exports.featureGroups[constants_1.FEATURE_GROUP_STORAGE],
[constants_1.FEATURE_GROUP_BIG_SKY]: exports.featureGroups[constants_1.FEATURE_GROUP_BIG_SKY],
[constants_1.FEATURE_GROUP_ENTITIES]: exports.featureGroups[constants_1.FEATURE_GROUP_ENTITIES],
[constants_1.FEATURE_GROUP_DOMAIN]: exports.featureGroups[constants_1.FEATURE_GROUP_DOMAIN],
[constants_1.FEATURE_GROUP_ADS]: exports.featureGroups[constants_1.FEATURE_GROUP_ADS],
[constants_1.FEATURE_GROUP_THEMES]: exports.featureGroups[constants_1.FEATURE_GROUP_THEMES],
[constants_1.FEATURE_GROUP_SUPPORT]: exports.featureGroups[constants_1.FEATURE_GROUP_SUPPORT],
...(isStatsGroupTranslated() && {
[constants_1.FEATURE_GROUP_STATS]: exports.featureGroups[constants_1.FEATURE_GROUP_STATS],
}),
[constants_1.FEATURE_GROUP_CUSTOM_PLUGINS]: exports.featureGroups[constants_1.FEATURE_GROUP_CUSTOM_PLUGINS],
[constants_1.FEATURE_GROUP_CUSTOMIZE_STYLE]: exports.featureGroups[constants_1.FEATURE_GROUP_CUSTOMIZE_STYLE],
[constants_1.FEATURE_GROUP_PAYMENT_TRANSACTION_FEES]: exports.featureGroups[constants_1.FEATURE_GROUP_PAYMENT_TRANSACTION_FEES],
[constants_1.FEATURE_GROUP_WORDADS]: exports.featureGroups[constants_1.FEATURE_GROUP_WORDADS],
[constants_1.FEATURE_GROUP_ANALYTICS]: exports.featureGroups[constants_1.FEATURE_GROUP_ANALYTICS],
...(isUploadVideosTranslated() && {
[constants_1.FEATURE_GROUP_UPLOAD_VIDEOS]: exports.featureGroups[constants_1.FEATURE_GROUP_UPLOAD_VIDEOS],
}),
[constants_1.FEATURE_GROUP_DEV_TOOLS]: exports.featureGroups[constants_1.FEATURE_GROUP_DEV_TOOLS],
[constants_1.FEATURE_GROUP_WOO]: exports.featureGroups[constants_1.FEATURE_GROUP_WOO],
};
}
return {
[constants_1.FEATURE_GROUP_ALL_FEATURES]: exports.featureGroups[constants_1.FEATURE_GROUP_ALL_FEATURES],
[constants_1.FEATURE_GROUP_STORAGE]: exports.featureGroups[constants_1.FEATURE_GROUP_STORAGE],
};
}
function resolveFeatureGroupsForComparisonGrid(props) {
const { isExperimentVariant } = props || {};
// For experiment variants, add FEATURE_WORDPRESS_STUDIO_SYNC after FEATURE_MULTI_SITE
const developerToolsGroup = isExperimentVariant
? {
slug: constants_1.FEATURE_GROUP_DEVELOPER_TOOLS,
getTitle: () => i18n_calypso_1.default.translate('Developer tools'),
getFeatures: () => [
constants_1.FEATURE_DEV_TOOLS,
constants_1.FEATURE_DEV_TOOLS_SSH,
constants_1.FEATURE_DEV_TOOLS_GIT,
constants_1.FEATURE_SITE_STAGING_SITES,
constants_1.FEATURE_MULTI_SITE,
constants_1.FEATURE_WORDPRESS_STUDIO_SYNC,
constants_1.FEATURE_WP_UPDATES,
],
}
: exports.featureGroups[constants_1.FEATURE_GROUP_DEVELOPER_TOOLS];
// For experiment variants, replace AI Assistant with expanded AI features
const marketingGrowthGroup = isExperimentVariant
? {
slug: constants_1.FEATURE_GROUP_MARKETING_GROWTH_AND_MONETIZATION_TOOLS,
getTitle: () => i18n_calypso_1.default.translate('Growth and monetization tools'),
getFeatures: () => [
constants_1.FEATURE_AI_ASSISTANT,
constants_1.FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR,
constants_1.FEATURE_BLAZE_AD_CREDITS,
constants_1.FEATURE_NEWSLETTERS_RSS,
constants_1.FEATURE_AD_FREE_EXPERIENCE,
constants_1.FEATURE_EMAIL_MARKETING,
constants_1.FEATURE_WORDADS,
constants_1.FEATURE_CONNECT_ANALYTICS,
constants_1.FEATURE_STATS_PAID,
constants_1.FEATURE_UNLTD_SOCIAL_MEDIA_JP,
constants_1.FEATURE_SEO_JP,
constants_1.FEATURE_UPLOAD_VIDEO,
constants_1.FEATURE_VIDEO_UPLOADS,
constants_1.FEATURE_PREMIUM_CONTENT_JP,
constants_1.FEATURE_PAID_SUBSCRIBERS_JP,
constants_1.FEATURE_COMMISSION_FEE_STANDARD_FEATURES,
constants_1.FEATURE_COMMISSION_FEE_WOO_FEATURES,
constants_1.FEATURE_DONATIONS_AND_TIPS_JP,
constants_1.FEATURE_PAYMENT_BUTTONS_JP,
constants_1.FEATURE_PAYPAL_JP,
],
}
: exports.featureGroups[constants_1.FEATURE_GROUP_MARKETING_GROWTH_AND_MONETIZATION_TOOLS];
// For experiment variants, add FEATURE_STYLE_CUSTOMIZATION_FONTS_COLORS before FEATURE_STYLE_CUSTOMIZATION
const themesAndCustomizationGroup = isExperimentVariant
? {
slug: constants_1.FEATURE_GROUP_THEMES_AND_CUSTOMIZATION,
getTitle: () => i18n_calypso_1.default.translate('Design customization'),
getFeatures: () => [
constants_1.FEATURE_BEAUTIFUL_THEMES,
constants_1.FEATURE_GUIDED_WEBSITE_BUILDER,
constants_1.FEATURE_STYLE_CUSTOMIZATION_FONTS_COLORS,
constants_1.FEATURE_STYLE_CUSTOMIZATION,
constants_1.FEATURE_PREMIUM_THEMES,
],
}
: exports.featureGroups[constants_1.FEATURE_GROUP_THEMES_AND_CUSTOMIZATION];
// For experiment variants, add FEATURE_BUILT_IN_SITE_ASSISTANT after FEATURE_SMART_REDIRECTS
const essentialFeaturesGroup = isExperimentVariant
? {
slug: constants_1.FEATURE_GROUP_ESSENTIAL_FEATURES,
getTitle: () => i18n_calypso_1.default.translate('Essential features'),
getFeatures: () => [
constants_1.FEATURE_PAGES,
constants_1.FEATURE_USERS,
constants_1.FEATURE_POST_EDITS_HISTORY,
constants_1.FEATURE_ALWAYS_ONLINE,
constants_1.FEATURE_CUSTOM_DOMAIN,
constants_1.FEATURE_BANDWIDTH,
constants_1.FEATURE_STATS_JP,
constants_1.FEATURE_SUPPORT,
constants_1.FEATURE_PLUGINS_THEMES,
constants_1.FEATURE_PLUGIN_AUTOUPDATE_JP,
constants_1.FEATURE_CONTACT_FORM_JP,
constants_1.FEATURE_ADVANCED_FORM_FEATURES_JP,
constants_1.FEATURE_ES_SEARCH_JP,
constants_1.FEATURE_SMART_REDIRECTS,
constants_1.FEATURE_BUILT_IN_SITE_ASSISTANT,
// AI features for plan differentiators experiment
constants_1.FEATURE_AI_WRITER_DESIGNER,
],
}
: exports.featureGroups[constants_1.FEATURE_GROUP_ESSENTIAL_FEATURES];
return {
[constants_1.FEATURE_GROUP_ESSENTIAL_FEATURES]: essentialFeaturesGroup,
[constants_1.FEATURE_GROUP_PERFORMANCE_BOOSTERS]: exports.featureGroups[constants_1.FEATURE_GROUP_PERFORMANCE_BOOSTERS],
[constants_1.FEATURE_GROUP_HIGH_AVAILABILITY]: exports.featureGroups[constants_1.FEATURE_GROUP_HIGH_AVAILABILITY],
[constants_1.FEATURE_GROUP_DEVELOPER_TOOLS]: developerToolsGroup,
[constants_1.FEATURE_GROUP_SECURITY_AND_SAFETY]: exports.featureGroups[constants_1.FEATURE_GROUP_SECURITY_AND_SAFETY],
[constants_1.FEATURE_GROUP_THEMES_AND_CUSTOMIZATION]: themesAndCustomizationGroup,
[constants_1.FEATURE_GROUP_SUPERIOR_COMMERCE_SOLUTIONS]: exports.featureGroups[constants_1.FEATURE_GROUP_SUPERIOR_COMMERCE_SOLUTIONS],
[constants_1.FEATURE_GROUP_MARKETING_GROWTH_AND_MONETIZATION_TOOLS]: marketingGrowthGroup,
[constants_1.FEATURE_GROUP_STORAGE]: exports.featureGroups[constants_1.FEATURE_GROUP_STORAGE],
};
}
function resolveWooExpressFeatureGroupsForComparisonGrid() {
return {
[constants_1.FEATURE_GROUP_YOUR_STORE]: exports.featureGroups[constants_1.FEATURE_GROUP_YOUR_STORE],
[constants_1.FEATURE_GROUP_PRODUCTS]: exports.featureGroups[constants_1.FEATURE_GROUP_PRODUCTS],
[constants_1.FEATURE_GROUP_PAYMENTS]: exports.featureGroups[constants_1.FEATURE_GROUP_PAYMENTS],
[constants_1.FEATURE_GROUP_MARKETING_EMAIL]: exports.featureGroups[constants_1.FEATURE_GROUP_MARKETING_EMAIL],
[constants_1.FEATURE_GROUP_SHIPPING]: exports.featureGroups[constants_1.FEATURE_GROUP_SHIPPING],
};
}
function resolveWooHostedFeatureGroupsForFeaturesGrid() {
return {
[constants_1.FEATURE_GROUP_WOO_HOSTED]: exports.featureGroups[constants_1.FEATURE_GROUP_WOO_HOSTED],
};
}
function resolveWooHostedFeatureGroupsForComparisonGrid() {
return {
[constants_1.FEATURE_GROUP_WOO_HOSTED_CREATE_STORE]: exports.featureGroups[constants_1.FEATURE_GROUP_WOO_HOSTED_CREATE_STORE],
[constants_1.FEATURE_GROUP_WOO_HOSTED_PAYMENTS]: exports.featureGroups[constants_1.FEATURE_GROUP_WOO_HOSTED_PAYMENTS],
[constants_1.FEATURE_GROUP_WOO_HOSTED_PRODUCTS]: exports.featureGroups[constants_1.FEATURE_GROUP_WOO_HOSTED_PRODUCTS],
[constants_1.FEATURE_GROUP_WOO_HOSTED_MANAGE]: exports.featureGroups[constants_1.FEATURE_GROUP_WOO_HOSTED_MANAGE],
[constants_1.FEATURE_GROUP_WOO_HOSTED_GROW]: exports.featureGroups[constants_1.FEATURE_GROUP_WOO_HOSTED_GROW],
};
}
function resolveWordPressHostingFeatureGroupsForFeaturesGrid() {
return {
[constants_1.FEATURE_GROUP_STORAGE]: exports.featureGroups[constants_1.FEATURE_GROUP_STORAGE],
[constants_1.FEATURE_GROUP_WP_HOSTING_ESSENTIALS]: exports.featureGroups[constants_1.FEATURE_GROUP_WP_HOSTING_ESSENTIALS],
[constants_1.FEATURE_GROUP_WP_HOSTING_MANAGED]: exports.featureGroups[constants_1.FEATURE_GROUP_WP_HOSTING_MANAGED],
[constants_1.FEATURE_GROUP_WP_HOSTING_DEVELOPER]: exports.featureGroups[constants_1.FEATURE_GROUP_WP_HOSTING_DEVELOPER],
[constants_1.FEATURE_GROUP_WP_HOSTING_SUPPORT]: exports.featureGroups[constants_1.FEATURE_GROUP_WP_HOSTING_SUPPORT],
[constants_1.FEATURE_GROUP_WP_HOSTING_COMMERCE]: exports.featureGroups[constants_1.FEATURE_GROUP_WP_HOSTING_COMMERCE],
};
}
//# sourceMappingURL=feature-group-plan-map.js.map