@fluid-app/portal-sdk 0.1.95 → 0.1.96

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 (80) hide show
  1. package/dist/{ContactsScreen-hJYLdIT9.mjs → ContactsScreen-CjpjEyvy.mjs} +4 -4
  2. package/dist/{ContactsScreen-hJYLdIT9.mjs.map → ContactsScreen-CjpjEyvy.mjs.map} +1 -1
  3. package/dist/{ContactsScreen-DuTrcBkd.cjs → ContactsScreen-DEyVCqot.cjs} +5 -5
  4. package/dist/{ContactsScreen-BELhEJNe.cjs → ContactsScreen-VUKuxFcj.cjs} +4 -4
  5. package/dist/{ContactsScreen-BELhEJNe.cjs.map → ContactsScreen-VUKuxFcj.cjs.map} +1 -1
  6. package/dist/{MessagingScreen-B9V9dTBn.mjs → MessagingScreen-BDuOpf7k.mjs} +3 -3
  7. package/dist/{MessagingScreen-2a1oJ9yj.cjs → MessagingScreen-C2QId8w5.cjs} +3 -3
  8. package/dist/{MessagingScreen-CcPPK1J6.mjs → MessagingScreen-Cg1qPb5E.mjs} +3 -3
  9. package/dist/{MessagingScreen-CcPPK1J6.mjs.map → MessagingScreen-Cg1qPb5E.mjs.map} +1 -1
  10. package/dist/{MessagingScreen-dJZWI4fa.cjs → MessagingScreen-UyuRUgcd.cjs} +3 -3
  11. package/dist/{MessagingScreen-dJZWI4fa.cjs.map → MessagingScreen-UyuRUgcd.cjs.map} +1 -1
  12. package/dist/{OrdersScreen-k0x7wLRV.cjs → OrdersScreen-BDeDhRmY.cjs} +4 -4
  13. package/dist/{OrdersScreen-k0x7wLRV.cjs.map → OrdersScreen-BDeDhRmY.cjs.map} +1 -1
  14. package/dist/{OrdersScreen-hzKwBSYF.mjs → OrdersScreen-Svoa_Tgo.mjs} +4 -4
  15. package/dist/{OrdersScreen-hzKwBSYF.mjs.map → OrdersScreen-Svoa_Tgo.mjs.map} +1 -1
  16. package/dist/{OrdersScreen-DRp79-k9.cjs → OrdersScreen-kg_SQsyH.cjs} +2 -2
  17. package/dist/{ProductsScreen-BxNldFw6.cjs → ProductsScreen-CcXrvhEt.cjs} +3 -3
  18. package/dist/{ProductsScreen-BxNldFw6.cjs.map → ProductsScreen-CcXrvhEt.cjs.map} +1 -1
  19. package/dist/{ProductsScreen-hdAragYJ.cjs → ProductsScreen-DhPXnjaT.cjs} +5 -5
  20. package/dist/{ProductsScreen-B54KA40V.mjs → ProductsScreen-qNXEgjC9.mjs} +3 -3
  21. package/dist/{ProductsScreen-B54KA40V.mjs.map → ProductsScreen-qNXEgjC9.mjs.map} +1 -1
  22. package/dist/{ProductsScreen-BLHW3MHq.mjs → ProductsScreen-zQJ1iQRR.mjs} +5 -5
  23. package/dist/{ProfileScreen-DRLPIEQT.cjs → ProfileScreen-2_nSQ-oq.cjs} +2 -2
  24. package/dist/{ProfileScreen-DRLPIEQT.cjs.map → ProfileScreen-2_nSQ-oq.cjs.map} +1 -1
  25. package/dist/{ProfileScreen-DtDAJ45D.cjs → ProfileScreen-CF8Acn81.cjs} +1 -1
  26. package/dist/{ProfileScreen-Btqo-rsk.mjs → ProfileScreen-DMpBY-TD.mjs} +2 -2
  27. package/dist/{ProfileScreen-Btqo-rsk.mjs.map → ProfileScreen-DMpBY-TD.mjs.map} +1 -1
  28. package/dist/{ShareablesScreen-EJidIq4N.cjs → ShareablesScreen-DggEBWBJ.cjs} +5 -5
  29. package/dist/{ShareablesScreen-DrAZ49Iv.cjs → ShareablesScreen-DjUvqq49.cjs} +3 -3
  30. package/dist/{ShareablesScreen-DrAZ49Iv.cjs.map → ShareablesScreen-DjUvqq49.cjs.map} +1 -1
  31. package/dist/{ShareablesScreen-mJR5_fnx.mjs → ShareablesScreen-DlOwqlbr.mjs} +5 -5
  32. package/dist/{ShareablesScreen-UBSyLEbL.mjs → ShareablesScreen-q3pSmRdU.mjs} +3 -3
  33. package/dist/{ShareablesScreen-UBSyLEbL.mjs.map → ShareablesScreen-q3pSmRdU.mjs.map} +1 -1
  34. package/dist/{ShopScreen-BUri9nlR.cjs → ShopScreen-BMidW8lK.cjs} +2 -2
  35. package/dist/{ShopScreen-BUri9nlR.cjs.map → ShopScreen-BMidW8lK.cjs.map} +1 -1
  36. package/dist/{ShopScreen-Dr44ppZ7.mjs → ShopScreen-oOHel7N7.mjs} +2 -2
  37. package/dist/{ShopScreen-Dr44ppZ7.mjs.map → ShopScreen-oOHel7N7.mjs.map} +1 -1
  38. package/dist/{ShopScreen-B-9Qito4.cjs → ShopScreen-qkJC3t_U.cjs} +1 -1
  39. package/dist/{SubscriptionsScreen-BMMKqvmT.cjs → SubscriptionsScreen-DGLo_agH.cjs} +39 -114
  40. package/dist/SubscriptionsScreen-DGLo_agH.cjs.map +1 -0
  41. package/dist/{SubscriptionsScreen-DymuNO2u.mjs → SubscriptionsScreen-DGfzLW1d.mjs} +40 -115
  42. package/dist/SubscriptionsScreen-DGfzLW1d.mjs.map +1 -0
  43. package/dist/{SubscriptionsScreen-Bi0KJRf9.cjs → SubscriptionsScreen-DPgOsgwI.cjs} +3 -3
  44. package/dist/{dist-DkYXiQQ1.cjs → dist-Ck9MGRmE.cjs} +2 -2
  45. package/dist/{dist-DkYXiQQ1.cjs.map → dist-Ck9MGRmE.cjs.map} +1 -1
  46. package/dist/{dist-BbS_7TvS.cjs → dist-DRVtlgQ1.cjs} +1 -1
  47. package/dist/{dist-BbS_7TvS.cjs.map → dist-DRVtlgQ1.cjs.map} +1 -1
  48. package/dist/{dist-CMGXkSgZ.mjs → dist-NMbUD0qE.mjs} +1 -1
  49. package/dist/{dist-CMGXkSgZ.mjs.map → dist-NMbUD0qE.mjs.map} +1 -1
  50. package/dist/{dist-B1HwSrso.mjs → dist-oYNtEpKP.mjs} +2 -2
  51. package/dist/{dist-B1HwSrso.mjs.map → dist-oYNtEpKP.mjs.map} +1 -1
  52. package/dist/{es-1KItbbYg.mjs → es-C77ihvEl.mjs} +1 -1
  53. package/dist/{es-1KItbbYg.mjs.map → es-C77ihvEl.mjs.map} +1 -1
  54. package/dist/{es-BSkb3AZk.cjs → es-DlWO6buB.cjs} +1 -1
  55. package/dist/{es-BSkb3AZk.cjs.map → es-DlWO6buB.cjs.map} +1 -1
  56. package/dist/index.cjs +31 -31
  57. package/dist/index.mjs +31 -31
  58. package/dist/{order-detail-9-MS70Zm.cjs → order-detail-B5KmsBKU.cjs} +1 -1
  59. package/dist/{order-detail-9-MS70Zm.cjs.map → order-detail-B5KmsBKU.cjs.map} +1 -1
  60. package/dist/{order-detail-CYkWN7-L.mjs → order-detail-BzbdcFnt.mjs} +1 -1
  61. package/dist/{order-detail-CYkWN7-L.mjs.map → order-detail-BzbdcFnt.mjs.map} +1 -1
  62. package/dist/{src-C7RYt83r.mjs → src-iiLozCqU.mjs} +4 -4
  63. package/dist/{src-C7RYt83r.mjs.map → src-iiLozCqU.mjs.map} +1 -1
  64. package/dist/{src-DdIO0lIo.cjs → src-vyacfB0K.cjs} +4 -4
  65. package/dist/{src-DdIO0lIo.cjs.map → src-vyacfB0K.cjs.map} +1 -1
  66. package/dist/{use-account-clients-CFfdmi36.cjs → use-account-clients-BrlAG2os.cjs} +108 -6
  67. package/dist/use-account-clients-BrlAG2os.cjs.map +1 -0
  68. package/dist/{use-account-clients-0kFq_8i7.mjs → use-account-clients-vOToQZNB.mjs} +107 -5
  69. package/dist/use-account-clients-vOToQZNB.mjs.map +1 -0
  70. package/dist/{use-customer-account-Be70QBp3.mjs → use-customer-account-Bufu7Mae.mjs} +2 -2
  71. package/dist/{use-customer-account-Be70QBp3.mjs.map → use-customer-account-Bufu7Mae.mjs.map} +1 -1
  72. package/dist/{use-customer-account-BH-hwjbg.cjs → use-customer-account-CeNalSBy.cjs} +2 -2
  73. package/dist/{use-customer-account-BH-hwjbg.cjs.map → use-customer-account-CeNalSBy.cjs.map} +1 -1
  74. package/package.json +8 -8
  75. package/dist/SubscriptionsScreen-BMMKqvmT.cjs.map +0 -1
  76. package/dist/SubscriptionsScreen-DymuNO2u.mjs.map +0 -1
  77. package/dist/use-account-clients-0kFq_8i7.mjs.map +0 -1
  78. package/dist/use-account-clients-CFfdmi36.cjs.map +0 -1
  79. /package/dist/{src-B7j_mfeS.mjs → src-BakNjVTk.mjs} +0 -0
  80. /package/dist/{src-Bp-dRR29.cjs → src-C_kOrGdZ.cjs} +0 -0
