@automattic/plans-grid-next 1.0.1 → 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.
Files changed (339) hide show
  1. package/CHANGELOG.md +4 -1
  2. package/dist/cjs/_shared.scss +4 -3
  3. package/dist/cjs/components/comparison-grid/index.js +101 -71
  4. package/dist/cjs/components/comparison-grid/index.js.map +1 -1
  5. package/dist/cjs/components/comparison-grid/index.stories.js.map +1 -1
  6. package/dist/cjs/components/comparison-grid/style.scss +10 -2
  7. package/dist/cjs/components/features-grid/client-logo-list/client-list.js +0 -12
  8. package/dist/cjs/components/features-grid/client-logo-list/client-list.js.map +1 -1
  9. package/dist/cjs/components/features-grid/index.js +9 -6
  10. package/dist/cjs/components/features-grid/index.js.map +1 -1
  11. package/dist/cjs/components/features-grid/plan-features-list.js +10 -3
  12. package/dist/cjs/components/features-grid/plan-features-list.js.map +1 -1
  13. package/dist/cjs/components/features-grid/plan-headers.js +2 -2
  14. package/dist/cjs/components/features-grid/plan-headers.js.map +1 -1
  15. package/dist/cjs/components/features-grid/plan-tagline.js +1 -1
  16. package/dist/cjs/components/features-grid/plan-tagline.js.map +1 -1
  17. package/dist/cjs/components/features-grid/style.scss +111 -21
  18. package/dist/cjs/components/features-grid/table.js +1 -1
  19. package/dist/cjs/components/features-grid/table.js.map +1 -1
  20. package/dist/cjs/components/features.js +43 -4
  21. package/dist/cjs/components/features.js.map +1 -1
  22. package/dist/cjs/components/item.js +1 -1
  23. package/dist/cjs/components/item.js.map +1 -1
  24. package/dist/cjs/components/plan-button/index.js +5 -3
  25. package/dist/cjs/components/plan-button/index.js.map +1 -1
  26. package/dist/cjs/components/plan-button/style.scss +71 -47
  27. package/dist/cjs/components/plan-div-td-container.js +4 -1
  28. package/dist/cjs/components/plan-div-td-container.js.map +1 -1
  29. package/dist/cjs/components/plan-logo.js +6 -3
  30. package/dist/cjs/components/plan-logo.js.map +1 -1
  31. package/dist/cjs/components/plan-type-selector/components/interval-type-dropdown.js +12 -1
  32. package/dist/cjs/components/plan-type-selector/components/interval-type-dropdown.js.map +1 -1
  33. package/dist/cjs/components/plan-type-selector/hooks/use-max-discount.js +4 -33
  34. package/dist/cjs/components/plan-type-selector/hooks/use-max-discount.js.map +1 -1
  35. package/dist/cjs/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js +11 -13
  36. package/dist/cjs/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js.map +1 -1
  37. package/dist/cjs/components/plans-2023-tooltip.js +16 -5
  38. package/dist/cjs/components/plans-2023-tooltip.js.map +1 -1
  39. package/dist/cjs/components/shared/action-button/index.js +22 -7
  40. package/dist/cjs/components/shared/action-button/index.js.map +1 -1
  41. package/dist/cjs/components/shared/action-button/style.scss +4 -0
  42. package/dist/cjs/components/shared/billing-timeframe/index.js +8 -4
  43. package/dist/cjs/components/shared/billing-timeframe/index.js.map +1 -1
  44. package/dist/cjs/components/shared/header-price/index.js +60 -15
  45. package/dist/cjs/components/shared/header-price/index.js.map +1 -1
  46. package/dist/cjs/components/shared/header-price/style.scss +10 -2
  47. package/dist/cjs/components/shared/storage/components/plan-storage.js +2 -2
  48. package/dist/cjs/components/shared/storage/components/plan-storage.js.map +1 -1
  49. package/dist/cjs/components/shared/storage/components/storage-dropdown.js +29 -6
  50. package/dist/cjs/components/shared/storage/components/storage-dropdown.js.map +1 -1
  51. package/dist/cjs/components/shared/storage/components/storage-feature-label.js +2 -1
  52. package/dist/cjs/components/shared/storage/components/storage-feature-label.js.map +1 -1
  53. package/dist/cjs/components/shared/storage/hooks/use-plan-storage.js +2 -0
  54. package/dist/cjs/components/shared/storage/hooks/use-plan-storage.js.map +1 -1
  55. package/dist/cjs/fixtures/sites-purchases.js +2 -4
  56. package/dist/cjs/fixtures/sites-purchases.js.map +1 -1
  57. package/dist/cjs/grid-context.js +4 -1
  58. package/dist/cjs/grid-context.js.map +1 -1
  59. package/dist/cjs/hooks/data-store/get-renewal-pricing-text.js +50 -0
  60. package/dist/cjs/hooks/data-store/get-renewal-pricing-text.js.map +1 -0
  61. package/dist/cjs/hooks/data-store/use-grid-plans-for-comparison-grid.js +6 -1
  62. package/dist/cjs/hooks/data-store/use-grid-plans-for-comparison-grid.js.map +1 -1
  63. package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js +6 -1
  64. package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
  65. package/dist/cjs/hooks/data-store/use-grid-plans.js +175 -21
  66. package/dist/cjs/hooks/data-store/use-grid-plans.js.map +1 -1
  67. package/dist/cjs/hooks/data-store/use-highlight-labels.js +13 -4
  68. package/dist/cjs/hooks/data-store/use-highlight-labels.js.map +1 -1
  69. package/dist/cjs/hooks/data-store/use-plan-billing-description.js +68 -13
  70. package/dist/cjs/hooks/data-store/use-plan-billing-description.js.map +1 -1
  71. package/dist/cjs/hooks/data-store/use-plan-billing-period.js +14 -0
  72. package/dist/cjs/hooks/data-store/use-plan-billing-period.js.map +1 -0
  73. package/dist/cjs/hooks/data-store/use-plan-features-for-grid-plans.js +76 -2
  74. package/dist/cjs/hooks/data-store/use-plan-features-for-grid-plans.js.map +1 -1
  75. package/dist/cjs/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js +60 -12
  76. package/dist/cjs/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js.map +1 -1
  77. package/dist/cjs/hooks/data-store/use-title-badges.js +19 -0
  78. package/dist/cjs/hooks/data-store/use-title-badges.js.map +1 -0
  79. package/dist/cjs/hooks/use-grid-size.js.map +1 -1
  80. package/dist/cjs/hooks/use-is-large-currency.js +2 -2
  81. package/dist/cjs/hooks/use-is-large-currency.js.map +1 -1
  82. package/dist/cjs/hooks/use-visible-grid-plans.js +70 -0
  83. package/dist/cjs/hooks/use-visible-grid-plans.js.map +1 -0
  84. package/dist/cjs/index.js +8 -1
  85. package/dist/cjs/index.js.map +1 -1
  86. package/dist/cjs/lib/get-plan-features-object.js +15 -2
  87. package/dist/cjs/lib/get-plan-features-object.js.map +1 -1
  88. package/dist/cjs/lib/plan-pricing-utils.js +135 -0
  89. package/dist/cjs/lib/plan-pricing-utils.js.map +1 -0
  90. package/dist/esm/_shared.scss +4 -3
  91. package/dist/esm/components/comparison-grid/index.js +102 -72
  92. package/dist/esm/components/comparison-grid/index.js.map +1 -1
  93. package/dist/esm/components/comparison-grid/index.stories.js.map +1 -1
  94. package/dist/esm/components/comparison-grid/style.scss +10 -2
  95. package/dist/esm/components/features-grid/client-logo-list/client-list.js +0 -12
  96. package/dist/esm/components/features-grid/client-logo-list/client-list.js.map +1 -1
  97. package/dist/esm/components/features-grid/index.js +9 -6
  98. package/dist/esm/components/features-grid/index.js.map +1 -1
  99. package/dist/esm/components/features-grid/plan-features-list.js +10 -3
  100. package/dist/esm/components/features-grid/plan-features-list.js.map +1 -1
  101. package/dist/esm/components/features-grid/plan-headers.js +3 -3
  102. package/dist/esm/components/features-grid/plan-headers.js.map +1 -1
  103. package/dist/esm/components/features-grid/plan-tagline.js +1 -1
  104. package/dist/esm/components/features-grid/plan-tagline.js.map +1 -1
  105. package/dist/esm/components/features-grid/style.scss +111 -21
  106. package/dist/esm/components/features-grid/table.js +1 -1
  107. package/dist/esm/components/features-grid/table.js.map +1 -1
  108. package/dist/esm/components/features.js +44 -5
  109. package/dist/esm/components/features.js.map +1 -1
  110. package/dist/esm/components/item.js +1 -1
  111. package/dist/esm/components/item.js.map +1 -1
  112. package/dist/esm/components/plan-button/index.js +5 -3
  113. package/dist/esm/components/plan-button/index.js.map +1 -1
  114. package/dist/esm/components/plan-button/style.scss +71 -47
  115. package/dist/esm/components/plan-div-td-container.js +4 -1
  116. package/dist/esm/components/plan-div-td-container.js.map +1 -1
  117. package/dist/esm/components/plan-logo.js +7 -4
  118. package/dist/esm/components/plan-logo.js.map +1 -1
  119. package/dist/esm/components/plan-type-selector/components/interval-type-dropdown.js +12 -1
  120. package/dist/esm/components/plan-type-selector/components/interval-type-dropdown.js.map +1 -1
  121. package/dist/esm/components/plan-type-selector/hooks/use-max-discount.js +3 -33
  122. package/dist/esm/components/plan-type-selector/hooks/use-max-discount.js.map +1 -1
  123. package/dist/esm/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js +11 -13
  124. package/dist/esm/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js.map +1 -1
  125. package/dist/esm/components/plans-2023-tooltip.js +16 -5
  126. package/dist/esm/components/plans-2023-tooltip.js.map +1 -1
  127. package/dist/esm/components/shared/action-button/index.js +22 -7
  128. package/dist/esm/components/shared/action-button/index.js.map +1 -1
  129. package/dist/esm/components/shared/action-button/style.scss +4 -0
  130. package/dist/esm/components/shared/billing-timeframe/index.js +8 -4
  131. package/dist/esm/components/shared/billing-timeframe/index.js.map +1 -1
  132. package/dist/esm/components/shared/header-price/index.js +60 -15
  133. package/dist/esm/components/shared/header-price/index.js.map +1 -1
  134. package/dist/esm/components/shared/header-price/style.scss +10 -2
  135. package/dist/esm/components/shared/storage/components/plan-storage.js +2 -2
  136. package/dist/esm/components/shared/storage/components/plan-storage.js.map +1 -1
  137. package/dist/esm/components/shared/storage/components/storage-dropdown.js +30 -7
  138. package/dist/esm/components/shared/storage/components/storage-dropdown.js.map +1 -1
  139. package/dist/esm/components/shared/storage/components/storage-feature-label.js +2 -1
  140. package/dist/esm/components/shared/storage/components/storage-feature-label.js.map +1 -1
  141. package/dist/esm/components/shared/storage/hooks/use-plan-storage.js +3 -1
  142. package/dist/esm/components/shared/storage/hooks/use-plan-storage.js.map +1 -1
  143. package/dist/esm/fixtures/sites-purchases.js +2 -4
  144. package/dist/esm/fixtures/sites-purchases.js.map +1 -1
  145. package/dist/esm/grid-context.js +4 -1
  146. package/dist/esm/grid-context.js.map +1 -1
  147. package/dist/esm/hooks/data-store/get-renewal-pricing-text.js +47 -0
  148. package/dist/esm/hooks/data-store/get-renewal-pricing-text.js.map +1 -0
  149. package/dist/esm/hooks/data-store/use-grid-plans-for-comparison-grid.js +6 -1
  150. package/dist/esm/hooks/data-store/use-grid-plans-for-comparison-grid.js.map +1 -1
  151. package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js +6 -1
  152. package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
  153. package/dist/esm/hooks/data-store/use-grid-plans.js +176 -22
  154. package/dist/esm/hooks/data-store/use-grid-plans.js.map +1 -1
  155. package/dist/esm/hooks/data-store/use-highlight-labels.js +14 -5
  156. package/dist/esm/hooks/data-store/use-highlight-labels.js.map +1 -1
  157. package/dist/esm/hooks/data-store/use-plan-billing-description.js +66 -11
  158. package/dist/esm/hooks/data-store/use-plan-billing-description.js.map +1 -1
  159. package/dist/esm/hooks/data-store/use-plan-billing-period.js +12 -0
  160. package/dist/esm/hooks/data-store/use-plan-billing-period.js.map +1 -0
  161. package/dist/esm/hooks/data-store/use-plan-features-for-grid-plans.js +77 -3
  162. package/dist/esm/hooks/data-store/use-plan-features-for-grid-plans.js.map +1 -1
  163. package/dist/esm/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js +59 -11
  164. package/dist/esm/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js.map +1 -1
  165. package/dist/esm/hooks/data-store/use-title-badges.js +17 -0
  166. package/dist/esm/hooks/data-store/use-title-badges.js.map +1 -0
  167. package/dist/esm/hooks/use-grid-size.js.map +1 -1
  168. package/dist/esm/hooks/use-is-large-currency.js +1 -1
  169. package/dist/esm/hooks/use-is-large-currency.js.map +1 -1
  170. package/dist/esm/hooks/use-visible-grid-plans.js +66 -0
  171. package/dist/esm/hooks/use-visible-grid-plans.js.map +1 -0
  172. package/dist/esm/index.js +4 -1
  173. package/dist/esm/index.js.map +1 -1
  174. package/dist/esm/lib/get-plan-features-object.js +15 -2
  175. package/dist/esm/lib/get-plan-features-object.js.map +1 -1
  176. package/dist/esm/lib/plan-pricing-utils.js +129 -0
  177. package/dist/esm/lib/plan-pricing-utils.js.map +1 -0
  178. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  179. package/dist/tsconfig.tsbuildinfo +1 -1
  180. package/dist/types/components/comparison-grid/index.d.ts +1 -1
  181. package/dist/types/components/comparison-grid/index.d.ts.map +1 -1
  182. package/dist/types/components/comparison-grid/index.stories.d.ts +2 -2
  183. package/dist/types/components/dropdown-option.d.ts.map +1 -1
  184. package/dist/types/components/features-grid/billing-timeframes.d.ts.map +1 -1
  185. package/dist/types/components/features-grid/client-logo-list/client-list.d.ts.map +1 -1
  186. package/dist/types/components/features-grid/client-logo-list/index.d.ts.map +1 -1
  187. package/dist/types/components/features-grid/enterprise-features.d.ts.map +1 -1
  188. package/dist/types/components/features-grid/index.d.ts.map +1 -1
  189. package/dist/types/components/features-grid/plan-features-list.d.ts.map +1 -1
  190. package/dist/types/components/features-grid/plan-headers.d.ts +2 -0
  191. package/dist/types/components/features-grid/plan-headers.d.ts.map +1 -1
  192. package/dist/types/components/features-grid/plan-logos.d.ts.map +1 -1
  193. package/dist/types/components/features-grid/plan-prices.d.ts.map +1 -1
  194. package/dist/types/components/features-grid/plan-tagline.d.ts.map +1 -1
  195. package/dist/types/components/features-grid/previous-features-included-title.d.ts.map +1 -1
  196. package/dist/types/components/features-grid/spotlight-plan.d.ts.map +1 -1
  197. package/dist/types/components/features-grid/table.d.ts.map +1 -1
  198. package/dist/types/components/features-grid/top-buttons.d.ts.map +1 -1
  199. package/dist/types/components/features.d.ts.map +1 -1
  200. package/dist/types/components/item.d.ts +2 -1
  201. package/dist/types/components/item.d.ts.map +1 -1
  202. package/dist/types/components/plan-button/index.d.ts +2 -1
  203. package/dist/types/components/plan-button/index.d.ts.map +1 -1
  204. package/dist/types/components/plan-div-td-container.d.ts +2 -0
  205. package/dist/types/components/plan-div-td-container.d.ts.map +1 -1
  206. package/dist/types/components/plan-logo.d.ts.map +1 -1
  207. package/dist/types/components/plan-type-selector/components/interval-type-dropdown.d.ts.map +1 -1
  208. package/dist/types/components/plan-type-selector/hooks/use-max-discount.d.ts.map +1 -1
  209. package/dist/types/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.d.ts.map +1 -1
  210. package/dist/types/components/plans-2023-tooltip.d.ts.map +1 -1
  211. package/dist/types/components/shared/action-button/index.d.ts +2 -1
  212. package/dist/types/components/shared/action-button/index.d.ts.map +1 -1
  213. package/dist/types/components/shared/billing-timeframe/index.d.ts.map +1 -1
  214. package/dist/types/components/shared/header-price/header-price-context.d.ts.map +1 -1
  215. package/dist/types/components/shared/header-price/index.d.ts.map +1 -1
  216. package/dist/types/components/shared/storage/components/plan-storage.d.ts.map +1 -1
  217. package/dist/types/components/shared/storage/components/storage-dropdown.d.ts.map +1 -1
  218. package/dist/types/components/shared/storage/components/storage-feature-label.d.ts.map +1 -1
  219. package/dist/types/components/shared/storage/hooks/use-plan-storage.d.ts +1 -1
  220. package/dist/types/components/shared/storage/hooks/use-plan-storage.d.ts.map +1 -1
  221. package/dist/types/css-mixins.d.ts.map +1 -1
  222. package/dist/types/fixtures/sites-purchases.d.ts +2 -4
  223. package/dist/types/fixtures/sites-purchases.d.ts.map +1 -1
  224. package/dist/types/grid-context.d.ts +4 -1
  225. package/dist/types/grid-context.d.ts.map +1 -1
  226. package/dist/types/hooks/data-store/get-renewal-pricing-text.d.ts +14 -0
  227. package/dist/types/hooks/data-store/get-renewal-pricing-text.d.ts.map +1 -0
  228. package/dist/types/hooks/data-store/types.d.ts +21 -0
  229. package/dist/types/hooks/data-store/types.d.ts.map +1 -1
  230. package/dist/types/hooks/data-store/use-grid-plan-for-spotlight.d.ts.map +1 -1
  231. package/dist/types/hooks/data-store/use-grid-plans-for-comparison-grid.d.ts +1 -1
  232. package/dist/types/hooks/data-store/use-grid-plans-for-comparison-grid.d.ts.map +1 -1
  233. package/dist/types/hooks/data-store/use-grid-plans-for-features-grid.d.ts +1 -1
  234. package/dist/types/hooks/data-store/use-grid-plans-for-features-grid.d.ts.map +1 -1
  235. package/dist/types/hooks/data-store/use-grid-plans.d.ts.map +1 -1
  236. package/dist/types/hooks/data-store/use-highlight-labels.d.ts.map +1 -1
  237. package/dist/types/hooks/data-store/use-plan-billing-description.d.ts.map +1 -1
  238. package/dist/types/hooks/data-store/use-plan-billing-period.d.ts +8 -0
  239. package/dist/types/hooks/data-store/use-plan-billing-period.d.ts.map +1 -0
  240. package/dist/types/hooks/data-store/use-plan-features-for-grid-plans.d.ts +4 -1
  241. package/dist/types/hooks/data-store/use-plan-features-for-grid-plans.d.ts.map +1 -1
  242. package/dist/types/hooks/data-store/use-plans-from-types.d.ts.map +1 -1
  243. package/dist/types/hooks/data-store/use-restructured-plan-features-for-comparison-grid.d.ts +4 -1
  244. package/dist/types/hooks/data-store/use-restructured-plan-features-for-comparison-grid.d.ts.map +1 -1
  245. package/dist/types/hooks/data-store/use-title-badges.d.ts +9 -0
  246. package/dist/types/hooks/data-store/use-title-badges.d.ts.map +1 -0
  247. package/dist/types/hooks/use-grid-size.d.ts +3 -2
  248. package/dist/types/hooks/use-grid-size.d.ts.map +1 -1
  249. package/dist/types/hooks/use-highlight-adjacency-matrix.d.ts.map +1 -1
  250. package/dist/types/hooks/use-visible-grid-plans.d.ts +14 -0
  251. package/dist/types/hooks/use-visible-grid-plans.d.ts.map +1 -0
  252. package/dist/types/index.d.ts +9 -1
  253. package/dist/types/index.d.ts.map +1 -1
  254. package/dist/types/lib/filter-unused-features-object.d.ts.map +1 -1
  255. package/dist/types/lib/get-plan-features-object.d.ts +1 -1
  256. package/dist/types/lib/get-plan-features-object.d.ts.map +1 -1
  257. package/dist/types/lib/plan-pricing-utils.d.ts +105 -0
  258. package/dist/types/lib/plan-pricing-utils.d.ts.map +1 -0
  259. package/dist/types/types.d.ts +33 -6
  260. package/dist/types/types.d.ts.map +1 -1
  261. package/package.json +39 -28
  262. package/src/_shared.scss +4 -3
  263. package/src/components/comparison-grid/index.stories.tsx +1 -1
  264. package/src/components/comparison-grid/index.tsx +263 -158
  265. package/src/components/comparison-grid/style.scss +10 -2
  266. package/src/components/features-grid/client-logo-list/client-list.tsx +0 -25
  267. package/src/components/features-grid/index.tsx +37 -19
  268. package/src/components/features-grid/plan-features-list.tsx +15 -4
  269. package/src/components/features-grid/plan-headers.tsx +10 -3
  270. package/src/components/features-grid/plan-tagline.tsx +1 -1
  271. package/src/components/features-grid/style.scss +111 -21
  272. package/src/components/features-grid/table.tsx +4 -2
  273. package/src/components/features.tsx +66 -6
  274. package/src/components/item.tsx +6 -3
  275. package/src/components/plan-button/index.tsx +7 -1
  276. package/src/components/plan-button/style.scss +71 -47
  277. package/src/components/plan-div-td-container.tsx +6 -2
  278. package/src/components/plan-logo.tsx +16 -9
  279. package/src/components/plan-type-selector/components/interval-type-dropdown.tsx +14 -1
  280. package/src/components/plan-type-selector/hooks/use-max-discount.ts +8 -47
  281. package/src/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.ts +19 -17
  282. package/src/components/plans-2023-tooltip.tsx +17 -5
  283. package/src/components/shared/action-button/index.tsx +46 -5
  284. package/src/components/shared/action-button/style.scss +4 -0
  285. package/src/components/shared/billing-timeframe/index.tsx +12 -7
  286. package/src/components/shared/header-price/index.tsx +129 -27
  287. package/src/components/shared/header-price/style.scss +10 -2
  288. package/src/components/shared/storage/components/plan-storage.tsx +2 -2
  289. package/src/components/shared/storage/components/storage-dropdown.tsx +36 -15
  290. package/src/components/shared/storage/components/storage-feature-label.tsx +2 -1
  291. package/src/components/shared/storage/hooks/use-plan-storage.ts +3 -0
  292. package/src/components/test/actions-button.tsx +5 -0
  293. package/src/components/test/billing-timeframe.tsx +1 -1
  294. package/src/components/test/header-price.tsx +342 -4
  295. package/src/fixtures/sites-purchases.ts +2 -4
  296. package/src/grid-context.tsx +9 -0
  297. package/src/hooks/data-store/get-renewal-pricing-text.ts +73 -0
  298. package/src/hooks/data-store/types.ts +21 -0
  299. package/src/hooks/data-store/use-grid-plans-for-comparison-grid.ts +10 -0
  300. package/src/hooks/data-store/use-grid-plans-for-features-grid.ts +10 -0
  301. package/src/hooks/data-store/use-grid-plans.tsx +189 -23
  302. package/src/hooks/data-store/use-highlight-labels.ts +12 -3
  303. package/src/hooks/data-store/use-plan-billing-description.tsx +80 -15
  304. package/src/hooks/data-store/use-plan-billing-period.tsx +28 -0
  305. package/src/hooks/data-store/use-plan-features-for-grid-plans.ts +135 -1
  306. package/src/hooks/data-store/use-restructured-plan-features-for-comparison-grid.ts +93 -20
  307. package/src/hooks/data-store/use-title-badges.ts +31 -0
  308. package/src/hooks/test/use-visible-grid-plans.tsx +116 -0
  309. package/src/hooks/use-grid-size.ts +3 -2
  310. package/src/hooks/use-is-large-currency.ts +1 -1
  311. package/src/hooks/use-visible-grid-plans.tsx +102 -0
  312. package/src/index.tsx +20 -0
  313. package/src/lib/get-plan-features-object.ts +23 -2
  314. package/src/lib/plan-pricing-utils.ts +211 -0
  315. package/src/lib/test/plan-pricing-utils.ts +594 -0
  316. package/src/style-imports.d.ts +3 -0
  317. package/src/types.ts +45 -4
  318. package/dist/cjs/components/features-grid/mobile-free-domain.js +0 -25
  319. package/dist/cjs/components/features-grid/mobile-free-domain.js.map +0 -1
  320. package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js +0 -15
  321. package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js.map +0 -1
  322. package/dist/cjs/lib/sort-plan-properties.js +0 -26
  323. package/dist/cjs/lib/sort-plan-properties.js.map +0 -1
  324. package/dist/esm/components/features-grid/mobile-free-domain.js +0 -23
  325. package/dist/esm/components/features-grid/mobile-free-domain.js.map +0 -1
  326. package/dist/esm/lib/get-plan-pricing-info-from-grid-plans.js +0 -12
  327. package/dist/esm/lib/get-plan-pricing-info-from-grid-plans.js.map +0 -1
  328. package/dist/esm/lib/sort-plan-properties.js +0 -23
  329. package/dist/esm/lib/sort-plan-properties.js.map +0 -1
  330. package/dist/types/components/features-grid/mobile-free-domain.d.ts +0 -8
  331. package/dist/types/components/features-grid/mobile-free-domain.d.ts.map +0 -1
  332. package/dist/types/lib/get-plan-pricing-info-from-grid-plans.d.ts +0 -9
  333. package/dist/types/lib/get-plan-pricing-info-from-grid-plans.d.ts.map +0 -1
  334. package/dist/types/lib/sort-plan-properties.d.ts +0 -3
  335. package/dist/types/lib/sort-plan-properties.d.ts.map +0 -1
  336. package/src/components/features-grid/mobile-free-domain.tsx +0 -51
  337. package/src/lib/get-plan-pricing-info-from-grid-plans.ts +0 -31
  338. package/src/lib/sort-plan-properties.ts +0 -27
  339. package/src/lib/test/sort-plan-properties.ts +0 -122
