@automattic/plans-grid-next 1.0.0 → 1.0.2
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/dist/cjs/__mocks__/wpcom-proxy-request.js +3 -4
- package/dist/cjs/__mocks__/wpcom-proxy-request.js.map +1 -1
- package/dist/cjs/_shared.scss +9 -4
- package/dist/cjs/components/comparison-grid/index.js +62 -50
- package/dist/cjs/components/comparison-grid/index.js.map +1 -1
- package/dist/cjs/components/comparison-grid/index.stories.js +1 -0
- package/dist/cjs/components/comparison-grid/index.stories.js.map +1 -1
- package/dist/cjs/components/comparison-grid/style.scss +0 -17
- package/dist/cjs/components/dropdown-option.js +1 -1
- package/dist/cjs/components/features-grid/index.js +21 -6
- package/dist/cjs/components/features-grid/index.js.map +1 -1
- package/dist/cjs/components/features-grid/index.stories.js +1 -0
- package/dist/cjs/components/features-grid/index.stories.js.map +1 -1
- package/dist/cjs/components/features-grid/style.scss +6 -21
- package/dist/cjs/components/item.js +1 -2
- package/dist/cjs/components/item.js.map +1 -1
- package/dist/cjs/components/plan-button/style.scss +12 -11
- package/dist/cjs/components/plan-type-selector/hooks/use-interval-options.js +1 -1
- package/dist/cjs/components/plan-type-selector/hooks/use-interval-options.js.map +1 -1
- package/dist/cjs/components/plan-type-selector/hooks/use-max-discount.js +1 -1
- 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 +1 -1
- package/dist/cjs/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js.map +1 -1
- package/dist/cjs/components/plan-type-selector/style.scss +3 -1
- package/dist/cjs/components/shared/billing-timeframe/index.js +13 -5
- package/dist/cjs/components/shared/billing-timeframe/index.js.map +1 -1
- package/dist/cjs/components/shared/header-price/style.scss +4 -2
- package/dist/cjs/components/shared/storage/hooks/use-default-storage-option.js +1 -1
- package/dist/cjs/components/shared/storage/hooks/use-default-storage-option.js.map +1 -1
- package/dist/cjs/components/shared/storage/hooks/use-purchased-storage-add-on.js +1 -1
- package/dist/cjs/components/shared/storage/hooks/use-purchased-storage-add-on.js.map +1 -1
- package/dist/cjs/components/shared/storage/index.js +3 -2
- package/dist/cjs/components/shared/storage/index.js.map +1 -1
- package/dist/cjs/components/sticky-container.js +66 -6
- package/dist/cjs/components/sticky-container.js.map +1 -1
- package/dist/cjs/hooks/data-store/is-popular-plan.js +1 -2
- package/dist/cjs/hooks/data-store/is-popular-plan.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js +14 -11
- package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-plan-billing-description.js +2 -2
- package/dist/cjs/hooks/data-store/use-plan-billing-description.js.map +1 -1
- package/dist/cjs/hooks/data-store/use-plan-billing-period.js +14 -0
- package/dist/cjs/hooks/data-store/use-plan-billing-period.js.map +1 -0
- package/dist/cjs/hooks/use-grid-size.js +2 -4
- package/dist/cjs/hooks/use-grid-size.js.map +1 -1
- package/dist/cjs/hooks/use-is-large-currency.js +1 -1
- package/dist/cjs/hooks/use-is-large-currency.js.map +1 -1
- package/dist/cjs/hooks/use-manage-tooltip-toggle.js +1 -2
- package/dist/cjs/hooks/use-manage-tooltip-toggle.js.map +1 -1
- package/dist/cjs/hooks/use-plan-pricing-info-from-grid-plans.js +1 -2
- package/dist/cjs/hooks/use-plan-pricing-info-from-grid-plans.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js +1 -2
- package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js.map +1 -1
- package/dist/cjs/lib/is-same-plan.js +1 -2
- package/dist/cjs/lib/is-same-plan.js.map +1 -1
- package/dist/cjs/lib/touch-detect/index.js +1 -2
- package/dist/cjs/lib/touch-detect/index.js.map +1 -1
- package/dist/esm/_shared.scss +9 -4
- package/dist/esm/components/comparison-grid/index.js +62 -50
- package/dist/esm/components/comparison-grid/index.js.map +1 -1
- package/dist/esm/components/comparison-grid/index.stories.js +1 -0
- package/dist/esm/components/comparison-grid/index.stories.js.map +1 -1
- package/dist/esm/components/comparison-grid/style.scss +0 -17
- package/dist/esm/components/dropdown-option.js +1 -1
- package/dist/esm/components/features-grid/index.js +21 -6
- package/dist/esm/components/features-grid/index.js.map +1 -1
- package/dist/esm/components/features-grid/index.stories.js +1 -0
- package/dist/esm/components/features-grid/index.stories.js.map +1 -1
- package/dist/esm/components/features-grid/style.scss +6 -21
- package/dist/esm/components/plan-button/style.scss +12 -11
- package/dist/esm/components/plan-type-selector/style.scss +3 -1
- package/dist/esm/components/shared/billing-timeframe/index.js +14 -6
- package/dist/esm/components/shared/billing-timeframe/index.js.map +1 -1
- package/dist/esm/components/shared/header-price/style.scss +4 -2
- package/dist/esm/components/sticky-container.js +66 -5
- package/dist/esm/components/sticky-container.js.map +1 -1
- package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js +14 -11
- package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
- package/dist/esm/hooks/data-store/use-plan-billing-description.js +1 -1
- package/dist/esm/hooks/data-store/use-plan-billing-period.js +12 -0
- package/dist/esm/hooks/data-store/use-plan-billing-period.js.map +1 -0
- package/dist/esm/hooks/use-grid-size.js +0 -1
- package/dist/esm/hooks/use-grid-size.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- 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/comparison-grid/index.stories.d.ts +5 -3
- package/dist/types/components/comparison-grid/index.stories.d.ts.map +1 -1
- package/dist/types/components/dropdown-option.d.ts +0 -1
- package/dist/types/components/dropdown-option.d.ts.map +1 -1
- package/dist/types/components/features-grid/billing-timeframes.d.ts.map +1 -1
- package/dist/types/components/features-grid/client-logo-list/client-list.d.ts +0 -1
- package/dist/types/components/features-grid/client-logo-list/client-list.d.ts.map +1 -1
- package/dist/types/components/features-grid/client-logo-list/index.d.ts.map +1 -1
- package/dist/types/components/features-grid/enterprise-features.d.ts.map +1 -1
- package/dist/types/components/features-grid/index.d.ts.map +1 -1
- package/dist/types/components/features-grid/index.stories.d.ts +5 -1
- package/dist/types/components/features-grid/index.stories.d.ts.map +1 -1
- package/dist/types/components/features-grid/mobile-free-domain.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.map +1 -1
- package/dist/types/components/features-grid/plan-logos.d.ts.map +1 -1
- package/dist/types/components/features-grid/plan-prices.d.ts.map +1 -1
- package/dist/types/components/features-grid/plan-tagline.d.ts.map +1 -1
- package/dist/types/components/features-grid/previous-features-included-title.d.ts.map +1 -1
- package/dist/types/components/features-grid/spotlight-plan.d.ts.map +1 -1
- package/dist/types/components/features-grid/table.d.ts.map +1 -1
- package/dist/types/components/features-grid/top-buttons.d.ts.map +1 -1
- package/dist/types/components/plan-button/index.d.ts +10 -10
- package/dist/types/components/plan-button/index.d.ts.map +1 -1
- package/dist/types/components/plan-div-td-container.d.ts +0 -1
- package/dist/types/components/plan-div-td-container.d.ts.map +1 -1
- package/dist/types/components/plan-logo.d.ts +0 -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 +0 -1
- package/dist/types/components/plan-type-selector/components/interval-type-dropdown.d.ts.map +1 -1
- package/dist/types/components/plan-type-selector/components/interval-type-selector.d.ts +0 -1
- package/dist/types/components/plan-type-selector/components/interval-type-selector.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/popular-badge.d.ts +0 -1
- package/dist/types/components/popular-badge.d.ts.map +1 -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/header-price-context.d.ts +0 -1
- package/dist/types/components/shared/header-price/header-price-context.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/plan-storage.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-storage-string.d.ts +0 -1
- package/dist/types/components/shared/storage/hooks/use-storage-string.d.ts.map +1 -1
- package/dist/types/components/sticky-container.d.ts +22 -0
- package/dist/types/components/sticky-container.d.ts.map +1 -1
- package/dist/types/css-mixins.d.ts.map +1 -1
- package/dist/types/grid-context.d.ts +0 -1
- package/dist/types/grid-context.d.ts.map +1 -1
- package/dist/types/hooks/data-store/types.d.ts +1 -0
- package/dist/types/hooks/data-store/types.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-grid-plan-for-spotlight.d.ts.map +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 +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 +0 -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 +0 -1
- package/dist/types/hooks/data-store/use-plan-billing-description.d.ts.map +1 -1
- package/dist/types/hooks/data-store/use-plan-billing-period.d.ts +8 -0
- package/dist/types/hooks/data-store/use-plan-billing-period.d.ts.map +1 -0
- package/dist/types/hooks/data-store/use-plans-from-types.d.ts.map +1 -1
- package/dist/types/hooks/use-grid-size.d.ts +3 -3
- package/dist/types/hooks/use-grid-size.d.ts.map +1 -1
- package/dist/types/hooks/use-highlight-adjacency-matrix.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/filter-unused-features-object.d.ts.map +1 -1
- package/dist/types/lib/get-plan-features-object.d.ts.map +1 -1
- package/dist/types/types.d.ts +5 -5
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +16 -15
- package/src/_shared.scss +9 -4
- package/src/components/comparison-grid/index.stories.tsx +2 -1
- package/src/components/comparison-grid/index.tsx +69 -55
- package/src/components/comparison-grid/style.scss +0 -17
- package/src/components/dropdown-option.tsx +1 -1
- package/src/components/features-grid/index.stories.tsx +1 -0
- package/src/components/features-grid/index.tsx +22 -9
- package/src/components/features-grid/style.scss +6 -21
- package/src/components/plan-button/style.scss +12 -11
- package/src/components/plan-type-selector/style.scss +3 -1
- package/src/components/shared/billing-timeframe/index.tsx +15 -7
- package/src/components/shared/header-price/style.scss +4 -2
- package/src/components/sticky-container.tsx +74 -3
- package/src/components/test/billing-timeframe.tsx +2 -2
- package/src/hooks/data-store/types.ts +1 -0
- package/src/hooks/data-store/use-grid-plans-for-features-grid.ts +14 -10
- package/src/hooks/data-store/use-plan-billing-description.tsx +1 -1
- package/src/hooks/data-store/use-plan-billing-period.tsx +28 -0
- package/src/hooks/use-grid-size.ts +3 -3
- package/src/index.tsx +2 -0
- package/src/types.ts +5 -4
- package/dist/cjs/lib/sort-plan-properties.js +0 -39
- package/dist/cjs/lib/sort-plan-properties.js.map +0 -1
- package/dist/esm/lib/sort-plan-properties.js +0 -35
- package/dist/esm/lib/sort-plan-properties.js.map +0 -1
- package/dist/types/lib/sort-plan-properties.d.ts +0 -3
- package/dist/types/lib/sort-plan-properties.d.ts.map +0 -1
- package/src/lib/sort-plan-properties.ts +0 -46
- package/src/lib/test/sort-plan-properties.ts +0 -104
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @jest-environment jsdom
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Default mock implementations
|
|
6
|
-
*/
|
|
7
|
-
jest.mock( '../../hooks/data-store/is-popular-plan', () => ( {
|
|
8
|
-
isPopularPlan: ( planSlug ) => planSlug === 'value_bundle',
|
|
9
|
-
} ) );
|
|
10
|
-
jest.mock( '@automattic/calypso-products', () => ( {
|
|
11
|
-
isFreePlan: ( planSlug ) => planSlug === 'free_plan',
|
|
12
|
-
} ) );
|
|
13
|
-
|
|
14
|
-
import { sortPlans } from '../sort-plan-properties';
|
|
15
|
-
import type { GridPlan } from '../../types';
|
|
16
|
-
|
|
17
|
-
const planFree = {
|
|
18
|
-
pricing: { originalPrice: { full: 0, monthly: 0 } },
|
|
19
|
-
planSlug: 'free_plan',
|
|
20
|
-
} as GridPlan;
|
|
21
|
-
|
|
22
|
-
const planPersonal = {
|
|
23
|
-
pricing: { originalPrice: { full: 100, monthly: 0 } },
|
|
24
|
-
planSlug: 'personal-bundle',
|
|
25
|
-
} as GridPlan;
|
|
26
|
-
|
|
27
|
-
const planPremium = {
|
|
28
|
-
pricing: { originalPrice: { full: 200, monthly: 0 } },
|
|
29
|
-
planSlug: 'value_bundle',
|
|
30
|
-
} as GridPlan;
|
|
31
|
-
|
|
32
|
-
const planBusiness = {
|
|
33
|
-
pricing: { originalPrice: { full: 300, monthly: 0 } },
|
|
34
|
-
planSlug: 'business-bundle',
|
|
35
|
-
} as GridPlan;
|
|
36
|
-
|
|
37
|
-
const planEcommerce = {
|
|
38
|
-
pricing: { originalPrice: { full: 500, monthly: 0 } },
|
|
39
|
-
planSlug: 'ecommerce-bundle',
|
|
40
|
-
} as GridPlan;
|
|
41
|
-
|
|
42
|
-
const plansInDefaultOrder = [ planFree, planPersonal, planPremium, planBusiness, planEcommerce ];
|
|
43
|
-
|
|
44
|
-
describe( 'sortPlans', () => {
|
|
45
|
-
it( 'should sort plans in descending order of value when current plan slug is personal', () => {
|
|
46
|
-
expect( sortPlans( plansInDefaultOrder, 'personal-bundle' ) ).toEqual( [
|
|
47
|
-
planPersonal,
|
|
48
|
-
planPremium,
|
|
49
|
-
planBusiness,
|
|
50
|
-
planEcommerce,
|
|
51
|
-
planFree,
|
|
52
|
-
] );
|
|
53
|
-
} );
|
|
54
|
-
|
|
55
|
-
it( 'should sort plans in descending order of value when current plan slug is ecommerce', () => {
|
|
56
|
-
expect( sortPlans( plansInDefaultOrder, 'ecommerce-bundle' ) ).toEqual( [
|
|
57
|
-
planEcommerce,
|
|
58
|
-
planBusiness,
|
|
59
|
-
planPremium,
|
|
60
|
-
planPersonal,
|
|
61
|
-
planFree,
|
|
62
|
-
] );
|
|
63
|
-
} );
|
|
64
|
-
|
|
65
|
-
it( 'should show the popular plan first if current plan slug is empty', () => {
|
|
66
|
-
expect( sortPlans( plansInDefaultOrder ) ).toEqual( [
|
|
67
|
-
planPremium,
|
|
68
|
-
planBusiness,
|
|
69
|
-
planEcommerce,
|
|
70
|
-
planPersonal,
|
|
71
|
-
planFree,
|
|
72
|
-
] );
|
|
73
|
-
} );
|
|
74
|
-
|
|
75
|
-
it( 'should show the popular plan first when current plan slug is empty', () => {
|
|
76
|
-
expect( sortPlans( plansInDefaultOrder ) ).toEqual( [
|
|
77
|
-
planPremium,
|
|
78
|
-
planBusiness,
|
|
79
|
-
planEcommerce,
|
|
80
|
-
planPersonal,
|
|
81
|
-
planFree,
|
|
82
|
-
] );
|
|
83
|
-
} );
|
|
84
|
-
|
|
85
|
-
it( 'should show the popular plan first if current plan slug is the free plan', () => {
|
|
86
|
-
expect( sortPlans( plansInDefaultOrder, 'free_plan' ) ).toEqual( [
|
|
87
|
-
planPremium,
|
|
88
|
-
planBusiness,
|
|
89
|
-
planEcommerce,
|
|
90
|
-
planPersonal,
|
|
91
|
-
planFree,
|
|
92
|
-
] );
|
|
93
|
-
} );
|
|
94
|
-
|
|
95
|
-
it( 'should show the popular plan second if current plan slug is empty/free and user is on mobile', () => {
|
|
96
|
-
expect( sortPlans( plansInDefaultOrder, 'free_plan', true ) ).toEqual( [
|
|
97
|
-
planPersonal,
|
|
98
|
-
planPremium,
|
|
99
|
-
planBusiness,
|
|
100
|
-
planEcommerce,
|
|
101
|
-
planFree,
|
|
102
|
-
] );
|
|
103
|
-
} );
|
|
104
|
-
} );
|