@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.
Files changed (298) 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 +99 -92
  4. package/dist/cjs/components/comparison-grid/index.js.map +1 -1
  5. package/dist/cjs/components/comparison-grid/style.scss +10 -2
  6. package/dist/cjs/components/features-grid/client-logo-list/client-list.js +0 -12
  7. package/dist/cjs/components/features-grid/client-logo-list/client-list.js.map +1 -1
  8. package/dist/cjs/components/features-grid/index.js +9 -6
  9. package/dist/cjs/components/features-grid/index.js.map +1 -1
  10. package/dist/cjs/components/features-grid/plan-features-list.js +10 -3
  11. package/dist/cjs/components/features-grid/plan-features-list.js.map +1 -1
  12. package/dist/cjs/components/features-grid/plan-headers.js +2 -2
  13. package/dist/cjs/components/features-grid/plan-headers.js.map +1 -1
  14. package/dist/cjs/components/features-grid/plan-tagline.js +1 -1
  15. package/dist/cjs/components/features-grid/plan-tagline.js.map +1 -1
  16. package/dist/cjs/components/features-grid/style.scss +107 -19
  17. package/dist/cjs/components/features-grid/table.js +1 -1
  18. package/dist/cjs/components/features-grid/table.js.map +1 -1
  19. package/dist/cjs/components/features.js +43 -4
  20. package/dist/cjs/components/features.js.map +1 -1
  21. package/dist/cjs/components/item.js +1 -1
  22. package/dist/cjs/components/item.js.map +1 -1
  23. package/dist/cjs/components/plan-button/index.js +5 -3
  24. package/dist/cjs/components/plan-button/index.js.map +1 -1
  25. package/dist/cjs/components/plan-button/style.scss +75 -51
  26. package/dist/cjs/components/plan-div-td-container.js +4 -1
  27. package/dist/cjs/components/plan-div-td-container.js.map +1 -1
  28. package/dist/cjs/components/plan-logo.js +6 -3
  29. package/dist/cjs/components/plan-logo.js.map +1 -1
  30. package/dist/cjs/components/plan-type-selector/components/interval-type-dropdown.js +12 -1
  31. package/dist/cjs/components/plan-type-selector/components/interval-type-dropdown.js.map +1 -1
  32. package/dist/cjs/components/plan-type-selector/hooks/use-max-discount.js +4 -33
  33. package/dist/cjs/components/plan-type-selector/hooks/use-max-discount.js.map +1 -1
  34. package/dist/cjs/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js +11 -13
  35. package/dist/cjs/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js.map +1 -1
  36. package/dist/cjs/components/plans-2023-tooltip.js +16 -5
  37. package/dist/cjs/components/plans-2023-tooltip.js.map +1 -1
  38. package/dist/cjs/components/shared/action-button/index.js +22 -7
  39. package/dist/cjs/components/shared/action-button/index.js.map +1 -1
  40. package/dist/cjs/components/shared/action-button/style.scss +4 -0
  41. package/dist/cjs/components/shared/billing-timeframe/index.js +8 -4
  42. package/dist/cjs/components/shared/billing-timeframe/index.js.map +1 -1
  43. package/dist/cjs/components/shared/header-price/index.js +60 -15
  44. package/dist/cjs/components/shared/header-price/index.js.map +1 -1
  45. package/dist/cjs/components/shared/header-price/style.scss +9 -3
  46. package/dist/cjs/components/shared/storage/components/plan-storage.js +2 -2
  47. package/dist/cjs/components/shared/storage/components/plan-storage.js.map +1 -1
  48. package/dist/cjs/components/shared/storage/components/storage-dropdown.js +29 -6
  49. package/dist/cjs/components/shared/storage/components/storage-dropdown.js.map +1 -1
  50. package/dist/cjs/components/shared/storage/components/storage-feature-label.js +2 -1
  51. package/dist/cjs/components/shared/storage/components/storage-feature-label.js.map +1 -1
  52. package/dist/cjs/components/shared/storage/hooks/use-plan-storage.js +2 -0
  53. package/dist/cjs/components/shared/storage/hooks/use-plan-storage.js.map +1 -1
  54. package/dist/cjs/fixtures/sites-purchases.js +2 -4
  55. package/dist/cjs/fixtures/sites-purchases.js.map +1 -1
  56. package/dist/cjs/grid-context.js +4 -1
  57. package/dist/cjs/grid-context.js.map +1 -1
  58. package/dist/cjs/hooks/data-store/get-renewal-pricing-text.js +50 -0
  59. package/dist/cjs/hooks/data-store/get-renewal-pricing-text.js.map +1 -0
  60. package/dist/cjs/hooks/data-store/use-grid-plans-for-comparison-grid.js +6 -1
  61. package/dist/cjs/hooks/data-store/use-grid-plans-for-comparison-grid.js.map +1 -1
  62. package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js +6 -1
  63. package/dist/cjs/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
  64. package/dist/cjs/hooks/data-store/use-grid-plans.js +175 -21
  65. package/dist/cjs/hooks/data-store/use-grid-plans.js.map +1 -1
  66. package/dist/cjs/hooks/data-store/use-highlight-labels.js +13 -4
  67. package/dist/cjs/hooks/data-store/use-highlight-labels.js.map +1 -1
  68. package/dist/cjs/hooks/data-store/use-plan-billing-description.js +68 -13
  69. package/dist/cjs/hooks/data-store/use-plan-billing-description.js.map +1 -1
  70. package/dist/cjs/hooks/data-store/use-plan-features-for-grid-plans.js +76 -2
  71. package/dist/cjs/hooks/data-store/use-plan-features-for-grid-plans.js.map +1 -1
  72. package/dist/cjs/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js +60 -12
  73. package/dist/cjs/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js.map +1 -1
  74. package/dist/cjs/hooks/data-store/use-title-badges.js +19 -0
  75. package/dist/cjs/hooks/data-store/use-title-badges.js.map +1 -0
  76. package/dist/cjs/hooks/use-is-large-currency.js +2 -2
  77. package/dist/cjs/hooks/use-is-large-currency.js.map +1 -1
  78. package/dist/cjs/hooks/use-visible-grid-plans.js +70 -0
  79. package/dist/cjs/hooks/use-visible-grid-plans.js.map +1 -0
  80. package/dist/cjs/index.js +6 -1
  81. package/dist/cjs/index.js.map +1 -1
  82. package/dist/cjs/lib/get-plan-features-object.js +15 -2
  83. package/dist/cjs/lib/get-plan-features-object.js.map +1 -1
  84. package/dist/cjs/lib/plan-pricing-utils.js +135 -0
  85. package/dist/cjs/lib/plan-pricing-utils.js.map +1 -0
  86. package/dist/esm/_shared.scss +4 -3
  87. package/dist/esm/components/comparison-grid/index.js +100 -93
  88. package/dist/esm/components/comparison-grid/index.js.map +1 -1
  89. package/dist/esm/components/comparison-grid/style.scss +10 -2
  90. package/dist/esm/components/features-grid/client-logo-list/client-list.js +0 -12
  91. package/dist/esm/components/features-grid/client-logo-list/client-list.js.map +1 -1
  92. package/dist/esm/components/features-grid/index.js +9 -6
  93. package/dist/esm/components/features-grid/index.js.map +1 -1
  94. package/dist/esm/components/features-grid/plan-features-list.js +10 -3
  95. package/dist/esm/components/features-grid/plan-features-list.js.map +1 -1
  96. package/dist/esm/components/features-grid/plan-headers.js +3 -3
  97. package/dist/esm/components/features-grid/plan-headers.js.map +1 -1
  98. package/dist/esm/components/features-grid/plan-tagline.js +1 -1
  99. package/dist/esm/components/features-grid/plan-tagline.js.map +1 -1
  100. package/dist/esm/components/features-grid/style.scss +107 -19
  101. package/dist/esm/components/features-grid/table.js +1 -1
  102. package/dist/esm/components/features-grid/table.js.map +1 -1
  103. package/dist/esm/components/features.js +44 -5
  104. package/dist/esm/components/features.js.map +1 -1
  105. package/dist/esm/components/item.js +1 -1
  106. package/dist/esm/components/item.js.map +1 -1
  107. package/dist/esm/components/plan-button/index.js +5 -3
  108. package/dist/esm/components/plan-button/index.js.map +1 -1
  109. package/dist/esm/components/plan-button/style.scss +75 -51
  110. package/dist/esm/components/plan-div-td-container.js +4 -1
  111. package/dist/esm/components/plan-div-td-container.js.map +1 -1
  112. package/dist/esm/components/plan-logo.js +7 -4
  113. package/dist/esm/components/plan-logo.js.map +1 -1
  114. package/dist/esm/components/plan-type-selector/components/interval-type-dropdown.js +12 -1
  115. package/dist/esm/components/plan-type-selector/components/interval-type-dropdown.js.map +1 -1
  116. package/dist/esm/components/plan-type-selector/hooks/use-max-discount.js +3 -33
  117. package/dist/esm/components/plan-type-selector/hooks/use-max-discount.js.map +1 -1
  118. package/dist/esm/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js +11 -13
  119. package/dist/esm/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.js.map +1 -1
  120. package/dist/esm/components/plans-2023-tooltip.js +16 -5
  121. package/dist/esm/components/plans-2023-tooltip.js.map +1 -1
  122. package/dist/esm/components/shared/action-button/index.js +22 -7
  123. package/dist/esm/components/shared/action-button/index.js.map +1 -1
  124. package/dist/esm/components/shared/action-button/style.scss +4 -0
  125. package/dist/esm/components/shared/billing-timeframe/index.js +8 -4
  126. package/dist/esm/components/shared/billing-timeframe/index.js.map +1 -1
  127. package/dist/esm/components/shared/header-price/index.js +60 -15
  128. package/dist/esm/components/shared/header-price/index.js.map +1 -1
  129. package/dist/esm/components/shared/header-price/style.scss +9 -3
  130. package/dist/esm/components/shared/storage/components/plan-storage.js +2 -2
  131. package/dist/esm/components/shared/storage/components/plan-storage.js.map +1 -1
  132. package/dist/esm/components/shared/storage/components/storage-dropdown.js +30 -7
  133. package/dist/esm/components/shared/storage/components/storage-dropdown.js.map +1 -1
  134. package/dist/esm/components/shared/storage/components/storage-feature-label.js +2 -1
  135. package/dist/esm/components/shared/storage/components/storage-feature-label.js.map +1 -1
  136. package/dist/esm/components/shared/storage/hooks/use-plan-storage.js +3 -1
  137. package/dist/esm/components/shared/storage/hooks/use-plan-storage.js.map +1 -1
  138. package/dist/esm/fixtures/sites-purchases.js +2 -4
  139. package/dist/esm/fixtures/sites-purchases.js.map +1 -1
  140. package/dist/esm/grid-context.js +4 -1
  141. package/dist/esm/grid-context.js.map +1 -1
  142. package/dist/esm/hooks/data-store/get-renewal-pricing-text.js +47 -0
  143. package/dist/esm/hooks/data-store/get-renewal-pricing-text.js.map +1 -0
  144. package/dist/esm/hooks/data-store/use-grid-plans-for-comparison-grid.js +6 -1
  145. package/dist/esm/hooks/data-store/use-grid-plans-for-comparison-grid.js.map +1 -1
  146. package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js +6 -1
  147. package/dist/esm/hooks/data-store/use-grid-plans-for-features-grid.js.map +1 -1
  148. package/dist/esm/hooks/data-store/use-grid-plans.js +176 -22
  149. package/dist/esm/hooks/data-store/use-grid-plans.js.map +1 -1
  150. package/dist/esm/hooks/data-store/use-highlight-labels.js +14 -5
  151. package/dist/esm/hooks/data-store/use-highlight-labels.js.map +1 -1
  152. package/dist/esm/hooks/data-store/use-plan-billing-description.js +66 -11
  153. package/dist/esm/hooks/data-store/use-plan-billing-description.js.map +1 -1
  154. package/dist/esm/hooks/data-store/use-plan-features-for-grid-plans.js +77 -3
  155. package/dist/esm/hooks/data-store/use-plan-features-for-grid-plans.js.map +1 -1
  156. package/dist/esm/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js +59 -11
  157. package/dist/esm/hooks/data-store/use-restructured-plan-features-for-comparison-grid.js.map +1 -1
  158. package/dist/esm/hooks/data-store/use-title-badges.js +17 -0
  159. package/dist/esm/hooks/data-store/use-title-badges.js.map +1 -0
  160. package/dist/esm/hooks/use-is-large-currency.js +1 -1
  161. package/dist/esm/hooks/use-is-large-currency.js.map +1 -1
  162. package/dist/esm/hooks/use-visible-grid-plans.js +66 -0
  163. package/dist/esm/hooks/use-visible-grid-plans.js.map +1 -0
  164. package/dist/esm/index.js +2 -0
  165. package/dist/esm/index.js.map +1 -1
  166. package/dist/esm/lib/get-plan-features-object.js +15 -2
  167. package/dist/esm/lib/get-plan-features-object.js.map +1 -1
  168. package/dist/esm/lib/plan-pricing-utils.js +129 -0
  169. package/dist/esm/lib/plan-pricing-utils.js.map +1 -0
  170. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  171. package/dist/tsconfig.tsbuildinfo +1 -1
  172. package/dist/types/components/comparison-grid/index.d.ts +1 -1
  173. package/dist/types/components/comparison-grid/index.d.ts.map +1 -1
  174. package/dist/types/components/features-grid/client-logo-list/client-list.d.ts.map +1 -1
  175. package/dist/types/components/features-grid/index.d.ts.map +1 -1
  176. package/dist/types/components/features-grid/plan-features-list.d.ts.map +1 -1
  177. package/dist/types/components/features-grid/plan-headers.d.ts +2 -0
  178. package/dist/types/components/features-grid/plan-headers.d.ts.map +1 -1
  179. package/dist/types/components/features-grid/table.d.ts.map +1 -1
  180. package/dist/types/components/features.d.ts.map +1 -1
  181. package/dist/types/components/item.d.ts +2 -1
  182. package/dist/types/components/item.d.ts.map +1 -1
  183. package/dist/types/components/plan-button/index.d.ts +2 -1
  184. package/dist/types/components/plan-button/index.d.ts.map +1 -1
  185. package/dist/types/components/plan-div-td-container.d.ts +2 -0
  186. package/dist/types/components/plan-div-td-container.d.ts.map +1 -1
  187. package/dist/types/components/plan-logo.d.ts.map +1 -1
  188. package/dist/types/components/plan-type-selector/components/interval-type-dropdown.d.ts.map +1 -1
  189. package/dist/types/components/plan-type-selector/hooks/use-max-discount.d.ts.map +1 -1
  190. package/dist/types/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.d.ts.map +1 -1
  191. package/dist/types/components/plans-2023-tooltip.d.ts.map +1 -1
  192. package/dist/types/components/shared/action-button/index.d.ts +2 -1
  193. package/dist/types/components/shared/action-button/index.d.ts.map +1 -1
  194. package/dist/types/components/shared/billing-timeframe/index.d.ts.map +1 -1
  195. package/dist/types/components/shared/header-price/index.d.ts.map +1 -1
  196. package/dist/types/components/shared/storage/components/storage-dropdown.d.ts.map +1 -1
  197. package/dist/types/components/shared/storage/components/storage-feature-label.d.ts.map +1 -1
  198. package/dist/types/components/shared/storage/hooks/use-plan-storage.d.ts +1 -1
  199. package/dist/types/components/shared/storage/hooks/use-plan-storage.d.ts.map +1 -1
  200. package/dist/types/fixtures/sites-purchases.d.ts +2 -4
  201. package/dist/types/fixtures/sites-purchases.d.ts.map +1 -1
  202. package/dist/types/grid-context.d.ts +4 -1
  203. package/dist/types/grid-context.d.ts.map +1 -1
  204. package/dist/types/hooks/data-store/get-renewal-pricing-text.d.ts +14 -0
  205. package/dist/types/hooks/data-store/get-renewal-pricing-text.d.ts.map +1 -0
  206. package/dist/types/hooks/data-store/types.d.ts +21 -0
  207. package/dist/types/hooks/data-store/types.d.ts.map +1 -1
  208. package/dist/types/hooks/data-store/use-grid-plans-for-comparison-grid.d.ts +1 -1
  209. package/dist/types/hooks/data-store/use-grid-plans-for-comparison-grid.d.ts.map +1 -1
  210. package/dist/types/hooks/data-store/use-grid-plans-for-features-grid.d.ts +1 -1
  211. package/dist/types/hooks/data-store/use-grid-plans-for-features-grid.d.ts.map +1 -1
  212. package/dist/types/hooks/data-store/use-grid-plans.d.ts.map +1 -1
  213. package/dist/types/hooks/data-store/use-highlight-labels.d.ts.map +1 -1
  214. package/dist/types/hooks/data-store/use-plan-billing-description.d.ts.map +1 -1
  215. package/dist/types/hooks/data-store/use-plan-features-for-grid-plans.d.ts +4 -1
  216. package/dist/types/hooks/data-store/use-plan-features-for-grid-plans.d.ts.map +1 -1
  217. package/dist/types/hooks/data-store/use-restructured-plan-features-for-comparison-grid.d.ts +4 -1
  218. package/dist/types/hooks/data-store/use-restructured-plan-features-for-comparison-grid.d.ts.map +1 -1
  219. package/dist/types/hooks/data-store/use-title-badges.d.ts +9 -0
  220. package/dist/types/hooks/data-store/use-title-badges.d.ts.map +1 -0
  221. package/dist/types/hooks/use-visible-grid-plans.d.ts +14 -0
  222. package/dist/types/hooks/use-visible-grid-plans.d.ts.map +1 -0
  223. package/dist/types/index.d.ts +7 -0
  224. package/dist/types/index.d.ts.map +1 -1
  225. package/dist/types/lib/get-plan-features-object.d.ts +1 -1
  226. package/dist/types/lib/get-plan-features-object.d.ts.map +1 -1
  227. package/dist/types/lib/plan-pricing-utils.d.ts +105 -0
  228. package/dist/types/lib/plan-pricing-utils.d.ts.map +1 -0
  229. package/dist/types/types.d.ts +29 -2
  230. package/dist/types/types.d.ts.map +1 -1
  231. package/package.json +38 -28
  232. package/src/_shared.scss +4 -3
  233. package/src/components/comparison-grid/index.tsx +258 -181
  234. package/src/components/comparison-grid/style.scss +10 -2
  235. package/src/components/features-grid/client-logo-list/client-list.tsx +0 -25
  236. package/src/components/features-grid/index.tsx +35 -18
  237. package/src/components/features-grid/plan-features-list.tsx +15 -4
  238. package/src/components/features-grid/plan-headers.tsx +10 -3
  239. package/src/components/features-grid/plan-tagline.tsx +1 -1
  240. package/src/components/features-grid/style.scss +107 -19
  241. package/src/components/features-grid/table.tsx +4 -2
  242. package/src/components/features.tsx +66 -6
  243. package/src/components/item.tsx +6 -3
  244. package/src/components/plan-button/index.tsx +7 -1
  245. package/src/components/plan-button/style.scss +75 -51
  246. package/src/components/plan-div-td-container.tsx +6 -2
  247. package/src/components/plan-logo.tsx +16 -9
  248. package/src/components/plan-type-selector/components/interval-type-dropdown.tsx +14 -1
  249. package/src/components/plan-type-selector/hooks/use-max-discount.ts +8 -47
  250. package/src/components/plan-type-selector/hooks/use-max-discounts-for-plan-terms.ts +19 -17
  251. package/src/components/plans-2023-tooltip.tsx +17 -5
  252. package/src/components/shared/action-button/index.tsx +46 -5
  253. package/src/components/shared/action-button/style.scss +4 -0
  254. package/src/components/shared/billing-timeframe/index.tsx +12 -7
  255. package/src/components/shared/header-price/index.tsx +129 -27
  256. package/src/components/shared/header-price/style.scss +9 -3
  257. package/src/components/shared/storage/components/plan-storage.tsx +2 -2
  258. package/src/components/shared/storage/components/storage-dropdown.tsx +36 -15
  259. package/src/components/shared/storage/components/storage-feature-label.tsx +2 -1
  260. package/src/components/shared/storage/hooks/use-plan-storage.ts +3 -0
  261. package/src/components/test/actions-button.tsx +5 -0
  262. package/src/components/test/billing-timeframe.tsx +1 -1
  263. package/src/components/test/header-price.tsx +342 -4
  264. package/src/fixtures/sites-purchases.ts +2 -4
  265. package/src/grid-context.tsx +9 -0
  266. package/src/hooks/data-store/get-renewal-pricing-text.ts +73 -0
  267. package/src/hooks/data-store/types.ts +21 -0
  268. package/src/hooks/data-store/use-grid-plans-for-comparison-grid.ts +10 -0
  269. package/src/hooks/data-store/use-grid-plans-for-features-grid.ts +10 -0
  270. package/src/hooks/data-store/use-grid-plans.tsx +189 -23
  271. package/src/hooks/data-store/use-highlight-labels.ts +12 -3
  272. package/src/hooks/data-store/use-plan-billing-description.tsx +80 -15
  273. package/src/hooks/data-store/use-plan-features-for-grid-plans.ts +135 -1
  274. package/src/hooks/data-store/use-restructured-plan-features-for-comparison-grid.ts +93 -20
  275. package/src/hooks/data-store/use-title-badges.ts +31 -0
  276. package/src/hooks/test/use-visible-grid-plans.tsx +116 -0
  277. package/src/hooks/use-is-large-currency.ts +1 -1
  278. package/src/hooks/use-visible-grid-plans.tsx +102 -0
  279. package/src/index.tsx +18 -0
  280. package/src/lib/get-plan-features-object.ts +23 -2
  281. package/src/lib/plan-pricing-utils.ts +211 -0
  282. package/src/lib/test/plan-pricing-utils.ts +594 -0
  283. package/src/style-imports.d.ts +3 -0
  284. package/src/types.ts +41 -0
  285. package/dist/cjs/components/features-grid/mobile-free-domain.js +0 -25
  286. package/dist/cjs/components/features-grid/mobile-free-domain.js.map +0 -1
  287. package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js +0 -15
  288. package/dist/cjs/lib/get-plan-pricing-info-from-grid-plans.js.map +0 -1
  289. package/dist/esm/components/features-grid/mobile-free-domain.js +0 -23
  290. package/dist/esm/components/features-grid/mobile-free-domain.js.map +0 -1
  291. package/dist/esm/lib/get-plan-pricing-info-from-grid-plans.js +0 -12
  292. package/dist/esm/lib/get-plan-pricing-info-from-grid-plans.js.map +0 -1
  293. package/dist/types/components/features-grid/mobile-free-domain.d.ts +0 -8
  294. package/dist/types/components/features-grid/mobile-free-domain.d.ts.map +0 -1
  295. package/dist/types/lib/get-plan-pricing-info-from-grid-plans.d.ts +0 -9
  296. package/dist/types/lib/get-plan-pricing-info-from-grid-plans.d.ts.map +0 -1
  297. package/src/components/features-grid/mobile-free-domain.tsx +0 -51
  298. package/src/lib/get-plan-pricing-info-from-grid-plans.ts +0 -31