@@ -1 +1 @@
1
- {"version":3,"file":"use-plan-billing-description.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-plan-billing-description.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-plan-billing-description.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-plan-billing-description.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { TERM_ANNUALLY, TERM_BIENNIALLY, TERM_MONTHLY, TERM_TRIENNIALLY, } from '@automattic/calypso-products';
2
+ const usePlanBillingPeriod = ({ intervalType, defaultValue, }) => {
3
+ const plans = {
4
+ monthly: TERM_MONTHLY,
5
+ yearly: TERM_ANNUALLY,
6
+ '2yearly': TERM_BIENNIALLY,
7
+ '3yearly': TERM_TRIENNIALLY,
8
+ };
9
+ return plans[intervalType] || defaultValue || TERM_ANNUALLY;
10
+ };
11
+ export default usePlanBillingPeriod;
12
+ //# sourceMappingURL=use-plan-billing-period.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-plan-billing-period.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-plan-billing-period.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAItC,MAAM,oBAAoB,GAAG,CAAE,EAC9B,YAAY,EACZ,YAAY,GAIZ,EAAG,EAAE;IACL,MAAM,KAAK,GAAsF;QAChG,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,gBAAgB;KAClB,CAAC;IAEX,OAAO,KAAK,CAAE,YAAY,CAAE,IAAI,YAAY,IAAI,aAAa,CAAC;AAC/D,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,13 +1,52 @@
1
- import { FEATURE_CUSTOM_DOMAIN, applyTestFiltersToPlansList, isMonthly, } from '@automattic/calypso-products';
1
+ import { FEATURE_AI_ASSISTANT, FEATURE_AI_WEBSITE_BUILDER, FEATURE_AI_WRITER_DESIGNER, FEATURE_BUILT_IN_SITE_ASSISTANT, FEATURE_CUSTOM_DOMAIN, FEATURE_EMAIL_MARKETING, FEATURE_ENHANCED_AI_ASSISTANT_AND_TOOLS, FEATURE_GUIDED_WEBSITE_BUILDER, FEATURE_SIMPLE_PAYMENTS, FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR, applyTestFiltersToPlansList, isBusinessPlan, isMonthly, isPersonalPlan, isPremiumPlan, } from '@automattic/calypso-products';
2
2
  import { useMemo } from '@wordpress/element';
3
+ import { useTranslate } from 'i18n-calypso';
3
4
  import getPlanFeaturesObject from '../../lib/get-plan-features-object';
4
5
  import useHighlightedFeatures from './use-highlighted-features';
6
+ function isPremiumWebsiteBuilderPillFeature(featureSlug) {
7
+ return (featureSlug === FEATURE_AI_WEBSITE_BUILDER ||
8
+ featureSlug === FEATURE_GUIDED_WEBSITE_BUILDER ||
9
+ featureSlug === FEATURE_AI_WRITER_DESIGNER);
10
+ }
11
+ function isBusinessAssistantPillFeature(featureSlug) {
12
+ return (featureSlug === FEATURE_ENHANCED_AI_ASSISTANT_AND_TOOLS ||
13
+ featureSlug === FEATURE_AI_ASSISTANT ||
14
+ featureSlug === FEATURE_BUILT_IN_SITE_ASSISTANT ||
15
+ featureSlug === FEATURE_AI_WRITER_DESIGNER);
16
+ }
17
+ function getPricingDifferentiationFeatureBadgeText(planSlug, featureSlug, translate, options) {
18
+ const suppressAiPills = options?.suppressAiPills ?? false;
19
+ if (isPersonalPlan(planSlug) && featureSlug === FEATURE_CUSTOM_DOMAIN) {
20
+ return translate('Free');
21
+ }
22
+ if (!suppressAiPills &&
23
+ isPremiumPlan(planSlug) &&
24
+ isPremiumWebsiteBuilderPillFeature(featureSlug)) {
25
+ return translate('AI');
26
+ }
27
+ if (isPremiumPlan(planSlug) && featureSlug === FEATURE_SIMPLE_PAYMENTS) {
28
+ return translate('New');
29
+ }
30
+ if (!suppressAiPills &&
31
+ isBusinessPlan(planSlug) &&
32
+ isBusinessAssistantPillFeature(featureSlug)) {
33
+ return translate('AI');
34
+ }
35
+ if (isBusinessPlan(planSlug) && featureSlug === FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR) {
36
+ return translate('Email');
37
+ }
38
+ if (isBusinessPlan(planSlug) && featureSlug === FEATURE_EMAIL_MARKETING) {
39
+ return translate('New');
40
+ }
41
+ return undefined;
42
+ }
5
43
  /**
6
44
  * usePlanFeaturesForGridPlans:
7
45
  * - these plan features are mainly relevant to FeaturesGrid and Spotlight components
8
46
  * - this hook can migrate to data store once features definitions migrate to calypso-products
9
47
  */
10
- const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, isInSignup, }) => {
48
+ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, isInSignup, useVar42NoAiFeatures, showPricingDifferentiationFeaturePills, isExperimentVariant, }) => {
49
+ const translate = useTranslate();
11
50
  const highlightedFeatures = useHighlightedFeatures({ intent: intent ?? null, isInSignup });
12
51
  return useMemo(() => {
13
52
  return gridPlans.reduce((acc, gridPlan) => {
@@ -16,7 +55,13 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
16
55
  const isMonthlyPlan = isMonthly(planSlug);
17
56
  let wpcomFeatures = [];
18
57
  let jetpackFeatures = [];
19
- if ('plans-newsletter' === intent) {
58
+ if (useVar42NoAiFeatures) {
59
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj?.getVar42NoAiSignupWpcomFeatures?.() ??
60
+ planConstantObj?.get2023PricingGridSignupWpcomFeatures?.() ??
61
+ [], isExperimentVariant ?? true);
62
+ jetpackFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.() ?? [], isExperimentVariant ?? true);
63
+ }
64
+ else if ('plans-newsletter' === intent) {
20
65
  wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj?.getNewsletterSignupFeatures?.() ?? []);
21
66
  }
22
67
  else if ('plans-p2' === intent) {
@@ -43,6 +88,20 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
43
88
  });
44
89
  }
45
90
  }