@@ -74,6 +74,108 @@ async function fetchCustomerOrders(client, params) {
74
74
  return client.get("/v202506/orders", input);
75
75
  }
76
76
  //#endregion
77
+ //#region ../../subscriptions/api-client/src/namespaces/subscriptions.ts
78
+ /**
79
+ * Fetch a paginated list of customer subscriptions.
80
+ * Endpoint: GET /subscriptions
81
+ */
82
+ async function fetchCustomerSubscriptions(client, params) {
83
+ const input = {
84
+ customer_id: params.customerId.toString(),
85
+ page: (params.page ?? 1).toString(),
86
+ per_page: (params.perPage ?? 10).toString()
87
+ };
88
+ if (params.status != null) input.status = params.status;
89
+ if (params.search != null) input.search = params.search;
90
+ if (params.sortBy != null) input.sort_by = params.sortBy;
91
+ if (params.sortDirection != null) input.sort_direction = params.sortDirection;
92
+ return client.get("/subscriptions", input);
93
+ }
94
+ /**
95
+ * Fetch a single subscription by token.
96
+ * Endpoint: GET /subscriptions/{token}
97
+ */
98
+ async function fetchSubscription(client, subscriptionToken) {
99
+ return client.get(`/subscriptions/${subscriptionToken}`);
100
+ }
101
+ /**
102
+ * Pause a subscription.
103
+ * Endpoint: POST /subscriptions/{token}/pause
104
+ */
105
+ async function pauseSubscription(client, subscriptionToken, params) {
106
+ const queryParams = { customer_id: params.customerId.toString() };
107
+ if (params.nextBillDate != null) queryParams.next_bill_date = params.nextBillDate;
108
+ if (params.numberOfOrders != null) queryParams.number_of_orders = params.numberOfOrders.toString();
109
+ const query = new URLSearchParams(queryParams).toString();
110
+ return client.post(`/subscriptions/${subscriptionToken}/pause?${query}`);
111
+ }
112
+ /**
113
+ * Resume a paused subscription.
114
+ * Endpoint: POST /subscriptions/{token}/resume
115
+ */
116
+ async function resumeSubscription(client, subscriptionToken, params) {
117
+ const query = new URLSearchParams({
118
+ customer_id: params.customerId.toString(),
119
+ next_bill_date: params.nextBillDate
120
+ }).toString();
121
+ return client.post(`/subscriptions/${subscriptionToken}/resume?${query}`);
122
+ }
123
+ /**
124
+ * Skip the next billing cycle.
125
+ * Endpoint: POST /subscriptions/{token}/skip_next_billing
126
+ */
127
+ async function skipSubscription(client, subscriptionToken, params) {
128
+ const query = new URLSearchParams({
129
+ customer_id: params.customerId.toString(),
130
+ next_bill_date: params.nextBillDate
131
+ }).toString();
132
+ return client.post(`/subscriptions/${subscriptionToken}/skip_next_billing?${query}`);
133
+ }
134
+ /**
135
+ * Cancel a subscription.
136
+ * Endpoint: POST /subscriptions/{token}/cancel
137
+ */
138
+ async function cancelSubscription(client, subscriptionToken, customerId) {
139
+ const query = new URLSearchParams({ customer_id: customerId.toString() }).toString();
140
+ return client.post(`/subscriptions/${subscriptionToken}/cancel?${query}`);
141
+ }
142
+ /**
143
+ * Reactivate a cancelled subscription.
144
+ * Endpoint: POST /subscriptions/{token}/reactivate
145
+ */
146
+ async function reactivateSubscription(client, subscriptionToken, params) {
147
+ const body = params.process_immediately === true ? { process_immediately: true } : params.next_bill_date ? { next_bill_date: params.next_bill_date } : {};
148
+ return client.post(`/subscriptions/${subscriptionToken}/reactivate`, Object.keys(body).length > 0 ? body : void 0);
149
+ }
150
+ /**
151
+ * Update subscription info (plan, variant, address, payment method, quantity).
152
+ * Endpoint: PUT /subscriptions/{token}
153
+ */
154
+ async function updateSubscriptionInfo(client, subscriptionToken, body) {
155
+ return client.put(`/subscriptions/${subscriptionToken}`, { subscription: body });
156
+ }
157
+ //#endregion
158
+ //#region ../../subscriptions/api-client/src/adapter.ts
159
+ /**
160
+ * Creates a SubscriptionsApi-compatible adapter from a FetchClient.
161
+ *
162
+ * This bridges the concrete API client to the abstract SubscriptionsApi
163
+ * interface defined in @fluid-app/subscriptions-core, closing over the
164
+ * FetchClient so consumers don't need to pass it per-call.
165
+ */
166
+ function createSubscriptionsApiAdapter(client) {
167
+ return {
168
+ fetchCustomerSubscriptions: (params) => fetchCustomerSubscriptions(client, params),
169
+ fetchSubscription: (token) => fetchSubscription(client, token),
170
+ pauseSubscription: (token, params) => pauseSubscription(client, token, params),
171
+ resumeSubscription: (token, params) => resumeSubscription(client, token, params),
172
+ skipSubscription: (token, params) => skipSubscription(client, token, params),
173
+ cancelSubscription: (token, customerId) => cancelSubscription(client, token, customerId),
174
+ reactivateSubscription: (token, params) => reactivateSubscription(client, token, params),
175
+ updateSubscriptionInfo: (token, body) => updateSubscriptionInfo(client, token, body)
176
+ };
177
+ }
178
+ //#endregion
77
179
  //#region src/account/use-account-clients.ts
78
180
  /** API version prefix for versioned endpoints (e.g. points ledger) */
79
181
  const API_VERSION = "/v202506";
@@ -107,14 +209,14 @@ function useOrdersApi() {
107
209
  token
108
210
  ]);
