@automattic/data-stores 3.1.0 → 3.1.1

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 (667) hide show
  1. package/dist/cjs/add-ons/add-ons-list.js +92 -0
  2. package/dist/cjs/add-ons/add-ons-list.js.map +1 -0
  3. package/dist/cjs/add-ons/constants.js +21 -3
  4. package/dist/cjs/add-ons/constants.js.map +1 -1
  5. package/dist/cjs/add-ons/hooks/use-add-on-prices.js +55 -54
  6. package/dist/cjs/add-ons/hooks/use-add-on-prices.js.map +1 -1
  7. package/dist/cjs/add-ons/hooks/use-add-on-purchase-status.js +14 -6
  8. package/dist/cjs/add-ons/hooks/use-add-on-purchase-status.js.map +1 -1
  9. package/dist/cjs/add-ons/hooks/use-add-ons.js +35 -193
  10. package/dist/cjs/add-ons/hooks/use-add-ons.js.map +1 -1
  11. package/dist/cjs/add-ons/hooks/use-available-storage-add-ons.js +19 -12
  12. package/dist/cjs/add-ons/hooks/use-available-storage-add-ons.js.map +1 -1
  13. package/dist/cjs/add-ons/hooks/use-get-purchased-storage-add-on.js +21 -0
  14. package/dist/cjs/add-ons/hooks/use-get-purchased-storage-add-on.js.map +1 -0
  15. package/dist/cjs/add-ons/hooks/use-storage-add-on-availability.js +30 -0
  16. package/dist/cjs/add-ons/hooks/use-storage-add-on-availability.js.map +1 -0
  17. package/dist/cjs/add-ons/index.js +6 -1
  18. package/dist/cjs/add-ons/index.js.map +1 -1
  19. package/dist/cjs/add-ons/mocks.js +31 -0
  20. package/dist/cjs/add-ons/mocks.js.map +1 -0
  21. package/dist/cjs/analyzer/actions.js +1 -3
  22. package/dist/cjs/analyzer/actions.js.map +1 -1
  23. package/dist/cjs/contextual-help/admin-sections.js +4 -5
  24. package/dist/cjs/contextual-help/admin-sections.js.map +1 -1
  25. package/dist/cjs/contextual-help/contextual-help.js +6 -4
  26. package/dist/cjs/contextual-help/contextual-help.js.map +1 -1
  27. package/dist/cjs/domain-suggestions/index.js +9 -16
  28. package/dist/cjs/domain-suggestions/index.js.map +1 -1
  29. package/dist/cjs/domain-suggestions/queries.js +3 -4
  30. package/dist/cjs/domain-suggestions/queries.js.map +1 -1
  31. package/dist/cjs/domain-suggestions/resolvers.js +3 -3
  32. package/dist/cjs/domain-suggestions/resolvers.js.map +1 -1
  33. package/dist/cjs/domain-suggestions/utils.js +5 -8
  34. package/dist/cjs/domain-suggestions/utils.js.map +1 -1
  35. package/dist/cjs/help-center/actions.js +92 -17
  36. package/dist/cjs/help-center/actions.js.map +1 -1
  37. package/dist/cjs/help-center/index.js +27 -2
  38. package/dist/cjs/help-center/index.js.map +1 -1
  39. package/dist/cjs/help-center/reducer.js +38 -0
  40. package/dist/cjs/help-center/reducer.js.map +1 -1
  41. package/dist/cjs/help-center/resolvers.js +28 -0
  42. package/dist/cjs/help-center/resolvers.js.map +1 -0
  43. package/dist/cjs/help-center/selectors.js +11 -1
  44. package/dist/cjs/help-center/selectors.js.map +1 -1
  45. package/dist/cjs/index.js +3 -6
  46. package/dist/cjs/index.js.map +1 -1
  47. package/dist/cjs/mutations/use-domains-bulk-actions-mutation.js +1 -2
  48. package/dist/cjs/mutations/use-domains-bulk-actions-mutation.js.map +1 -1
  49. package/dist/cjs/newsletter-categories/index.js +36 -0
  50. package/dist/cjs/newsletter-categories/index.js.map +1 -0
  51. package/dist/cjs/onboard/actions.js +14 -79
  52. package/dist/cjs/onboard/actions.js.map +1 -1
  53. package/dist/cjs/onboard/constants.js +18 -7
  54. package/dist/cjs/onboard/constants.js.map +1 -1
  55. package/dist/cjs/onboard/index.js +6 -4
  56. package/dist/cjs/onboard/index.js.map +1 -1
  57. package/dist/cjs/onboard/reducer.js +31 -23
  58. package/dist/cjs/onboard/reducer.js.map +1 -1
  59. package/dist/cjs/onboard/selectors.js +5 -3
  60. package/dist/cjs/onboard/selectors.js.map +1 -1
  61. package/dist/cjs/onboard/utils.js +12 -11
  62. package/dist/cjs/onboard/utils.js.map +1 -1
  63. package/dist/cjs/plans/constants.js +1 -0
  64. package/dist/cjs/plans/constants.js.map +1 -1
  65. package/dist/cjs/plans/hooks/use-current-plan.js +1 -1
  66. package/dist/cjs/plans/hooks/use-current-plan.js.map +1 -1
  67. package/dist/cjs/plans/hooks/use-intro-offers.js +1 -1
  68. package/dist/cjs/plans/hooks/use-intro-offers.js.map +1 -1
  69. package/dist/cjs/plans/hooks/use-pricing-meta-for-grid-plans.js +52 -9
  70. package/dist/cjs/plans/hooks/use-pricing-meta-for-grid-plans.js.map +1 -1
  71. package/dist/cjs/plans/index.js +2 -2
  72. package/dist/cjs/plans/index.js.map +1 -1
  73. package/dist/cjs/plans/mock/next/store/plans.js +12 -6
  74. package/dist/cjs/plans/mock/next/store/plans.js.map +1 -1
  75. package/dist/cjs/plans/queries/lib/unpack-cost-overrides.js +1 -1
  76. package/dist/cjs/plans/queries/lib/unpack-cost-overrides.js.map +1 -1
  77. package/dist/cjs/plans/queries/lib/unpack-intro-offer.js +16 -3
  78. package/dist/cjs/plans/queries/lib/unpack-intro-offer.js.map +1 -1
  79. package/dist/cjs/plans/queries/lib/use-query-keys-factory.js +5 -1
  80. package/dist/cjs/plans/queries/lib/use-query-keys-factory.js.map +1 -1
  81. package/dist/cjs/plans/queries/use-plans.js +1 -1
  82. package/dist/cjs/plans/queries/use-site-plans.js +6 -2
  83. package/dist/cjs/plans/queries/use-site-plans.js.map +1 -1
  84. package/dist/cjs/plans/resolvers.js +5 -7
  85. package/dist/cjs/plans/resolvers.js.map +1 -1
  86. package/dist/cjs/products-list/queries/use-products.js +1 -1
  87. package/dist/cjs/purchases/lib/assembler.js +4 -3
  88. package/dist/cjs/purchases/lib/assembler.js.map +1 -1
  89. package/dist/cjs/purchases/queries/use-site-purchases.js +1 -2
  90. package/dist/cjs/purchases/queries/use-site-purchases.js.map +1 -1
  91. package/dist/cjs/queries/use-all-domains-query.js +2 -2
  92. package/dist/cjs/queries/use-all-domains-query.js.map +1 -1
  93. package/dist/cjs/queries/use-bulk-domain-update-status-query.js +7 -7
  94. package/dist/cjs/queries/use-bulk-domain-update-status-query.js.map +1 -1
  95. package/dist/cjs/queries/use-launchpad.js +13 -8
  96. package/dist/cjs/queries/use-launchpad.js.map +1 -1
  97. package/dist/cjs/queries/use-site-domains-query.js +3 -3
  98. package/dist/cjs/queries/use-site-domains-query.js.map +1 -1
  99. package/dist/cjs/queries/use-site-intent.js +1 -2
  100. package/dist/cjs/queries/use-site-intent.js.map +1 -1
  101. package/dist/cjs/queries/use-site-query.js +2 -3
  102. package/dist/cjs/queries/use-site-query.js.map +1 -1
  103. package/dist/cjs/reader/contexts/site-subscriptions-query-props.js +11 -10
  104. package/dist/cjs/reader/contexts/site-subscriptions-query-props.js.map +1 -1
  105. package/dist/cjs/reader/helpers/index.js +2 -2
  106. package/dist/cjs/reader/helpers/index.js.map +1 -1
  107. package/dist/cjs/reader/hooks/index.js +5 -4
  108. package/dist/cjs/reader/hooks/index.js.map +1 -1
  109. package/dist/cjs/reader/hooks/use-is-logged-in.js +10 -8
  110. package/dist/cjs/reader/hooks/use-is-logged-in.js.map +1 -1
  111. package/dist/cjs/reader/mutations/index.js +14 -13
  112. package/dist/cjs/reader/mutations/index.js.map +1 -1
  113. package/dist/cjs/reader/queries/index.js +11 -10
  114. package/dist/cjs/reader/queries/index.js.map +1 -1
  115. package/dist/cjs/reader/queries/use-read-feed-query.js +2 -2
  116. package/dist/cjs/reader/queries/use-read-feed-query.js.map +1 -1
  117. package/dist/cjs/reader/queries/use-read-feed-site-query.js +1 -1
  118. package/dist/cjs/reader/queries/use-read-feed-site-query.js.map +1 -1
  119. package/dist/cjs/site/actions.js +37 -11
  120. package/dist/cjs/site/actions.js.map +1 -1
  121. package/dist/cjs/site/constants.js +1 -4
  122. package/dist/cjs/site/constants.js.map +1 -1
  123. package/dist/cjs/site/index.js +2 -2
  124. package/dist/cjs/site/index.js.map +1 -1
  125. package/dist/cjs/site/queries/use-site-media-storage.js +1 -0
  126. package/dist/cjs/site/queries/use-site-media-storage.js.map +1 -1
  127. package/dist/cjs/site/queries/use-site-user-query.js +1 -2
  128. package/dist/cjs/site/queries/use-site-user-query.js.map +1 -1
  129. package/dist/cjs/site/selectors.js +2 -2
  130. package/dist/cjs/site/selectors.js.map +1 -1
  131. package/dist/cjs/site/types.js.map +1 -1
  132. package/dist/cjs/starter-designs-queries/use-starter-design-by-slug.js +1 -2
  133. package/dist/cjs/starter-designs-queries/use-starter-design-by-slug.js.map +1 -1
  134. package/dist/cjs/starter-designs-queries/use-starter-designs-query.js +3 -3
  135. package/dist/cjs/starter-designs-queries/use-starter-designs-query.js.map +1 -1
  136. package/dist/cjs/stepper-internal/index.js +1 -2
  137. package/dist/cjs/stepper-internal/index.js.map +1 -1
  138. package/dist/cjs/stepper-internal/reducer.js.map +1 -1
  139. package/dist/cjs/subscriber/actions.js +39 -31
  140. package/dist/cjs/subscriber/actions.js.map +1 -1
  141. package/dist/cjs/subscriber/index.js +0 -2
  142. package/dist/cjs/subscriber/index.js.map +1 -1
  143. package/dist/cjs/subscriber/selectors.js +5 -0
  144. package/dist/cjs/subscriber/selectors.js.map +1 -1
  145. package/dist/cjs/templates/index.js +2 -1
  146. package/dist/cjs/templates/index.js.map +1 -1
  147. package/dist/cjs/user/actions.js +1 -2
  148. package/dist/cjs/user/actions.js.map +1 -1
  149. package/dist/cjs/user/index.js +1 -2
  150. package/dist/cjs/user/index.js.map +1 -1
  151. package/dist/cjs/user/resolvers.js +1 -2
  152. package/dist/cjs/user/resolvers.js.map +1 -1
  153. package/dist/cjs/users/use-send-invites.js +2 -4
  154. package/dist/cjs/users/use-send-invites.js.map +1 -1
  155. package/dist/esm/add-ons/add-ons-list.js +86 -0
  156. package/dist/esm/add-ons/add-ons-list.js.map +1 -0
  157. package/dist/esm/add-ons/constants.js +20 -2
  158. package/dist/esm/add-ons/constants.js.map +1 -1
  159. package/dist/esm/add-ons/hooks/use-add-on-prices.js +51 -53
  160. package/dist/esm/add-ons/hooks/use-add-on-prices.js.map +1 -1
  161. package/dist/esm/add-ons/hooks/use-add-on-purchase-status.js +14 -6
  162. package/dist/esm/add-ons/hooks/use-add-on-purchase-status.js.map +1 -1
  163. package/dist/esm/add-ons/hooks/use-add-ons.js +36 -194
  164. package/dist/esm/add-ons/hooks/use-add-ons.js.map +1 -1
  165. package/dist/esm/add-ons/hooks/use-available-storage-add-ons.js +18 -12
  166. package/dist/esm/add-ons/hooks/use-available-storage-add-ons.js.map +1 -1
  167. package/dist/esm/add-ons/hooks/use-get-purchased-storage-add-on.js +17 -0
  168. package/dist/esm/add-ons/hooks/use-get-purchased-storage-add-on.js.map +1 -0
  169. package/dist/esm/add-ons/hooks/use-storage-add-on-availability.js +26 -0
  170. package/dist/esm/add-ons/hooks/use-storage-add-on-availability.js.map +1 -0
  171. package/dist/esm/add-ons/index.js +2 -0
  172. package/dist/esm/add-ons/index.js.map +1 -1
  173. package/dist/esm/add-ons/mocks.js +27 -0
  174. package/dist/esm/add-ons/mocks.js.map +1 -0
  175. package/dist/esm/analyzer/actions.js +0 -1
  176. package/dist/esm/analyzer/actions.js.map +1 -1
  177. package/dist/esm/contextual-help/admin-sections.js +3 -3
  178. package/dist/esm/contextual-help/contextual-help.js +3 -2
  179. package/dist/esm/contextual-help/contextual-help.js.map +1 -1
  180. package/dist/esm/domain-suggestions/index.js +9 -15
  181. package/dist/esm/domain-suggestions/index.js.map +1 -1
  182. package/dist/esm/domain-suggestions/utils.js +1 -4
  183. package/dist/esm/domain-suggestions/utils.js.map +1 -1
  184. package/dist/esm/help-center/actions.js +82 -13
  185. package/dist/esm/help-center/actions.js.map +1 -1
  186. package/dist/esm/help-center/index.js +23 -0
  187. package/dist/esm/help-center/index.js.map +1 -1
  188. package/dist/esm/help-center/reducer.js +38 -0
  189. package/dist/esm/help-center/reducer.js.map +1 -1
  190. package/dist/esm/help-center/resolvers.js +25 -0
  191. package/dist/esm/help-center/resolvers.js.map +1 -0
  192. package/dist/esm/help-center/selectors.js +5 -0
  193. package/dist/esm/help-center/selectors.js.map +1 -1
  194. package/dist/esm/index.js +2 -4
  195. package/dist/esm/index.js.map +1 -1
  196. package/dist/esm/newsletter-categories/index.js +31 -0
  197. package/dist/esm/newsletter-categories/index.js.map +1 -0
  198. package/dist/esm/onboard/actions.js +8 -70
  199. package/dist/esm/onboard/actions.js.map +1 -1
  200. package/dist/esm/onboard/constants.js +18 -7
  201. package/dist/esm/onboard/constants.js.map +1 -1
  202. package/dist/esm/onboard/index.js +4 -2
  203. package/dist/esm/onboard/index.js.map +1 -1
  204. package/dist/esm/onboard/reducer.js +31 -23
  205. package/dist/esm/onboard/reducer.js.map +1 -1
  206. package/dist/esm/onboard/selectors.js +2 -1
  207. package/dist/esm/onboard/selectors.js.map +1 -1
  208. package/dist/esm/onboard/utils.js +12 -11
  209. package/dist/esm/onboard/utils.js.map +1 -1
  210. package/dist/esm/plans/constants.js +1 -0
  211. package/dist/esm/plans/constants.js.map +1 -1
  212. package/dist/esm/plans/hooks/use-current-plan.js +1 -1
  213. package/dist/esm/plans/hooks/use-current-plan.js.map +1 -1
  214. package/dist/esm/plans/hooks/use-intro-offers.js +1 -1
  215. package/dist/esm/plans/hooks/use-intro-offers.js.map +1 -1
  216. package/dist/esm/plans/hooks/use-pricing-meta-for-grid-plans.js +52 -9
  217. package/dist/esm/plans/hooks/use-pricing-meta-for-grid-plans.js.map +1 -1
  218. package/dist/esm/plans/mock/next/store/plans.js +12 -6
  219. package/dist/esm/plans/mock/next/store/plans.js.map +1 -1
  220. package/dist/esm/plans/queries/lib/unpack-intro-offer.js +16 -3
  221. package/dist/esm/plans/queries/lib/unpack-intro-offer.js.map +1 -1
  222. package/dist/esm/plans/queries/lib/use-query-keys-factory.js +5 -1
  223. package/dist/esm/plans/queries/lib/use-query-keys-factory.js.map +1 -1
  224. package/dist/esm/plans/queries/use-plans.js +1 -1
  225. package/dist/esm/plans/queries/use-site-plans.js +6 -2
  226. package/dist/esm/plans/queries/use-site-plans.js.map +1 -1
  227. package/dist/esm/plans/resolvers.js +1 -1
  228. package/dist/esm/plans/resolvers.js.map +1 -1
  229. package/dist/esm/products-list/queries/use-products.js +1 -1
  230. package/dist/esm/purchases/lib/assembler.js +2 -0
  231. package/dist/esm/purchases/lib/assembler.js.map +1 -1
  232. package/dist/esm/queries/use-all-domains-query.js.map +1 -1
  233. package/dist/esm/queries/use-bulk-domain-update-status-query.js +5 -5
  234. package/dist/esm/queries/use-bulk-domain-update-status-query.js.map +1 -1
  235. package/dist/esm/queries/use-launchpad.js +11 -6
  236. package/dist/esm/queries/use-launchpad.js.map +1 -1
  237. package/dist/esm/queries/use-site-domains-query.js.map +1 -1
  238. package/dist/esm/reader/contexts/site-subscriptions-query-props.js +12 -11
  239. package/dist/esm/reader/contexts/site-subscriptions-query-props.js.map +1 -1
  240. package/dist/esm/reader/hooks/use-is-logged-in.js +9 -8
  241. package/dist/esm/reader/hooks/use-is-logged-in.js.map +1 -1
  242. package/dist/esm/reader/queries/use-read-feed-query.js +2 -2
  243. package/dist/esm/reader/queries/use-read-feed-query.js.map +1 -1
  244. package/dist/esm/reader/queries/use-read-feed-site-query.js +1 -1
  245. package/dist/esm/reader/queries/use-read-feed-site-query.js.map +1 -1
  246. package/dist/esm/site/actions.js +36 -9
  247. package/dist/esm/site/actions.js.map +1 -1
  248. package/dist/esm/site/constants.js +1 -4
  249. package/dist/esm/site/constants.js.map +1 -1
  250. package/dist/esm/site/queries/use-site-media-storage.js +1 -0
  251. package/dist/esm/site/queries/use-site-media-storage.js.map +1 -1
  252. package/dist/esm/site/types.js.map +1 -1
  253. package/dist/esm/starter-designs-queries/use-starter-designs-query.js +2 -1
  254. package/dist/esm/starter-designs-queries/use-starter-designs-query.js.map +1 -1
  255. package/dist/esm/stepper-internal/reducer.js.map +1 -1
  256. package/dist/esm/subscriber/actions.js +38 -29
  257. package/dist/esm/subscriber/actions.js.map +1 -1
  258. package/dist/esm/subscriber/index.js +0 -2
  259. package/dist/esm/subscriber/index.js.map +1 -1
  260. package/dist/esm/subscriber/selectors.js +4 -0
  261. package/dist/esm/subscriber/selectors.js.map +1 -1
  262. package/dist/esm/users/use-send-invites.js +1 -2
  263. package/dist/esm/users/use-send-invites.js.map +1 -1
  264. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  265. package/dist/tsconfig.tsbuildinfo +1 -1
  266. package/dist/types/add-ons/add-ons-list.d.ts +4 -0
  267. package/dist/types/add-ons/add-ons-list.d.ts.map +1 -0
  268. package/dist/types/add-ons/constants.d.ts +8 -3
  269. package/dist/types/add-ons/constants.d.ts.map +1 -1
  270. package/dist/types/add-ons/hooks/use-add-on-checkout-link.d.ts +1 -1
  271. package/dist/types/add-ons/hooks/use-add-on-checkout-link.d.ts.map +1 -1
  272. package/dist/types/add-ons/hooks/use-add-on-prices.d.ts +12 -7
  273. package/dist/types/add-ons/hooks/use-add-on-prices.d.ts.map +1 -1
  274. package/dist/types/add-ons/hooks/use-add-on-purchase-status.d.ts +7 -8
  275. package/dist/types/add-ons/hooks/use-add-on-purchase-status.d.ts.map +1 -1
  276. package/dist/types/add-ons/hooks/use-add-ons.d.ts +1 -2
  277. package/dist/types/add-ons/hooks/use-add-ons.d.ts.map +1 -1
  278. package/dist/types/add-ons/hooks/use-available-storage-add-ons.d.ts +9 -2
  279. package/dist/types/add-ons/hooks/use-available-storage-add-ons.d.ts.map +1 -1
  280. package/dist/types/add-ons/hooks/use-get-purchased-storage-add-on.d.ts +5 -0
  281. package/dist/types/add-ons/hooks/use-get-purchased-storage-add-on.d.ts.map +1 -0
  282. package/dist/types/add-ons/hooks/use-storage-add-on-availability.d.ts +17 -0
  283. package/dist/types/add-ons/hooks/use-storage-add-on-availability.d.ts.map +1 -0
  284. package/dist/types/add-ons/hooks/use-storage-add-ons.d.ts.map +1 -1
  285. package/dist/types/add-ons/index.d.ts +2 -0
  286. package/dist/types/add-ons/index.d.ts.map +1 -1
  287. package/dist/types/add-ons/mocks.d.ts +4 -0
  288. package/dist/types/add-ons/mocks.d.ts.map +1 -0
  289. package/dist/types/add-ons/types.d.ts +6 -7
  290. package/dist/types/add-ons/types.d.ts.map +1 -1
  291. package/dist/types/analyzer/actions.d.ts.map +1 -1
  292. package/dist/types/analyzer/reducers.d.ts +4 -2
  293. package/dist/types/analyzer/reducers.d.ts.map +1 -1
  294. package/dist/types/analyzer/selectors.d.ts +2 -2
  295. package/dist/types/analyzer/selectors.d.ts.map +1 -1
  296. package/dist/types/contextual-help/contextual-help.d.ts.map +1 -1
  297. package/dist/types/domain-suggestions/actions.d.ts.map +1 -1
  298. package/dist/types/domain-suggestions/index.d.ts +3 -2
  299. package/dist/types/domain-suggestions/index.d.ts.map +1 -1
  300. package/dist/types/domain-suggestions/queries.d.ts +24 -24
  301. package/dist/types/domain-suggestions/reducer.d.ts +6 -2
  302. package/dist/types/domain-suggestions/reducer.d.ts.map +1 -1
  303. package/dist/types/domain-suggestions/resolvers.d.ts.map +1 -1
  304. package/dist/types/domain-suggestions/selectors.d.ts.map +1 -1
  305. package/dist/types/domain-suggestions/types.d.ts +0 -3
  306. package/dist/types/domain-suggestions/types.d.ts.map +1 -1
  307. package/dist/types/domain-suggestions/utils.d.ts +0 -3
  308. package/dist/types/domain-suggestions/utils.d.ts.map +1 -1
  309. package/dist/types/help-center/actions.d.ts +42 -47
  310. package/dist/types/help-center/actions.d.ts.map +1 -1
  311. package/dist/types/help-center/index.d.ts +2 -0
  312. package/dist/types/help-center/index.d.ts.map +1 -1
  313. package/dist/types/help-center/reducer.d.ts +29 -2
  314. package/dist/types/help-center/reducer.d.ts.map +1 -1
  315. package/dist/types/help-center/resolvers.d.ts +13 -0
  316. package/dist/types/help-center/resolvers.d.ts.map +1 -0
  317. package/dist/types/help-center/selectors.d.ts +5 -0
  318. package/dist/types/help-center/selectors.d.ts.map +1 -1
  319. package/dist/types/help-center/types.d.ts +8 -0
  320. package/dist/types/help-center/types.d.ts.map +1 -1
  321. package/dist/types/index.d.ts +105 -110
  322. package/dist/types/index.d.ts.map +1 -1
  323. package/dist/types/mutations/use-domains-bulk-actions-mutation.d.ts +4 -4
  324. package/dist/types/mutations/use-domains-bulk-actions-mutation.d.ts.map +1 -1
  325. package/dist/types/newsletter-categories/index.d.ts +21 -0
  326. package/dist/types/newsletter-categories/index.d.ts.map +1 -0
  327. package/dist/types/onboard/actions.d.ts +23 -77
  328. package/dist/types/onboard/actions.d.ts.map +1 -1
  329. package/dist/types/onboard/constants.d.ts +16 -7
  330. package/dist/types/onboard/constants.d.ts.map +1 -1
  331. package/dist/types/onboard/index.d.ts.map +1 -1
  332. package/dist/types/onboard/reducer.d.ts +56 -5
  333. package/dist/types/onboard/reducer.d.ts.map +1 -1
  334. package/dist/types/onboard/selectors.d.ts +8 -7
  335. package/dist/types/onboard/selectors.d.ts.map +1 -1
  336. package/dist/types/onboard/utils.d.ts +5 -1
  337. package/dist/types/onboard/utils.d.ts.map +1 -1
  338. package/dist/types/plans/actions.d.ts.map +1 -1
  339. package/dist/types/plans/constants.d.ts +1 -0
  340. package/dist/types/plans/constants.d.ts.map +1 -1
  341. package/dist/types/plans/hooks/use-current-plan-expiry-date.d.ts.map +1 -1
  342. package/dist/types/plans/hooks/use-current-plan-term.d.ts +1 -1
  343. package/dist/types/plans/hooks/use-current-plan-term.d.ts.map +1 -1
  344. package/dist/types/plans/hooks/use-current-plan.d.ts.map +1 -1
  345. package/dist/types/plans/hooks/use-intro-offers-for-woo-express.d.ts.map +1 -1
  346. package/dist/types/plans/hooks/use-intro-offers.d.ts.map +1 -1
  347. package/dist/types/plans/hooks/use-pricing-meta-for-grid-plans.d.ts +7 -6
  348. package/dist/types/plans/hooks/use-pricing-meta-for-grid-plans.d.ts.map +1 -1
  349. package/dist/types/plans/mock/next/store/plans.d.ts.map +1 -1
  350. package/dist/types/plans/queries/lib/unpack-intro-offer.d.ts.map +1 -1
  351. package/dist/types/plans/queries/lib/use-query-keys-factory.d.ts +1 -1
  352. package/dist/types/plans/queries/lib/use-query-keys-factory.d.ts.map +1 -1
  353. package/dist/types/plans/queries/use-site-plans.d.ts +6 -1
  354. package/dist/types/plans/queries/use-site-plans.d.ts.map +1 -1
  355. package/dist/types/plans/reducer.d.ts +7 -2
  356. package/dist/types/plans/reducer.d.ts.map +1 -1
  357. package/dist/types/plans/resolvers.d.ts +1 -1
  358. package/dist/types/plans/selectors.d.ts +1 -1
  359. package/dist/types/plans/selectors.d.ts.map +1 -1
  360. package/dist/types/plans/test-utils/index.d.ts.map +1 -1
  361. package/dist/types/plans/types.d.ts +24 -2
  362. package/dist/types/plans/types.d.ts.map +1 -1
  363. package/dist/types/products-list/actions.d.ts.map +1 -1
  364. package/dist/types/products-list/reducer.d.ts +5 -2
  365. package/dist/types/products-list/reducer.d.ts.map +1 -1
  366. package/dist/types/products-list/resolvers.d.ts.map +1 -1
  367. package/dist/types/products-list/selectors.d.ts +2 -2
  368. package/dist/types/products-list/selectors.d.ts.map +1 -1
  369. package/dist/types/products-list/types.d.ts +1 -0
  370. package/dist/types/products-list/types.d.ts.map +1 -1
  371. package/dist/types/purchases/hooks/use-site-purchase-by-id.d.ts.map +1 -1
  372. package/dist/types/purchases/hooks/use-site-purchases-by-product-slug.d.ts.map +1 -1
  373. package/dist/types/purchases/lib/assembler.d.ts.map +1 -1
  374. package/dist/types/purchases/queries/use-site-purchases.d.ts +1 -1
  375. package/dist/types/purchases/queries/use-site-purchases.d.ts.map +1 -1
  376. package/dist/types/purchases/types.d.ts +5 -0
  377. package/dist/types/purchases/types.d.ts.map +1 -1
  378. package/dist/types/queries/use-all-domains-query.d.ts +3 -2
  379. package/dist/types/queries/use-all-domains-query.d.ts.map +1 -1
  380. package/dist/types/queries/use-bulk-domain-update-status-query.d.ts +6 -1
  381. package/dist/types/queries/use-bulk-domain-update-status-query.d.ts.map +1 -1
  382. package/dist/types/queries/use-happiness-engineers-query.d.ts +1 -1
  383. package/dist/types/queries/use-launchpad.d.ts +3 -3
  384. package/dist/types/queries/use-launchpad.d.ts.map +1 -1
  385. package/dist/types/queries/use-site-domains-query.d.ts +8 -2
  386. package/dist/types/queries/use-site-domains-query.d.ts.map +1 -1
  387. package/dist/types/queries/use-site-intent.d.ts +2 -2
  388. package/dist/types/queries/use-site-query.d.ts +1 -1
  389. package/dist/types/queries/use-site-query.d.ts.map +1 -1
  390. package/dist/types/reader/contexts/site-subscriptions-query-props.d.ts +4 -2
  391. package/dist/types/reader/contexts/site-subscriptions-query-props.d.ts.map +1 -1
  392. package/dist/types/reader/helpers/index.d.ts +1 -1
  393. package/dist/types/reader/helpers/index.d.ts.map +1 -1
  394. package/dist/types/reader/helpers/optimistic-update.d.ts.map +1 -1
  395. package/dist/types/reader/helpers/query-key.d.ts.map +1 -1
  396. package/dist/types/reader/helpers/type-guards.d.ts.map +1 -1
  397. package/dist/types/reader/helpers/validators.d.ts +1 -1
  398. package/dist/types/reader/helpers/validators.d.ts.map +1 -1
  399. package/dist/types/reader/hooks/use-cache-key.d.ts.map +1 -1
  400. package/dist/types/reader/hooks/use-is-logged-in.d.ts +1 -2
  401. package/dist/types/reader/hooks/use-is-logged-in.d.ts.map +1 -1
  402. package/dist/types/reader/index.d.ts +103 -106
  403. package/dist/types/reader/index.d.ts.map +1 -1
  404. package/dist/types/reader/mutations/use-pending-post-confirm-mutation.d.ts +1 -1
  405. package/dist/types/reader/mutations/use-pending-post-delete-mutation.d.ts +1 -1
  406. package/dist/types/reader/mutations/use-pending-site-confirm-mutation.d.ts +1 -1
  407. package/dist/types/reader/mutations/use-pending-site-delete-mutation.d.ts +1 -1
  408. package/dist/types/reader/mutations/use-post-notify-me-of-new-comments-mutation.d.ts +1 -1
  409. package/dist/types/reader/mutations/use-post-unsubscribe-mutation.d.ts +1 -1
  410. package/dist/types/reader/mutations/use-site-delivery-frequency-mutation.d.ts +1 -1
  411. package/dist/types/reader/mutations/use-site-email-me-new-comments-mutation.d.ts +1 -1
  412. package/dist/types/reader/mutations/use-site-email-me-new-posts-mutation.d.ts +1 -1
  413. package/dist/types/reader/mutations/use-site-notify-me-of-new-posts-mutation.d.ts +1 -1
  414. package/dist/types/reader/mutations/use-site-subscribe-mutation.d.ts +1 -1
  415. package/dist/types/reader/mutations/use-site-unsubscribe-mutation.d.ts +1 -1
  416. package/dist/types/reader/mutations/use-user-settings-mutation.d.ts +1 -1
  417. package/dist/types/reader/queries/use-pending-post-subscriptions-query.d.ts +8 -8
  418. package/dist/types/reader/queries/use-pending-post-subscriptions-query.d.ts.map +1 -1
  419. package/dist/types/reader/queries/use-pending-site-subscriptions-query.d.ts +8 -8
  420. package/dist/types/reader/queries/use-pending-site-subscriptions-query.d.ts.map +1 -1
  421. package/dist/types/reader/queries/use-post-subscriptions-query.d.ts +16 -16
  422. package/dist/types/reader/queries/use-post-subscriptions-query.d.ts.map +1 -1
  423. package/dist/types/reader/queries/use-read-feed-query.d.ts +3 -1
  424. package/dist/types/reader/queries/use-read-feed-query.d.ts.map +1 -1
  425. package/dist/types/reader/queries/use-read-feed-search-query.d.ts +1 -1
  426. package/dist/types/reader/queries/use-read-feed-search-query.d.ts.map +1 -1
  427. package/dist/types/reader/queries/use-read-feed-site-query.d.ts +1 -1
  428. package/dist/types/reader/queries/use-read-feed-site-query.d.ts.map +1 -1
  429. package/dist/types/reader/queries/use-site-subscription-details-query.d.ts +1 -1
  430. package/dist/types/reader/queries/use-site-subscription-details-query.d.ts.map +1 -1
  431. package/dist/types/reader/queries/use-site-subscriptions-query.d.ts +12 -12
  432. package/dist/types/reader/queries/use-site-subscriptions-query.d.ts.map +1 -1
  433. package/dist/types/reader/queries/use-subscriptions-count-query.d.ts +1 -1
  434. package/dist/types/reader/queries/use-subscriptions-count-query.d.ts.map +1 -1
  435. package/dist/types/reader/queries/use-user-settings-query.d.ts +1 -1
  436. package/dist/types/site/actions.d.ts +11 -11
  437. package/dist/types/site/actions.d.ts.map +1 -1
  438. package/dist/types/site/constants.d.ts +1 -1
  439. package/dist/types/site/constants.d.ts.map +1 -1
  440. package/dist/types/site/queries/use-site-media-storage.d.ts.map +1 -1
  441. package/dist/types/site/queries/use-site-user-query.d.ts +1 -1
  442. package/dist/types/site/queries/use-site-user-query.d.ts.map +1 -1
  443. package/dist/types/site/reducer.d.ts +28 -9
  444. package/dist/types/site/reducer.d.ts.map +1 -1
  445. package/dist/types/site/resolvers.d.ts.map +1 -1
  446. package/dist/types/site/selectors.d.ts +8 -8
  447. package/dist/types/site/selectors.d.ts.map +1 -1
  448. package/dist/types/site/types.d.ts +16 -37
  449. package/dist/types/site/types.d.ts.map +1 -1
  450. package/dist/types/site/utils.d.ts.map +1 -1
  451. package/dist/types/site-reset/use-site-reset-content-summary-query.d.ts.map +1 -1
  452. package/dist/types/site-reset/use-site-reset-mutation.d.ts +4 -4
  453. package/dist/types/site-reset/use-site-reset-mutation.d.ts.map +1 -1
  454. package/dist/types/site-reset/use-site-reset-status-query.d.ts.map +1 -1
  455. package/dist/types/starter-designs-queries/types.d.ts +1 -10
  456. package/dist/types/starter-designs-queries/types.d.ts.map +1 -1
  457. package/dist/types/starter-designs-queries/use-starter-designs-query.d.ts +2 -0
  458. package/dist/types/starter-designs-queries/use-starter-designs-query.d.ts.map +1 -1
  459. package/dist/types/stepper-internal/actions.d.ts.map +1 -1
  460. package/dist/types/stepper-internal/reducer.d.ts +5 -2
  461. package/dist/types/stepper-internal/reducer.d.ts.map +1 -1
  462. package/dist/types/stepper-internal/selectors.d.ts +4 -2
  463. package/dist/types/stepper-internal/selectors.d.ts.map +1 -1
  464. package/dist/types/subscriber/actions.d.ts +11 -53
  465. package/dist/types/subscriber/actions.d.ts.map +1 -1
  466. package/dist/types/subscriber/index.d.ts +14 -52
  467. package/dist/types/subscriber/index.d.ts.map +1 -1
  468. package/dist/types/subscriber/reducers.d.ts +4 -2
  469. package/dist/types/subscriber/reducers.d.ts.map +1 -1
  470. package/dist/types/subscriber/selectors.d.ts +7 -5
  471. package/dist/types/subscriber/selectors.d.ts.map +1 -1
  472. package/dist/types/subscriber/types.d.ts +17 -1
  473. package/dist/types/subscriber/types.d.ts.map +1 -1
  474. package/dist/types/templates/use-template.d.ts +1 -1
  475. package/dist/types/templates/use-template.d.ts.map +1 -1
  476. package/dist/types/theme/utils.d.ts.map +1 -1
  477. package/dist/types/user/reducer.d.ts +4 -2
  478. package/dist/types/user/reducer.d.ts.map +1 -1
  479. package/dist/types/user/selectors.d.ts +2 -2
  480. package/dist/types/user/selectors.d.ts.map +1 -1
  481. package/dist/types/users/use-send-invites.d.ts +1 -1
  482. package/dist/types/users/use-send-invites.d.ts.map +1 -1
  483. package/dist/types/wpcom-plans-ui/actions.d.ts +2 -2
  484. package/dist/types/wpcom-plans-ui/actions.d.ts.map +1 -1
  485. package/dist/types/wpcom-plans-ui/reducer.d.ts +5 -2
  486. package/dist/types/wpcom-plans-ui/reducer.d.ts.map +1 -1
  487. package/dist/types/wpcom-plans-ui/selectors.d.ts.map +1 -1
  488. package/dist/types/wpcom-request-controls/index.d.ts +2 -2
  489. package/dist/types/wpcom-request-controls/index.d.ts.map +1 -1
  490. package/package.json +17 -18
  491. package/src/add-ons/add-ons-list.ts +109 -0
  492. package/src/add-ons/constants.ts +20 -2
  493. package/src/add-ons/hooks/use-add-on-prices.ts +67 -54
  494. package/src/add-ons/hooks/use-add-on-purchase-status.ts +21 -10
  495. package/src/add-ons/hooks/use-add-ons.ts +53 -251
  496. package/src/add-ons/hooks/use-available-storage-add-ons.ts +26 -16
  497. package/src/add-ons/hooks/use-get-purchased-storage-add-on.ts +24 -0
  498. package/src/add-ons/hooks/use-storage-add-on-availability.ts +38 -0
  499. package/src/add-ons/index.ts +5 -0
  500. package/src/add-ons/mocks.ts +29 -0
  501. package/src/add-ons/types.ts +6 -6
  502. package/src/analyzer/actions.ts +0 -1
  503. package/src/contextual-help/admin-sections.ts +3 -3
  504. package/src/contextual-help/contextual-help.tsx +4 -2
  505. package/src/domain-suggestions/index.ts +9 -16
  506. package/src/domain-suggestions/test/selectors.ts +12 -12
  507. package/src/domain-suggestions/types.ts +0 -4
  508. package/src/domain-suggestions/utils.ts +1 -4
  509. package/src/help-center/actions.ts +123 -16
  510. package/src/help-center/index.ts +32 -0
  511. package/src/help-center/reducer.ts +54 -0
  512. package/src/help-center/resolvers.ts +28 -0
  513. package/src/help-center/selectors.ts +6 -0
  514. package/src/help-center/types.ts +9 -1
  515. package/src/index.ts +1 -5
  516. package/src/newsletter-categories/index.ts +54 -0
  517. package/src/newsletter-categories/test/index.tsx +105 -0
  518. package/src/onboard/actions.ts +13 -103
  519. package/src/onboard/constants.ts +19 -7
  520. package/src/onboard/index.ts +4 -2
  521. package/src/onboard/reducer.ts +48 -24
  522. package/src/onboard/selectors.ts +2 -1
  523. package/src/onboard/test/utils.ts +36 -3
  524. package/src/onboard/utils.ts +21 -15
  525. package/src/plans/constants.ts +1 -0
  526. package/src/plans/hooks/test/use-pricing-meta-for-grid-plans.ts +241 -122
  527. package/src/plans/hooks/use-current-plan.ts +1 -1
  528. package/src/plans/hooks/use-intro-offers.ts +1 -1
  529. package/src/plans/hooks/use-pricing-meta-for-grid-plans.ts +69 -18
  530. package/src/plans/mock/next/store/plans.ts +12 -6
  531. package/src/plans/queries/lib/unpack-intro-offer.ts +23 -4
  532. package/src/plans/queries/lib/use-query-keys-factory.ts +5 -1
  533. package/src/plans/queries/use-plans.ts +1 -1
  534. package/src/plans/queries/use-site-plans.ts +11 -2
  535. package/src/plans/resolvers.ts +1 -1
  536. package/src/plans/types.ts +24 -2
  537. package/src/products-list/queries/use-products.ts +1 -1
  538. package/src/products-list/types.ts +1 -0
  539. package/src/purchases/lib/assembler.ts +2 -0
  540. package/src/purchases/types.ts +5 -0
  541. package/src/queries/use-all-domains-query.ts +3 -0
  542. package/src/queries/use-bulk-domain-update-status-query.ts +10 -5
  543. package/src/queries/use-launchpad.ts +15 -8
  544. package/src/queries/use-site-domains-query.ts +7 -1
  545. package/src/reader/contexts/site-subscriptions-query-props.tsx +23 -14
  546. package/src/reader/hooks/use-is-logged-in.ts +9 -16
  547. package/src/reader/queries/use-read-feed-query.ts +4 -2
  548. package/src/reader/queries/use-read-feed-site-query.ts +2 -2
  549. package/src/site/actions.ts +44 -15
  550. package/src/site/constants.ts +1 -7
  551. package/src/site/queries/use-site-media-storage.ts +1 -0
  552. package/src/site/test/actions.ts +73 -7
  553. package/src/site/types.ts +16 -41
  554. package/src/starter-designs-queries/types.ts +1 -12
  555. package/src/starter-designs-queries/use-starter-designs-query.ts +4 -0
  556. package/src/stepper-internal/reducer.ts +1 -0
  557. package/src/subscriber/actions.ts +111 -79
  558. package/src/subscriber/index.ts +0 -2
  559. package/src/subscriber/selectors.ts +6 -0
  560. package/src/subscriber/types.ts +18 -1
  561. package/src/users/use-send-invites.ts +1 -2
  562. package/dist/cjs/add-ons/hooks/use-add-on-display-cost.js +0 -29
  563. package/dist/cjs/add-ons/hooks/use-add-on-display-cost.js.map +0 -1
  564. package/dist/cjs/add-ons/lib/is-storage-addon-enabled.js +0 -11
  565. package/dist/cjs/add-ons/lib/is-storage-addon-enabled.js.map +0 -1
  566. package/dist/cjs/automated-transfer-eligibility/actions.js +0 -10
  567. package/dist/cjs/automated-transfer-eligibility/actions.js.map +0 -1
  568. package/dist/cjs/automated-transfer-eligibility/constants.js +0 -43
  569. package/dist/cjs/automated-transfer-eligibility/constants.js.map +0 -1
  570. package/dist/cjs/automated-transfer-eligibility/index.js +0 -27
  571. package/dist/cjs/automated-transfer-eligibility/index.js.map +0 -1
  572. package/dist/cjs/automated-transfer-eligibility/reducer.js +0 -17
  573. package/dist/cjs/automated-transfer-eligibility/reducer.js.map +0 -1
  574. package/dist/cjs/automated-transfer-eligibility/resolvers.js +0 -18
  575. package/dist/cjs/automated-transfer-eligibility/resolvers.js.map +0 -1
  576. package/dist/cjs/automated-transfer-eligibility/selectors.js +0 -60
  577. package/dist/cjs/automated-transfer-eligibility/selectors.js.map +0 -1
  578. package/dist/cjs/automated-transfer-eligibility/types.js +0 -3
  579. package/dist/cjs/automated-transfer-eligibility/types.js.map +0 -1
  580. package/dist/cjs/launchpad-navigator/actions.js +0 -71
  581. package/dist/cjs/launchpad-navigator/actions.js.map +0 -1
  582. package/dist/cjs/launchpad-navigator/constants.js +0 -7
  583. package/dist/cjs/launchpad-navigator/constants.js.map +0 -1
  584. package/dist/cjs/launchpad-navigator/index.js +0 -19
  585. package/dist/cjs/launchpad-navigator/index.js.map +0 -1
  586. package/dist/cjs/launchpad-navigator/reducer.js +0 -24
  587. package/dist/cjs/launchpad-navigator/reducer.js.map +0 -1
  588. package/dist/cjs/launchpad-navigator/selectors.js +0 -8
  589. package/dist/cjs/launchpad-navigator/selectors.js.map +0 -1
  590. package/dist/cjs/queries/use-launchpad-navigator.js +0 -39
  591. package/dist/cjs/queries/use-launchpad-navigator.js.map +0 -1
  592. package/dist/esm/add-ons/hooks/use-add-on-display-cost.js +0 -26
  593. package/dist/esm/add-ons/hooks/use-add-on-display-cost.js.map +0 -1
  594. package/dist/esm/add-ons/lib/is-storage-addon-enabled.js +0 -8
  595. package/dist/esm/add-ons/lib/is-storage-addon-enabled.js.map +0 -1
  596. package/dist/esm/automated-transfer-eligibility/actions.js +0 -6
  597. package/dist/esm/automated-transfer-eligibility/actions.js.map +0 -1
  598. package/dist/esm/automated-transfer-eligibility/constants.js +0 -40
  599. package/dist/esm/automated-transfer-eligibility/constants.js.map +0 -1
  600. package/dist/esm/automated-transfer-eligibility/index.js +0 -22
  601. package/dist/esm/automated-transfer-eligibility/index.js.map +0 -1
  602. package/dist/esm/automated-transfer-eligibility/reducer.js +0 -13
  603. package/dist/esm/automated-transfer-eligibility/reducer.js.map +0 -1
  604. package/dist/esm/automated-transfer-eligibility/resolvers.js +0 -13
  605. package/dist/esm/automated-transfer-eligibility/resolvers.js.map +0 -1
  606. package/dist/esm/automated-transfer-eligibility/selectors.js +0 -56
  607. package/dist/esm/automated-transfer-eligibility/selectors.js.map +0 -1
  608. package/dist/esm/automated-transfer-eligibility/types.js +0 -2
  609. package/dist/esm/automated-transfer-eligibility/types.js.map +0 -1
  610. package/dist/esm/launchpad-navigator/actions.js +0 -63
  611. package/dist/esm/launchpad-navigator/actions.js.map +0 -1
  612. package/dist/esm/launchpad-navigator/constants.js +0 -4
  613. package/dist/esm/launchpad-navigator/constants.js.map +0 -1
  614. package/dist/esm/launchpad-navigator/index.js +0 -15
  615. package/dist/esm/launchpad-navigator/index.js.map +0 -1
  616. package/dist/esm/launchpad-navigator/reducer.js +0 -22
  617. package/dist/esm/launchpad-navigator/reducer.js.map +0 -1
  618. package/dist/esm/launchpad-navigator/selectors.js +0 -3
  619. package/dist/esm/launchpad-navigator/selectors.js.map +0 -1
  620. package/dist/esm/queries/use-launchpad-navigator.js +0 -33
  621. package/dist/esm/queries/use-launchpad-navigator.js.map +0 -1
  622. package/dist/types/add-ons/hooks/use-add-on-display-cost.d.ts +0 -5
  623. package/dist/types/add-ons/hooks/use-add-on-display-cost.d.ts.map +0 -1
  624. package/dist/types/add-ons/lib/is-storage-addon-enabled.d.ts +0 -7
  625. package/dist/types/add-ons/lib/is-storage-addon-enabled.d.ts.map +0 -1
  626. package/dist/types/automated-transfer-eligibility/actions.d.ts +0 -10
  627. package/dist/types/automated-transfer-eligibility/actions.d.ts.map +0 -1
  628. package/dist/types/automated-transfer-eligibility/constants.d.ts +0 -11
  629. package/dist/types/automated-transfer-eligibility/constants.d.ts.map +0 -1
  630. package/dist/types/automated-transfer-eligibility/index.d.ts +0 -7
  631. package/dist/types/automated-transfer-eligibility/index.d.ts.map +0 -1
  632. package/dist/types/automated-transfer-eligibility/reducer.d.ts +0 -6
  633. package/dist/types/automated-transfer-eligibility/reducer.d.ts.map +0 -1
  634. package/dist/types/automated-transfer-eligibility/resolvers.d.ts +0 -7
  635. package/dist/types/automated-transfer-eligibility/resolvers.d.ts.map +0 -1
  636. package/dist/types/automated-transfer-eligibility/selectors.d.ts +0 -7
  637. package/dist/types/automated-transfer-eligibility/selectors.d.ts.map +0 -1
  638. package/dist/types/automated-transfer-eligibility/types.d.ts +0 -36
  639. package/dist/types/automated-transfer-eligibility/types.d.ts.map +0 -1
  640. package/dist/types/launchpad-navigator/actions.d.ts +0 -22
  641. package/dist/types/launchpad-navigator/actions.d.ts.map +0 -1
  642. package/dist/types/launchpad-navigator/constants.d.ts +0 -4
  643. package/dist/types/launchpad-navigator/constants.d.ts.map +0 -1
  644. package/dist/types/launchpad-navigator/index.d.ts +0 -4
  645. package/dist/types/launchpad-navigator/index.d.ts.map +0 -1
  646. package/dist/types/launchpad-navigator/reducer.d.ts +0 -9
  647. package/dist/types/launchpad-navigator/reducer.d.ts.map +0 -1
  648. package/dist/types/launchpad-navigator/selectors.d.ts +0 -4
  649. package/dist/types/launchpad-navigator/selectors.d.ts.map +0 -1
  650. package/dist/types/queries/use-launchpad-navigator.d.ts +0 -15
  651. package/dist/types/queries/use-launchpad-navigator.d.ts.map +0 -1
  652. package/src/add-ons/hooks/use-add-on-display-cost.ts +0 -28
  653. package/src/add-ons/lib/is-storage-addon-enabled.ts +0 -9
  654. package/src/automated-transfer-eligibility/actions.ts +0 -15
  655. package/src/automated-transfer-eligibility/constants.ts +0 -44
  656. package/src/automated-transfer-eligibility/index.ts +0 -25
  657. package/src/automated-transfer-eligibility/reducer.ts +0 -18
  658. package/src/automated-transfer-eligibility/resolvers.ts +0 -16
  659. package/src/automated-transfer-eligibility/selectors.ts +0 -94
  660. package/src/automated-transfer-eligibility/test/reducer.ts +0 -60
  661. package/src/automated-transfer-eligibility/types.ts +0 -45
  662. package/src/launchpad-navigator/actions.ts +0 -85
  663. package/src/launchpad-navigator/constants.ts +0 -4
  664. package/src/launchpad-navigator/index.ts +0 -16
  665. package/src/launchpad-navigator/reducer.ts +0 -35
  666. package/src/launchpad-navigator/selectors.ts +0 -6
  667. package/src/queries/use-launchpad-navigator.ts +0 -56