91
+ else if ('plans-wordpress-hosting' === intent) {
92
+ // Use visual split features for WordPress hosting intent
93
+ if (planConstantObj?.getVisualSplitBusinessFeatures) {
94
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.getVisualSplitBusinessFeatures() ?? []);
95
+ }
96
+ else if (planConstantObj?.getVisualSplitCommerceFeatures) {
97
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.getVisualSplitCommerceFeatures() ?? []);
98
+ }
99
+ else {
100
+ // Fallback to default features if visual split features aren't available
101
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj?.get2023PricingGridSignupWpcomFeatures?.() ?? []);
102
+ }
103
+ jetpackFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.() ?? []);
104
+ }
46
105
  else {
47
106
  wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj?.get2023PricingGridSignupWpcomFeatures?.() ?? []);
48
107
  jetpackFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.() ?? []);
@@ -97,12 +156,23 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
97
156
  return;
98
157
  }
99
158
  const availableOnlyForAnnualPlans = annualPlansOnlyFeatures.includes(feature.getSlug());
159
+ const featureSlug = feature.getSlug();
160
+ const badgeText = showPricingDifferentiationFeaturePills
161
+ ? getPricingDifferentiationFeatureBadgeText(planSlug, featureSlug, translate, {
162
+ suppressAiPills: useVar42NoAiFeatures,
163
+ })
164
+ : undefined;
100
165
  wpcomFeaturesTransformed.push({
101
166
  ...feature,
102
167
  availableOnlyForAnnualPlans,
103
168
  availableForCurrentPlan: !isMonthlyPlan || !availableOnlyForAnnualPlans,
169
+ ...(badgeText && { badgeText }),
104
170
  });