109
211
  }
110
- function useSubscriptionsClient() {
212
+ function useSubscriptionsApiClient() {
111
213
  const { config } = require_FluidProvider.useFluidContext();
112
214
  const { token } = useFluidAuth();
113
- return (0, react.useMemo)(() => require_FluidProvider.createFetchClient({
215
+ return (0, react.useMemo)(() => createSubscriptionsApiAdapter(require_FluidProvider.createFetchClient({
114
216
  baseUrl: withApiPrefix(config.baseUrl),
115
217
  getAuthToken: () => token,
116
218
  onAuthError: config.onAuthError
117
- }), [
219
+ })), [
118
220
  config.baseUrl,
119
221
  config.onAuthError,
120
222
  token
@@ -182,11 +284,11 @@ Object.defineProperty(exports, "useSdkClient", {
182
284
  return useSdkClient;
183
285
  }
184
286
  });
185
- Object.defineProperty(exports, "useSubscriptionsClient", {
287
+ Object.defineProperty(exports, "useSubscriptionsApiClient", {
186
288
  enumerable: true,
187
289
  get: function() {
188
- return useSubscriptionsClient;
290
+ return useSubscriptionsApiClient;
189
291
  }
190
292
  });
191
293
 
192
- //# sourceMappingURL=use-account-clients-CFfdmi36.cjs.map
294
+ //# sourceMappingURL=use-account-clients-BrlAG2os.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-account-clients-BrlAG2os.cjs","names":["useFluidAuthContext","subscriptionsApi.fetchCustomerSubscriptions","subscriptionsApi.fetchSubscription","subscriptionsApi.pauseSubscription","subscriptionsApi.resumeSubscription","subscriptionsApi.skipSubscription","subscriptionsApi.cancelSubscription","subscriptionsApi.reactivateSubscription","subscriptionsApi.updateSubscriptionInfo","useFluidContext","createOrdersFetchClient","ordersApi.fetchOrder","ordersApi.fetchCustomerOrders","createSubscriptionsFetchClient","createFluidPayFetchClient","createCoreFetchClient"],"sources":["../src/hooks/use-fluid-auth.ts","../../../orders/api-client/src/namespaces/orders.ts","../../../subscriptions/api-client/src/namespaces/subscriptions.ts","../../../subscriptions/api-client/src/adapter.ts","../src/account/use-account-clients.ts"],"sourcesContent":["/**\n * useFluidAuth Hook\n *\n * Provides access to authentication state and utilities.\n * This is the primary hook for interacting with auth in components.\n */\n\nimport { useFluidAuthContext } from \"../providers/FluidAuthProvider\";\nimport type { FluidAuthContextValue } from \"../auth/types\";\n\n/**\n * Hook to access authentication state and utilities.\n *\n * Must be used within a `FluidAuthProvider`.\n *\n * @returns Authentication context with user info, loading state, and utilities\n * @throws Error if used outside FluidAuthProvider\n *\n * @example\n * ```tsx\n * function UserProfile() {\n * const { isAuthenticated, isLoading, user, clearAuth } = useFluidAuth();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (!isAuthenticated) {\n * return <p>Please log in</p>;\n * }\n *\n * return (\n * <div>\n * <p>Welcome, {user.full_name}!</p>\n * <button onClick={clearAuth}>Log out</button>\n * </div>\n * );\n * }\n * ```\n */\nexport function useFluidAuth(): FluidAuthContextValue {\n return useFluidAuthContext();\n}\n","import type { FetchClient } from \"../lib/fetch-client\";\nimport type { orders } from \"../custom/orders\";\n\n/**\n * Fetch a single order by token.\n * Endpoint: GET /public/v2025-06/orders/{orderToken}\n */\nexport async function fetchOrder(\n client: FetchClient,\n orderToken: string,\n): Promise<orders.OrderResponse> {\n return client.get(`/public/v2025-06/orders/${orderToken}`);\n}\n\n/**\n * Fetch a paginated list of customer orders.\n * Endpoint: GET /v202506/orders\n */\nexport async function fetchCustomerOrders(\n client: FetchClient,\n params: orders.FetchOrdersParams,\n): Promise<orders.CustomerOrdersResponse> {\n const input: Record<string, string> = {};\n\n if (params.cursor) input[\"page[cursor]\"] = params.cursor;\n if (params.limit != null) input[\"page[limit]\"] = params.limit.toString();\n if (params.search) input.search = params.search;\n if (params.sort) input.sort = params.sort;\n if (params.status) input.status = params.status;\n if (params.type) input.type = params.type;\n if (params.customerId != null)\n input.customer_id = params.customerId.toString();\n if (params.userCompanyId != null)\n input.user_company_id = params.userCompanyId.toString();\n if (params.subscriptionId != null)\n input.subscription_id = params.subscriptionId.toString();\n if (params.startDate) input.start_date = params.startDate;\n if (params.endDate) input.end_date = params.endDate;\n if (params.withinDays != null)\n input.within_days = params.withinDays.toString();\n if (params.cartSource) input.cart_source = params.cartSource;\n if (params.countryIsos) input.country_isos = params.countryIsos;\n if (params.forceStats != null)\n input.force_stats = params.forceStats.toString();\n\n return client.get(\"/v202506/orders\", input);\n}\n","import type { FetchClient } from \"../lib/fetch-client\";\nimport type { subscriptions } from \"../custom/subscriptions\";\n\n/**\n * Fetch a paginated list of customer subscriptions.\n * Endpoint: GET /subscriptions\n */\nexport async function fetchCustomerSubscriptions(\n client: FetchClient,\n params: subscriptions.FetchSubscriptionsParams,\n): Promise<subscriptions.SubscriptionsResponse> {\n const input: Record<string, string> = {\n customer_id: params.customerId.toString(),\n page: (params.page ?? 1).toString(),\n per_page: (params.perPage ?? 10).toString(),\n };\n\n if (params.status != null) input.status = params.status;\n if (params.search != null) input.search = params.search;\n if (params.sortBy != null) input.sort_by = params.sortBy;\n if (params.sortDirection != null) input.sort_direction = params.sortDirection;\n\n return client.get(\"/subscriptions\", input);\n}\n\n/**\n * Fetch a single subscription by token.\n * Endpoint: GET /subscriptions/{token}\n */\nexport async function fetchSubscription(\n client: FetchClient,\n subscriptionToken: string,\n): Promise<subscriptions.SubscriptionDetail> {\n return client.get(`/subscriptions/${subscriptionToken}`);\n}\n\n/**\n * Pause a subscription.\n * Endpoint: POST /subscriptions/{token}/pause\n */\nexport async function pauseSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.PauseSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const queryParams: Record<string, string> = {\n customer_id: params.customerId.toString(),\n };\n\n if (params.nextBillDate != null) {\n queryParams.next_bill_date = params.nextBillDate;\n }\n if (params.numberOfOrders != null) {\n queryParams.number_of_orders = params.numberOfOrders.toString();\n }\n\n const query = new URLSearchParams(queryParams).toString();\n return client.post(`/subscriptions/${subscriptionToken}/pause?${query}`);\n}\n\n/**\n * Resume a paused subscription.\n * Endpoint: POST /subscriptions/{token}/resume\n */\nexport async function resumeSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.ResumeSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const query = new URLSearchParams({\n customer_id: params.customerId.toString(),\n next_bill_date: params.nextBillDate,\n }).toString();\n\n return client.post(`/subscriptions/${subscriptionToken}/resume?${query}`);\n}\n\n/**\n * Skip the next billing cycle.\n * Endpoint: POST /subscriptions/{token}/skip_next_billing\n */\nexport async function skipSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.SkipSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const query = new URLSearchParams({\n customer_id: params.customerId.toString(),\n next_bill_date: params.nextBillDate,\n }).toString();\n\n return client.post(\n `/subscriptions/${subscriptionToken}/skip_next_billing?${query}`,\n );\n}\n\n/**\n * Cancel a subscription.\n * Endpoint: POST /subscriptions/{token}/cancel\n */\nexport async function cancelSubscription(\n client: FetchClient,\n subscriptionToken: string,\n customerId: number,\n): Promise<subscriptions.SubscriptionDetail> {\n const query = new URLSearchParams({\n customer_id: customerId.toString(),\n }).toString();\n\n return client.post(`/subscriptions/${subscriptionToken}/cancel?${query}`);\n}\n\n/**\n * Reactivate a cancelled subscription.\n * Endpoint: POST /subscriptions/{token}/reactivate\n */\nexport async function reactivateSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.ReactivateSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const body =\n params.process_immediately === true\n ? { process_immediately: true }\n : params.next_bill_date\n ? { next_bill_date: params.next_bill_date }\n : {};\n\n return client.post(\n `/subscriptions/${subscriptionToken}/reactivate`,\n Object.keys(body).length > 0 ? body : undefined,\n );\n}\n\n/**\n * Update subscription info (plan, variant, address, payment method, quantity).\n * Endpoint: PUT /subscriptions/{token}\n */\nexport async function updateSubscriptionInfo(\n client: FetchClient,\n subscriptionToken: string,\n body: subscriptions.UpdateSubscriptionInfoBody,\n): Promise<subscriptions.SubscriptionDetail> {\n return client.put(`/subscriptions/${subscriptionToken}`, {\n subscription: body,\n });\n}\n\n/**\n * Create a new subscription. Two-step process: creates a cart first, then the subscription.\n * Endpoint: POST /carts + POST /subscriptions\n */\nexport async function createSubscription(\n client: FetchClient,\n data: subscriptions.CreateSubscriptionData,\n): Promise<subscriptions.SubscriptionCreateResponse> {\n // Step 1: Create a cart with the subscription item\n const cartResponse = await client.post<subscriptions.CartCreateResponse>(\n \"/carts\",\n {\n country_code: \"US\",\n items: [\n {\n variant_id: data.variant_id,\n quantity: data.quantity ?? 1,\n subscription: true,\n subscription_plan_id: data.subscription_plan_id,\n },\n ],\n },\n );\n\n // Step 2: Create the subscription using the cart token\n return client.post(\"/subscriptions\", {\n subscription: {\n ...data,\n cart_token: cartResponse.cart.cart_token,\n },\n });\n}\n","import type { FetchClient } from \"./lib/fetch-client\";\nimport type { subscriptions } from \"./custom/subscriptions\";\nimport * as subscriptionsApi from \"./namespaces/subscriptions\";\n\n/**\n * Creates a SubscriptionsApi-compatible adapter from a FetchClient.\n *\n * This bridges the concrete API client to the abstract SubscriptionsApi\n * interface defined in @fluid-app/subscriptions-core, closing over the\n * FetchClient so consumers don't need to pass it per-call.\n */\nexport function createSubscriptionsApiAdapter(client: FetchClient) {\n return {\n fetchCustomerSubscriptions: (\n params: subscriptions.FetchSubscriptionsParams,\n ) => subscriptionsApi.fetchCustomerSubscriptions(client, params),\n fetchSubscription: (token: string) =>\n subscriptionsApi.fetchSubscription(client, token),\n pauseSubscription: (\n token: string,\n params: subscriptions.PauseSubscriptionParams,\n ) => subscriptionsApi.pauseSubscription(client, token, params),\n resumeSubscription: (\n token: string,\n params: subscriptions.ResumeSubscriptionParams,\n ) => subscriptionsApi.resumeSubscription(client, token, params),\n skipSubscription: (\n token: string,\n params: subscriptions.SkipSubscriptionParams,\n ) => subscriptionsApi.skipSubscription(client, token, params),\n cancelSubscription: (token: string, customerId: number) =>\n subscriptionsApi.cancelSubscription(client, token, customerId),\n reactivateSubscription: (\n token: string,\n params: subscriptions.ReactivateSubscriptionParams,\n ) => subscriptionsApi.reactivateSubscription(client, token, params),\n updateSubscriptionInfo: (\n token: string,\n body: subscriptions.UpdateSubscriptionInfoBody,\n ) => subscriptionsApi.updateSubscriptionInfo(client, token, body),\n };\n}\n","import { useMemo } from \"react\";\nimport type { OrdersApi } from \"@fluid-app/orders-core\";\nimport {\n createFetchClient as createOrdersFetchClient,\n ordersApi,\n} from \"@fluid-app/orders-api-client\";\nimport { createFetchClient as createSubscriptionsFetchClient } from \"@fluid-app/subscriptions-api-client\";\nimport type { SubscriptionsApi } from \"@fluid-app/subscriptions-core\";\nimport { createSubscriptionsApiAdapter } from \"./subscriptions-api-adapter\";\nimport {\n createFetchClient as createFluidPayFetchClient,\n type FetchClient as FluidPayFetchClient,\n} from \"@fluid-app/fluid-pay-api-client\";\nimport {\n createFetchClient as createCoreFetchClient,\n type FetchClient as CoreFetchClient,\n} from \"@fluid-app/api-client-core\";\nimport { useFluidContext } from \"../providers/FluidProvider\";\nimport { useFluidAuth } from \"../hooks/use-fluid-auth\";\n\n/** API version prefix for versioned endpoints (e.g. points ledger) */\nexport const API_VERSION = \"/v202506\";\n\n/**\n * Ensures baseUrl ends with /api.\n * Domain-specific API clients (orders, subscriptions, fluid-pay) use endpoint\n * paths without /api (e.g. /fluid_pay/me, /subscriptions), matching fluid-admin's\n * NEXT_PUBLIC_API_URL convention. The portal SDK's config.baseUrl is the domain\n * root (e.g. https://api.fluid.app), so we append /api here.\n */\nfunction withApiPrefix(baseUrl: string): string {\n const base = baseUrl.replace(/\\/+$/, \"\");\n return base.endsWith(\"/api\") ? base : `${base}/api`;\n}\n\nexport function useOrdersApi(): OrdersApi {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(() => {\n const client = createOrdersFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n });\n return {\n fetchOrder: (orderToken) => ordersApi.fetchOrder(client, orderToken),\n fetchCustomerOrders: (params) =>\n ordersApi.fetchCustomerOrders(client, params),\n };\n }, [config.baseUrl, config.onAuthError, token]);\n}\n\nexport function useSubscriptionsApiClient(): SubscriptionsApi {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(\n () =>\n createSubscriptionsApiAdapter(\n createSubscriptionsFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n }),\n ),\n [config.baseUrl, config.onAuthError, token],\n );\n}\n\nexport function useFluidPayClient(): FluidPayFetchClient {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(\n () =>\n createFluidPayFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n }),\n [config.baseUrl, config.onAuthError, token],\n );\n}\n\n/**\n * Generic SDK fetch client for endpoints not covered by domain-specific clients\n * (e.g. /countries, /v202506/customers/:id/points_ledgers).\n * Uses the same auth/baseUrl/error handling as the domain clients.\n */\nexport function useSdkClient(): CoreFetchClient {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(\n () =>\n createCoreFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n }),\n [config.baseUrl, config.onAuthError, token],\n );\n}\n"],"mappings":"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"}
@@ -73,6 +73,108 @@ async function fetchCustomerOrders(client, params) {
73
73
  return client.get("/v202506/orders", input);
74
74
  }
75
75
  //#endregion
76
+ //#region ../../subscriptions/api-client/src/namespaces/subscriptions.ts
77
+ /**
78
+ * Fetch a paginated list of customer subscriptions.
79
+ * Endpoint: GET /subscriptions
80
+ */
81
+ async function fetchCustomerSubscriptions(client, params) {
82
+ const input = {
83
+ customer_id: params.customerId.toString(),
84
+ page: (params.page ?? 1).toString(),
85
+ per_page: (params.perPage ?? 10).toString()
86
+ };
87
+ if (params.status != null) input.status = params.status;
88
+ if (params.search != null) input.search = params.search;
89
+ if (params.sortBy != null) input.sort_by = params.sortBy;
90
+ if (params.sortDirection != null) input.sort_direction = params.sortDirection;
91
+ return client.get("/subscriptions", input);
92
+ }
93
+ /**
94
+ * Fetch a single subscription by token.
95
+ * Endpoint: GET /subscriptions/{token}
96
+ */
97
+ async function fetchSubscription(client, subscriptionToken) {
98
+ return client.get(`/subscriptions/${subscriptionToken}`);
99
+ }
100
+ /**
101
+ * Pause a subscription.
102
+ * Endpoint: POST /subscriptions/{token}/pause
103
+ */
104
+ async function pauseSubscription(client, subscriptionToken, params) {
105
+ const queryParams = { customer_id: params.customerId.toString() };
106
+ if (params.nextBillDate != null) queryParams.next_bill_date = params.nextBillDate;
107
+ if (params.numberOfOrders != null) queryParams.number_of_orders = params.numberOfOrders.toString();
108
+ const query = new URLSearchParams(queryParams).toString();
109
+ return client.post(`/subscriptions/${subscriptionToken}/pause?${query}`);
110
+ }
111
+ /**
112
+ * Resume a paused subscription.
113
+ * Endpoint: POST /subscriptions/{token}/resume
114
+ */
115
+ async function resumeSubscription(client, subscriptionToken, params) {
116
+ const query = new URLSearchParams({
117
+ customer_id: params.customerId.toString(),
118
+ next_bill_date: params.nextBillDate
119
+ }).toString();
120
+ return client.post(`/subscriptions/${subscriptionToken}/resume?${query}`);
121
+ }
122
+ /**
123
+ * Skip the next billing cycle.
124
+ * Endpoint: POST /subscriptions/{token}/skip_next_billing
125
+ */
126
+ async function skipSubscription(client, subscriptionToken, params) {
127
+ const query = new URLSearchParams({
128
+ customer_id: params.customerId.toString(),
129
+ next_bill_date: params.nextBillDate
130
+ }).toString();
131
+ return client.post(`/subscriptions/${subscriptionToken}/skip_next_billing?${query}`);
132
+ }
133
+ /**
134
+ * Cancel a subscription.
135
+ * Endpoint: POST /subscriptions/{token}/cancel
136
+ */
137
+ async function cancelSubscription(client, subscriptionToken, customerId) {
138
+ const query = new URLSearchParams({ customer_id: customerId.toString() }).toString();
139
+ return client.post(`/subscriptions/${subscriptionToken}/cancel?${query}`);
140
+ }
141
+ /**
142
+ * Reactivate a cancelled subscription.
143
+ * Endpoint: POST /subscriptions/{token}/reactivate
144
+ */
145
+ async function reactivateSubscription(client, subscriptionToken, params) {
146
+ const body = params.process_immediately === true ? { process_immediately: true } : params.next_bill_date ? { next_bill_date: params.next_bill_date } : {};
147
+ return client.post(`/subscriptions/${subscriptionToken}/reactivate`, Object.keys(body).length > 0 ? body : void 0);
148
+ }
149
+ /**
150
+ * Update subscription info (plan, variant, address, payment method, quantity).
151
+ * Endpoint: PUT /subscriptions/{token}
152
+ */
153
+ async function updateSubscriptionInfo(client, subscriptionToken, body) {
154
+ return client.put(`/subscriptions/${subscriptionToken}`, { subscription: body });
155
+ }
156
+ //#endregion
157
+ //#region ../../subscriptions/api-client/src/adapter.ts
158
+ /**
159
+ * Creates a SubscriptionsApi-compatible adapter from a FetchClient.
160
+ *
161
+ * This bridges the concrete API client to the abstract SubscriptionsApi
162
+ * interface defined in @fluid-app/subscriptions-core, closing over the
163
+ * FetchClient so consumers don't need to pass it per-call.
164
+ */
165
+ function createSubscriptionsApiAdapter(client) {
166
+ return {
167
+ fetchCustomerSubscriptions: (params) => fetchCustomerSubscriptions(client, params),
168
+ fetchSubscription: (token) => fetchSubscription(client, token),
169
+ pauseSubscription: (token, params) => pauseSubscription(client, token, params),
170
+ resumeSubscription: (token, params) => resumeSubscription(client, token, params),
171
+ skipSubscription: (token, params) => skipSubscription(client, token, params),
172
+ cancelSubscription: (token, customerId) => cancelSubscription(client, token, customerId),
173
+ reactivateSubscription: (token, params) => reactivateSubscription(client, token, params),
174
+ updateSubscriptionInfo: (token, body) => updateSubscriptionInfo(client, token, body)
175
+ };
176
+ }
177
+ //#endregion
76
178
  //#region src/account/use-account-clients.ts
77
179
  /** API version prefix for versioned endpoints (e.g. points ledger) */
78
180
  const API_VERSION = "/v202506";
@@ -106,14 +208,14 @@ function useOrdersApi() {
106
208
  token
107
209
  ]);
108
210
  }
109
- function useSubscriptionsClient() {
211
+ function useSubscriptionsApiClient() {
110
212
  const { config } = useFluidContext();
111
213
  const { token } = useFluidAuth();
112
- return useMemo(() => createFetchClient({
214
+ return useMemo(() => createSubscriptionsApiAdapter(createFetchClient({
113
215
  baseUrl: withApiPrefix(config.baseUrl),
114
216
  getAuthToken: () => token,
115
217
  onAuthError: config.onAuthError
116
- }), [
218
+ })), [
117
219
  config.baseUrl,
118
220
  config.onAuthError,
119
221
  token
@@ -151,6 +253,6 @@ function useSdkClient() {
151
253
  ]);
152
254
  }
153
255
  //#endregion
154
- export { useSubscriptionsClient as a, useSdkClient as i, useFluidPayClient as n, useFluidAuth as o, useOrdersApi as r, API_VERSION as t };
256
+ export { useSubscriptionsApiClient as a, useSdkClient as i, useFluidPayClient as n, useFluidAuth as o, useOrdersApi as r, API_VERSION as t };
155
257
 
156
- //# sourceMappingURL=use-account-clients-0kFq_8i7.mjs.map
258
+ //# sourceMappingURL=use-account-clients-vOToQZNB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-account-clients-vOToQZNB.mjs","names":["subscriptionsApi.fetchCustomerSubscriptions","subscriptionsApi.fetchSubscription","subscriptionsApi.pauseSubscription","subscriptionsApi.resumeSubscription","subscriptionsApi.skipSubscription","subscriptionsApi.cancelSubscription","subscriptionsApi.reactivateSubscription","subscriptionsApi.updateSubscriptionInfo","createOrdersFetchClient","ordersApi.fetchOrder","ordersApi.fetchCustomerOrders","createSubscriptionsFetchClient","createFluidPayFetchClient","createCoreFetchClient"],"sources":["../src/hooks/use-fluid-auth.ts","../../../orders/api-client/src/namespaces/orders.ts","../../../subscriptions/api-client/src/namespaces/subscriptions.ts","../../../subscriptions/api-client/src/adapter.ts","../src/account/use-account-clients.ts"],"sourcesContent":["/**\n * useFluidAuth Hook\n *\n * Provides access to authentication state and utilities.\n * This is the primary hook for interacting with auth in components.\n */\n\nimport { useFluidAuthContext } from \"../providers/FluidAuthProvider\";\nimport type { FluidAuthContextValue } from \"../auth/types\";\n\n/**\n * Hook to access authentication state and utilities.\n *\n * Must be used within a `FluidAuthProvider`.\n *\n * @returns Authentication context with user info, loading state, and utilities\n * @throws Error if used outside FluidAuthProvider\n *\n * @example\n * ```tsx\n * function UserProfile() {\n * const { isAuthenticated, isLoading, user, clearAuth } = useFluidAuth();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (!isAuthenticated) {\n * return <p>Please log in</p>;\n * }\n *\n * return (\n * <div>\n * <p>Welcome, {user.full_name}!</p>\n * <button onClick={clearAuth}>Log out</button>\n * </div>\n * );\n * }\n * ```\n */\nexport function useFluidAuth(): FluidAuthContextValue {\n return useFluidAuthContext();\n}\n","import type { FetchClient } from \"../lib/fetch-client\";\nimport type { orders } from \"../custom/orders\";\n\n/**\n * Fetch a single order by token.\n * Endpoint: GET /public/v2025-06/orders/{orderToken}\n */\nexport async function fetchOrder(\n client: FetchClient,\n orderToken: string,\n): Promise<orders.OrderResponse> {\n return client.get(`/public/v2025-06/orders/${orderToken}`);\n}\n\n/**\n * Fetch a paginated list of customer orders.\n * Endpoint: GET /v202506/orders\n */\nexport async function fetchCustomerOrders(\n client: FetchClient,\n params: orders.FetchOrdersParams,\n): Promise<orders.CustomerOrdersResponse> {\n const input: Record<string, string> = {};\n\n if (params.cursor) input[\"page[cursor]\"] = params.cursor;\n if (params.limit != null) input[\"page[limit]\"] = params.limit.toString();\n if (params.search) input.search = params.search;\n if (params.sort) input.sort = params.sort;\n if (params.status) input.status = params.status;\n if (params.type) input.type = params.type;\n if (params.customerId != null)\n input.customer_id = params.customerId.toString();\n if (params.userCompanyId != null)\n input.user_company_id = params.userCompanyId.toString();\n if (params.subscriptionId != null)\n input.subscription_id = params.subscriptionId.toString();\n if (params.startDate) input.start_date = params.startDate;\n if (params.endDate) input.end_date = params.endDate;\n if (params.withinDays != null)\n input.within_days = params.withinDays.toString();\n if (params.cartSource) input.cart_source = params.cartSource;\n if (params.countryIsos) input.country_isos = params.countryIsos;\n if (params.forceStats != null)\n input.force_stats = params.forceStats.toString();\n\n return client.get(\"/v202506/orders\", input);\n}\n","import type { FetchClient } from \"../lib/fetch-client\";\nimport type { subscriptions } from \"../custom/subscriptions\";\n\n/**\n * Fetch a paginated list of customer subscriptions.\n * Endpoint: GET /subscriptions\n */\nexport async function fetchCustomerSubscriptions(\n client: FetchClient,\n params: subscriptions.FetchSubscriptionsParams,\n): Promise<subscriptions.SubscriptionsResponse> {\n const input: Record<string, string> = {\n customer_id: params.customerId.toString(),\n page: (params.page ?? 1).toString(),\n per_page: (params.perPage ?? 10).toString(),\n };\n\n if (params.status != null) input.status = params.status;\n if (params.search != null) input.search = params.search;\n if (params.sortBy != null) input.sort_by = params.sortBy;\n if (params.sortDirection != null) input.sort_direction = params.sortDirection;\n\n return client.get(\"/subscriptions\", input);\n}\n\n/**\n * Fetch a single subscription by token.\n * Endpoint: GET /subscriptions/{token}\n */\nexport async function fetchSubscription(\n client: FetchClient,\n subscriptionToken: string,\n): Promise<subscriptions.SubscriptionDetail> {\n return client.get(`/subscriptions/${subscriptionToken}`);\n}\n\n/**\n * Pause a subscription.\n * Endpoint: POST /subscriptions/{token}/pause\n */\nexport async function pauseSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.PauseSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const queryParams: Record<string, string> = {\n customer_id: params.customerId.toString(),\n };\n\n if (params.nextBillDate != null) {\n queryParams.next_bill_date = params.nextBillDate;\n }\n if (params.numberOfOrders != null) {\n queryParams.number_of_orders = params.numberOfOrders.toString();\n }\n\n const query = new URLSearchParams(queryParams).toString();\n return client.post(`/subscriptions/${subscriptionToken}/pause?${query}`);\n}\n\n/**\n * Resume a paused subscription.\n * Endpoint: POST /subscriptions/{token}/resume\n */\nexport async function resumeSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.ResumeSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const query = new URLSearchParams({\n customer_id: params.customerId.toString(),\n next_bill_date: params.nextBillDate,\n }).toString();\n\n return client.post(`/subscriptions/${subscriptionToken}/resume?${query}`);\n}\n\n/**\n * Skip the next billing cycle.\n * Endpoint: POST /subscriptions/{token}/skip_next_billing\n */\nexport async function skipSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.SkipSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const query = new URLSearchParams({\n customer_id: params.customerId.toString(),\n next_bill_date: params.nextBillDate,\n }).toString();\n\n return client.post(\n `/subscriptions/${subscriptionToken}/skip_next_billing?${query}`,\n );\n}\n\n/**\n * Cancel a subscription.\n * Endpoint: POST /subscriptions/{token}/cancel\n */\nexport async function cancelSubscription(\n client: FetchClient,\n subscriptionToken: string,\n customerId: number,\n): Promise<subscriptions.SubscriptionDetail> {\n const query = new URLSearchParams({\n customer_id: customerId.toString(),\n }).toString();\n\n return client.post(`/subscriptions/${subscriptionToken}/cancel?${query}`);\n}\n\n/**\n * Reactivate a cancelled subscription.\n * Endpoint: POST /subscriptions/{token}/reactivate\n */\nexport async function reactivateSubscription(\n client: FetchClient,\n subscriptionToken: string,\n params: subscriptions.ReactivateSubscriptionParams,\n): Promise<subscriptions.SubscriptionDetail> {\n const body =\n params.process_immediately === true\n ? { process_immediately: true }\n : params.next_bill_date\n ? { next_bill_date: params.next_bill_date }\n : {};\n\n return client.post(\n `/subscriptions/${subscriptionToken}/reactivate`,\n Object.keys(body).length > 0 ? body : undefined,\n );\n}\n\n/**\n * Update subscription info (plan, variant, address, payment method, quantity).\n * Endpoint: PUT /subscriptions/{token}\n */\nexport async function updateSubscriptionInfo(\n client: FetchClient,\n subscriptionToken: string,\n body: subscriptions.UpdateSubscriptionInfoBody,\n): Promise<subscriptions.SubscriptionDetail> {\n return client.put(`/subscriptions/${subscriptionToken}`, {\n subscription: body,\n });\n}\n\n/**\n * Create a new subscription. Two-step process: creates a cart first, then the subscription.\n * Endpoint: POST /carts + POST /subscriptions\n */\nexport async function createSubscription(\n client: FetchClient,\n data: subscriptions.CreateSubscriptionData,\n): Promise<subscriptions.SubscriptionCreateResponse> {\n // Step 1: Create a cart with the subscription item\n const cartResponse = await client.post<subscriptions.CartCreateResponse>(\n \"/carts\",\n {\n country_code: \"US\",\n items: [\n {\n variant_id: data.variant_id,\n quantity: data.quantity ?? 1,\n subscription: true,\n subscription_plan_id: data.subscription_plan_id,\n },\n ],\n },\n );\n\n // Step 2: Create the subscription using the cart token\n return client.post(\"/subscriptions\", {\n subscription: {\n ...data,\n cart_token: cartResponse.cart.cart_token,\n },\n });\n}\n","import type { FetchClient } from \"./lib/fetch-client\";\nimport type { subscriptions } from \"./custom/subscriptions\";\nimport * as subscriptionsApi from \"./namespaces/subscriptions\";\n\n/**\n * Creates a SubscriptionsApi-compatible adapter from a FetchClient.\n *\n * This bridges the concrete API client to the abstract SubscriptionsApi\n * interface defined in @fluid-app/subscriptions-core, closing over the\n * FetchClient so consumers don't need to pass it per-call.\n */\nexport function createSubscriptionsApiAdapter(client: FetchClient) {\n return {\n fetchCustomerSubscriptions: (\n params: subscriptions.FetchSubscriptionsParams,\n ) => subscriptionsApi.fetchCustomerSubscriptions(client, params),\n fetchSubscription: (token: string) =>\n subscriptionsApi.fetchSubscription(client, token),\n pauseSubscription: (\n token: string,\n params: subscriptions.PauseSubscriptionParams,\n ) => subscriptionsApi.pauseSubscription(client, token, params),\n resumeSubscription: (\n token: string,\n params: subscriptions.ResumeSubscriptionParams,\n ) => subscriptionsApi.resumeSubscription(client, token, params),\n skipSubscription: (\n token: string,\n params: subscriptions.SkipSubscriptionParams,\n ) => subscriptionsApi.skipSubscription(client, token, params),\n cancelSubscription: (token: string, customerId: number) =>\n subscriptionsApi.cancelSubscription(client, token, customerId),\n reactivateSubscription: (\n token: string,\n params: subscriptions.ReactivateSubscriptionParams,\n ) => subscriptionsApi.reactivateSubscription(client, token, params),\n updateSubscriptionInfo: (\n token: string,\n body: subscriptions.UpdateSubscriptionInfoBody,\n ) => subscriptionsApi.updateSubscriptionInfo(client, token, body),\n };\n}\n","import { useMemo } from \"react\";\nimport type { OrdersApi } from \"@fluid-app/orders-core\";\nimport {\n createFetchClient as createOrdersFetchClient,\n ordersApi,\n} from \"@fluid-app/orders-api-client\";\nimport { createFetchClient as createSubscriptionsFetchClient } from \"@fluid-app/subscriptions-api-client\";\nimport type { SubscriptionsApi } from \"@fluid-app/subscriptions-core\";\nimport { createSubscriptionsApiAdapter } from \"./subscriptions-api-adapter\";\nimport {\n createFetchClient as createFluidPayFetchClient,\n type FetchClient as FluidPayFetchClient,\n} from \"@fluid-app/fluid-pay-api-client\";\nimport {\n createFetchClient as createCoreFetchClient,\n type FetchClient as CoreFetchClient,\n} from \"@fluid-app/api-client-core\";\nimport { useFluidContext } from \"../providers/FluidProvider\";\nimport { useFluidAuth } from \"../hooks/use-fluid-auth\";\n\n/** API version prefix for versioned endpoints (e.g. points ledger) */\nexport const API_VERSION = \"/v202506\";\n\n/**\n * Ensures baseUrl ends with /api.\n * Domain-specific API clients (orders, subscriptions, fluid-pay) use endpoint\n * paths without /api (e.g. /fluid_pay/me, /subscriptions), matching fluid-admin's\n * NEXT_PUBLIC_API_URL convention. The portal SDK's config.baseUrl is the domain\n * root (e.g. https://api.fluid.app), so we append /api here.\n */\nfunction withApiPrefix(baseUrl: string): string {\n const base = baseUrl.replace(/\\/+$/, \"\");\n return base.endsWith(\"/api\") ? base : `${base}/api`;\n}\n\nexport function useOrdersApi(): OrdersApi {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(() => {\n const client = createOrdersFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n });\n return {\n fetchOrder: (orderToken) => ordersApi.fetchOrder(client, orderToken),\n fetchCustomerOrders: (params) =>\n ordersApi.fetchCustomerOrders(client, params),\n };\n }, [config.baseUrl, config.onAuthError, token]);\n}\n\nexport function useSubscriptionsApiClient(): SubscriptionsApi {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(\n () =>\n createSubscriptionsApiAdapter(\n createSubscriptionsFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n }),\n ),\n [config.baseUrl, config.onAuthError, token],\n );\n}\n\nexport function useFluidPayClient(): FluidPayFetchClient {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(\n () =>\n createFluidPayFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n }),\n [config.baseUrl, config.onAuthError, token],\n );\n}\n\n/**\n * Generic SDK fetch client for endpoints not covered by domain-specific clients\n * (e.g. /countries, /v202506/customers/:id/points_ledgers).\n * Uses the same auth/baseUrl/error handling as the domain clients.\n */\nexport function useSdkClient(): CoreFetchClient {\n const { config } = useFluidContext();\n const { token } = useFluidAuth();\n\n return useMemo(\n () =>\n createCoreFetchClient({\n baseUrl: withApiPrefix(config.baseUrl),\n getAuthToken: () => token,\n onAuthError: config.onAuthError,\n }),\n [config.baseUrl, config.onAuthError, token],\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { yt as fetchCustomerAccount } from "./FluidProvider-Nd7xkDWq.mjs";
2
- import { n as useFluidPayClient, o as useFluidAuth } from "./use-account-clients-0kFq_8i7.mjs";
2
+ import { n as useFluidPayClient, o as useFluidAuth } from "./use-account-clients-vOToQZNB.mjs";
3
3
  import { useQuery } from "@tanstack/react-query";
4
4
  //#region src/account/use-customer-account.ts
5
5
  function useCustomerAccount({ enabled = true } = {}) {
@@ -20,4 +20,4 @@ function useCustomerAccount({ enabled = true } = {}) {
20
20
  //#endregion
21
21
  export { useCustomerAccount as t };
22
22
 
23
- //# sourceMappingURL=use-customer-account-Be70QBp3.mjs.map
23
+ //# sourceMappingURL=use-customer-account-Bufu7Mae.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-customer-account-Be70QBp3.mjs","names":["customersApi.fetchCustomerAccount"],"sources":["../src/account/use-customer-account.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { customersApi } from \"@fluid-app/fluid-pay-api-client\";\nimport { useFluidAuth } from \"../hooks/use-fluid-auth\";\nimport { useFluidPayClient } from \"./use-account-clients\";\n\nexport function useCustomerAccount({\n enabled = true,\n}: { enabled?: boolean } = {}) {\n const { token, user } = useFluidAuth();\n const fluidPayClient = useFluidPayClient();\n const jwt = token ?? \"\";\n\n const query = useQuery({\n queryKey: [\"fluidPayAccount\", user?.id],\n queryFn: () => customersApi.fetchCustomerAccount(fluidPayClient, jwt),\n enabled: !!jwt && enabled,\n });\n\n return {\n customerId: query.data?.customer?.id,\n isLoadingCustomer: query.isLoading,\n isCustomerError: query.isError,\n };\n}\n"],"mappings":";;;;AAKA,SAAgB,mBAAmB,EACjC,UAAU,SACe,EAAE,EAAE;CAC7B,MAAM,EAAE,OAAO,SAAS,cAAc;CACtC,MAAM,iBAAiB,mBAAmB;CAC1C,MAAM,MAAM,SAAS;CAErB,MAAM,QAAQ,SAAS;EACrB,UAAU,CAAC,mBAAmB,MAAM,GAAG;EACvC,eAAeA,qBAAkC,gBAAgB,IAAI;EACrE,SAAS,CAAC,CAAC,OAAO;EACnB,CAAC;AAEF,QAAO;EACL,YAAY,MAAM,MAAM,UAAU;EAClC,mBAAmB,MAAM;EACzB,iBAAiB,MAAM;EACxB"}
1
+ {"version":3,"file":"use-customer-account-Bufu7Mae.mjs","names":["customersApi.fetchCustomerAccount"],"sources":["../src/account/use-customer-account.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { customersApi } from \"@fluid-app/fluid-pay-api-client\";\nimport { useFluidAuth } from \"../hooks/use-fluid-auth\";\nimport { useFluidPayClient } from \"./use-account-clients\";\n\nexport function useCustomerAccount({\n enabled = true,\n}: { enabled?: boolean } = {}) {\n const { token, user } = useFluidAuth();\n const fluidPayClient = useFluidPayClient();\n const jwt = token ?? \"\";\n\n const query = useQuery({\n queryKey: [\"fluidPayAccount\", user?.id],\n queryFn: () => customersApi.fetchCustomerAccount(fluidPayClient, jwt),\n enabled: !!jwt && enabled,\n });\n\n return {\n customerId: query.data?.customer?.id,\n isLoadingCustomer: query.isLoading,\n isCustomerError: query.isError,\n };\n}\n"],"mappings":";;;;AAKA,SAAgB,mBAAmB,EACjC,UAAU,SACe,EAAE,EAAE;CAC7B,MAAM,EAAE,OAAO,SAAS,cAAc;CACtC,MAAM,iBAAiB,mBAAmB;CAC1C,MAAM,MAAM,SAAS;CAErB,MAAM,QAAQ,SAAS;EACrB,UAAU,CAAC,mBAAmB,MAAM,GAAG;EACvC,eAAeA,qBAAkC,gBAAgB,IAAI;EACrE,SAAS,CAAC,CAAC,OAAO;EACnB,CAAC;AAEF,QAAO;EACL,YAAY,MAAM,MAAM,UAAU;EAClC,mBAAmB,MAAM;EACzB,iBAAiB,MAAM;EACxB"}
@@ -1,6 +1,6 @@
1
1
  require("./chunk-9hOWP6kD.cjs");
2
2
  const require_FluidProvider = require("./FluidProvider-C27-ijsq.cjs");
3
- const require_use_account_clients = require("./use-account-clients-CFfdmi36.cjs");
3
+ const require_use_account_clients = require("./use-account-clients-BrlAG2os.cjs");
4
4
  let _tanstack_react_query = require("@tanstack/react-query");
5
5
  //#region src/account/use-customer-account.ts
6
6
  function useCustomerAccount({ enabled = true } = {}) {
@@ -26,4 +26,4 @@ Object.defineProperty(exports, "useCustomerAccount", {
26
26
  }
27
27
  });
28
28
 
29
- //# sourceMappingURL=use-customer-account-BH-hwjbg.cjs.map
29
+ //# sourceMappingURL=use-customer-account-CeNalSBy.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-customer-account-BH-hwjbg.cjs","names":["useFluidAuth","useFluidPayClient"],"sources":["../src/account/use-customer-account.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { customersApi } from \"@fluid-app/fluid-pay-api-client\";\nimport { useFluidAuth } from \"../hooks/use-fluid-auth\";\nimport { useFluidPayClient } from \"./use-account-clients\";\n\nexport function useCustomerAccount({\n enabled = true,\n}: { enabled?: boolean } = {}) {\n const { token, user } = useFluidAuth();\n const fluidPayClient = useFluidPayClient();\n const jwt = token ?? \"\";\n\n const query = useQuery({\n queryKey: [\"fluidPayAccount\", user?.id],\n queryFn: () => customersApi.fetchCustomerAccount(fluidPayClient, jwt),\n enabled: !!jwt && enabled,\n });\n\n return {\n customerId: query.data?.customer?.id,\n isLoadingCustomer: query.isLoading,\n isCustomerError: query.isError,\n };\n}\n"],"mappings":";;;;;AAKA,SAAgB,mBAAmB,EACjC,UAAU,SACe,EAAE,EAAE;CAC7B,MAAM,EAAE,OAAO,SAASA,4BAAAA,cAAc;CACtC,MAAM,iBAAiBC,4BAAAA,mBAAmB;CAC1C,MAAM,MAAM,SAAS;CAErB,MAAM,SAAA,GAAA,sBAAA,UAAiB;EACrB,UAAU,CAAC,mBAAmB,MAAM,GAAG;EACvC,eAAA,sBAAA,qBAAiD,gBAAgB,IAAI;EACrE,SAAS,CAAC,CAAC,OAAO;EACnB,CAAC;AAEF,QAAO;EACL,YAAY,MAAM,MAAM,UAAU;EAClC,mBAAmB,MAAM;EACzB,iBAAiB,MAAM;EACxB"}
1
+ {"version":3,"file":"use-customer-account-CeNalSBy.cjs","names":["useFluidAuth","useFluidPayClient"],"sources":["../src/account/use-customer-account.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { customersApi } from \"@fluid-app/fluid-pay-api-client\";\nimport { useFluidAuth } from \"../hooks/use-fluid-auth\";\nimport { useFluidPayClient } from \"./use-account-clients\";\n\nexport function useCustomerAccount({\n enabled = true,\n}: { enabled?: boolean } = {}) {\n const { token, user } = useFluidAuth();\n const fluidPayClient = useFluidPayClient();\n const jwt = token ?? \"\";\n\n const query = useQuery({\n queryKey: [\"fluidPayAccount\", user?.id],\n queryFn: () => customersApi.fetchCustomerAccount(fluidPayClient, jwt),\n enabled: !!jwt && enabled,\n });\n\n return {\n customerId: query.data?.customer?.id,\n isLoadingCustomer: query.isLoading,\n isCustomerError: query.isError,\n };\n}\n"],"mappings":";;;;;AAKA,SAAgB,mBAAmB,EACjC,UAAU,SACe,EAAE,EAAE;CAC7B,MAAM,EAAE,OAAO,SAASA,4BAAAA,cAAc;CACtC,MAAM,iBAAiBC,4BAAAA,mBAAmB;CAC1C,MAAM,MAAM,SAAS;CAErB,MAAM,SAAA,GAAA,sBAAA,UAAiB;EACrB,UAAU,CAAC,mBAAmB,MAAM,GAAG;EACvC,eAAA,sBAAA,qBAAiD,gBAAgB,IAAI;EACrE,SAAS,CAAC,CAAC,OAAO;EACnB,CAAC;AAEF,QAAO;EACL,YAAY,MAAM,MAAM,UAAU;EAClC,mBAAmB,MAAM;EACzB,iBAAiB,MAAM;EACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-app/portal-sdk",
3
- "version": "0.1.95",
3
+ "version": "0.1.96",
4
4
  "description": "SDK for building custom Fluid portals",
5
5
  "files": [
6
6
  "dist",
@@ -71,35 +71,35 @@
71
71
  "@fluid-app/company-switcher-core": "0.1.0",
72
72
  "@fluid-app/company-switcher-ui": "0.1.0",
73
73
  "@fluid-app/contacts-core": "0.1.0",
74
- "@fluid-app/file-picker-api-client": "0.1.0",
75
74
  "@fluid-app/contacts-ui": "0.1.0",
76
75
  "@fluid-app/fluid-pay-api-client": "0.1.0",
77
- "@fluid-app/fluidos-api-client": "0.1.0",
76
+ "@fluid-app/file-picker-api-client": "0.1.0",
78
77
  "@fluid-app/messaging-api-client": "0.1.0",
78
+ "@fluid-app/fluidos-api-client": "0.1.0",
79
79
  "@fluid-app/messaging-core": "0.1.0",
80
80
  "@fluid-app/mysite-ui": "0.1.0",
81
81
  "@fluid-app/messaging-ui": "0.1.0",
82
- "@fluid-app/orders-core": "0.1.0",
83
82
  "@fluid-app/orders-api-client": "0.1.0",
84
- "@fluid-app/orders-ui": "0.1.0",
83
+ "@fluid-app/orders-core": "0.1.0",
85
84
  "@fluid-app/permissions": "0.1.0",
86
85
  "@fluid-app/portal-app-download-ui": "0.1.0",
86
+ "@fluid-app/orders-ui": "0.1.0",
87
87
  "@fluid-app/portal-core": "0.1.23",
88
88
  "@fluid-app/portal-preview": "0.1.0",
89
89
  "@fluid-app/portal-pro-upgrade-ui": "0.1.0",
90
- "@fluid-app/portal-react": "0.1.0",
91
90
  "@fluid-app/portal-widgets": "0.1.22",
91
+ "@fluid-app/portal-react": "0.1.0",
92
92
  "@fluid-app/products-api-client": "0.1.0",
93
93
  "@fluid-app/products-core": "0.1.0",
94
94
  "@fluid-app/profile-core": "0.1.0",
95
95
  "@fluid-app/profile-ui": "0.1.0",
96
96
  "@fluid-app/query-persister": "0.1.0",
97
- "@fluid-app/shareables-api-client": "0.1.0",
98
97
  "@fluid-app/shareables-core": "0.1.0",
98
+ "@fluid-app/shareables-api-client": "0.1.0",
99
99
  "@fluid-app/shareables-ui": "0.1.0",
100
100
  "@fluid-app/shop-ui": "0.1.0",
101
- "@fluid-app/subscriptions-api-client": "0.1.0",
102
101
  "@fluid-app/subscriptions-core": "0.1.0",
102
+ "@fluid-app/subscriptions-api-client": "0.1.0",
103
103
  "@fluid-app/subscriptions-ui": "0.1.0",
104
104
  "@fluid-app/typescript-config": "0.0.0",
105
105
  "@fluid-app/ui-primitives": "0.1.13",