@automattic/plans-grid-next 1.0.2 → 1.0.3
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.
- package/CHANGELOG.md +4 -1
- package/dist/cjs/_shared.scss +4 -3
- package/dist/cjs/components/comparison-grid/index.js +99 -92
- package/dist/cjs/components/comparison-grid/index.js.map +1 -1
- package/dist/cjs/components/comparison-grid/style.scss +10 -2
- package/dist/cjs/components/features-grid/client-logo-list/client-list.js +0 -12
- package/dist/cjs/components/features-grid/client-logo-list/client-list.js.map +1 -1
- package/dist/cjs/components/features-grid/index.js +9 -6
- package/dist/cjs/components/features-grid/index.js.map +1 -1
- package/dist/cjs/components/features-grid/plan-features-list.js +10 -3
- package/dist/cjs/components/features-grid/plan-features-list.js.map +1 -1
- package/dist/cjs/components/features-grid/plan-headers.js +2 -2
- package/dist/cjs/components/features-grid/plan-headers.js.map +1 -1
- package/dist/cjs/components/features-grid/plan-tagline.js +1 -1
- package/dist/cjs/components/features-grid/plan-tagline.js.map +1 -1
- package/dist/cjs/components/features-grid/style.scss +107 -19
- package/dist/cjs/components/features-grid/table.js +1 -1
- package/dist/cjs/components/features-grid/table.js.map +1 -1
- package/dist/cjs/components/features.js +43 -4
- package/dist/cjs/components/features.js.map +1 -1
- package/dist/cjs/components/item.js +1 -1
- package/dist/cjs/components/item.js.map +1 -1
- package/dist/cjs/components/plan-button/index.js +5 -3
- package/dist/cjs/components/plan-button/index.js.map +1 -1
- package/dist/cjs/components/plan-button/style.scss +75 -51
- package/dist/cjs/components/plan-div-td-container.js +4 -1
- package/dist/cjs/components/plan-div-td-container.js.map +1 -1
- package/dist/cjs/components/plan-logo.js +6 -3
- package/dist/cjs/components/plan-logo.js.map +1 -1
- package/dist/cjs/components/plan-type-selector/components/interval-type-dropdown.js +12 -1
- package/dist/cjs/components/plan-type-selector/components/interval-type-dropdown.js.map +1 -1
- package/dist/cjs/components/plan-type-selector/hooks/use-max-discount.js +4 -33
- package/dist/cjs/components/plan-type-selector/hooks/use-max-discount.js.map +1 -1
- package/dist/cjs/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js +11 -13
- package/dist/cjs/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js.map +1 -1
- package/dist/cjs/components/plans-2023-tooltip.js +16 -5
- package/dist/cjs/components/plans-2023-tooltip.js.map +1 -1
- package/dist/cjs/components/shared/action-button/index.js +22 -7
- package/dist/cjs/components/shared/action-button/index.js.map +1 -1
- package/dist/cjs/components/shared/action-button/style.scss +4 -0
- package/dist/cjs/components/shared/billing-timeframe/index.js +8 -4
- package/dist/cjs/components/shared/billing-timeframe/index.js.map +1 -1
- package/dist/cjs/components/shared/header-price/index.js +60 -15
- package/dist/cjs/components/shared/header-price/index.js.map +1 -1
- package/dist/cjs/components/shared/header-price/style.scss +9 -3
- package/dist/cjs/components/shared/storage/components/plan-storage.js +2 -2
- package/dist/cjs/components/shared/storage/components/plan-storage.js.map +1 -1
- package/dist/cjs/components/shared/storage/components/storage-dropdown.js +29 -6
- package/dist/cjs/components/shared/storage/components/storage-dropdown.js.map +1 -1
- package/dist/cjs/components/shared/storage/components/storage-feature-label.js +2 -1
- package/dist/cjs/components/shared/storage/components/storage-feature-label.js.map +1 -1
- package/dist/cjs/components/shared/storage/hooks/use-plan-storage.js +2 -0
- package/dist/cjs/components/shared/storage/hooks/use-plan-storage.js.map +1 -1
- package/dist/cjs/fixtures/sites-purchases.js +2 -4
- package/dist/cjs/fixtures/sites-purchases.js.map +1 -1
- package/dist/cjs/grid-context.js +4 -1
- package/dist/cjs/grid-context.js.map +1 -1
- package/dist/cjs/hooks/data-store/get-renewal-pricing-text.js +50 -0
- package/dist/cjs/hooks/data-store/get-renewal-pricing-text.js.map +1 -0
- package/dist/cjs/hooks/data-store/use-grid-plans-for-comparison-grid.js +6 -1
- package/dist/cjs/hooks/data-store/use-grid-plans-for-comparison-grid.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js +6 -1
- package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-grid-plans.js +175 -21
- package/dist/cjs/hooks/data-store/use-grid-plans.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-highlight-labels.js +13 -4
- package/dist/cjs/hooks/data-store/use-highlight-labels.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-plan-billing-description.js +68 -13
- package/dist/cjs/hooks/data-store/use-plan-billing-description.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-plan-features-for-grid-plans.js +76 -2
- package/dist/cjs/hooks/data-store/use-plan-features-for-grid-plans.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js +60 -12
- package/dist/cjs/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-title-badges.js +19 -0
- package/dist/cjs/hooks/data-store/use-title-badges.js.map +1 -0
- package/dist/cjs/hooks/use-is-large-currency.js +2 -2
- package/dist/cjs/hooks/use-is-large-currency.js.map +1 -1
- package/dist/cjs/hooks/use-visible-grid-plans.js +70 -0
- package/dist/cjs/hooks/use-visible-grid-plans.js.map +1 -0
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/get-plan-features-object.js +15 -2
- package/dist/cjs/lib/get-plan-features-object.js.map +1 -1
- package/dist/cjs/lib/plan-pricing-utils.js +135 -0
- package/dist/cjs/lib/plan-pricing-utils.js.map +1 -0
- package/dist/esm/_shared.scss +4 -3
- package/dist/esm/components/comparison-grid/index.js +100 -93
- package/dist/esm/components/comparison-grid/index.js.map +1 -1
- package/dist/esm/components/comparison-grid/style.scss +10 -2
- package/dist/esm/components/features-grid/client-logo-list/client-list.js +0 -12
- package/dist/esm/components/features-grid/client-logo-list/client-list.js.map +1 -1
- package/dist/esm/components/features-grid/index.js +9 -6
- package/dist/esm/components/features-grid/index.js.map +1 -1
- package/dist/esm/components/features-grid/plan-features-list.js +10 -3
- package/dist/esm/components/features-grid/plan-features-list.js.map +1 -1
- package/dist/esm/components/features-grid/plan-headers.js +3 -3
- package/dist/esm/components/features-grid/plan-headers.js.map +1 -1
- package/dist/esm/components/features-grid/plan-tagline.js +1 -1
- package/dist/esm/components/features-grid/plan-tagline.js.map +1 -1
- package/dist/esm/components/features-grid/style.scss +107 -19
- package/dist/esm/components/features-grid/table.js +1 -1
- package/dist/esm/components/features-grid/table.js.map +1 -1
- package/dist/esm/components/features.js +44 -5
- package/dist/esm/components/features.js.map +1 -1
- package/dist/esm/components/item.js +1 -1
- package/dist/esm/components/item.js.map +1 -1
- package/dist/esm/components/plan-button/index.js +5 -3
- package/dist/esm/components/plan-button/index.js.map +1 -1
- package/dist/esm/components/plan-button/style.scss +75 -51
- package/dist/esm/components/plan-div-td-container.js +4 -1
- package/dist/esm/components/plan-div-td-container.js.map +1 -1
- package/dist/esm/components/plan-logo.js +7 -4
- package/dist/esm/components/plan-logo.js.map +1 -1
- package/dist/esm/components/plan-type-selector/components/interval-type-dropdown.js +12 -1
- package/dist/esm/components/plan-type-selector/components/interval-type-dropdown.js.map +1 -1
- package/dist/esm/components/plan-type-selector/hooks/use-max-discount.js +3 -33
- package/dist/esm/components/plan-type-selector/hooks/use-max-discount.js.map +1 -1
- package/dist/esm/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js +11 -13
- package/dist/esm/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js.map +1 -1
- package/dist/esm/components/plans-2023-tooltip.js +16 -5
- package/dist/esm/components/plans-2023-tooltip.js.map +1 -1
- package/dist/esm/components/shared/action-button/index.js +22 -7
- package/dist/esm/components/shared/action-button/index.js.map +1 -1
- package/dist/esm/components/shared/action-button/style.scss +4 -0
- package/dist/esm/components/shared/billing-timeframe/index.js +8 -4
- package/dist/esm/components/shared/billing-timeframe/index.js.map +1 -1
- package/dist/esm/components/shared/header-price/index.js +60 -15
- package/dist/esm/components/shared/header-price/index.js.map +1 -1
- package/dist/esm/components/shared/header-price/style.scss +9 -3
- package/dist/esm/components/shared/storage/components/plan-storage.js +2 -2
- package/dist/esm/components/shared/storage/components/plan-storage.js.map +1 -1
- package/dist/esm/components/shared/storage/components/storage-dropdown.js +30 -7
- package/dist/esm/components/shared/storage/components/storage-dropdown.js.map +1 -1
- package/dist/esm/components/shared/storage/components/storage-feature-label.js +2 -1
- package/dist/esm/components/shared/storage/components/storage-feature-label.js.map +1 -1
- package/dist/esm/components/shared/storage/hooks/use-plan-storage.js +3 -1
- package/dist/esm/components/shared/storage/hooks/use-plan-storage.js.map +1 -1
- package/dist/esm/fixtures/sites-purchases.js +2 -4
- package/dist/esm/fixtures/sites-purchases.js.map +1 -1
- package/dist/esm/grid-context.js +4 -1
- package/dist/esm/grid-context.js.map +1 -1
- package/dist/esm/hooks/data-store/get-renewal-pricing-text.js +47 -0
- package/dist/esm/hooks/data-store/get-renewal-pricing-text.js.map +1 -0
- package/dist/esm/hooks/data-store/use-grid-plans-for-comparison-grid.js +6 -1
- package/dist/esm/hooks/data-store/use-grid-plans-for-comparison-grid.js.map +1 -1
- package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js +6 -1
- package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
- package/dist/esm/hooks/data-store/use-grid-plans.js +176 -22
- package/dist/esm/hooks/data-store/use-grid-plans.js.map +1 -1
- package/dist/esm/hooks/data-store/use-highlight-labels.js +14 -5
- package/dist/esm/hooks/data-store/use-highlight-labels.js.map +1 -1
- package/dist/esm/hooks/data-store/use-plan-billing-description.js +66 -11
- package/dist/esm/hooks/data-store/use-plan-billing-description.js.map +1 -1
- package/dist/esm/hooks/data-store/use-plan-features-for-grid-plans.js +77 -3
- package/dist/esm/hooks/data-store/use-plan-features-for-grid-plans.js.map +1 -1
- package/dist/esm/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js +59 -11
- package/dist/esm/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js.map +1 -1
- package/dist/esm/hooks/data-store/use-title-badges.js +17 -0
- package/dist/esm/hooks/data-store/use-title-badges.js.map +1 -0
- package/dist/esm/hooks/use-is-large-currency.js +1 -1
- package/dist/esm/hooks/use-is-large-currency.js.map +1 -1
- package/dist/esm/hooks/use-visible-grid-plans.js +66 -0
- package/dist/esm/hooks/use-visible-grid-plans.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/get-plan-features-object.js +15 -2
- package/dist/esm/lib/get-plan-features-object.js.map +1 -1
- package/dist/esm/lib/plan-pricing-utils.js +129 -0
- package/dist/esm/lib/plan-pricing-utils.js.map +1 -0
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/components/comparison-grid/index.d.ts +1 -1
- package/dist/types/components/comparison-grid/index.d.ts.map +1 -1
- package/dist/types/components/features-grid/client-logo-list/client-list.d.ts.map +1 -1
- package/dist/types/components/features-grid/index.d.ts.map +1 -1
- package/dist/types/components/features-grid/plan-features-list.d.ts.map +1 -1
- package/dist/types/components/features-grid/plan-headers.d.ts +2 -0
- package/dist/types/components/features-grid/plan-headers.d.ts.map +1 -1
- package/dist/types/components/features-grid/table.d.ts.map +1 -1
- package/dist/types/components/features.d.ts.map +1 -1
- package/dist/types/components/item.d.ts +2 -1
- package/dist/types/components/item.d.ts.map +1 -1
- package/dist/types/components/plan-button/index.d.ts +2 -1
- package/dist/types/components/plan-button/index.d.ts.map +1 -1
- package/dist/types/components/plan-div-td-container.d.ts +2 -0
- package/dist/types/components/plan-div-td-container.d.ts.map +1 -1
- package/dist/types/components/plan-logo.d.ts.map +1 -1
- package/dist/types/components/plan-type-selector/components/interval-type-dropdown.d.ts.map +1 -1
- package/dist/types/components/plan-type-selector/hooks/use-max-discount.d.ts.map +1 -1
- package/dist/types/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.d.ts.map +1 -1
- package/dist/types/components/plans-2023-tooltip.d.ts.map +1 -1
- package/dist/types/components/shared/action-button/index.d.ts +2 -1
- package/dist/types/components/shared/action-button/index.d.ts.map +1 -1
- package/dist/types/components/shared/billing-timeframe/index.d.ts.map +1 -1
- package/dist/types/components/shared/header-price/index.d.ts.map +1 -1
- package/dist/types/components/shared/storage/components/storage-dropdown.d.ts.map +1 -1
- package/dist/types/components/shared/storage/components/storage-feature-label.d.ts.map +1 -1
- package/dist/types/components/shared/storage/hooks/use-plan-storage.d.ts +1 -1
- package/dist/types/components/shared/storage/hooks/use-plan-storage.d.ts.map +1 -1
- package/dist/types/fixtures/sites-purchases.d.ts +2 -4
- package/dist/types/fixtures/sites-purchases.d.ts.map +1 -1
- package/dist/types/grid-context.d.ts +4 -1
- package/dist/types/grid-context.d.ts.map +1 -1
- package/dist/types/hooks/data-store/get-renewal-pricing-text.d.ts +14 -0
- package/dist/types/hooks/data-store/get-renewal-pricing-text.d.ts.map +1 -0
- package/dist/types/hooks/data-store/types.d.ts +21 -0
- package/dist/types/hooks/data-store/types.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-grid-plans-for-comparison-grid.d.ts +1 -1
- package/dist/types/hooks/data-store/use-grid-plans-for-comparison-grid.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-grid-plans-for-features-grid.d.ts +1 -1
- package/dist/types/hooks/data-store/use-grid-plans-for-features-grid.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-grid-plans.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-highlight-labels.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-plan-billing-description.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-plan-features-for-grid-plans.d.ts +4 -1
- package/dist/types/hooks/data-store/use-plan-features-for-grid-plans.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-restructured-plan-features-for-comparison-grid.d.ts +4 -1
- package/dist/types/hooks/data-store/use-restructured-plan-features-for-comparison-grid.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-title-badges.d.ts +9 -0
- package/dist/types/hooks/data-store/use-title-badges.d.ts.map +1 -0
- package/dist/types/hooks/use-visible-grid-plans.d.ts +14 -0
- package/dist/types/hooks/use-visible-grid-plans.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/get-plan-features-object.d.ts +1 -1
- package/dist/types/lib/get-plan-features-object.d.ts.map +1 -1
- package/dist/types/lib/plan-pricing-utils.d.ts +105 -0
- package/dist/types/lib/plan-pricing-utils.d.ts.map +1 -0
- package/dist/types/types.d.ts +29 -2
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +38 -28
- package/src/_shared.scss +4 -3
- package/src/components/comparison-grid/index.tsx +258 -181
- package/src/components/comparison-grid/style.scss +10 -2
- package/src/components/features-grid/client-logo-list/client-list.tsx +0 -25
- package/src/components/features-grid/index.tsx +35 -18
- package/src/components/features-grid/plan-features-list.tsx +15 -4
- package/src/components/features-grid/plan-headers.tsx +10 -3
- package/src/components/features-grid/plan-tagline.tsx +1 -1
- package/src/components/features-grid/style.scss +107 -19
- package/src/components/features-grid/table.tsx +4 -2
- package/src/components/features.tsx +66 -6
- package/src/components/item.tsx +6 -3
- package/src/components/plan-button/index.tsx +7 -1
- package/src/components/plan-button/style.scss +75 -51
- package/src/components/plan-div-td-container.tsx +6 -2
- package/src/components/plan-logo.tsx +16 -9
- package/src/components/plan-type-selector/components/interval-type-dropdown.tsx +14 -1
- package/src/components/plan-type-selector/hooks/use-max-discount.ts +8 -47
- package/src/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.ts +19 -17
- package/src/components/plans-2023-tooltip.tsx +17 -5
- package/src/components/shared/action-button/index.tsx +46 -5
- package/src/components/shared/action-button/style.scss +4 -0
- package/src/components/shared/billing-timeframe/index.tsx +12 -7
- package/src/components/shared/header-price/index.tsx +129 -27
- package/src/components/shared/header-price/style.scss +9 -3
- package/src/components/shared/storage/components/plan-storage.tsx +2 -2
- package/src/components/shared/storage/components/storage-dropdown.tsx +36 -15
- package/src/components/shared/storage/components/storage-feature-label.tsx +2 -1
- package/src/components/shared/storage/hooks/use-plan-storage.ts +3 -0
- package/src/components/test/actions-button.tsx +5 -0
- package/src/components/test/billing-timeframe.tsx +1 -1
- package/src/components/test/header-price.tsx +342 -4
- package/src/fixtures/sites-purchases.ts +2 -4
- package/src/grid-context.tsx +9 -0
- package/src/hooks/data-store/get-renewal-pricing-text.ts +73 -0
- package/src/hooks/data-store/types.ts +21 -0
- package/src/hooks/data-store/use-grid-plans-for-comparison-grid.ts +10 -0
- package/src/hooks/data-store/use-grid-plans-for-features-grid.ts +10 -0
- package/src/hooks/data-store/use-grid-plans.tsx +189 -23
- package/src/hooks/data-store/use-highlight-labels.ts +12 -3
- package/src/hooks/data-store/use-plan-billing-description.tsx +80 -15
- package/src/hooks/data-store/use-plan-features-for-grid-plans.ts +135 -1
- package/src/hooks/data-store/use-restructured-plan-features-for-comparison-grid.ts +93 -20
- package/src/hooks/data-store/use-title-badges.ts +31 -0
- package/src/hooks/test/use-visible-grid-plans.tsx +116 -0
- package/src/hooks/use-is-large-currency.ts +1 -1
- package/src/hooks/use-visible-grid-plans.tsx +102 -0
- package/src/index.tsx +18 -0
- package/src/lib/get-plan-features-object.ts +23 -2
- package/src/lib/plan-pricing-utils.ts +211 -0
- package/src/lib/test/plan-pricing-utils.ts +594 -0
- package/src/style-imports.d.ts +3 -0
- package/src/types.ts +41 -0
- package/dist/cjs/components/features-grid/mobile-free-domain.js +0 -25
- package/dist/cjs/components/features-grid/mobile-free-domain.js.map +0 -1
- package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js +0 -15
- package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js.map +0 -1
- package/dist/esm/components/features-grid/mobile-free-domain.js +0 -23
- package/dist/esm/components/features-grid/mobile-free-domain.js.map +0 -1
- package/dist/esm/lib/get-plan-pricing-info-from-grid-plans.js +0 -12
- package/dist/esm/lib/get-plan-pricing-info-from-grid-plans.js.map +0 -1
- package/dist/types/components/features-grid/mobile-free-domain.d.ts +0 -8
- package/dist/types/components/features-grid/mobile-free-domain.d.ts.map +0 -1
- package/dist/types/lib/get-plan-pricing-info-from-grid-plans.d.ts +0 -9
- package/dist/types/lib/get-plan-pricing-info-from-grid-plans.d.ts.map +0 -1
- package/src/components/features-grid/mobile-free-domain.tsx +0 -51
- package/src/lib/get-plan-pricing-info-from-grid-plans.ts +0 -31
|
@@ -9,13 +9,18 @@
|
|
|
9
9
|
background-color: var(--color-surface);
|
|
10
10
|
justify-content: flex-start;
|
|
11
11
|
font-weight: 400;
|
|
12
|
+
|
|
13
|
+
&.is-woo-hosted-basic-plan {
|
|
14
|
+
align-items: center;
|
|
15
|
+
gap: 12px;
|
|
16
|
+
}
|
|
12
17
|
}
|
|
13
18
|
|
|
14
19
|
.plan-features-2023-grid__header-logo {
|
|
15
20
|
padding-left: 20px;
|
|
16
21
|
|
|
17
22
|
@include plans-grid-medium-large {
|
|
18
|
-
margin-top:
|
|
23
|
+
margin-top: 32px;
|
|
19
24
|
}
|
|
20
25
|
|
|
21
26
|
.plan-features-2023-grid__table-top & {
|
|
@@ -115,10 +120,6 @@
|
|
|
115
120
|
}
|
|
116
121
|
}
|
|
117
122
|
|
|
118
|
-
.plans-grid-next-features-grid__mobile-plan-card-no-foldable-container {
|
|
119
|
-
margin-top: 24px;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
123
|
.plan-features-2023-grid__mobile-view {
|
|
123
124
|
display: flex;
|
|
124
125
|
flex-direction: column;
|
|
@@ -130,9 +131,8 @@
|
|
|
130
131
|
.plans-grid-next-features-grid__mobile-plan-card {
|
|
131
132
|
background-color: var(--studio-white);
|
|
132
133
|
border: 1px solid #e0e0e0;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
padding: 38px 0 20px 0;
|
|
134
|
+
border-radius: 4px;
|
|
135
|
+
padding: 20px 0 20px 0;
|
|
136
136
|
|
|
137
137
|
/*
|
|
138
138
|
* TODO: Remove/refactor this once we have a better way to handle.
|
|
@@ -154,10 +154,42 @@
|
|
|
154
154
|
padding-top: 0;
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
|
|
158
|
+
.plan-features-2023-grid__header,
|
|
159
|
+
.plan-features-2023-grid__header-logo,
|
|
160
|
+
.plans-grid-next-header-price,
|
|
161
|
+
.plan-features-2023-grid__header-tagline,
|
|
162
|
+
.plan-features-2023-grid__header-billing-info,
|
|
163
|
+
.plan-features-2023-grid__table-item.is-top-buttons,
|
|
164
|
+
.plan-features-2023-grid__item {
|
|
165
|
+
padding-inline: 16px;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.plans-grid-next-storage-feature-label__volume {
|
|
170
|
+
font-size: 14px;
|
|
171
|
+
font-weight: 500;
|
|
157
172
|
}
|
|
158
173
|
|
|
159
174
|
.plan-features-2023-grid__highlighted-feature .plan-features-2023-grid__item {
|
|
160
|
-
padding-
|
|
175
|
+
padding-top: 16px;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.plan-features-2023-grid__header-title {
|
|
179
|
+
line-height: normal;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.plan-features-2023-grid__table-item .is-experiment-last-feature {
|
|
183
|
+
margin-block-end: 0;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.plan-features-2023-grid__header {
|
|
187
|
+
padding-block-end: 0;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.plan-features-2023-grid__header-tagline {
|
|
191
|
+
font-size: 14px;
|
|
192
|
+
padding: 0 20px 16px 20px
|
|
161
193
|
}
|
|
162
194
|
}
|
|
163
195
|
|
|
@@ -166,7 +198,7 @@
|
|
|
166
198
|
color: var(--color-text-subtle);
|
|
167
199
|
table-layout: fixed;
|
|
168
200
|
border: 1px solid #e0e0e0;
|
|
169
|
-
border-radius:
|
|
201
|
+
border-radius: 4px;
|
|
170
202
|
background-color: #fff;
|
|
171
203
|
margin: 0 auto;
|
|
172
204
|
border-spacing: 0;
|
|
@@ -205,12 +237,25 @@
|
|
|
205
237
|
letter-spacing: 0;
|
|
206
238
|
}
|
|
207
239
|
|
|
240
|
+
.plan-features-2023-grid__header-badge {
|
|
241
|
+
background-color: var(--studio-blue-5);
|
|
242
|
+
color: var(--studio-blue-50);
|
|
243
|
+
border-radius: 3px;
|
|
244
|
+
display: inline-block;
|
|
245
|
+
font-size: $font-body-extra-small;
|
|
246
|
+
font-weight: 500;
|
|
247
|
+
line-height: 20px;
|
|
248
|
+
padding: 0 8px;
|
|
249
|
+
white-space: nowrap;
|
|
250
|
+
}
|
|
251
|
+
|
|
208
252
|
.plan-features-2023-grid__header-tagline {
|
|
209
253
|
font-size: $font-body;
|
|
210
254
|
line-height: 24px;
|
|
211
255
|
color: var(--studio-gray-80);
|
|
212
256
|
font-weight: 400;
|
|
213
257
|
padding: 0 20px 24px 20px;
|
|
258
|
+
margin-bottom: 0;
|
|
214
259
|
|
|
215
260
|
@include plans-grid-medium-large {
|
|
216
261
|
font-size: $font-body-small;
|
|
@@ -238,6 +283,10 @@
|
|
|
238
283
|
font-weight: 600;
|
|
239
284
|
}
|
|
240
285
|
|
|
286
|
+
.is-plan-differentiators-experiment & .has-min-height {
|
|
287
|
+
min-height: 32px;
|
|
288
|
+
}
|
|
289
|
+
|
|
241
290
|
&.is-top-buttons {
|
|
242
291
|
padding: 0 20px;
|
|
243
292
|
@include plans-grid-medium-large {
|
|
@@ -251,7 +300,7 @@
|
|
|
251
300
|
@include plans-grid-medium-large {
|
|
252
301
|
// The .plan-features-2023-grid__table-item is used to render the plan spotlight which doesn't
|
|
253
302
|
// use a table layout, but borders are only appropriate in table layout.
|
|
254
|
-
&:is(td) {
|
|
303
|
+
&:is(td, th) {
|
|
255
304
|
border-left: solid 1px #e0e0e0;
|
|
256
305
|
}
|
|
257
306
|
}
|
|
@@ -270,10 +319,9 @@
|
|
|
270
319
|
max-width: 100%;
|
|
271
320
|
margin-bottom: 64px;
|
|
272
321
|
border: 1px solid #e0e0e0;
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
justify-content: space-between;
|
|
322
|
+
border-radius: 4px;
|
|
323
|
+
display: flex;
|
|
324
|
+
justify-content: space-between;
|
|
277
325
|
|
|
278
326
|
div.spotlight-plan__buttons {
|
|
279
327
|
display: flex;
|
|
@@ -318,6 +366,11 @@
|
|
|
318
366
|
.plans-grid-next-features-grid__feature-group-title {
|
|
319
367
|
font-weight: 600;
|
|
320
368
|
color: var(--studio-gray-80);
|
|
369
|
+
|
|
370
|
+
&.is-wordpress-hosting {
|
|
371
|
+
padding-top: 12px;
|
|
372
|
+
font-size: 12px;
|
|
373
|
+
}
|
|
321
374
|
}
|
|
322
375
|
|
|
323
376
|
.plans-grid-next-features-grid__feature-group-row {
|
|
@@ -346,13 +399,20 @@
|
|
|
346
399
|
flex: 1 0 0;
|
|
347
400
|
width: 100%;
|
|
348
401
|
|
|
402
|
+
.plan-features-2023-grid__ai-website-builder-break {
|
|
403
|
+
@media ( max-width: 480px ) {
|
|
404
|
+
display: none;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
349
408
|
.plan-features-2023-grid__item-title {
|
|
350
409
|
color: var(--studio-gray-80);
|
|
351
410
|
font-size: $font-body-small;
|
|
352
411
|
font-weight: 400;
|
|
353
412
|
line-height: 20px;
|
|
354
413
|
overflow-wrap: break-word;
|
|
355
|
-
text-wrap: balance;
|
|
414
|
+
text-wrap: balance; // Fallback until Safari supports `pretty`.
|
|
415
|
+
text-wrap: pretty;
|
|
356
416
|
margin: 0;
|
|
357
417
|
flex: 1 0 0;
|
|
358
418
|
width: 100%;
|
|
@@ -361,6 +421,12 @@
|
|
|
361
421
|
font-weight: 600;
|
|
362
422
|
}
|
|
363
423
|
|
|
424
|
+
// Experiment variants: domain included text gets green color
|
|
425
|
+
// Applies to variants with "Everything in X, plus:" features (not focused long-list or control)
|
|
426
|
+
&.is-domain-included-highlight {
|
|
427
|
+
color: var(--studio-green-60);
|
|
428
|
+
}
|
|
429
|
+
|
|
364
430
|
@include plans-grid-medium-large {
|
|
365
431
|
font-size: $font-body-extra-small;
|
|
366
432
|
line-height: 16px;
|
|
@@ -383,6 +449,11 @@
|
|
|
383
449
|
}
|
|
384
450
|
}
|
|
385
451
|
|
|
452
|
+
// Pricing differentiators experiment (non-control): extra bottom margin after last feature in column
|
|
453
|
+
.plan-features-2023-grid__table-item .is-experiment-last-feature {
|
|
454
|
+
margin-block-end: 37px;
|
|
455
|
+
}
|
|
456
|
+
|
|
386
457
|
.plan-features-2023-grid__row:last-of-type .plan-features-2023-grid__table-item {
|
|
387
458
|
border-bottom: solid 1px var(--color-neutral-5);
|
|
388
459
|
|
|
@@ -397,6 +468,10 @@
|
|
|
397
468
|
padding: 0 20px 12px;
|
|
398
469
|
text-align: left;
|
|
399
470
|
|
|
471
|
+
.is-plan-differentiators-experiment & {
|
|
472
|
+
padding-inline-end: 12px;
|
|
473
|
+
}
|
|
474
|
+
|
|
400
475
|
&.plan-features-2023-grid__item-available {
|
|
401
476
|
display: flex;
|
|
402
477
|
flex-direction: column;
|
|
@@ -478,13 +553,17 @@
|
|
|
478
553
|
// the alternative (oveflow: auto) would break the sticky behavior on the headers
|
|
479
554
|
padding: 1px;
|
|
480
555
|
|
|
556
|
+
&.is-small {
|
|
557
|
+
padding: 0;
|
|
558
|
+
}
|
|
559
|
+
|
|
481
560
|
.plan-features-2023-grid__table-item {
|
|
482
561
|
border-right: none;
|
|
483
562
|
background-color: transparent;
|
|
484
563
|
|
|
485
|
-
//
|
|
486
|
-
//
|
|
487
|
-
&:first-of-type:is(td) {
|
|
564
|
+
// Match both `td` and `th` so the first header cell has its border-left removed too;
|
|
565
|
+
// the `:is()` keeps the specificity aligned with the rule that adds the border-left above.
|
|
566
|
+
&:first-of-type:is(td, th) {
|
|
488
567
|
border-left: none;
|
|
489
568
|
}
|
|
490
569
|
|
|
@@ -613,3 +692,12 @@
|
|
|
613
692
|
}
|
|
614
693
|
}
|
|
615
694
|
}
|
|
695
|
+
|
|
696
|
+
// Conditional styles for visual split layout (website-builder and wordpress-hosting intents)
|
|
697
|
+
.plans-features-main__group.is-visual-split-layout {
|
|
698
|
+
.plans-grid-next-features-grid__feature-group-row {
|
|
699
|
+
&:last-child > .plan-features-2023-grid__table-item {
|
|
700
|
+
padding-bottom: 18px;
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
}
|
|
@@ -26,7 +26,7 @@ const Table = ({ currentSitePlanSlug, generatedWPComSubdomain, gridPlanForSpotli
|
|
|
26
26
|
const tableClasses = clsx('plan-features-2023-grid__table', `has-${gridPlansWithoutSpotlight.length}-cols`, {
|
|
27
27
|
'has-highlighted-plan': hasHighlightedPlan,
|
|
28
28
|
});
|
|
29
|
-
return (_jsxs("table", { className: tableClasses, children: [_jsx("caption", { className: "plan-features-2023-grid__screen-reader-text screen-reader-text", children: translate('Available plans to choose from') }), _jsxs("
|
|
29
|
+
return (_jsxs("table", { className: tableClasses, children: [_jsx("caption", { className: "plan-features-2023-grid__screen-reader-text screen-reader-text", children: translate('Available plans to choose from') }), _jsxs("thead", { children: [_jsx("tr", { children: _jsx(PlanLogos, { renderedGridPlans: gridPlansWithoutSpotlight, isInSignup: isInSignup, options: { isTableCell: true } }) }), _jsx("tr", { children: _jsx(PlanHeaders, { renderedGridPlans: gridPlansWithoutSpotlight, options: { isHeader: true, scope: 'col' } }) })] }), _jsxs("tbody", { children: [_jsx("tr", { children: _jsx(PlanTagline, { renderedGridPlans: gridPlansWithoutSpotlight, options: { isTableCell: true } }) }), _jsx("tr", { children: _jsx(PlanPrices, { renderedGridPlans: gridPlansWithoutSpotlight, options: { isTableCell: true }, currentSitePlanSlug: currentSitePlanSlug }) }), _jsx("tr", { children: _jsx(BillingTimeframes, { renderedGridPlans: gridPlansWithoutSpotlight, showRefundPeriod: showRefundPeriod, options: { isTableCell: true } }) }), _jsx(StickyContainer, { stickyClass: "is-sticky-top-buttons-row", element: "tr", stickyOffset: stickyRowOffset, zIndex: 2, children: (isStuck) => (_jsx(TopButtons, { renderedGridPlans: gridPlansWithoutSpotlight, options: { isTableCell: true, isStuck }, isInSignup: isInSignup, currentSitePlanSlug: currentSitePlanSlug, planActionOverrides: planActionOverrides })) }), _jsx("tr", { children: _jsx(EnterpriseFeatures, { renderedGridPlans: gridPlansWithoutSpotlight, options: { isTableCell: true, isLogosOnly: enableLogosOnlyForEnterprisePlan } }) }), !enableCategorisedFeatures && (_jsx("tr", { children: _jsx(PreviousFeaturesIncludedTitle, { renderedGridPlans: gridPlansWithoutSpotlight, options: { isTableCell: true } }) })), featureGroups.map((featureGroupSlug, featureGroupIndex) => (_jsx("tr", { className: clsx('plans-grid-next-features-grid__feature-group-row', {
|
|
30
30
|
'is-first-feature-group-row': featureGroupIndex === 0,
|
|
31
31
|
'is-reduced-feature-group-spacing': enableReducedFeatureGroupSpacing,
|
|
32
32
|
}), children: _jsx(PlanFeaturesList, { renderedGridPlans: gridPlansWithoutSpotlight, options: { isTableCell: true }, paidDomainName: paidDomainName, hideUnavailableFeatures: hideUnavailableFeatures, selectedFeature: selectedFeature, generatedWPComSubdomain: generatedWPComSubdomain, isCustomDomainAllowedOnFreePlan: isCustomDomainAllowedOnFreePlan, featureGroupSlug: featureGroupSlug, onStorageAddOnClick: onStorageAddOnClick, showUpgradeableStorage: showUpgradeableStorage }) }, featureGroupSlug)))] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/components/features-grid/table.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,6BAA6B,MAAM,oCAAoC,CAAC;AAC/E,OAAO,UAAU,MAAM,eAAe,CAAC;AAsBvC,MAAM,KAAK,GAAG,CAAE,EACf,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,+BAA+B,EAC/B,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GACH,EAAG,EAAE;IACjB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,EACL,eAAe,EACf,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,GAChC,GAAG,mBAAmB,EAAE,CAAC;IAC1B,MAAM,aAAa,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAE,eAAe,CAAwB,EAC1D,CAAE,eAAe,CAAE,CACnB,CAAC;IAEF,gDAAgD;IAChD,MAAM,yBAAyB,GAAG,OAAO,CACxC,GAAG,EAAE,CACJ,CAAE,oBAAoB;QACrB,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAC,MAAM,CACxB,CAAE,EAAE,QAAQ,EAAE,EAAG,EAAE,CAAC,oBAAoB,CAAC,QAAQ,KAAK,QAAQ,CAC7D,EACL,CAAE,iBAAiB,EAAE,oBAAoB,CAAE,CAC3C,CAAC;IACF,gHAAgH;IAChH,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,IAAI,CACxD,CAAE,EAAE,cAAc,EAAE,EAAG,EAAE,CAAC,CAAC,CAAE,cAAc,CAC3C,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CACxB,gCAAgC,EAChC,OAAQ,yBAAyB,CAAC,MAAO,OAAO,EAChD;QACC,sBAAsB,EAAE,kBAAkB;KAC1C,CACD,CAAC;IAEF,OAAO,CACN,iBAAO,SAAS,EAAG,YAAY,aAC9B,kBAAS,SAAS,EAAC,gEAAgE,YAChF,SAAS,CAAE,gCAAgC,CAAE,GACtC,EACV,4BACC,uBACC,KAAC,SAAS,IACT,iBAAiB,EAAG,yBAAyB,EAC7C,UAAU,EAAG,UAAU,EACvB,OAAO,EAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAC9B,GACE,EACL,uBACC,KAAC,WAAW,IACX,iBAAiB,EAAG,yBAAyB,EAC7C,OAAO,EAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/components/features-grid/table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { getPlanClass, FEATURE_CUSTOM_DOMAIN, isFreePlan } from '@automattic/calypso-products';
|
|
2
|
+
import { getPlanClass, FEATURE_AI_WEBSITE_BUILDER, FEATURE_CUSTOM_DOMAIN, isFreePlan, } from '@automattic/calypso-products';
|
|
3
3
|
import { LoadingPlaceholder } from '@automattic/components';
|
|
4
4
|
import styled from '@emotion/styled';
|
|
5
5
|
import clsx from 'clsx';
|
|
@@ -19,6 +19,30 @@ const SubdomainSuggestion = styled.div `
|
|
|
19
19
|
overflow: hidden;
|
|
20
20
|
}
|
|
21
21
|
`;
|
|
22
|
+
// Pricing differentiation pills — colors match @automattic/components Badge type="info-green" (.badge--info-green).
|
|
23
|
+
const FeatureBadge = styled.span `
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
padding: 0 6px;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
align-items: center;
|
|
28
|
+
gap: 8px;
|
|
29
|
+
border-radius: 4px;
|
|
30
|
+
background-color: rgba( 184, 230, 191, 0.64 );
|
|
31
|
+
color: var( --studio-green-80 );
|
|
32
|
+
text-align: center;
|
|
33
|
+
font-size: 11px;
|
|
34
|
+
font-weight: 600;
|
|
35
|
+
line-height: inherit;
|
|
36
|
+
margin-inline-start: 8px;
|
|
37
|
+
vertical-align: baseline;
|
|
38
|
+
text-decoration: none;
|
|
39
|
+
white-space: nowrap;
|
|
40
|
+
|
|
41
|
+
@media ( max-width: 480px ) {
|
|
42
|
+
padding: 0 4px;
|
|
43
|
+
margin-inline-start: 6px;
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
22
46
|
const FreePlanCustomDomainFeature = ({ paidDomainName, generatedWPComSubdomain, isCustomDomainAllowedOnFreePlan }) => {
|
|
23
47
|
const translate = useTranslate();
|
|
24
48
|
const isLoading = generatedWPComSubdomain?.isLoading;
|
|
@@ -30,7 +54,7 @@ const FreePlanCustomDomainFeature = ({ paidDomainName, generatedWPComSubdomain,
|
|
|
30
54
|
};
|
|
31
55
|
const PlanFeatures2023GridFeatures = ({ features, planSlug, paidDomainName, generatedWPComSubdomain, hideUnavailableFeatures, selectedFeature, isCustomDomainAllowedOnFreePlan, activeTooltipId, setActiveTooltipId, }) => {
|
|
32
56
|
const translate = useTranslate();
|
|
33
|
-
const { enableFeatureTooltips } = usePlansGridContext();
|
|
57
|
+
const { enableFeatureTooltips, gridPlans, isExperimentVariant } = usePlansGridContext();
|
|
34
58
|
return (_jsx(_Fragment, { children: features.map((currentFeature, featureIndex) => {
|
|
35
59
|
if (hideUnavailableFeatures && !currentFeature.availableForCurrentPlan) {
|
|
36
60
|
return null;
|
|
@@ -45,8 +69,22 @@ const PlanFeatures2023GridFeatures = ({ features, planSlug, paidDomainName, gene
|
|
|
45
69
|
: currentFeature?.isHighlighted ||
|
|
46
70
|
(currentFeature.getSlug() === FEATURE_CUSTOM_DOMAIN && paidDomainName) ||
|
|
47
71
|
!currentFeature.availableForCurrentPlan;
|
|
72
|
+
const featureSlug = currentFeature.getSlug();
|
|
73
|
+
const shouldBreakAfterAiWebsiteBuilderTitle = gridPlans.length === 6 && featureSlug === FEATURE_AI_WEBSITE_BUILDER;
|
|
74
|
+
const featuresWithMinHeight = [
|
|
75
|
+
'support-from-experts',
|
|
76
|
+
'priority-24-7-support',
|
|
77
|
+
'upload-video',
|
|
78
|
+
];
|
|
79
|
+
// Apply green styling for domain feature in the rolled-out cohort.
|
|
80
|
+
const isCustomDomainFeatureWithPaidDomain = currentFeature.getSlug() === FEATURE_CUSTOM_DOMAIN &&
|
|
81
|
+
paidDomainName &&
|
|
82
|
+
!isFreePlan(planSlug);
|
|
83
|
+
const shouldHighlightDomainFeature = isCustomDomainFeatureWithPaidDomain && isExperimentVariant;
|
|
48
84
|
const divClasses = clsx('', getPlanClass(planSlug), {
|
|
49
85
|
'is-last-feature': featureIndex + 1 === features.length,
|
|
86
|
+
'has-min-height': featuresWithMinHeight.includes(featureSlug),
|
|
87
|
+
'is-experiment-last-feature': currentFeature.isExperimentLastFeature,
|
|
50
88
|
});
|
|
51
89
|
const spanClasses = clsx('plan-features-2023-grid__item-info', {
|
|
52
90
|
'is-annual-plan-feature': currentFeature.availableOnlyForAnnualPlans,
|
|
@@ -54,15 +92,16 @@ const PlanFeatures2023GridFeatures = ({ features, planSlug, paidDomainName, gene
|
|
|
54
92
|
});
|
|
55
93
|
const itemTitleClasses = clsx('plan-features-2023-grid__item-title', {
|
|
56
94
|
'is-bold': isHighlightedFeature,
|
|
95
|
+
'is-domain-included-highlight': shouldHighlightDomainFeature,
|
|
57
96
|
});
|
|
58
97
|
return (_jsx("div", { className: divClasses, children: _jsx(PlanFeaturesItem, { children: _jsx("span", { className: spanClasses, children: _jsx("span", { className: itemTitleClasses, children: isFreePlanAndCustomDomainFeature ? (_jsx(Plans2023Tooltip, { text: enableFeatureTooltips
|
|
59
98
|
? translate('%s is not included', {
|
|
60
99
|
args: [paidDomainName],
|
|
61
100
|
comment: '%s is a domain name.',
|
|
62
101
|
})
|
|
63
|
-
: undefined, activeTooltipId: activeTooltipId, setActiveTooltipId: setActiveTooltipId, id: key, children: _jsx(FreePlanCustomDomainFeature, { paidDomainName: paidDomainName, generatedWPComSubdomain: generatedWPComSubdomain, isCustomDomainAllowedOnFreePlan: isCustomDomainAllowedOnFreePlan }, key) })) : (_jsx(Plans2023Tooltip, { text: enableFeatureTooltips ? currentFeature.getDescription?.() : undefined, activeTooltipId: activeTooltipId, setActiveTooltipId: setActiveTooltipId, id: key, children: _jsxs(_Fragment, { children: [currentFeature.getTitle({
|
|
64
|
-
|
|
65
|
-
|
|
102
|
+
: undefined, activeTooltipId: activeTooltipId, setActiveTooltipId: setActiveTooltipId, id: key, children: _jsx(FreePlanCustomDomainFeature, { paidDomainName: paidDomainName, generatedWPComSubdomain: generatedWPComSubdomain, isCustomDomainAllowedOnFreePlan: isCustomDomainAllowedOnFreePlan }, key) })) : (_jsx(Plans2023Tooltip, { text: enableFeatureTooltips ? currentFeature.getDescription?.() : undefined, activeTooltipId: activeTooltipId, setActiveTooltipId: setActiveTooltipId, id: key, children: _jsxs(_Fragment, { children: [_jsxs("span", { className: "plan-features-2023-grid__item-text-content", children: [currentFeature.getTitle({
|
|
103
|
+
domainName: paidDomainName,
|
|
104
|
+
}), currentFeature.badgeText && (_jsx(FeatureBadge, { children: currentFeature.badgeText }))] }), shouldBreakAfterAiWebsiteBuilderTitle && (_jsx("div", { className: "plan-features-2023-grid__ai-website-builder-break", children: '\u00A0' })), currentFeature?.getSubFeatureObjects?.()?.length ? (_jsx("ul", { className: "plan-features-2023-grid__item-sub-feature-list", children: currentFeature.getSubFeatureObjects().map((subFeature) => (_jsx("li", { children: subFeature?.getTitle() }, subFeature.getSlug()))) })) : null] }) })) }) }, key) }) }, key));
|
|
66
105
|
}) }));
|
|
67
106
|
};
|
|
68
107
|
export default PlanFeatures2023GridFeatures;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/components/features.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/components/features.tsx"],"names":[],"mappings":";AAAA,OAAO,EACN,YAAY,EACZ,0BAA0B,EAC1B,qBAAqB,EACrB,UAAU,GACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;CAWrC,CAAC;AAEF,oHAAoH;AACpH,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;CAsB/B,CAAC;AAEF,MAAM,2BAA2B,GAI3B,CAAE,EAAE,cAAc,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,EAAG,EAAE;IACxF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,uBAAuB,EAAE,SAAS,CAAC;IACrD,OAAO,CACN,MAAC,mBAAmB,eACjB,SAAS,IAAI,KAAC,kBAAkB,KAAG,EACnC,CAAE,SAAS;gBACZ,CAAE,+BAA+B,CAAC,CAAC,CAAC,CACnC,wBACG,SAAS,CAAE,uBAAuB,EAAE;wBACrC,IAAI,EAAE,CAAE,cAAc,CAAE;wBACxB,OAAO,EAAE,sBAAsB;qBAC/B,CAAE,GACE,CACN,CAAC,CAAC,CAAC,CACH,8BACC,cAAK,SAAS,EAAC,gBAAgB,YAAG,cAAc,GAAQ,EACxD,wBAAO,uBAAuB,EAAE,MAAM,EAAE,WAAW,GAAQ,IACzD,CACH,CAAE,IACiB,CACtB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAU5B,CAAE,EACP,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,GAClB,EAAG,EAAE;IACL,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAExF,OAAO,CACN,4BACG,QAAQ,CAAC,GAAG,CAAE,CAAE,cAAc,EAAE,YAAY,EAAG,EAAE;YAClD,IAAK,uBAAuB,IAAI,CAAE,cAAc,CAAC,uBAAuB,EAAG,CAAC;gBAC3E,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,GAAG,GAAG,GAAI,cAAc,CAAC,OAAO,EAAG,IAAK,QAAS,IAAK,YAAa,EAAE,CAAC;YAE5E,MAAM,gCAAgC,GACrC,cAAc,CAAC,OAAO,EAAE,KAAK,qBAAqB,IAAI,UAAU,CAAE,QAAQ,CAAE,CAAC;YAE9E,IAAK,gCAAgC,IAAI,CAAE,cAAc,EAAG,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,oBAAoB,GAAG,eAAe;gBAC3C,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,eAAe;gBAC9C,CAAC,CAAC,cAAc,EAAE,aAAa;oBAC7B,CAAE,cAAc,CAAC,OAAO,EAAE,KAAK,qBAAqB,IAAI,cAAc,CAAE;oBACxE,CAAE,cAAc,CAAC,uBAAuB,CAAC;YAE5C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,qCAAqC,GAC1C,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,KAAK,0BAA0B,CAAC;YACtE,MAAM,qBAAqB,GAAG;gBAC7B,sBAAsB;gBACtB,uBAAuB;gBACvB,cAAc;aACd,CAAC;YAEF,mEAAmE;YACnE,MAAM,mCAAmC,GACxC,cAAc,CAAC,OAAO,EAAE,KAAK,qBAAqB;gBAClD,cAAc;gBACd,CAAE,UAAU,CAAE,QAAQ,CAAE,CAAC;YAC1B,MAAM,4BAA4B,GACjC,mCAAmC,IAAI,mBAAmB,CAAC;YAE5D,MAAM,UAAU,GAAG,IAAI,CAAE,EAAE,EAAE,YAAY,CAAE,QAAQ,CAAE,EAAE;gBACtD,iBAAiB,EAAE,YAAY,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM;gBACvD,gBAAgB,EAAE,qBAAqB,CAAC,QAAQ,CAAE,WAAW,CAAE;gBAC/D,4BAA4B,EAAE,cAAc,CAAC,uBAAuB;aACpE,CAAE,CAAC;YACJ,MAAM,WAAW,GAAG,IAAI,CAAE,oCAAoC,EAAE;gBAC/D,wBAAwB,EAAE,cAAc,CAAC,2BAA2B;gBACpE,cAAc,EACb,gCAAgC,IAAI,cAAc,CAAC,uBAAuB;aAC3E,CAAE,CAAC;YACJ,MAAM,gBAAgB,GAAG,IAAI,CAAE,qCAAqC,EAAE;gBACrE,SAAS,EAAE,oBAAoB;gBAC/B,8BAA8B,EAAE,4BAA4B;aAC5D,CAAE,CAAC;YAEJ,OAAO,CACN,cAAiB,SAAS,EAAG,UAAU,YACtC,KAAC,gBAAgB,cAChB,eAAM,SAAS,EAAG,WAAW,YAC5B,eAAM,SAAS,EAAG,gBAAgB,YAC/B,gCAAgC,CAAC,CAAC,CAAC,CACpC,KAAC,gBAAgB,IAChB,IAAI,EACH,qBAAqB;oCACpB,CAAC,CAAC,SAAS,CAAE,oBAAoB,EAAE;wCACjC,IAAI,EAAE,CAAE,cAAwB,CAAE;wCAClC,OAAO,EAAE,sBAAsB;qCAC9B,CAAE;oCACL,CAAC,CAAC,SAAS,EAEb,eAAe,EAAG,eAAe,EACjC,kBAAkB,EAAG,kBAAkB,EACvC,EAAE,EAAG,GAAG,YAER,KAAC,2BAA2B,IAE3B,cAAc,EAAG,cAAwB,EACzC,uBAAuB,EAAG,uBAAuB,EACjD,+BAA+B,EAAG,+BAA+B,IAH3D,GAAG,CAIR,GACgB,CACnB,CAAC,CAAC,CAAC,CACH,KAAC,gBAAgB,IAChB,IAAI,EAAG,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAC5E,eAAe,EAAG,eAAe,EACjC,kBAAkB,EAAG,kBAAkB,EACvC,EAAE,EAAG,GAAG,YAER,8BACC,gBAAM,SAAS,EAAC,4CAA4C,aACzD,cAAc,CAAC,QAAQ,CAAE;oDAC1B,UAAU,EAAE,cAAc;iDAC1B,CAAE,EACD,cAAc,CAAC,SAAS,IAAI,CAC7B,KAAC,YAAY,cAAG,cAAc,CAAC,SAAS,GAAiB,CACzD,IACK,EACL,qCAAqC,IAAI,CAC1C,cAAK,SAAS,EAAC,mDAAmD,YAC/D,QAAQ,GACL,CACN,EACC,cAAc,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CACpD,aAAI,SAAS,EAAC,gDAAgD,YAC3D,cAAc,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAE,CAAE,UAAU,EAAG,EAAE,CAAC,CAC9D,uBAAmC,UAAU,EAAE,QAAQ,EAAE,IAA/C,UAAU,CAAC,OAAO,EAAE,CAAkC,CAChE,CAAE,GACC,CACL,CAAC,CAAC,CAAC,IAAI,IACN,GACe,CACnB,GACK,IAtD8B,GAAG,CAuDlC,GACW,IA1DT,GAAG,CA2DR,CACN,CAAC;QACH,CAAC,CAAE,GACD,CACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
export function PlanFeaturesItem(props) {
|
|
3
|
-
return (_jsx("div", { className: "plan-features-2023-grid__item plan-features-2023-grid__item-available", children: _jsx("div", { className: "plan-features-2023-grid__item-info-container", children: props.children }) }));
|
|
3
|
+
return (_jsx("div", { className: "plan-features-2023-grid__item plan-features-2023-grid__item-available", style: props.style, children: _jsx("div", { className: "plan-features-2023-grid__item-info-container", children: props.children }) }));
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/components/item.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,gBAAgB,CAAE,
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/components/item.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,gBAAgB,CAAE,KAAsD;IACvF,OAAO,CACN,cACC,SAAS,EAAC,uEAAuE,EACjF,KAAK,EAAG,KAAK,CAAC,KAAK,YAEnB,cAAK,SAAS,EAAC,8CAA8C,YAAG,KAAK,CAAC,QAAQ,GAAQ,GACjF,CACN,CAAC;AACH,CAAC"}
|
|
@@ -6,13 +6,15 @@ import './style.scss';
|
|
|
6
6
|
// TODO:
|
|
7
7
|
// The prop should simply be declared by extending the
|
|
8
8
|
// props of Button, instead of listing everything needed like this.
|
|
9
|
-
const PlanButton = ({ planSlug, children, classes, href, onClick = () => { }, busy = false, borderless = false, current = false, disabled = false, isStuck = false, isLargeCurrency = false, }) => {
|
|
9
|
+
const PlanButton = ({ planSlug, children, classes, href, onClick = () => { }, busy = false, borderless = false, current = false, disabled = false, isStuck = false, isLargeCurrency = false, ariaLabel, }) => {
|
|
10
10
|
const className = clsx(classes, 'plan-features-2023-grid__actions-button', planSlug ? getPlanClass(planSlug) : 'is-default', {
|
|
11
11
|
'is-current-plan': current,
|
|
12
12
|
'is-stuck': isStuck,
|
|
13
13
|
'is-large-currency': isLargeCurrency,
|
|
14
|
-
});
|
|
15
|
-
return (_jsx(Button, { className: className, onClick: onClick, busy: busy, borderless: borderless, disabled: disabled, href: href,
|
|
14
|
+
}, disabled && 'disabled');
|
|
15
|
+
return (_jsx(Button, { className: className, onClick: onClick, busy: busy, borderless: borderless, disabled: disabled, href: href, "aria-label": ariaLabel,
|
|
16
|
+
// eslint-disable-next-line jsx-a11y/tabindex-no-positive
|
|
17
|
+
tabIndex: 2, children: children }));
|
|
16
18
|
};
|
|
17
19
|
export default PlanButton;
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/plan-button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,cAAc,CAAC;AAEtB,QAAQ;AACR,sDAAsD;AACtD,mEAAmE;AACnE,MAAM,UAAU,GAAG,CAAE,EACpB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,IAAI,GAAG,KAAK,EACZ,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,eAAe,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/plan-button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,cAAc,CAAC;AAEtB,QAAQ;AACR,sDAAsD;AACtD,mEAAmE;AACnE,MAAM,UAAU,GAAG,CAAE,EACpB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,IAAI,GAAG,KAAK,EACZ,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,eAAe,GAAG,KAAK,EACvB,SAAS,GAcT,EAAG,EAAE;IACL,MAAM,SAAS,GAAG,IAAI,CACrB,OAAO,EACP,yCAAyC,EACzC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAE,QAAQ,CAAE,CAAC,CAAC,CAAC,YAAY,EAClD;QACC,iBAAiB,EAAE,OAAO;QAC1B,UAAU,EAAE,OAAO;QACnB,mBAAmB,EAAE,eAAe;KACpC,EACD,QAAQ,IAAI,UAAU,CACtB,CAAC;IAEF,OAAO,CACN,KAAC,MAAM,IACN,SAAS,EAAG,SAAS,EACrB,OAAO,EAAG,OAAO,EACjB,IAAI,EAAG,IAAI,EACX,UAAU,EAAG,UAAU,EACvB,QAAQ,EAAG,QAAQ,EACnB,IAAI,EAAG,IAAI,gBACE,SAAS;QACtB,yDAAyD;QACzD,QAAQ,EAAG,CAAC,YAEV,QAAQ,GACF,CACT,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|