105
171
  });
172
+ if (wpcomFeaturesTransformed.length > 0 && isExperimentVariant) {
173
+ const lastIndex = wpcomFeaturesTransformed.length - 1;
174
+ wpcomFeaturesTransformed[lastIndex].isExperimentLastFeature = true;
175
+ }
106
176
  }
107
177
  const storageFeature = planConstantObj.getStorageFeature?.(showLegacyStorageFeature, gridPlan.current);
108
178
  return {
@@ -124,6 +194,10 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
124
194
  showLegacyStorageFeature,
125
195
  allFeaturesList,
126
196
  hasRedeemedDomainCredit,
197
+ useVar42NoAiFeatures,
198
+ showPricingDifferentiationFeaturePills,
199
+ isExperimentVariant,
200
+ translate,
127
201
  ]);
128
202
  };
129
203
  export default usePlanFeaturesForGridPlans;
@@ -1 +1 @@
1
- {"version":3,"file":"use-plan-features-for-grid-plans.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-plan-features-for-grid-plans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-plan-features-for-grid-plans.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-plan-features-for-grid-plans.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  import { applyTestFiltersToPlansList, isMonthly, isWooExpressPlan, FEATURE_CUSTOM_DOMAIN, } from '@automattic/calypso-products';
2
- import { useMemo } from 'react';
2
+ import { useMemo } from '@wordpress/element';
3
3
  import getPlanFeaturesObject from '../../lib/get-plan-features-object';
4
4
  import usePlanFeaturesForGridPlans from './use-plan-features-for-grid-plans';
5
- const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, }) => {
5
+ const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, useVar42NoAiFeatures, showPricingDifferentiationFeaturePills, isExperimentVariant, }) => {
6
6
  const planFeaturesForGridPlans = usePlanFeaturesForGridPlans({
7
7
  gridPlans,
8
8
  allFeaturesList,
9
9
  intent,
10
10
  selectedFeature,
11
11
  showLegacyStorageFeature,
12
+ useVar42NoAiFeatures,
13
+ showPricingDifferentiationFeaturePills,
14
+ isExperimentVariant,
12
15
  });
13
16
  return useMemo(() => {
14
17
  let previousPlan = null;
@@ -18,13 +21,49 @@ const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesLi
18
21
  const planConstantObj = applyTestFiltersToPlansList(planSlug, undefined);
19
22
  const annualPlansOnlyFeatures = planConstantObj.getAnnualPlansOnlyFeatures?.();
20
23
  const isMonthlyPlan = isMonthly(planSlug);
21
- const wpcomFeatures = planConstantObj.get2023PlanComparisonFeatureOverride?.().length
22
- ? getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PlanComparisonFeatureOverride().slice())
23
- : getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupWpcomFeatures?.().slice());
24
- const jetpackFeatures = planConstantObj.get2023PlanComparisonJetpackFeatureOverride?.()
25
- .length
26
- ? getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PlanComparisonJetpackFeatureOverride().slice())
27
- : getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.().slice());
24
+ let wpcomFeatures;
25
+ // Plans differentiators (non-control): use experiment comparison override when present.
26
+ if (isExperimentVariant &&
27
+ planConstantObj.get2023PlanComparisonFeatureOverrideForExperiment?.()?.length) {
28
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PlanComparisonFeatureOverrideForExperiment().slice(), isExperimentVariant);
29
+ }
30
+ else if (
31
+ // Check if there's a specific override for comparison
32
+ planConstantObj.get2023PlanComparisonFeatureOverride?.().length) {
33
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PlanComparisonFeatureOverride().slice());
34
+ }
35
+ else if ('plans-wordpress-hosting' === intent) {
36
+ // Use visual split features for WordPress hosting intent
37
+ if (planConstantObj?.getVisualSplitBusinessFeatures) {
38
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.getVisualSplitBusinessFeatures().slice());
39
+ }
40
+ else if (planConstantObj?.getVisualSplitCommerceFeatures) {
41
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.getVisualSplitCommerceFeatures().slice());
42
+ }
43
+ else {
44
+ // Fallback to default features
45
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupWpcomFeatures?.().slice());
46
+ }
47
+ }
48
+ else {
49
+ // Default case
50
+ wpcomFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupWpcomFeatures?.().slice());
51
+ }
52
+ // Plans Differentiators Experiment: For comparison grid, use dedicated experiment override function
53
+ // when in an experiment variant for Jetpack features.
54
+ // Note: We check if the function exists, not if it returns a non-empty array, because an empty array
55
+ // is a valid return value (meaning "show no Jetpack features").
56
+ let jetpackFeatures;
57
+ if (isExperimentVariant &&
58
+ planConstantObj.get2023PlanComparisonJetpackFeatureOverrideForExperiment) {
59
+ jetpackFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PlanComparisonJetpackFeatureOverrideForExperiment().slice(), isExperimentVariant);
60
+ }
61
+ else if (planConstantObj.get2023PlanComparisonJetpackFeatureOverride?.().length) {
62
+ jetpackFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PlanComparisonJetpackFeatureOverride().slice());
63
+ }
64
+ else {
65
+ jetpackFeatures = getPlanFeaturesObject(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.().slice());
66
+ }
28
67
  const wpcomFeaturesTransformed = annualPlansOnlyFeatures