@@ -6,10 +6,10 @@ import {
6
6
  } from '@automattic/calypso-products';
7
7
  import { useSelect } from '@wordpress/data';
8
8
  import * as Plans from '../';
9
+ import * as AddOns from '../../add-ons';
9
10
  import * as Purchases from '../../purchases';
10
11
  import * as WpcomPlansUI from '../../wpcom-plans-ui';
11
12
  import { COST_OVERRIDE_REASONS } from '../constants';
12
- import type { AddOnMeta } from '../../add-ons/types';
13
13
 
14
14
  export type UseCheckPlanAvailabilityForPurchase = ( {
15
15
  planSlugs,
@@ -45,17 +45,19 @@ interface Props {
45
45
  */
46
46
  useCheckPlanAvailabilityForPurchase: UseCheckPlanAvailabilityForPurchase;
47
47
 
48
- /**
49
- * `storageAddOmns` TODO: should become a required prop.
50
- */
51
- storageAddOns: ( AddOnMeta | null )[] | null;
52
-
53
48
  /**
54
49
  * Whether to include discounts from plan proration.
55
50
  * This is applicable only if a siteId is passed to this hook.
56
51
  * If true, the pricing includes discounts from upgrade credits.
57
52
  */
58
53
  withProratedDiscounts?: boolean;
54
+
55
+ /**
56
+ * Storage add-on products ( e.g. increase site storage by 50GB ) can be purchased alongside plans. If true,
57
+ * storage add-on selections will be included in final plan price calculations. Otherwise, omit the add-ons
58
+ * from the final price.
59
+ */
60
+ reflectStorageSelectionInPlanPrices?: boolean;
59
61
  }
60
62
 
61
63
  function getTotalPrice( planPrice: number | null | undefined, addOnPrice = 0 ): number | null {
@@ -77,13 +79,14 @@ const usePricingMetaForGridPlans = ( {
77
79
  siteId,
78
80
  coupon,
79
81
  useCheckPlanAvailabilityForPurchase,
80
- storageAddOns,
81
82
  withProratedDiscounts,
83
+ reflectStorageSelectionInPlanPrices = false,
82
84
  }: Props ): { [ planSlug: string ]: Plans.PricingMetaForGridPlan } | null => {
83
85
  // plans - should have a definition for all plans, being the main source of API data
84
86
  const plans = Plans.usePlans( { coupon } );
85
87
  // sitePlans - unclear if all plans are included
86
- const sitePlans = Plans.useSitePlans( { siteId } );
88
+ const sitePlans = Plans.useSitePlans( { coupon, siteId } );
89
+ const storageAddOns = AddOns.useStorageAddOns( { siteId } );
87
90
  const currentPlan = Plans.useCurrentPlan( { siteId } );
88
91
  const introOffers = Plans.useIntroOffers( { siteId, coupon } );
89
92
  const purchasedPlan = Purchases.useSitePurchaseById( {
@@ -92,8 +95,9 @@ const usePricingMetaForGridPlans = ( {
92
95
  } );
93
96
  const selectedStorageOptions = useSelect(
94
97
  ( select ) => select( WpcomPlansUI.store ).getSelectedStorageOptions( siteId ),
95
- []
98
+ [ siteId ]
96
99
  );
100
+
97
101
  const planAvailabilityForPurchase = useCheckPlanAvailabilityForPurchase( {
98
102
  planSlugs,
99
103
  siteId,
@@ -112,6 +116,7 @@ const usePricingMetaForGridPlans = ( {
112
116
  originalPrice: Plans.PlanPricing[ 'originalPrice' ];
113
117
  discountedPrice: Plans.PlanPricing[ 'discountedPrice' ];
114
118
  currencyCode: Plans.PlanPricing[ 'currencyCode' ];
119
+ introOffer: Plans.PlanPricing[ 'introOffer' ];
115
120
  };
116
121
  }
117
122
  | null = null;
@@ -129,14 +134,26 @@ const usePricingMetaForGridPlans = ( {
129
134
  const plan = plans.data?.[ planSlug ];
130
135
  const sitePlan = sitePlans.data?.[ planSlug ];
131
136
  const selectedStorageOption = selectedStorageOptions?.[ planSlug ];
132
- const selectedStorageAddOn = selectedStorageOption
133
- ? storageAddOns?.find( ( addOn ) => {
134
- return addOn?.addOnSlug === selectedStorageOption;
135
- } )
136
- : null;
137
+ const selectedStorageAddOn =
138
+ selectedStorageOption && reflectStorageSelectionInPlanPrices
139
+ ? storageAddOns?.find( ( addOn ) => {
140
+ return addOn?.addOnSlug === selectedStorageOption;
141
+ } )
142
+ : null;
137
143
  const storageAddOnPriceMonthly = selectedStorageAddOn?.prices?.monthlyPrice || 0;
138
144
  const storageAddOnPriceYearly = selectedStorageAddOn?.prices?.yearlyPrice || 0;
139
145
 
146
+ const introOffer = introOffers?.[ planSlug ];
147
+
148
+ const introOfferPrice = introOffer
149
+ ? ( {
150
+ monthly: introOffer.rawPrice.monthly + storageAddOnPriceMonthly,
151
+ full:
152
+ introOffer.rawPrice.full +
153
+ ( 'year' === introOffer.intervalUnit ? storageAddOnPriceYearly : 0 ),
154
+ } as const )
155
+ : undefined;
156
+
140
157
  /**
141
158
  * 0. No plan or sitePlan (when selected site exists): planSlug is for a priceless plan.
142
159
  * TODO clk: the condition on `.pricing` here needs investigation. There should be a pricing object for all returned API plans.
@@ -213,11 +230,21 @@ const usePricingMetaForGridPlans = ( {
213
230
  full: getTotalPrice( sitePlan?.pricing.originalPrice.full, storageAddOnPriceYearly ),
214
231
  };
215
232
 
216
- // Do not return discounted prices if discount is due to plan proration
233
+ // Do not return discounted prices if discount is due to plan or domain proration.
234
+ // If there is, however, a sale coupon, show the discounted price
235
+ // without proration. This isn't ideal, but is intentional. Because of
236
+ // this, the price will differ between the plans grid and checkout screen.
237
+ const costOverrideCode = sitePlan?.pricing?.costOverrides?.[ 0 ]?.overrideCode;
238
+ const hasProratedCostOverride =
239
+ costOverrideCode &&
240
+ [
241
+ COST_OVERRIDE_REASONS.RECENT_PLAN_PRORATION,
242
+ COST_OVERRIDE_REASONS.RECENT_DOMAIN_PRORATION,
243
+ ].includes( costOverrideCode );
217
244
  if (
245
+ ! sitePlan?.pricing?.hasSaleCoupon &&
218
246
  ! withProratedDiscounts &&
219
- sitePlan?.pricing?.costOverrides?.[ 0 ]?.overrideCode ===
220
- COST_OVERRIDE_REASONS.RECENT_PLAN_PRORATION
247
+ hasProratedCostOverride
221
248
  ) {
222
249
  return [
223
250
  planSlug,
@@ -228,6 +255,12 @@ const usePricingMetaForGridPlans = ( {
228
255
  full: null,
229
256
  },
230
257
  currencyCode: sitePlan?.pricing?.currencyCode,
258
+ ...( sitePlan?.pricing.introOffer && {
259
+ introOffer: {
260
+ ...sitePlan?.pricing.introOffer,
261
+ rawPrice: introOfferPrice,
262
+ },
263
+ } ),
231
264
  },
232
265
  ];
233
266
  }
@@ -246,6 +279,12 @@ const usePricingMetaForGridPlans = ( {
246
279
  originalPrice,
247
280
  discountedPrice,
248
281
  currencyCode: sitePlan?.pricing?.currencyCode,
282
+ ...( sitePlan?.pricing.introOffer && {
283
+ introOffer: {
284
+ ...sitePlan?.pricing.introOffer,
285
+ rawPrice: introOfferPrice,
286
+ },
287
+ } ),
249
288
  },
250
289
  ];
251
290
  }
@@ -272,6 +311,12 @@ const usePricingMetaForGridPlans = ( {
272
311
  originalPrice,
273
312
  discountedPrice,
274
313
  currencyCode: plan?.pricing?.currencyCode,
314
+ ...( plan?.pricing.introOffer && {
315
+ introOffer: {
316
+ ...plan?.pricing.introOffer,
317
+ rawPrice: introOfferPrice,
318
+ },
319
+ } ),
275
320
  },
276
321
  ];
277
322
  }
@@ -294,6 +339,12 @@ const usePricingMetaForGridPlans = ( {
294
339
  full: null,
295
340
  },
296
341
  currencyCode: plan?.pricing?.currencyCode,
342
+ ...( plan?.pricing.introOffer && {
343
+ introOffer: {
344
+ ...plan?.pricing.introOffer,
345
+ rawPrice: introOfferPrice,
346
+ },
347
+ } ),
297
348
  },
298
349
  ];
299
350
  } )
@@ -314,7 +365,7 @@ const usePricingMetaForGridPlans = ( {
314
365
  // TODO clk: the condition on `.pricing` here needs investigation. There should be a pricing object for all returned API plans.
315
366
  currencyCode: planPrices?.[ planSlug ]?.currencyCode,
316
367
  expiry: sitePlans.data?.[ planSlug ]?.expiry,
317
- introOffer: introOffers?.[ planSlug ],
368
+ introOffer: planPrices?.[ planSlug ]?.introOffer,
318
369
  },
319
370
  } ),
320
371
  {} as { [ planSlug in PlanSlug ]?: Plans.PricingMetaForGridPlan }
@@ -28,9 +28,12 @@ export const NEXT_STORE_SITE_PLAN_BUSINESS: SitePlan = {
28
28
  productId: 2,
29
29
  pricing: {
30
30
  introOffer: {
31
- formattedPrice: '$15.00',
32
- rawPrice: 15,
33
- intervalUnit: 'month',
31
+ formattedPrice: '$150.00',
32
+ rawPrice: {
33
+ monthly: 1250,
34
+ full: 15000,
35
+ },
36
+ intervalUnit: 'year',
34
37
  intervalCount: 1,
35
38
  isOfferComplete: false,
36
39
  },
@@ -84,9 +87,12 @@ export const NEXT_STORE_PLAN_BUSINESS: PlanNext = {
84
87
  billPeriod: 365,
85
88
  currencyCode: 'USD',
86
89
  introOffer: {
87
- formattedPrice: '$25.00',
88
- rawPrice: 25,
89
- intervalUnit: 'month',
90
+ formattedPrice: '$300.00',
91
+ rawPrice: {
92
+ monthly: 2500,
93
+ full: 30000,
94
+ },
95
+ intervalUnit: 'year',
90
96
  intervalCount: 1,
91
97
  isOfferComplete: false,
92
98
  },
@@ -6,8 +6,11 @@ import type { PlanIntroductoryOffer, PricedAPIPlan, PricedAPISitePlan } from '..
6
6
  const unpackIntroOffer = (
7
7
  plan: PricedAPISitePlan | PricedAPIPlan
8
8
  ): PlanIntroductoryOffer | null => {
9
- // these aren't grouped or separated. so no introductory offer if no cost or interval
10
- if ( ! plan.introductory_offer_interval_unit && ! plan.introductory_offer_interval_count ) {
9
+ // these aren't grouped or separated. so no introductory offer if missing or malformed raw_price
10
+ if (
11
+ typeof plan.introductory_offer_raw_price_integer !== 'number' ||
12
+ ! plan.introductory_offer_interval_count
13
+ ) {
11
14
  return null;
12
15
  }
13
16
 
@@ -30,9 +33,25 @@ const unpackIntroOffer = (
30
33
 
31
34
  return {
32
35
  formattedPrice: plan.introductory_offer_formatted_price as string,
33
- rawPrice: plan.introductory_offer_raw_price as number,
36
+ rawPrice: {
37
+ monthly:
38
+ /**
39
+ * IMPORTANT:
40
+ * we make the raw assumption that the interval unit is either "year" or "month"
41
+ * to compute monthly/full price
42
+ */
43
+ 'year' === plan.introductory_offer_interval_unit
44
+ ? parseFloat(
45
+ (
46
+ plan.introductory_offer_raw_price_integer /
47
+ ( plan.introductory_offer_interval_count * 12 )
48
+ ).toFixed( 2 )
49
+ )
50
+ : plan.introductory_offer_raw_price_integer,
51
+ full: plan.introductory_offer_raw_price_integer,
52
+ },
34
53
  intervalUnit: plan.introductory_offer_interval_unit as string,
35
- intervalCount: plan.introductory_offer_interval_count as number,
54
+ intervalCount: plan.introductory_offer_interval_count,
36
55
  isOfferComplete,
37
56
  };
38
57
  };
@@ -1,5 +1,9 @@
1
1
  const useQueryKeysFactory = () => ( {
2
- sitePlans: ( siteId?: string | number | null ) => [ 'site-plans', siteId ],
2
+ sitePlans: ( coupon?: string, siteId?: string | number | null ) => [
3
+ 'site-plans',
4
+ siteId,
5
+ coupon,
6
+ ],
3
7
  plans: ( coupon?: string ) => [ 'plans', coupon ],
4
8
  } );
5
9
 
@@ -31,7 +31,7 @@ function usePlans( {
31
31
  queryKey: queryKeys.plans( coupon ),
32
32
  queryFn: async (): Promise< PlansIndex > => {
33
33
  const data: PricedAPIPlan[] = await wpcomRequest( {
34
- path: `/plans`,
34
+ path: '/plans',
35
35
  apiVersion: '1.5',
36
36
  query: params.toString(),
37
37
  } );
@@ -14,6 +14,11 @@ interface PricedAPISitePlansIndex {
14
14
  }
15
15
 
16
16
  interface Props {
17
+ /**
18
+ * To match the use-plans hook, `coupon` is required on purpose to mitigate risk of not passing
19
+ * something through when we should
20
+ */
21
+ coupon: string | undefined;
17
22
  siteId: string | number | null | undefined;
18
23
  }
19
24
 
@@ -22,15 +27,18 @@ interface Props {
22
27
  * - Plans from `/sites/[siteId]/plans`, unlike `/plans`, are returned indexed by product_id, and do not include that in the plan's payload.
23
28
  * - UI works with product/plan slugs everywhere, so returned index is transformed to be keyed by product_slug
24
29
  */
25
- function useSitePlans( { siteId }: Props ): UseQueryResult< SitePlansIndex > {
30
+ function useSitePlans( { coupon, siteId }: Props ): UseQueryResult< SitePlansIndex > {
26
31
  const queryKeys = useQueryKeysFactory();
32
+ const params = new URLSearchParams();
33
+ coupon && params.append( 'coupon_code', coupon );
27
34
 
28
35
  return useQuery( {
29
- queryKey: queryKeys.sitePlans( siteId ),
36
+ queryKey: queryKeys.sitePlans( coupon, siteId ),
30
37
  queryFn: async (): Promise< SitePlansIndex > => {
31
38
  const data: PricedAPISitePlansIndex = await wpcomRequest( {
32
39
  path: `/sites/${ encodeURIComponent( siteId as string ) }/plans`,
33
40
  apiVersion: '1.3',
41
+ query: params.toString(),
34
42
  } );
35
43
 
36
44
  return Object.fromEntries(
@@ -52,6 +60,7 @@ function useSitePlans( { siteId }: Props ): UseQueryResult< SitePlansIndex > {
52
60
  hasRedeemedDomainCredit: plan?.has_redeemed_domain_credit,
53
61
  purchaseId: plan.id ? Number( plan.id ) : undefined,
54
62
  pricing: {
63
+ hasSaleCoupon: plan.has_sale_coupon,
55
64
  currencyCode: plan.currency_code,
56
65
  introOffer: unpackIntroOffer( plan ),
57
66
  costOverrides: unpackCostOverrides( plan ),
@@ -1,4 +1,4 @@
1
- import formatCurrency from '@automattic/format-currency';
1
+ import { formatCurrency } from 'i18n-calypso';
2
2
  import { stringify } from 'qs';
3
3
  import { fetchAndParse, wpcomRequest } from '../wpcom-request-controls';
4
4
  import { setFeatures, setFeaturesByType, setPlanProducts, setPlans } from './actions';
@@ -67,8 +67,19 @@ export interface PlanProduct {
67
67
  }
68
68
 
69
69
  export interface PlanIntroductoryOffer {
70
+ /**
71
+ * @deprecated use `formatCurrency` call instead on the respective price (monthly/full)
72
+ */
70
73
  formattedPrice: string;
71
- rawPrice: number;
74
+ rawPrice: {
75
+ monthly: number;
76
+ full: number;
77
+ };
78
+ /**
79
+ * IMPORTANT:
80
+ * we make the raw assumption that the interval unit is either "year" or "month"
81
+ * to compute monthly/full price
82
+ */
72
83
  intervalUnit: string;
73
84
  intervalCount: number;
74
85
  isOfferComplete: boolean;
@@ -109,6 +120,7 @@ export interface PlanPricing {
109
120
  }
110
121
 
111
122
  export interface SitePlanPricing extends Omit< PlanPricing, 'billPeriod' > {
123
+ hasSaleCoupon?: boolean;
112
124
  costOverrides?: CostOverride[];
113
125
  }
114
126
 
@@ -173,8 +185,17 @@ export interface PlanNext {
173
185
  }
174
186
 
175
187
  export interface PricedAPIPlanIntroductoryOffer {
188
+ /**
189
+ * @deprecated use `formatCurrency` call instead on the respective price (monthly/full)
190
+ * - no need to pass this from the API at all
191
+ */
176
192
  introductory_offer_formatted_price?: string;
177
- introductory_offer_raw_price?: number;
193
+ introductory_offer_raw_price_integer?: number;
194
+ /**
195
+ * IMPORTANT:
196
+ * we make the raw assumption that the interval unit is either "year" or "month"
197
+ * to compute monthly/full price
198
+ */
178
199
  introductory_offer_interval_unit?: string;
179
200
  introductory_offer_interval_count?: number;
180
201
  introductory_offer_end_date?: string;
@@ -249,6 +270,7 @@ export interface PricedAPIPlan extends PricedAPIPlanPricing, PricedAPIPlanIntrod
249
270
  export interface PricedAPISitePlan
250
271
  extends PricedAPISitePlanPricing,
251
272
  PricedAPIPlanIntroductoryOffer {
273
+ has_sale_coupon?: boolean;
252
274
  /* product_id: number; // not included in the plan's payload */
253
275
  product_slug: StorePlanSlug;
254
276
  current_plan?: boolean;
@@ -25,7 +25,7 @@ function useProducts(
25
25
  queryKey: [ ...queryKeys.products(), product_slugs, locale ],
26
26
  queryFn: async (): Promise< ProductsIndex > => {
27
27
  const apiProducts: RawAPIProductsList = await wpcomRequest( {
28
- path: `/products`,
28
+ path: '/products',
29
29
  apiVersion: '1.1',
30
30
  ...( product_slugs
31
31
  ? { query: new URLSearchParams( { product_slugs, locale } ).toString() }
@@ -44,6 +44,7 @@ export interface RawAPIProduct {
44
44
  available: boolean;
45
45
  combined_cost_display: string;
46
46
  cost: number;
47
+ cost_per_month_display?: string;
47
48
  cost_smallest_unit: number;
48
49
  currency_code: string;
49
50
  description: string;
@@ -12,6 +12,7 @@ export function createPurchaseObject( purchase: RawPurchase | RawPurchaseCreditC
12
12
  billPeriodDays: Number( purchase.bill_period_days ),
13
13
  billPeriodLabel: purchase.bill_period_label,
14
14
  mostRecentRenewDate: purchase.most_recent_renew_date,
15
+ asyncPendingPaymentBlockIsSet: purchase.async_pending_payment_block_is_set,
15
16
  canDisableAutoRenew: Boolean( purchase.can_disable_auto_renew ),
16
17
  canReenableAutoRenewal: Boolean( purchase.can_reenable_auto_renewal ),
17
18
  canExplicitRenew: Boolean( purchase.can_explicit_renew ),
@@ -58,6 +59,7 @@ export function createPurchaseObject( purchase: RawPurchase | RawPurchaseCreditC
58
59
  isCancelable: Boolean( purchase.is_cancelable ),
59
60
  isDomain: Boolean( purchase.is_domain ),
60
61
  isDomainRegistration: Boolean( purchase.is_domain_registration ),
62
+ isHundredYearDomain: Boolean( purchase.is_hundred_year_domain ),
61
63
  isLocked: Boolean( purchase.is_locked ),
62
64
  isInAppPurchase: Boolean( purchase.is_iap_purchase ),
63
65
  isRechargeable: Boolean( purchase.is_rechargable ),
@@ -8,6 +8,7 @@ export interface Purchase {
8
8
  billPeriodLabel: string;
9
9
  blogCreatedDate: string;
10
10
  canDisableAutoRenew: boolean;
11
+ asyncPendingPaymentBlockIsSet: boolean;
11
12
  canExplicitRenew: boolean;
12
13
  canReenableAutoRenewal: boolean;
13
14
  costToUnbundle: number;
@@ -29,6 +30,7 @@ export interface Purchase {
29
30
  isCancelable: boolean;
30
31
  isDomain?: boolean;
31
32
  isDomainRegistration?: boolean;
33
+ isHundredYearDomain?: boolean;
32
34
  isInAppPurchase: boolean;
33
35
  isLocked: boolean;
34
36
  isRechargeable: boolean;
@@ -183,6 +185,7 @@ export interface RawPurchase {
183
185
  most_recent_renew_date: string;
184
186
  can_disable_auto_renew: boolean;
185
187
  can_reenable_auto_renewal: boolean;
188
+ async_pending_payment_block_is_set: boolean;
186
189
  can_explicit_renew: boolean;
187
190
  cost_to_unbundle: undefined | number | string;
188
191
  cost_to_unbundle_display: undefined | string;
@@ -203,6 +206,7 @@ export interface RawPurchase {
203
206
  is_cancelable: boolean;
204
207
  is_domain: boolean;
205
208
  is_domain_registration: boolean;
209
+ is_hundred_year_domain: boolean;
206
210
  is_locked: boolean;
207
211
  is_iap_purchase: boolean;
208
212
  is_rechargable: boolean;
@@ -316,6 +320,7 @@ export interface PurchasePayment {
316
320
  storedDetailsId: string | number | undefined | null;
317
321
  expiryDate?: string;
318
322
  creditCard?: PurchasePaymentCreditCard;
323
+ paymentPartner?: string;
319
324
  }
320
325
 
321
326
  /**
@@ -17,11 +17,13 @@ export type PartialDomainData = Pick<
17
17
  | 'google_apps_subscription'
18
18
  | 'has_registration'
19
19
  | 'is_wpcom_staging_domain'
20
+ | 'is_hundred_year_domain'
20
21
  | 'registration_date'
21
22
  | 'titan_mail_subscription'
22
23
  | 'tld_maintenance_end_time'
23
24
  | 'type'
24
25
  | 'wpcom_domain'
26
+ | 'domain_status'
25
27
  >;
26
28
 
27
29
  export interface AllDomainsQueryFnData {
@@ -30,6 +32,7 @@ export interface AllDomainsQueryFnData {
30
32
 
31
33
  export interface AllDomainsQueryArgs {
32
34
  no_wpcom?: boolean;
35
+ resolve_status?: boolean;
33
36
  }
34
37
 
35
38
  export const getAllDomainsQueryKey = ( queryArgs: AllDomainsQueryArgs = {} ) => [
@@ -24,6 +24,11 @@ export interface JobStatus {
24
24
  failed: string[];
25
25
  pending: string[];
26
26
  complete: boolean;
27
+ params: {
28
+ auto_renew?: boolean;
29
+ whois?: unknown;
30
+ transfer_lock?: boolean;
31
+ };
27
32
  }
28
33
 
29
34
  interface DomainUpdateRemoteStatus {
@@ -64,17 +69,16 @@ export function useBulkDomainUpdateStatusQuery< TError = unknown >(
64
69
  wpcomRequest< BulkDomainUpdateStatusQueryFnData >( {
65
70
  path: '/domains/bulk-actions',
66
71
  apiNamespace: 'wpcom/v2',
67
- apiVersion: '2',
68
72
  } ),
69
73
  select: ( data ): BulkDomainUpdateStatusResult => {
70
74
  // get top-level info about recent jobs
71
75
  const allJobs: JobStatus[] = Object.keys( data ).map( ( jobId ) => {
72
- const job = data[ jobId ];
76
+ const { action, created_at, results, ...rest } = data[ jobId ];
73
77
  const success: string[] = [];
74
78
  const failed: string[] = [];
75
79
  const pending: string[] = [];
76
80
 
77
- Object.entries( job.results ).forEach( ( entry ) => {
81
+ Object.entries( results ).forEach( ( entry ) => {
78
82
  if ( entry[ 1 ] === 'success' ) {
79
83
  success.push( entry[ 0 ] );
80
84
  } else if ( entry[ 1 ] === 'failed' ) {
@@ -86,12 +90,13 @@ export function useBulkDomainUpdateStatusQuery< TError = unknown >(
86
90
 
87
91
  return {
88
92
  id: jobId,
89
- action: job.action,
90
- created_at: job.created_at,
93
+ action: action,
94
+ created_at: created_at,
91
95
  success,
92
96
  failed,
93
97
  pending,
94
98
  complete: pending.length === 0,
99
+ params: rest,
95
100
  };
96
101
  } );
97
102
 
@@ -1,4 +1,5 @@
1
1
  import { recordTracksEvent } from '@automattic/calypso-analytics';
2
+ import * as oauthToken from '@automattic/oauth-token';
2
3
  import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
3
4
  import apiFetch from '@wordpress/api-fetch';
4
5
  import { addQueryArgs } from '@wordpress/url';
@@ -70,21 +71,21 @@ export const fetchLaunchpad = (
70
71
  const checklistSlugEncoded = checklistSlug ? encodeURIComponent( checklistSlug ) : null;
71
72
  const launchpadContextEncoded = launchpadContext ? encodeURIComponent( launchpadContext ) : null;
72
73
  const queryArgs = {
73
- _locale: 'uesr',
74
+ _locale: 'user',
74
75
  ...( checklistSlug && { checklist_slug: checklistSlugEncoded } ),
75
76
  ...( launchpadContext && { launchpad_context: launchpadContextEncoded } ),
76
77
  };
77
-
78
+ const token = oauthToken.getToken();
78
79
  return canAccessWpcomApis()
79
80
  ? wpcomRequest( {
80
81
  path: addQueryArgs( `/sites/${ slug }/launchpad`, queryArgs ),
81
82
  apiNamespace: 'wpcom/v2',
82
- apiVersion: '2',
83
83
  method: 'GET',
84
+ token: typeof token === 'string' ? token : undefined,
84
85
  } )
85
86
  : apiFetch( {
86
87
  global: true,
87
- path: addQueryArgs( `/wpcom/v2/launchpad`, queryArgs ),
88
+ path: addQueryArgs( '/wpcom/v2/launchpad', queryArgs ),
88
89
  } as APIFetchOptions );
89
90
  };
90
91
 
@@ -138,6 +139,7 @@ export const useLaunchpad = (
138
139
  is_dismissible: false,
139
140
  title: null,
140
141
  },
142
+ enabled: Boolean( siteSlug ),
141
143
  } );
142
144
  };
143
145
 
@@ -158,17 +160,18 @@ export const updateLaunchpadSettings = (
158
160
  settings: LaunchpadUpdateSettings = {}
159
161
  ) => {
160
162
  const slug = siteSlug ? encodeURIComponent( siteSlug ) : null;
161
-
163
+ const token = oauthToken.getToken();
162
164
  return canAccessWpcomApis()
163
165
  ? wpcomRequest( {
164
166
  path: `/sites/${ slug }/launchpad`,
165
167
  apiNamespace: 'wpcom/v2',
166
168
  method: 'PUT',
167
169
  body: settings,
170
+ token: typeof token === 'string' ? token : undefined,
168
171
  } )
169
172
  : apiFetch( {
170
173
  global: true,
171
- path: `/wpcom/v2/launchpad`,
174
+ path: '/wpcom/v2/launchpad',
172
175
  method: 'PUT',
173
176
  data: settings,
174
177
  } as APIFetchOptions );
@@ -203,7 +206,11 @@ const getDismissParams = ( settings: DismissSettings ) => {
203
206
  }
204
207
  };
205
208
 
206
- export const useLaunchpadDismisser = ( siteSlug: SiteSlug, checklistSlug: string ) => {
209
+ export const useLaunchpadDismisser = (
210
+ siteSlug: SiteSlug,
211
+ checklistSlug: string,
212
+ launchpadContext: string
213
+ ) => {
207
214
  const queryClient = useQueryClient();
208
215
  const key = getKey( siteSlug, checklistSlug );
209
216
 
@@ -230,7 +237,7 @@ export const useLaunchpadDismisser = ( siteSlug: SiteSlug, checklistSlug: string
230
237
  onSuccess: () => {
231
238
  recordTracksEvent( 'calypso_launchpad_dismiss_guide', {
232
239
  checklist_slug: checklistSlug,
233
- context: 'customer-home',
240
+ context: launchpadContext,
234
241
  } );
235
242
  },
236
243
  onError: ( _, _2, context ) => {
@@ -40,7 +40,6 @@ export interface DomainData {
40
40
  expired: boolean;
41
41
  auto_renewing: boolean;
42
42
  pending_registration: boolean;
43
- pending_registration_time: string;
44
43
  has_registration: boolean;
45
44
  has_email_forward_dns_records: unknown;
46
45
  points_to_wpcom: boolean;
@@ -53,6 +52,8 @@ export interface DomainData {
53
52
  is_dnssec_enabled: boolean;
54
53
  is_dnssec_supported: boolean;
55
54
  is_gravatar_domain: boolean;
55
+ is_gravatar_restricted_domain: boolean;
56
+ is_hundred_year_domain: boolean;
56
57
  is_renewable: boolean;
57
58
  is_redeemable: boolean;
58
59
  is_subdomain: boolean;
@@ -128,6 +129,11 @@ export interface DomainData {
128
129
  pending_registration_at_registry_url: string;
129
130
  registered_via_trustee: boolean;
130
131
  registered_via_trustee_url: string;
132
+ domain_status?: {
133
+ status: string;
134
+ status_type: string;
135
+ status_weight: number;
136
+ };
131
137
  }
132
138
 
133
139
  export interface SiteDomainsQueryFnData {