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