29
68
  ? wpcomFeatures?.map((feature) => {
30
69
  const availableOnlyForAnnualPlans = annualPlansOnlyFeatures.includes(feature.getSlug());
@@ -76,12 +115,21 @@ const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesLi
76
115
  ...previousPlanFeatures.jetpackFeatures,
77
116
  ],
78
117
  storageFeature: planFeaturesForGridPlans[planSlug].storageFeature,
79
- comparisonGridFeatureLabels: planConstantObj.getPlanComparisonFeatureLabels?.(),
118
+ comparisonGridFeatureLabels: planConstantObj.getPlanComparisonFeatureLabels?.({
119
+ isExperimentVariant,
120
+ }),
80
121
  };
81
122
  previousPlan = planSlug;
82
123
  }
83
124
  return planFeatureMap;
84
- }, [gridPlans, allFeaturesList, planFeaturesForGridPlans, intent, hasRedeemedDomainCredit]);
125
+ }, [
126
+ gridPlans,
127
+ allFeaturesList,
128
+ planFeaturesForGridPlans,
129
+ intent,
130
+ hasRedeemedDomainCredit,
131
+ isExperimentVariant,
132
+ ]);
85
133
  };
86
134
  export default useRestructuredPlanFeaturesForComparisonGrid;
87
135
  //# sourceMappingURL=use-restructured-plan-features-for-comparison-grid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-restructured-plan-features-for-comparison-grid.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-restructured-plan-features-for-comparison-grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-restructured-plan-features-for-comparison-grid.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-restructured-plan-features-for-comparison-grid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { isWooHostedBasicPlan } from '@automattic/calypso-products';