@@ -4,12 +4,15 @@ exports.default = usePlanBillingDescription;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const calypso_products_1 = require("@automattic/calypso-products");
6
6
  const data_stores_1 = require("@automattic/data-stores");
7
+ const number_formatters_1 = require("@automattic/number-formatters");
7
8
  const i18n_calypso_1 = require("i18n-calypso");
8
9
  const grid_context_1 = require("../../grid-context");
10
+ const plan_pricing_utils_1 = require("../../lib/plan-pricing-utils");
11
+ const get_renewal_pricing_text_1 = require("./get-renewal-pricing-text");
9
12
  function usePlanBillingDescription({ siteId, planSlug, pricing, isMonthlyPlan, coupon, useCheckPlanAvailabilityForPurchase, }) {
10
13
  const translate = (0, i18n_calypso_1.useTranslate)();
11
14
  const { currencyCode, originalPrice, discountedPrice, billingPeriod, introOffer } = pricing || {};
12
- const { reflectStorageSelectionInPlanPrices } = (0, grid_context_1.usePlansGridContext)();
15
+ const { reflectStorageSelectionInPlanPrices, showSimplifiedBillingDescription, showBillingDescriptionForIncreasedRenewalPrice, enableCategorisedFeatures, } = (0, grid_context_1.usePlansGridContext)();
13
16
  const yearlyVariantPlanSlug = (0, calypso_products_1.getPlanSlugForTermVariant)(planSlug, calypso_products_1.TERM_ANNUALLY);
14
17
  const yearlyVariantPricing = data_stores_1.Plans.usePricingMetaForGridPlans({
15
18
  planSlugs: yearlyVariantPlanSlug ? [yearlyVariantPlanSlug] : [],
@@ -30,28 +33,37 @@ function usePlanBillingDescription({ siteId, planSlug, pricing, isMonthlyPlan, c
30
33
  originalPrice?.monthly &&
31
34
  yearlyVariantPricing &&
32
35
  (!introOffer || introOffer.isOfferComplete)) {
33
- const yearlyVariantMaybeDiscountedPrice = Number.isFinite(yearlyVariantPricing.discountedPrice?.monthly)
36
+ // For renewal pricing experiment in FeaturesGrid, show "per month" and move savings text to post-button area
37
+ // For ComparisonGrid, keep the original savings text above the button
38
+ if (showBillingDescriptionForIncreasedRenewalPrice && enableCategorisedFeatures) {
39
+ return translate('per month');
40
+ }
41
+ let yearlyVariantMaybeDiscountedPrice = Number.isFinite(yearlyVariantPricing.discountedPrice?.monthly)
34
42
  ? yearlyVariantPricing.discountedPrice?.monthly
35
43
  : yearlyVariantPricing.originalPrice?.monthly;
36
- if (yearlyVariantMaybeDiscountedPrice &&
37
- yearlyVariantMaybeDiscountedPrice < originalPrice.monthly) {
44
+ if (showBillingDescriptionForIncreasedRenewalPrice) {
45
+ yearlyVariantMaybeDiscountedPrice = Number.isFinite(yearlyVariantPricing.discountedPrice?.monthly)
46
+ ? yearlyVariantPricing.discountedPrice?.monthly
47
+ : yearlyVariantPricing.introOffer?.rawPrice?.monthly ?? null;
48
+ }
49
+ const discountRate = yearlyVariantMaybeDiscountedPrice != null
50
+ ? (0, plan_pricing_utils_1.calculateDiscountPercentage)(originalPrice.monthly, yearlyVariantMaybeDiscountedPrice)
51
+ : undefined;
52
+ if (discountRate !== undefined) {
38
53
  return translate('Save %(discountRate)s%% by paying annually', {
39
- args: {
40
- discountRate: Math.floor((100 * (originalPrice.monthly - yearlyVariantMaybeDiscountedPrice)) /
41
- originalPrice.monthly),
42
- },
54
+ args: { discountRate },
43
55
  });
44
56
  }
45
57
  return null;
46
58
  }
47
59
  const discountedPriceFullTermText = currencyCode && typeof discountedPrice?.full === 'number'
48
- ? (0, i18n_calypso_1.formatCurrency)(discountedPrice.full, currencyCode, {
60
+ ? (0, number_formatters_1.formatCurrency)(discountedPrice.full, currencyCode, {
49
61
  stripZeros: true,
50
62
  isSmallestUnit: true,
51
63
  })
52
64
  : null;
53
65
  const originalPriceFullTermText = currencyCode && originalPrice?.full
54
- ? (0, i18n_calypso_1.formatCurrency)(originalPrice.full, currencyCode, {
66
+ ? (0, number_formatters_1.formatCurrency)(originalPrice.full, currencyCode, {
55
67
  stripZeros: true,
56
68
  isSmallestUnit: true,
57
69
  })
@@ -61,10 +73,13 @@ function usePlanBillingDescription({ siteId, planSlug, pricing, isMonthlyPlan, c
61
73
  * 1. We only expose introOffers to monthly & yearly plans for now (so no need to introduce more translations just yet)
62
74
  * 2. We only expose month & year based intervals for now (so no need to introduce more translations just yet)
63
75
  */
64
- if (introOffer?.intervalCount && introOffer.intervalUnit && !introOffer.isOfferComplete) {
76
+ if (introOffer?.intervalCount &&
77
+ introOffer.intervalUnit &&
78
+ !introOffer.isOfferComplete &&
79
+ !showBillingDescriptionForIncreasedRenewalPrice) {
65
80
  const discountedPriceFull = typeof discountedPrice?.full === 'number' ? discountedPrice.full : introOffer?.rawPrice?.full;
66
81
  const introOfferFullTermText = currencyCode && typeof discountedPriceFull === 'number'
67
- ? (0, i18n_calypso_1.formatCurrency)(discountedPriceFull, currencyCode, {
82
+ ? (0, number_formatters_1.formatCurrency)(discountedPriceFull, currencyCode, {
68
83
  stripZeros: true,
69
84
  isSmallestUnit: true,
70
85
  })
@@ -171,7 +186,16 @@ function usePlanBillingDescription({ siteId, planSlug, pricing, isMonthlyPlan, c
171
186
  */
172
187
  return null;
173
188
  }
174
- if (discountedPriceFullTermText) {
189
+ // For renewal pricing experiment with intro pricing
190
+ if (showBillingDescriptionForIncreasedRenewalPrice && discountedPriceFullTermText) {
191
+ // In FeaturesGrid, show "per month" above button
192
+ if (enableCategorisedFeatures) {
193
+ return translate('per month');
194
+ }
195
+ // In ComparisonGrid, continue to renewal pricing section below (don't return here)
196
+ }
197
+ else if (discountedPriceFullTermText) {
198
+ // Show intro pricing for non-experiment users
175
199
  if (calypso_products_1.PLAN_ANNUAL_PERIOD === billingPeriod) {
176
200
  return translate('per month, %(fullTermDiscountedPriceText)s for the first year, excl. taxes', {
177
201
  args: { fullTermDiscountedPriceText: discountedPriceFullTermText },
@@ -191,6 +215,37 @@ function usePlanBillingDescription({ siteId, planSlug, pricing, isMonthlyPlan, c
191
215
  });
192
216
  }
193
217
  }
218
+ if (showBillingDescriptionForIncreasedRenewalPrice) {
219
+ // For renewal pricing experiment, show variation-specific text
220
+ // In FeaturesGrid (enableCategorisedFeatures), show "per month" and move renewal text below CTA
221
+ // In ComparisonGrid, show full renewal text above CTA
222
+ if (enableCategorisedFeatures) {
223
+ return translate('per month');
224
+ }
225
+ return (0, get_renewal_pricing_text_1.getRenewalPricingText)({
226
+ pricing,
227
+ showBillingDescriptionForIncreasedRenewalPrice,
228
+ translate,
229
+ });
230
+ }
231
+ else if (showSimplifiedBillingDescription) {
232
+ // Use simplified billing description
233
+ if (calypso_products_1.PLAN_ANNUAL_PERIOD === billingPeriod) {
234
+ return translate('per month, billed every %(months)s months', {
235
+ args: { months: 12 },
236
+ });
237
+ }
238
+ if (calypso_products_1.PLAN_BIENNIAL_PERIOD === billingPeriod) {
239
+ return translate('per month, billed every %(months)s months', {
240
+ args: { months: 24 },
241
+ });
242
+ }
243
+ if (calypso_products_1.PLAN_TRIENNIAL_PERIOD === billingPeriod) {
244
+ return translate('per month, billed every %(months)s months', {
245
+ args: { months: 36 },
246
+ });
247
+ }
248
+ }
194
249
  else if (originalPriceFullTermText) {
195
250
  if (calypso_products_1.PLAN_ANNUAL_PERIOD === billingPeriod) {
196
251
  return translate('per month, %(rawPrice)s billed annually, excl. taxes', {
@@ -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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"}
@@ -3,14 +3,53 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const calypso_products_1 = require("@automattic/calypso-products");
5
5
  const element_1 = require("@wordpress/element");
6
+ const i18n_calypso_1 = require("i18n-calypso");
6
7
  const get_plan_features_object_1 = tslib_1.__importDefault(require("../../lib/get-plan-features-object"));
7
8
  const use_highlighted_features_1 = tslib_1.__importDefault(require("./use-highlighted-features"));
9
+ function isPremiumWebsiteBuilderPillFeature(featureSlug) {
10
+ return (featureSlug === calypso_products_1.FEATURE_AI_WEBSITE_BUILDER ||
11
+ featureSlug === calypso_products_1.FEATURE_GUIDED_WEBSITE_BUILDER ||
12
+ featureSlug === calypso_products_1.FEATURE_AI_WRITER_DESIGNER);
13
+ }
14
+ function isBusinessAssistantPillFeature(featureSlug) {
15
+ return (featureSlug === calypso_products_1.FEATURE_ENHANCED_AI_ASSISTANT_AND_TOOLS ||
16
+ featureSlug === calypso_products_1.FEATURE_AI_ASSISTANT ||
17
+ featureSlug === calypso_products_1.FEATURE_BUILT_IN_SITE_ASSISTANT ||
18
+ featureSlug === calypso_products_1.FEATURE_AI_WRITER_DESIGNER);
19
+ }
20
+ function getPricingDifferentiationFeatureBadgeText(planSlug, featureSlug, translate, options) {
21
+ const suppressAiPills = options?.suppressAiPills ?? false;
22
+ if ((0, calypso_products_1.isPersonalPlan)(planSlug) && featureSlug === calypso_products_1.FEATURE_CUSTOM_DOMAIN) {
23
+ return translate('Free');
24
+ }
25
+ if (!suppressAiPills &&
26
+ (0, calypso_products_1.isPremiumPlan)(planSlug) &&
27
+ isPremiumWebsiteBuilderPillFeature(featureSlug)) {
28
+ return translate('AI');
29
+ }
30
+ if ((0, calypso_products_1.isPremiumPlan)(planSlug) && featureSlug === calypso_products_1.FEATURE_SIMPLE_PAYMENTS) {
31
+ return translate('New');
32
+ }
33
+ if (!suppressAiPills &&
34
+ (0, calypso_products_1.isBusinessPlan)(planSlug) &&
35
+ isBusinessAssistantPillFeature(featureSlug)) {
36
+ return translate('AI');
37
+ }
38
+ if ((0, calypso_products_1.isBusinessPlan)(planSlug) && featureSlug === calypso_products_1.FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR) {
39
+ return translate('Email');
40
+ }
41
+ if ((0, calypso_products_1.isBusinessPlan)(planSlug) && featureSlug === calypso_products_1.FEATURE_EMAIL_MARKETING) {
42
+ return translate('New');
43
+ }
44
+ return undefined;
45
+ }
8
46
  /**
9
47
  * usePlanFeaturesForGridPlans:
10
48
  * - these plan features are mainly relevant to FeaturesGrid and Spotlight components
11
49
  * - this hook can migrate to data store once features definitions migrate to calypso-products
12
50
  */
13
- const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, isInSignup, }) => {
51
+ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, isInSignup, useVar42NoAiFeatures, showPricingDifferentiationFeaturePills, isExperimentVariant, }) => {
52
+ const translate = (0, i18n_calypso_1.useTranslate)();
14
53
  const highlightedFeatures = (0, use_highlighted_features_1.default)({ intent: intent ?? null, isInSignup });
15
54
  return (0, element_1.useMemo)(() => {
16
55
  return gridPlans.reduce((acc, gridPlan) => {
@@ -19,7 +58,13 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
19
58
  const isMonthlyPlan = (0, calypso_products_1.isMonthly)(planSlug);
20
59
  let wpcomFeatures = [];
21
60
  let jetpackFeatures = [];
22
- if ('plans-newsletter' === intent) {
61
+ if (useVar42NoAiFeatures) {
62
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj?.getVar42NoAiSignupWpcomFeatures?.() ??
63
+ planConstantObj?.get2023PricingGridSignupWpcomFeatures?.() ??
64
+ [], isExperimentVariant ?? true);
65
+ jetpackFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.() ?? [], isExperimentVariant ?? true);
66
+ }
67
+ else if ('plans-newsletter' === intent) {
23
68
  wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj?.getNewsletterSignupFeatures?.() ?? []);
24
69
  }
25
70
  else if ('plans-p2' === intent) {
@@ -46,6 +91,20 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
46
91
  });
47
92
  }
48
93
  }
94
+ else if ('plans-wordpress-hosting' === intent) {
95
+ // Use visual split features for WordPress hosting intent
96
+ if (planConstantObj?.getVisualSplitBusinessFeatures) {
97
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.getVisualSplitBusinessFeatures() ?? []);
98
+ }
99
+ else if (planConstantObj?.getVisualSplitCommerceFeatures) {
100
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.getVisualSplitCommerceFeatures() ?? []);
101
+ }
102
+ else {
103
+ // Fallback to default features if visual split features aren't available
104
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj?.get2023PricingGridSignupWpcomFeatures?.() ?? []);
105
+ }
106
+ jetpackFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.() ?? []);
107
+ }
49
108
  else {
50
109
  wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj?.get2023PricingGridSignupWpcomFeatures?.() ?? []);
51
110
  jetpackFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.() ?? []);
@@ -100,12 +159,23 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
100
159
  return;
101
160
  }
102
161
  const availableOnlyForAnnualPlans = annualPlansOnlyFeatures.includes(feature.getSlug());
162
+ const featureSlug = feature.getSlug();
163
+ const badgeText = showPricingDifferentiationFeaturePills
164
+ ? getPricingDifferentiationFeatureBadgeText(planSlug, featureSlug, translate, {
165
+ suppressAiPills: useVar42NoAiFeatures,
166
+ })
167
+ : undefined;
103
168
  wpcomFeaturesTransformed.push({
104
169
  ...feature,
105
170
  availableOnlyForAnnualPlans,
106
171
  availableForCurrentPlan: !isMonthlyPlan || !availableOnlyForAnnualPlans,
172
+ ...(badgeText && { badgeText }),
107
173
  });
108
174
  });
175
+ if (wpcomFeaturesTransformed.length > 0 && isExperimentVariant) {
176
+ const lastIndex = wpcomFeaturesTransformed.length - 1;
177
+ wpcomFeaturesTransformed[lastIndex].isExperimentLastFeature = true;
178
+ }
109
179
  }
110
180
  const storageFeature = planConstantObj.getStorageFeature?.(showLegacyStorageFeature, gridPlan.current);
111
181
  return {
@@ -127,6 +197,10 @@ const usePlanFeaturesForGridPlans = ({ gridPlans, allFeaturesList, hasRedeemedDo
127
197
  showLegacyStorageFeature,
128
198
  allFeaturesList,
129
199
  hasRedeemedDomainCredit,
200
+ useVar42NoAiFeatures,
201
+ showPricingDifferentiationFeaturePills,
202
+ isExperimentVariant,
203
+ translate,
130
204
  ]);
131
205
  };
132
206
  exports.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":";;;AAAA,mEAIsC;AACtC,gDAA6C;AAC7C,0GAAuE;AACvE,kGAAgE;AA4BhE;;;;GAIG;AACH,MAAM,2BAA2B,GAAgC,CAAE,EAClE,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,MAAM,EACN,eAAe,EACf,wBAAwB,EACxB,UAAU,GACV,EAAG,EAAE;IACL,MAAM,mBAAmB,GAAG,IAAA,kCAAsB,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,UAAU,EAAE,CAAE,CAAC;IAC7F,OAAO,IAAA,iBAAO,EAAE,GAAG,EAAE;QACpB,OAAO,SAAS,CAAC,MAAM,CACtB,CAAE,GAAG,EAAE,QAAQ,EAAG,EAAE;YACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,MAAM,eAAe,GAAG,IAAA,8CAA2B,EAAE,QAAQ,EAAE,SAAS,CAAE,CAAC;YAC3E,MAAM,aAAa,GAAG,IAAA,4BAAS,EAAE,QAAQ,CAAE,CAAC;YAE5C,IAAI,aAAa,GAAoB,EAAE,CAAC;YACxC,IAAI,eAAe,GAAoB,EAAE,CAAC;YAE1C,IAAK,kBAAkB,KAAK,MAAM,EAAG,CAAC;gBACrC,aAAa,GAAG,IAAA,kCAAqB,EACpC,eAAe,EACf,eAAe,EAAE,2BAA2B,EAAE,EAAE,IAAI,EAAE,CACtD,CAAC;YACH,CAAC;iBAAM,IAAK,UAAU,KAAK,MAAM,EAAG,CAAC;gBACpC,aAAa,GAAG,IAAA,kCAAqB,EACpC,eAAe,EACf,eAAe,EAAE,qCAAqC,EAAE,EAAE,IAAI,EAAE,CAChE,CAAC;YACH,CAAC;iBAAM,IAAK,uBAAuB,KAAK,MAAM,EAAG,CAAC;gBACjD,aAAa,GAAG,IAAA,kCAAqB,EACpC,eAAe,EACf,eAAe,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,CAC1D,CAAC;gBAEF,eAAe,GAAG,IAAA,kCAAqB,EACtC,eAAe,EACf,eAAe,CAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAChE,CAAC;YACH,CAAC;iBAAM,IAAK,mBAAmB,KAAK,MAAM,EAAG,CAAC;gBAC7C,aAAa,GAAG,IAAA,kCAAqB,EACpC,eAAe,EACf,eAAe,EAAE,qCAAqC,EAAE,EAAE,IAAI,EAAE,CAChE,CAAC;gBAEF,eAAe,GAAG,IAAA,kCAAqB,EACtC,eAAe,EACf,eAAe,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,CACjE,CAAC;gBAEF;;;mBAGG;gBACH,IAAK,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAG,CAAC;oBACnC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAE,CAAE,OAAO,EAAG,EAAE;wBACnD,qFAAqF;wBACrF,IAAK,wCAAqB,KAAK,OAAO,CAAC,OAAO,EAAE,EAAG,CAAC;4BACnD,OAAO,KAAK,CAAC;wBACd,CAAC;wBAED,OAAO,IAAI,CAAC;oBACb,CAAC,CAAE,CAAC;gBACL,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,aAAa,GAAG,IAAA,kCAAqB,EACpC,eAAe,EACf,eAAe,EAAE,qCAAqC,EAAE,EAAE,IAAI,EAAE,CAChE,CAAC;gBAEF,eAAe,GAAG,IAAA,kCAAqB,EACtC,eAAe,EACf,eAAe,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,CACjE,CAAC;YACH,CAAC;YAED,MAAM,uBAAuB,GAAG,eAAe,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC;YACrF,MAAM,wBAAwB,GAA+B,EAAE,CAAC;YAChE,MAAM,0BAA0B,GAAG,eAAe,CAAC,GAAG,CAAE,CAAE,OAAO,EAAG,EAAE;gBACrE,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,QAAQ,CAAE,OAAO,CAAC,OAAO,EAAE,CAAE,CAAC;gBAE1F,OAAO;oBACN,GAAG,OAAO;oBACV,2BAA2B;oBAC3B,uBAAuB,EAAE,CAAE,aAAa,IAAI,CAAE,2BAA2B;iBACzE,CAAC;YACH,CAAC,CAAE,CAAC;YAEJ,IAAK,mBAAmB,EAAG,CAAC;gBAC3B,qEAAqE;gBACrE,mBAAmB;qBACjB,KAAK,EAAE;qBACP,OAAO,EAAE;qBACT,OAAO,CAAE,CAAE,IAAI,EAAG,EAAE;oBACpB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAE,CAAE,OAAO,EAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,CAAE,CAAC;oBAChF,IAAK,OAAO,EAAG,CAAC;wBACf,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,QAAQ,CACnE,OAAO,CAAC,OAAO,EAAE,CACjB,CAAC;wBACF,wBAAwB,CAAC,OAAO,CAAE;4BACjC,GAAG,OAAO;4BACV,2BAA2B;4BAC3B,uBAAuB,EAAE,CAAE,aAAa,IAAI,CAAE,2BAA2B;4BACzE,aAAa,EAAE,IAAI;yBACnB,CAAE,CAAC;oBACL,CAAC;gBACF,CAAC,CAAE,CAAC;YACN,CAAC;YAED,MAAM,UAAU,GAAG,eAAe;gBACjC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAE,CAAE,OAAO,EAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,eAAe,CAAE;gBAC5E,CAAC,CAAC,SAAS,CAAC;YAEb,IAAK,UAAU,EAAG,CAAC;gBAClB,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,QAAQ,CACnE,UAAU,CAAC,OAAO,EAAE,CACpB,CAAC;gBACF,wBAAwB,CAAC,OAAO,CAAE;oBACjC,GAAG,UAAU;oBACb,2BAA2B;oBAC3B,uBAAuB,EAAE,CAAE,aAAa,IAAI,CAAE,2BAA2B;iBACzE,CAAE,CAAC;YACL,CAAC;YAED,IAAK,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;gBAC1C,aAAa,CAAC,OAAO,CAAE,CAAE,OAAO,EAAG,EAAE;oBACpC,yEAAyE;oBACzE,MAAM,oBAAoB,GACzB,mBAAmB,IAAI,mBAAmB,CAAC,QAAQ,CAAE,OAAO,CAAC,OAAO,EAAE,CAAE,CAAC;oBAC1E,IAAK,OAAO,KAAK,UAAU,IAAI,oBAAoB,EAAG,CAAC;wBACtD,OAAO;oBACR,CAAC;oBACD,IAAK,uBAAuB,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,wCAAqB,EAAG,CAAC;wBAC9E,OAAO;oBACR,CAAC;oBAED,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,QAAQ,CACnE,OAAO,CAAC,OAAO,EAAE,CACjB,CAAC;oBAEF,wBAAwB,CAAC,IAAI,CAAE;wBAC9B,GAAG,OAAO;wBACV,2BAA2B;wBAC3B,uBAAuB,EAAE,CAAE,aAAa,IAAI,CAAE,2BAA2B;qBACzE,CAAE,CAAC;gBACL,CAAC,CAAE,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,EAAE,CACzD,wBAAwB,EACxB,QAAQ,CAAC,OAAO,CAChB,CAAC;YAEF,OAAO;gBACN,GAAG,GAAG;gBACN,CAAE,QAAQ,CAAE,EAAE;oBACb,aAAa,EAAE,wBAAwB;oBACvC,eAAe,EAAE,0BAA0B;oBAC3C,GAAG,CAAE,cAAc,IAAI;wBACtB,cAAc,EAAE,IAAA,kCAAqB,EAAE,eAAe,EAAE,CAAE,cAAc,CAAE,CAAE,EAAE,CAAE,CAAC,CAAE;qBACnF,CAAE;iBACH;aACD,CAAC;QACH,CAAC,EACD,EAAuD,CACvD,CAAC;IACH,CAAC,EAAE;QACF,SAAS;QACT,MAAM;QACN,mBAAmB;QACnB,eAAe;QACf,wBAAwB;QACxB,eAAe;QACf,uBAAuB;KACvB,CAAE,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
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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"}
@@ -2,18 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const calypso_products_1 = require("@automattic/calypso-products");
5
- const react_1 = require("react");
5
+ const element_1 = require("@wordpress/element");
6
6
  const get_plan_features_object_1 = tslib_1.__importDefault(require("../../lib/get-plan-features-object"));
7
7
  const use_plan_features_for_grid_plans_1 = tslib_1.__importDefault(require("./use-plan-features-for-grid-plans"));
8
- const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, }) => {
8
+ const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesList, hasRedeemedDomainCredit, intent, selectedFeature, showLegacyStorageFeature, useVar42NoAiFeatures, showPricingDifferentiationFeaturePills, isExperimentVariant, }) => {
9
9
  const planFeaturesForGridPlans = (0, use_plan_features_for_grid_plans_1.default)({
10
10
  gridPlans,
11
11
  allFeaturesList,
12
12
  intent,
13
13
  selectedFeature,
14
14
  showLegacyStorageFeature,
15
+ useVar42NoAiFeatures,
16
+ showPricingDifferentiationFeaturePills,
17
+ isExperimentVariant,
15
18
  });
16
- return (0, react_1.useMemo)(() => {
19
+ return (0, element_1.useMemo)(() => {
17
20
  let previousPlan = null;
18
21
  const planFeatureMap = {};
19
22
  for (const gridPlan of gridPlans) {
@@ -21,13 +24,49 @@ const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesLi
21
24
  const planConstantObj = (0, calypso_products_1.applyTestFiltersToPlansList)(planSlug, undefined);
22
25
  const annualPlansOnlyFeatures = planConstantObj.getAnnualPlansOnlyFeatures?.();
23
26
  const isMonthlyPlan = (0, calypso_products_1.isMonthly)(planSlug);
24
- const wpcomFeatures = planConstantObj.get2023PlanComparisonFeatureOverride?.().length
25
- ? (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PlanComparisonFeatureOverride().slice())
26
- : (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupWpcomFeatures?.().slice());
27
- const jetpackFeatures = planConstantObj.get2023PlanComparisonJetpackFeatureOverride?.()
28
- .length
29
- ? (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PlanComparisonJetpackFeatureOverride().slice())
30
- : (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.().slice());
27
+ let wpcomFeatures;
28
+ // Plans differentiators (non-control): use experiment comparison override when present.
29
+ if (isExperimentVariant &&
30
+ planConstantObj.get2023PlanComparisonFeatureOverrideForExperiment?.()?.length) {
31
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PlanComparisonFeatureOverrideForExperiment().slice(), isExperimentVariant);
32
+ }
33
+ else if (
34
+ // Check if there's a specific override for comparison
35
+ planConstantObj.get2023PlanComparisonFeatureOverride?.().length) {
36
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PlanComparisonFeatureOverride().slice());
37
+ }
38
+ else if ('plans-wordpress-hosting' === intent) {
39
+ // Use visual split features for WordPress hosting intent
40
+ if (planConstantObj?.getVisualSplitBusinessFeatures) {
41
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.getVisualSplitBusinessFeatures().slice());
42
+ }
43
+ else if (planConstantObj?.getVisualSplitCommerceFeatures) {
44
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.getVisualSplitCommerceFeatures().slice());
45
+ }
46
+ else {
47
+ // Fallback to default features
48
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupWpcomFeatures?.().slice());
49
+ }
50
+ }
51
+ else {
52
+ // Default case
53
+ wpcomFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupWpcomFeatures?.().slice());
54
+ }
55
+ // Plans Differentiators Experiment: For comparison grid, use dedicated experiment override function
56
+ // when in an experiment variant for Jetpack features.
57
+ // Note: We check if the function exists, not if it returns a non-empty array, because an empty array
58
+ // is a valid return value (meaning "show no Jetpack features").
59
+ let jetpackFeatures;
60
+ if (isExperimentVariant &&
61
+ planConstantObj.get2023PlanComparisonJetpackFeatureOverrideForExperiment) {
62
+ jetpackFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PlanComparisonJetpackFeatureOverrideForExperiment().slice(), isExperimentVariant);
63
+ }
64
+ else if (planConstantObj.get2023PlanComparisonJetpackFeatureOverride?.().length) {
65
+ jetpackFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PlanComparisonJetpackFeatureOverride().slice());
66
+ }
67
+ else {
68
+ jetpackFeatures = (0, get_plan_features_object_1.default)(allFeaturesList, planConstantObj.get2023PricingGridSignupJetpackFeatures?.().slice());
69
+ }
31
70
  const wpcomFeaturesTransformed = annualPlansOnlyFeatures
32
71
  ? wpcomFeatures?.map((feature) => {
33
72
  const availableOnlyForAnnualPlans = annualPlansOnlyFeatures.includes(feature.getSlug());
@@ -79,12 +118,21 @@ const useRestructuredPlanFeaturesForComparisonGrid = ({ gridPlans, allFeaturesLi
79
118
  ...previousPlanFeatures.jetpackFeatures,
80
119
  ],
81
120
  storageFeature: planFeaturesForGridPlans[planSlug].storageFeature,
82
- comparisonGridFeatureLabels: planConstantObj.getPlanComparisonFeatureLabels?.(),
121
+ comparisonGridFeatureLabels: planConstantObj.getPlanComparisonFeatureLabels?.({
122
+ isExperimentVariant,
123
+ }),
83
124
  };
84
125
  previousPlan = planSlug;
85
126
  }
86
127
  return planFeatureMap;
87
- }, [gridPlans, allFeaturesList, planFeaturesForGridPlans, intent, hasRedeemedDomainCredit]);
128
+ }, [
129
+ gridPlans,
130
+ allFeaturesList,
131
+ planFeaturesForGridPlans,
132
+ intent,
133
+ hasRedeemedDomainCredit,
134
+ isExperimentVariant,
135
+ ]);
88
136
  };
89
137
  exports.default = useRestructuredPlanFeaturesForComparisonGrid;
90
138
  //# 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,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const calypso_products_1 = require("@automattic/calypso-products");
4
+ const i18n_calypso_1 = require("i18n-calypso");
5
+ const useTitleBadges = ({ intent, planSlugs }) => {
6
+ const translate = (0, i18n_calypso_1.useTranslate)();
7
+ return planSlugs.reduce((acc, planSlug) => {
8
+ let label;
9
+ if ('plans-woo-hosted' === intent && (0, calypso_products_1.isWooHostedBasicPlan)(planSlug)) {
10
+ label = translate('Recommended');
11
+ }
12
+ return {
13
+ ...acc,
14
+ [planSlug]: label ?? null,
15
+ };
16
+ }, {});
17
+ };
18
+ exports.default = useTitleBadges;
19
+ //# 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,mEAAmF;AACnF,+CAA4C;AAS5C,MAAM,cAAc,GAAG,CAAE,EAAE,MAAM,EAAE,SAAS,EAAS,EAAG,EAAE;IACzD,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;IAEjC,OAAO,SAAS,CAAC,MAAM,CACtB,CAAE,GAAG,EAAE,QAAQ,EAAG,EAAE;QACnB,IAAI,KAAK,CAAC;QAEV,IAAK,kBAAkB,KAAK,MAAM,IAAI,IAAA,uCAAoB,EAAE,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,kBAAe,cAAc,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = useIsLargeCurrency;
4
+ const number_formatters_1 = require("@automattic/number-formatters");
4
5
  const element_1 = require("@wordpress/element");
5
- const i18n_calypso_1 = require("i18n-calypso");
6
6
  const LARGE_ADD_ON_CURRENCY_CHAR_THRESHOLD = 7;
7
7
  const LARGE_CURRENCY_CHAR_THRESHOLD = 6;
8
8
  const LARGE_CURRENCY_COMBINED_CHAR_THRESHOLD = 9;
@@ -13,7 +13,7 @@ function useDisplayPrices(currencyCode, prices, ignoreWhitespace = false) {
13
13
  * the display price is too long, we convert the integer to a display string.
14
14
  */
15
15
  return (0, element_1.useMemo)(() => prices?.map((price) => {
16
- const displayPrice = (0, i18n_calypso_1.formatCurrency)(price, currencyCode, {
16
+ const displayPrice = (0, number_formatters_1.formatCurrency)(price, currencyCode, {
17
17
  stripZeros: true,
18
18
  isSmallestUnit: true,
19
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"use-is-large-currency.js","sourceRoot":"","sources":["../../../src/hooks/use-is-large-currency.ts"],"names":[],"mappings":";;AAoEA,qCAsBC;AA1FD,gDAA6C;AAC7C,+CAA8C;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,IAAA,iBAAO,EACb,GAAG,EAAE,CACJ,MAAM,EAAE,GAAG,CAAE,CAAE,KAAK,EAAG,EAAE;QACxB,MAAM,YAAY,GAAG,IAAA,6BAAc,EAAE,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,SAAwB,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":";;AAoEA,qCAsBC;AA1FD,qEAA+D;AAC/D,gDAA6C;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,IAAA,iBAAO,EACb,GAAG,EAAE,CACJ,MAAM,EAAE,GAAG,CAAE,CAAE,KAAK,EAAG,EAAE;QACxB,MAAM,YAAY,GAAG,IAAA,kCAAc,EAAE,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,SAAwB,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,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useVisibleGridPlans = useVisibleGridPlans;
4
+ const tslib_1 = require("tslib");
5
+ // hooks/use-visible-grid-plans.ts
6
+ const calypso_products_1 = require("@automattic/calypso-products");
7
+ const data_stores_1 = require("@automattic/data-stores");
8
+ const react_1 = require("react");
9
+ const grid_context_1 = require("../grid-context");
10
+ const use_plan_billing_period_1 = tslib_1.__importDefault(require("./data-store/use-plan-billing-period"));
11
+ function useVisibleGridPlans({ gridSize, currentSitePlanSlug, siteId, intervalType, }) {
12
+ const [visibleGridPlans, setVisibleGridPlans] = (0, react_1.useState)([]);
13
+ const { gridPlans, gridPlansIndex } = (0, grid_context_1.usePlansGridContext)();
14
+ const currentPlanTerm = data_stores_1.Plans.useCurrentPlanTerm({ siteId });
15
+ const selectedPlanTerm = (0, use_plan_billing_period_1.default)({ intervalType });
16
+ (0, react_1.useEffect)(() => {
17
+ setVisibleGridPlans((previousGridPlans) => {
18
+ let visibleLength = gridPlans.length;
19
+ switch (gridSize) {
20
+ case 'large':
21
+ visibleLength = 4;
22
+ break;
23
+ case 'medium':
24
+ visibleLength = 3;
25
+ break;
26
+ case 'smedium':
27
+ case 'small':
28
+ visibleLength = 2;
29
+ break;
30
+ }
31
+ // Find the user's current plan in the current term
32
+ const usersGridPlanFromSelectedTerm = currentSitePlanSlug
33
+ ? gridPlans.find((gridPlan) => (0, calypso_products_1.getPlanClass)(gridPlan.planSlug) === (0, calypso_products_1.getPlanClass)(currentSitePlanSlug))
34
+ : null;
35
+ // Check if previous state is stale
36
+ const isPreviousGridPlansStale = previousGridPlans.some((plan) => !gridPlansIndex[plan.planSlug]);
37
+ let nextGridPlans = previousGridPlans;
38
+ if (previousGridPlans.length !== visibleLength) {
39
+ nextGridPlans = gridPlans.slice(0, visibleLength);
40
+ }
41
+ else if (isPreviousGridPlansStale) {
42
+ // Map existing plans to their new term equivalents, preserving order
43
+ nextGridPlans = previousGridPlans.map((plan) => {
44
+ const gridPlan = gridPlans.find((gridPlan) => (0, calypso_products_1.getPlanClass)(gridPlan.planSlug) === (0, calypso_products_1.getPlanClass)(plan.planSlug));
45
+ return gridPlan ?? plan;
46
+ });
47
+ }
48
+ // Ensure current plan is visible
49
+ if (usersGridPlanFromSelectedTerm) {
50
+ const isCurrentPlanVisible = nextGridPlans.some((plan) => (0, calypso_products_1.getPlanClass)(plan.planSlug) === (0, calypso_products_1.getPlanClass)(usersGridPlanFromSelectedTerm.planSlug));
51
+ if (!isCurrentPlanVisible) {
52
+ nextGridPlans = [usersGridPlanFromSelectedTerm, ...nextGridPlans].slice(0, visibleLength);
53
+ }
54
+ }
55
+ return nextGridPlans;
56
+ });
57
+ }, [
58
+ gridSize,
59
+ gridPlans,
60
+ currentSitePlanSlug,
61
+ currentPlanTerm,
62
+ selectedPlanTerm,
63
+ gridPlansIndex,
64
+ ]);
65
+ return {
66
+ visibleGridPlans,
67
+ setVisibleGridPlans,
68
+ };
69
+ }
70
+ //# 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":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EFFECTIVE_TERMS_LIST = exports.useRestructuredPlanFeaturesForComparisonGrid = exports.usePlanTypesWithIntent = exports.usePlansFromTypes = exports.usePlanFeaturesForGridPlans = exports.usePlanBillingDescription = exports.usePlanBillingPeriod = exports.useGridPlanForSpotlight = exports.useGridPlansForComparisonGrid = exports.useGridPlansForFeaturesGrid = exports.useGridPlans = exports.useManageTooltipToggle = exports.Plans2023Tooltip = exports.PlanButton = exports.PlanTypeSelector = exports.FeaturesGrid = exports.ComparisonGrid = void 0;
3
+ exports.fromVariantPriceData = exports.fromPricingMetaForGridPlan = exports.calculateDiscountPercentage = exports.getPlanPriceForDuration = exports.EFFECTIVE_TERMS_LIST = exports.useRestructuredPlanFeaturesForComparisonGrid = exports.usePlanTypesWithIntent = exports.usePlansFromTypes = exports.usePlanFeaturesForGridPlans = exports.usePlanBillingDescription = exports.usePlanBillingPeriod = exports.useGridPlanForSpotlight = exports.useGridPlansForComparisonGrid = exports.useGridPlansForFeaturesGrid = exports.useGridPlans = exports.useManageTooltipToggle = exports.Plans2023Tooltip = exports.PlanButton = exports.PlanTypeSelector = exports.FeaturesGrid = exports.ComparisonGrid = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const comparison_grid_1 = tslib_1.__importDefault(require("./components/comparison-grid"));
6
6
  exports.ComparisonGrid = comparison_grid_1.default;
@@ -35,4 +35,9 @@ const use_restructured_plan_features_for_comparison_grid_1 = tslib_1.__importDef
35
35
  exports.useRestructuredPlanFeaturesForComparisonGrid = use_restructured_plan_features_for_comparison_grid_1.default;
36
36
  const use_manage_tooltip_toggle_1 = require("./hooks/use-manage-tooltip-toggle");
37
37
  Object.defineProperty(exports, "useManageTooltipToggle", { enumerable: true, get: function () { return use_manage_tooltip_toggle_1.useManageTooltipToggle; } });
38
+ const plan_pricing_utils_1 = require("./lib/plan-pricing-utils");
39
+ Object.defineProperty(exports, "getPlanPriceForDuration", { enumerable: true, get: function () { return plan_pricing_utils_1.getPlanPriceForDuration; } });
40
+ Object.defineProperty(exports, "calculateDiscountPercentage", { enumerable: true, get: function () { return plan_pricing_utils_1.calculateDiscountPercentage; } });
41
+ Object.defineProperty(exports, "fromPricingMetaForGridPlan", { enumerable: true, get: function () { return plan_pricing_utils_1.fromPricingMetaForGridPlan; } });
42
+ Object.defineProperty(exports, "fromVariantPriceData", { enumerable: true, get: function () { return plan_pricing_utils_1.fromVariantPriceData; } });
38
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";;;;AAAA,2FAA0D;AAyBjD,yBAzBF,yBAAc,CAyBE;AAxBvB,uFAAsD;AAwB7B,uBAxBlB,uBAAY,CAwBkB;AAvBrC,mFAAkD;AAuBO,qBAvBlD,qBAAU,CAuBkD;AAtBnE,iGAA+D;AAsBxB,2BAtBhC,4BAAgB,CAsBgC;AArBvD,wEAAmE;AAqBE,iGArB5D,qCAAgB,OAqB4D;AApBrF,2CAAmD;AA0C1C,qGA1CA,gCAAoB,OA0CA;AAzC7B,yHAAqF;AA6BpF,kCA7BM,qCAAuB,CA6BN;AA5BxB,4FAAyF;AAyBxF,uBAzBM,wBAAY,CAyBN;AAQZ,uGAjCsB,uCAAsB,OAiCtB;AAhCvB,uIAAkG;AA0BjG,wCA1BM,4CAA6B,CA0BN;AAzB9B,mIAA8F;AAwB7F,sCAxBM,0CAA2B,CAwBN;AAvB5B,2HAAwF;AA2BvF,oCA3BM,sCAAyB,CA2BN;AA1B1B,iHAA8E;AAyB7E,+BAzBM,iCAAoB,CAyBN;AAxBrB,mIAA8F;AA0B7F,sCA1BM,0CAA2B,CA0BN;AAzB5B,2GAAwE;AA0BvE,4BA1BM,8BAAiB,CA0BN;AAzBlB,uKAAiI;AA2BhI,uDA3BM,4DAA4C,CA2BN;AA1B7C,iFAA2E;AAgB1E,uGAhBQ,kDAAsB,OAgBR"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";;;;AAAA,2FAA0D;AAgCjD,yBAhCF,yBAAc,CAgCE;AA/BvB,uFAAsD;AA+B7B,uBA/BlB,uBAAY,CA+BkB;AA9BrC,mFAAkD;AA8BO,qBA9BlD,qBAAU,CA8BkD;AA7BnE,iGAA+D;AA6BxB,2BA7BhC,4BAAgB,CA6BgC;AA5BvD,wEAAmE;AA4BE,iGA5B5D,qCAAgB,OA4B4D;AA3BrF,2CAAmD;AAiD1C,qGAjDA,gCAAoB,OAiDA;AAhD7B,yHAAqF;AAoCpF,kCApCM,qCAAuB,CAoCN;AAnCxB,4FAAyF;AAgCxF,uBAhCM,wBAAY,CAgCN;AAQZ,uGAxCsB,uCAAsB,OAwCtB;AAvCvB,uIAAkG;AAiCjG,wCAjCM,4CAA6B,CAiCN;AAhC9B,mIAA8F;AA+B7F,sCA/BM,0CAA2B,CA+BN;AA9B5B,2HAAwF;AAkCvF,oCAlCM,sCAAyB,CAkCN;AAjC1B,iHAA8E;AAgC7E,+BAhCM,iCAAoB,CAgCN;AA/BrB,mIAA8F;AAiC7F,sCAjCM,0CAA2B,CAiCN;AAhC5B,2GAAwE;AAiCvE,4BAjCM,8BAAiB,CAiCN;AAhClB,uKAAiI;AAkChI,uDAlCM,4DAA4C,CAkCN;AAjC7C,iFAA2E;AAuB1E,uGAvBQ,kDAAsB,OAuBR;AAtBvB,iEAKkC;AAwCjC,wGA5CA,4CAAuB,OA4CA;AACvB,4GA5CA,gDAA2B,OA4CA;AAC3B,2GA5CA,+CAA0B,OA4CA;AAC1B,qGA5CA,yCAAoB,OA4CA"}