2
+ import { useTranslate } from 'i18n-calypso';
3
+ const useTitleBadges = ({ intent, planSlugs }) => {
4
+ const translate = useTranslate();
5
+ return planSlugs.reduce((acc, planSlug) => {
6
+ let label;
7
+ if ('plans-woo-hosted' === intent && isWooHostedBasicPlan(planSlug)) {
8
+ label = translate('Recommended');
9
+ }
10
+ return {
11
+ ...acc,
12
+ [planSlug]: label ?? null,
13
+ };
14
+ }, {});
15
+ };
16
+ export default useTitleBadges;
17
+ //# sourceMappingURL=use-title-badges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-title-badges.js","sourceRoot":"","sources":["../../../../src/hooks/data-store/use-title-badges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAiB,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAS5C,MAAM,cAAc,GAAG,CAAE,EAAE,MAAM,EAAE,SAAS,EAAS,EAAG,EAAE;IACzD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,SAAS,CAAC,MAAM,CACtB,CAAE,GAAG,EAAE,QAAQ,EAAG,EAAE;QACnB,IAAI,KAAK,CAAC;QAEV,IAAK,kBAAkB,KAAK,MAAM,IAAI,oBAAoB,CAAE,QAAQ,CAAE,EAAG,CAAC;YACzE,KAAK,GAAG,SAAS,CAAE,aAAa,CAAE,CAAC;QACpC,CAAC;QAED,OAAO;YACN,GAAG,GAAG;YACN,CAAE,QAAQ,CAAE,EAAE,KAAK,IAAI,IAAI;SAC3B,CAAC;IACH,CAAC,EACD,EAAgD,CAChD,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-grid-size.js","sourceRoot":"","sources":["../../../src/hooks/use-grid-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAa/D;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,EAAE,YAAY,EAAE,oBAAoB,EAAS;IACjF,MAAM,CAAE,QAAQ,EAAE,WAAW,CAAE,GAAG,QAAQ,CAAmB,IAAI,CAAE,CAAC;IAEpE,eAAe,CAAE,GAAG,EAAE;QACrB,IAAK,CAAE,YAAY,CAAC,OAAO,EAAG,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAE,CAAE,CAAE,KAAK,CAAE,EAAG,EAAE;YACpD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;YAEpC,IAAK,KAAK,EAAG,CAAC;gBACb,KAAM,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,CAAE,GAAG,oBAAoB,CAAE,CAAC,OAAO,EAAE,EAAG,CAAC;oBACtE,IAAK,KAAK,IAAI,KAAK,EAAG,CAAC;wBACtB,WAAW,CAAE,GAAG,CAAE,CAAC;wBACnB,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC,CAAE,CAAC;QAEJ,QAAQ,CAAC,OAAO,CAAE,YAAY,CAAC,OAAO,CAAE,CAAC;QAEzC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC,EAAE,CAAE,YAAY,EAAE,oBAAoB,CAAE,CAAE,CAAC;IAE5C,OAAO,QAAQ,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"use-grid-size.js","sourceRoot":"","sources":["../../../src/hooks/use-grid-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAc/D;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,EAAE,YAAY,EAAE,oBAAoB,EAAS;IACjF,MAAM,CAAE,QAAQ,EAAE,WAAW,CAAE,GAAG,QAAQ,CAAqB,IAAI,CAAE,CAAC;IAEtE,eAAe,CAAE,GAAG,EAAE;QACrB,IAAK,CAAE,YAAY,CAAC,OAAO,EAAG,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAE,CAAE,CAAE,KAAK,CAAE,EAAG,EAAE;YACpD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;YAEpC,IAAK,KAAK,EAAG,CAAC;gBACb,KAAM,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,CAAE,GAAG,oBAAoB,CAAE,CAAC,OAAO,EAAE,EAAG,CAAC;oBACtE,IAAK,KAAK,IAAI,KAAK,EAAG,CAAC;wBACtB,WAAW,CAAE,GAAG,CAAE,CAAC;wBACnB,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC,CAAE,CAAC;QAEJ,QAAQ,CAAC,OAAO,CAAE,YAAY,CAAC,OAAO,CAAE,CAAC;QAEzC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC,EAAE,CAAE,YAAY,EAAE,oBAAoB,CAAE,CAAE,CAAC;IAE5C,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { formatCurrency } from '@automattic/number-formatters';
1
2
  import { useMemo } from '@wordpress/element';
2
- import { formatCurrency } from 'i18n-calypso';
3
3
  const LARGE_ADD_ON_CURRENCY_CHAR_THRESHOLD = 7;
4
4
  const LARGE_CURRENCY_CHAR_THRESHOLD = 6;
5
5
  const LARGE_CURRENCY_COMBINED_CHAR_THRESHOLD = 9;
@@ -1 +1 @@
1
- {"version":3,"file":"use-is-large-currency.js","sourceRoot":"","sources":["../../../src/hooks/use-is-large-currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAC/C,MAAM,6BAA6B,GAAG,CAAC,CAAC;AACxC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AASjD,SAAS,gBAAgB,CAAE,YAAoB,EAAE,MAAiB,EAAE,gBAAgB,GAAG,KAAK;IAC3F;;;;OAIG;IAEH,OAAO,OAAO,CACb,GAAG,EAAE,CACJ,MAAM,EAAE,GAAG,CAAE,CAAE,KAAK,EAAG,EAAE;QACxB,MAAM,YAAY,GAAG,cAAc,CAAE,KAAK,EAAE,YAAY,EAAE;YACzD,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,IAAI;SACpB,CAAE,CAAC;QAEJ,OAAO,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAE,KAAK,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5E,CAAC,CAAE,EACJ,CAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,CAAE,CAC1C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAE,aAAwB,EAAE,OAAO,GAAG,KAAK;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,6BAA6B,CAAC;IACjG,OAAO,CAAC,CAAE,aAAa,EAAE,IAAI,CAAE,CAAE,KAAK,EAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAE,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,iCAAiC,CAAE,aAAwB;IACnE,IAAK,CAAE,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;QACnD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAG,CAAC;QACrD,MAAM,aAAa,GAAG,aAAa,CAAE,CAAC,CAAE,CAAC;QACzC,MAAM,eAAe,GAAG,aAAa,CAAE,CAAC,GAAG,CAAC,CAAE,CAAC;QAE/C,IAAK,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,sCAAsC,EAAG,CAAC;YAC9F,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,EAC3C,MAAM,EACN,OAAO,GAAG,KAAK,EACf,YAAY,EACZ,gBAAgB,GAAG,KAAK,GACjB;IACP;;;;;;;;;;OAUG;IACH,MAAM,aAAa,GAAG,gBAAgB,CAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,CAAE,CAAC;IACjF,MAAM,qBAAqB,GAAG,yBAAyB,CAAE,aAAa,EAAE,OAAO,CAAE,CAAC;IAClF,MAAM,6BAA6B,GAAG,iCAAiC,CAAE,aAAa,CAAE,CAAC;IAEzF,OAAO,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,IAAI,6BAA6B,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"use-is-large-currency.js","sourceRoot":"","sources":["../../../src/hooks/use-is-large-currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAC/C,MAAM,6BAA6B,GAAG,CAAC,CAAC;AACxC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AASjD,SAAS,gBAAgB,CAAE,YAAoB,EAAE,MAAiB,EAAE,gBAAgB,GAAG,KAAK;IAC3F;;;;OAIG;IAEH,OAAO,OAAO,CACb,GAAG,EAAE,CACJ,MAAM,EAAE,GAAG,CAAE,CAAE,KAAK,EAAG,EAAE;QACxB,MAAM,YAAY,GAAG,cAAc,CAAE,KAAK,EAAE,YAAY,EAAE;YACzD,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,IAAI;SACpB,CAAE,CAAC;QAEJ,OAAO,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAE,KAAK,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5E,CAAC,CAAE,EACJ,CAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,CAAE,CAC1C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAE,aAAwB,EAAE,OAAO,GAAG,KAAK;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,6BAA6B,CAAC;IACjG,OAAO,CAAC,CAAE,aAAa,EAAE,IAAI,CAAE,CAAE,KAAK,EAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAE,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,iCAAiC,CAAE,aAAwB;IACnE,IAAK,CAAE,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;QACnD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAG,CAAC;QACrD,MAAM,aAAa,GAAG,aAAa,CAAE,CAAC,CAAE,CAAC;QACzC,MAAM,eAAe,GAAG,aAAa,CAAE,CAAC,GAAG,CAAC,CAAE,CAAC;QAE/C,IAAK,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,sCAAsC,EAAG,CAAC;YAC9F,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,EAC3C,MAAM,EACN,OAAO,GAAG,KAAK,EACf,YAAY,EACZ,gBAAgB,GAAG,KAAK,GACjB;IACP;;;;;;;;;;OAUG;IACH,MAAM,aAAa,GAAG,gBAAgB,CAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,CAAE,CAAC;IACjF,MAAM,qBAAqB,GAAG,yBAAyB,CAAE,aAAa,EAAE,OAAO,CAAE,CAAC;IAClF,MAAM,6BAA6B,GAAG,iCAAiC,CAAE,aAAa,CAAE,CAAC;IAEzF,OAAO,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,IAAI,6BAA6B,CAAC;AACjG,CAAC"}
@@ -0,0 +1,66 @@
1
+ // hooks/use-visible-grid-plans.ts
2
+ import { getPlanClass } from '@automattic/calypso-products';
3
+ import { Plans } from '@automattic/data-stores';
4
+ import { useState, useEffect } from 'react';
5
+ import { usePlansGridContext } from '../grid-context';
6
+ import usePlanBillingPeriod from './data-store/use-plan-billing-period';
7
+ export function useVisibleGridPlans({ gridSize, currentSitePlanSlug, siteId, intervalType, }) {
8
+ const [visibleGridPlans, setVisibleGridPlans] = useState([]);
9
+ const { gridPlans, gridPlansIndex } = usePlansGridContext();
10
+ const currentPlanTerm = Plans.useCurrentPlanTerm({ siteId });
11
+ const selectedPlanTerm = usePlanBillingPeriod({ intervalType });
12
+ useEffect(() => {
13
+ setVisibleGridPlans((previousGridPlans) => {
14
+ let visibleLength = gridPlans.length;
15
+ switch (gridSize) {
16
+ case 'large':
17
+ visibleLength = 4;
18
+ break;
19
+ case 'medium':
20
+ visibleLength = 3;
21
+ break;
22
+ case 'smedium':
23
+ case 'small':
24
+ visibleLength = 2;
25
+ break;
26
+ }
27
+ // Find the user's current plan in the current term
28
+ const usersGridPlanFromSelectedTerm = currentSitePlanSlug
29
+ ? gridPlans.find((gridPlan) => getPlanClass(gridPlan.planSlug) === getPlanClass(currentSitePlanSlug))
30
+ : null;
31
+ // Check if previous state is stale
32
+ const isPreviousGridPlansStale = previousGridPlans.some((plan) => !gridPlansIndex[plan.planSlug]);
33
+ let nextGridPlans = previousGridPlans;
34
+ if (previousGridPlans.length !== visibleLength) {
35
+ nextGridPlans = gridPlans.slice(0, visibleLength);
36
+ }
37
+ else if (isPreviousGridPlansStale) {
38
+ // Map existing plans to their new term equivalents, preserving order
39
+ nextGridPlans = previousGridPlans.map((plan) => {
40
+ const gridPlan = gridPlans.find((gridPlan) => getPlanClass(gridPlan.planSlug) === getPlanClass(plan.planSlug));
41
+ return gridPlan ?? plan;
42
+ });
43
+ }
44
+ // Ensure current plan is visible
45
+ if (usersGridPlanFromSelectedTerm) {
46
+ const isCurrentPlanVisible = nextGridPlans.some((plan) => getPlanClass(plan.planSlug) === getPlanClass(usersGridPlanFromSelectedTerm.planSlug));
47
+ if (!isCurrentPlanVisible) {
48
+ nextGridPlans = [usersGridPlanFromSelectedTerm, ...nextGridPlans].slice(0, visibleLength);
49
+ }
50
+ }
51
+ return nextGridPlans;
52
+ });
53
+ }, [
54
+ gridSize,
55
+ gridPlans,
56
+ currentSitePlanSlug,
57
+ currentPlanTerm,
58
+ selectedPlanTerm,
59
+ gridPlansIndex,
60
+ ]);
61
+ return {
62
+ visibleGridPlans,
63
+ setVisibleGridPlans,
64
+ };
65
+ }
66
+ //# sourceMappingURL=use-visible-grid-plans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-visible-grid-plans.js","sourceRoot":"","sources":["../../../src/hooks/use-visible-grid-plans.tsx"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AAUxE,MAAM,UAAU,mBAAmB,CAAE,EACpC,QAAQ,EACR,mBAAmB,EACnB,MAAM,EACN,YAAY,GACc;IAC1B,MAAM,CAAE,gBAAgB,EAAE,mBAAmB,CAAE,GAAG,QAAQ,CAAgB,EAAE,CAAE,CAAC;IAC/E,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC5D,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAE,EAAE,MAAM,EAAE,CAAE,CAAC;IAC/D,MAAM,gBAAgB,GAAG,oBAAoB,CAAE,EAAE,YAAY,EAAE,CAAE,CAAC;IAElE,SAAS,CAAE,GAAG,EAAE;QACf,mBAAmB,CAAE,CAAE,iBAAiB,EAAG,EAAE;YAC5C,IAAI,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;YAErC,QAAS,QAAQ,EAAG,CAAC;gBACpB,KAAK,OAAO;oBACX,aAAa,GAAG,CAAC,CAAC;oBAClB,MAAM;gBACP,KAAK,QAAQ;oBACZ,aAAa,GAAG,CAAC,CAAC;oBAClB,MAAM;gBACP,KAAK,SAAS,CAAC;gBACf,KAAK,OAAO;oBACX,aAAa,GAAG,CAAC,CAAC;oBAClB,MAAM;YACR,CAAC;YAED,mDAAmD;YACnD,MAAM,6BAA6B,GAAG,mBAAmB;gBACxD,CAAC,CAAC,SAAS,CAAC,IAAI,CACd,CAAE,QAAQ,EAAG,EAAE,CACd,YAAY,CAAE,QAAQ,CAAC,QAAQ,CAAE,KAAK,YAAY,CAAE,mBAAmB,CAAE,CACzE;gBACH,CAAC,CAAC,IAAI,CAAC;YAER,mCAAmC;YACnC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,IAAI,CACtD,CAAE,IAAI,EAAG,EAAE,CAAC,CAAE,cAAc,CAAE,IAAI,CAAC,QAAQ,CAAE,CAC7C,CAAC;YAEF,IAAI,aAAa,GAAe,iBAAiB,CAAC;YAElD,IAAK,iBAAiB,CAAC,MAAM,KAAK,aAAa,EAAG,CAAC;gBAClD,aAAa,GAAG,SAAS,CAAC,KAAK,CAAE,CAAC,EAAE,aAAa,CAAE,CAAC;YACrD,CAAC;iBAAM,IAAK,wBAAwB,EAAG,CAAC;gBACvC,qEAAqE;gBACrE,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAE,CAAE,IAAI,EAAG,EAAE;oBACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC9B,CAAE,QAAQ,EAAG,EAAE,CAAC,YAAY,CAAE,QAAQ,CAAC,QAAQ,CAAE,KAAK,YAAY,CAAE,IAAI,CAAC,QAAQ,CAAE,CACnF,CAAC;oBACF,OAAO,QAAQ,IAAI,IAAI,CAAC;gBACzB,CAAC,CAAE,CAAC;YACL,CAAC;YAED,iCAAiC;YACjC,IAAK,6BAA6B,EAAG,CAAC;gBACrC,MAAM,oBAAoB,GAAG,aAAa,CAAC,IAAI,CAC9C,CAAE,IAAI,EAAG,EAAE,CACV,YAAY,CAAE,IAAI,CAAC,QAAQ,CAAE,KAAK,YAAY,CAAE,6BAA6B,CAAC,QAAQ,CAAE,CACzF,CAAC;gBAEF,IAAK,CAAE,oBAAoB,EAAG,CAAC;oBAC9B,aAAa,GAAG,CAAE,6BAA6B,EAAE,GAAG,aAAa,CAAE,CAAC,KAAK,CACxE,CAAC,EACD,aAAa,CACb,CAAC;gBACH,CAAC;YACF,CAAC;YAED,OAAO,aAAa,CAAC;QACtB,CAAC,CAAE,CAAC;IACL,CAAC,EAAE;QACF,QAAQ;QACR,SAAS;QACT,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,cAAc;KACd,CAAE,CAAC;IAEJ,OAAO;QACN,gBAAgB;QAChB,mBAAmB;KACnB,CAAC;AACH,CAAC"}
package/dist/esm/index.js CHANGED
@@ -9,10 +9,12 @@ import useGridPlans, { usePlanTypesWithIntent } from './hooks/data-store/use-gri
9
9
  import useGridPlansForComparisonGrid from './hooks/data-store/use-grid-plans-for-comparison-grid';
10
10
  import useGridPlansForFeaturesGrid from './hooks/data-store/use-grid-plans-for-features-grid';
11
11
  import usePlanBillingDescription from './hooks/data-store/use-plan-billing-description';
12
+ import usePlanBillingPeriod from './hooks/data-store/use-plan-billing-period';
12
13
  import usePlanFeaturesForGridPlans from './hooks/data-store/use-plan-features-for-grid-plans';
13
14
  import usePlansFromTypes from './hooks/data-store/use-plans-from-types';
14
15
  import useRestructuredPlanFeaturesForComparisonGrid from './hooks/data-store/use-restructured-plan-features-for-comparison-grid';
15
16
  import { useManageTooltipToggle } from './hooks/use-manage-tooltip-toggle';
17
+ import { getPlanPriceForDuration, calculateDiscountPercentage, fromPricingMetaForGridPlan, fromVariantPriceData, } from './lib/plan-pricing-utils';
16
18
  /**
17
19
  * Components
18
20
  */
@@ -20,9 +22,10 @@ export { ComparisonGrid, FeaturesGrid, PlanTypeSelector, PlanButton, Plans2023To
20
22
  /**
21
23
  * Hooks/helpers
22
24
  */
23
- export { useManageTooltipToggle, useGridPlans, useGridPlansForFeaturesGrid, useGridPlansForComparisonGrid, useGridPlanForSpotlight, usePlanBillingDescription, usePlanFeaturesForGridPlans, usePlansFromTypes, usePlanTypesWithIntent, useRestructuredPlanFeaturesForComparisonGrid, };
25
+ export { useManageTooltipToggle, useGridPlans, useGridPlansForFeaturesGrid, useGridPlansForComparisonGrid, useGridPlanForSpotlight, usePlanBillingPeriod, usePlanBillingDescription, usePlanFeaturesForGridPlans, usePlansFromTypes, usePlanTypesWithIntent, useRestructuredPlanFeaturesForComparisonGrid, };
24
26
  /**
25
27
  * Constants
26
28
  */
27
29
  export { EFFECTIVE_TERMS_LIST };
30
+ export { getPlanPriceForDuration, calculateDiscountPercentage, fromPricingMetaForGridPlan, fromVariantPriceData, };
28
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;AACrF,OAAO,YAAY,EAAE,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,6BAA6B,MAAM,uDAAuD,CAAC;AAClG,OAAO,2BAA2B,MAAM,qDAAqD,CAAC;AAC9F,OAAO,yBAAyB,MAAM,iDAAiD,CAAC;AACxF,OAAO,2BAA2B,MAAM,qDAAqD,CAAC;AAC9F,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,4CAA4C,MAAM,uEAAuE,CAAC;AACjI,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAO3E;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAExF;;GAEG;AACH,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,4CAA4C,GAC5C,CAAC;AAEF;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;AACrF,OAAO,YAAY,EAAE,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,6BAA6B,MAAM,uDAAuD,CAAC;AAClG,OAAO,2BAA2B,MAAM,qDAAqD,CAAC;AAC9F,OAAO,yBAAyB,MAAM,iDAAiD,CAAC;AACxF,OAAO,oBAAoB,MAAM,4CAA4C,CAAC;AAC9E,OAAO,2BAA2B,MAAM,qDAAqD,CAAC;AAC9F,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,4CAA4C,MAAM,uEAAuE,CAAC;AACjI,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACN,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,GACpB,MAAM,0BAA0B,CAAC;AAQlC;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAExF;;GAEG;AACH,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,4CAA4C,GAC5C,CAAC;AAEF;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAMhC,OAAO,EACN,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,GACpB,CAAC"}
@@ -1,9 +1,22 @@
1
1
  // TODO: Temporary until feature definitions are ported to calypso-products package
2
- const getPlanFeaturesObject = (featuresList, planFeatures) => {
2
+ const getPlanFeaturesObject = (featuresList, planFeatures, isExperimentVariant) => {
3
3
  if (!planFeatures) {
4
4
  return [];
5
5
  }
6
- return planFeatures.map((featuresConst) => featuresList[featuresConst]);
6
+ return planFeatures.map((featuresConst) => {
7
+ const feature = featuresList[featuresConst];
8
+ if (!feature || !isExperimentVariant) {
9
+ return feature;
10
+ }
11
+ // Wrap feature methods to pass isExperimentVariant parameter
12
+ return {
13
+ ...feature,
14
+ getTitle: (params) => feature.getTitle({ ...params, isExperimentVariant }),
15
+ ...(feature.getDescription && {
16
+ getDescription: (params) => feature.getDescription({ ...params, isExperimentVariant }),
17
+ }),
18
+ };
19
+ });
7
20
  };
8
21
  export default getPlanFeaturesObject;
9
22
  //# sourceMappingURL=get-plan-features-object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-plan-features-object.js","sourceRoot":"","sources":["../../../src/lib/get-plan-features-object.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,MAAM,qBAAqB,GAAG,CAAE,YAAyB,EAAE,YAA8B,EAAG,EAAE;IAC7F,IAAK,CAAE,YAAY,EAAG,CAAC;QACtB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAE,CAAE,aAAa,EAAG,EAAE,CAAC,YAAY,CAAE,aAAa,CAAE,CAAE,CAAC;AAC/E,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"get-plan-features-object.js","sourceRoot":"","sources":["../../../src/lib/get-plan-features-object.ts"],"names":[],"mappings":"AAIA,mFAAmF;AACnF,MAAM,qBAAqB,GAAG,CAC7B,YAAyB,EACzB,YAA8B,EAC9B,mBAA6B,EAC5B,EAAE;IACH,IAAK,CAAE,YAAY,EAAG,CAAC;QACtB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAE,CAAE,aAAa,EAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAE,aAAa,CAAE,CAAC;QAC9C,IAAK,CAAE,OAAO,IAAI,CAAE,mBAAmB,EAAG,CAAC;YAC1C,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,6DAA6D;QAC7D,OAAO;YACN,GAAG,OAAO;YACV,QAAQ,EAAE,CAAE,MAA4B,EAAG,EAAE,CAC5C,OAAO,CAAC,QAAQ,CAAE,EAAE,GAAG,MAAM,EAAE,mBAAmB,EAAE,CAAE;YACvD,GAAG,CAAE,OAAO,CAAC,cAAc,IAAI;gBAC9B,cAAc,EAAE,CAAE,MAA4B,EAAG,EAAE,CAClD,OAAO,CAAC,cAAe,CAAE,EAAE,GAAG,MAAM,EAAE,mBAAmB,EAAE,CAAE;aAC9D,CAAE;SACH,CAAC;IACH,CAAC,CAAE,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}