@fluid-app/portal-sdk 0.1.524 → 0.1.526

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 (53) hide show
  1. package/dist/{ContactsScreen-DeXNeKhZ.cjs → ContactsScreen-C3ccWqAe.cjs} +41 -38
  2. package/dist/{ContactsScreen-DeXNeKhZ.cjs.map → ContactsScreen-C3ccWqAe.cjs.map} +1 -1
  3. package/dist/{ContactsScreen-C29wHxlb.mjs → ContactsScreen-C_UMnqhN.mjs} +2 -2
  4. package/dist/{ContactsScreen-xXR5SM7U.cjs → ContactsScreen-DEQAF0fC.cjs} +2 -2
  5. package/dist/{ContactsScreen-C5WtXbuk.mjs → ContactsScreen-DkChLGnB.mjs} +41 -38
  6. package/dist/{ContactsScreen-C5WtXbuk.mjs.map → ContactsScreen-DkChLGnB.mjs.map} +1 -1
  7. package/dist/{ContactsTranslationBridge-7hUvizHe.mjs → ContactsTranslationBridge-B4SlrRSR.mjs} +4 -3
  8. package/dist/{ContactsTranslationBridge-7hUvizHe.mjs.map → ContactsTranslationBridge-B4SlrRSR.mjs.map} +1 -1
  9. package/dist/{ContactsTranslationBridge-MTW9WS-j.cjs → ContactsTranslationBridge-C7Q9rpKH.cjs} +4 -3
  10. package/dist/{ContactsTranslationBridge-MTW9WS-j.cjs.map → ContactsTranslationBridge-C7Q9rpKH.cjs.map} +1 -1
  11. package/dist/{FluidProvider-BsFKQnUK.cjs → FluidProvider-B4msuwpR.cjs} +2 -2
  12. package/dist/{FluidProvider-BsFKQnUK.cjs.map → FluidProvider-B4msuwpR.cjs.map} +1 -1
  13. package/dist/{FluidProvider-BnzzWdqN.mjs → FluidProvider-CqFIXA9E.mjs} +2 -2
  14. package/dist/{FluidProvider-BnzzWdqN.mjs.map → FluidProvider-CqFIXA9E.mjs.map} +1 -1
  15. package/dist/{MessagingScreen-CPbJ2scr.mjs → MessagingScreen-8OZSwMYW.mjs} +3 -3
  16. package/dist/{MessagingScreen-Dn4YnN6I.cjs → MessagingScreen-CY8VbrOx.cjs} +3 -3
  17. package/dist/{MessagingScreen-CkTXrFJI.cjs → MessagingScreen-D_Y3Coa6.cjs} +38 -17
  18. package/dist/MessagingScreen-D_Y3Coa6.cjs.map +1 -0
  19. package/dist/{MessagingScreen-D0elghP1.mjs → MessagingScreen-DwU7sqzj.mjs} +38 -17
  20. package/dist/MessagingScreen-DwU7sqzj.mjs.map +1 -0
  21. package/dist/{OrdersScreen-BwrCczgL.mjs → OrdersScreen-CNYPIZBb.mjs} +3 -3
  22. package/dist/{OrdersScreen-Bkw8Gakq.mjs → OrdersScreen-CNzRy_gk.mjs} +3 -3
  23. package/dist/{OrdersScreen-Bkw8Gakq.mjs.map → OrdersScreen-CNzRy_gk.mjs.map} +1 -1
  24. package/dist/{OrdersScreen-DTyk0hBC.cjs → OrdersScreen-CSYdmQVZ.cjs} +3 -3
  25. package/dist/{OrdersScreen-CE6w3HTb.cjs → OrdersScreen-DZfsHpZK.cjs} +3 -3
  26. package/dist/{OrdersScreen-CE6w3HTb.cjs.map → OrdersScreen-DZfsHpZK.cjs.map} +1 -1
  27. package/dist/{ProfileScreen-Bjs-nBKq.cjs → ProfileScreen-B8Df2C1b.cjs} +3 -3
  28. package/dist/{ProfileScreen-Bjs-nBKq.cjs.map → ProfileScreen-B8Df2C1b.cjs.map} +1 -1
  29. package/dist/{ProfileScreen-CpPCRKK7.cjs → ProfileScreen-DYNeWfwK.cjs} +4 -4
  30. package/dist/{ProfileScreen-D7n2kWsy.mjs → ProfileScreen-DsFhKUi2.mjs} +4 -4
  31. package/dist/{ProfileScreen-W3mNfSGX.mjs → ProfileScreen-OH5UYO9J.mjs} +3 -3
  32. package/dist/{ProfileScreen-W3mNfSGX.mjs.map → ProfileScreen-OH5UYO9J.mjs.map} +1 -1
  33. package/dist/{SubscriptionsScreen-DdJKVEEk.cjs → SubscriptionsScreen-C0s1Dy_5.cjs} +4 -4
  34. package/dist/{SubscriptionsScreen-zlS5PXyR.mjs → SubscriptionsScreen-CJheY605.mjs} +4 -4
  35. package/dist/{SubscriptionsScreen-zlS5PXyR.mjs.map → SubscriptionsScreen-CJheY605.mjs.map} +1 -1
  36. package/dist/{SubscriptionsScreen-o3DKCuSN.mjs → SubscriptionsScreen-D0wBR3ji.mjs} +4 -4
  37. package/dist/{SubscriptionsScreen-C-v8uneR.cjs → SubscriptionsScreen-DplufOOc.cjs} +4 -4
  38. package/dist/{SubscriptionsScreen-C-v8uneR.cjs.map → SubscriptionsScreen-DplufOOc.cjs.map} +1 -1
  39. package/dist/index.cjs +18 -18
  40. package/dist/index.d.cts +309 -1
  41. package/dist/index.d.cts.map +1 -1
  42. package/dist/index.d.mts +309 -1
  43. package/dist/index.d.mts.map +1 -1
  44. package/dist/index.mjs +18 -18
  45. package/dist/task-composer-form-DDzxr6_A.cjs.map +1 -1
  46. package/dist/task-composer-form-DTHeuJ9-.mjs.map +1 -1
  47. package/dist/{use-portal-card-add-3ds-flow-gj_LSjop.mjs → use-portal-card-add-3ds-flow-ps5Lr2c3.mjs} +2 -2
  48. package/dist/{use-portal-card-add-3ds-flow-gj_LSjop.mjs.map → use-portal-card-add-3ds-flow-ps5Lr2c3.mjs.map} +1 -1
  49. package/dist/{use-portal-card-add-3ds-flow-BEZtTxel.cjs → use-portal-card-add-3ds-flow-r2akoTNE.cjs} +2 -2
  50. package/dist/{use-portal-card-add-3ds-flow-BEZtTxel.cjs.map → use-portal-card-add-3ds-flow-r2akoTNE.cjs.map} +1 -1
  51. package/package.json +19 -19
  52. package/dist/MessagingScreen-CkTXrFJI.cjs.map +0 -1
  53. package/dist/MessagingScreen-D0elghP1.mjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -6,9 +6,9 @@ require("./account-api-context-CrShCYnN.cjs");
6
6
  const require_use_optional_store = require("./use-optional-store-CIM4spDu.cjs");
7
7
  require("./use-mysite-portal-BCcNoszb.cjs");
8
8
  require("./Combobox-CReJLJfk.cjs");
9
- const require_FluidProvider = require("./FluidProvider-BsFKQnUK.cjs");
10
- const require_ContactsScreen = require("./ContactsScreen-DeXNeKhZ.cjs");
11
- const require_ContactsTranslationBridge = require("./ContactsTranslationBridge-MTW9WS-j.cjs");
9
+ const require_FluidProvider = require("./FluidProvider-B4msuwpR.cjs");
10
+ const require_ContactsScreen = require("./ContactsScreen-C3ccWqAe.cjs");
11
+ const require_ContactsTranslationBridge = require("./ContactsTranslationBridge-C7Q9rpKH.cjs");
12
12
  const require_prop_types = require("./prop-types-B7bFaw8n.cjs");
13
13
  const require_MobileBottomSheet = require("./MobileBottomSheet-HzfAr8dE.cjs");
14
14
  require("./registry-context-DLWP4Bzy.cjs");
@@ -74,19 +74,19 @@ const require_AppNavigationContext = require("./AppNavigationContext-C6FeqL-k.cj
74
74
  const require_self = require("./self-D_UqZ8TJ.cjs");
75
75
  const require_use_store = require("./use-store-CZPKdvkG.cjs");
76
76
  const require_sidebar = require("./sidebar-zkV-HxHW.cjs");
77
- const require_MessagingScreen = require("./MessagingScreen-CkTXrFJI.cjs");
77
+ const require_MessagingScreen = require("./MessagingScreen-D_Y3Coa6.cjs");
78
78
  const require_use_navigation_parent = require("./use-navigation-parent-BMFPIGdi.cjs");
79
79
  const require_ScreenHeaderContext = require("./ScreenHeaderContext-Df1DvpEW.cjs");
80
80
  const require_ShopScreen = require("./ShopScreen-C45whueB.cjs");
81
81
  const require_CustomersScreen = require("./CustomersScreen-ChzoaJD8.cjs");
82
82
  const require_ActivityScreen = require("./ActivityScreen-DqNFQ0L-.cjs");
83
- require("./use-portal-card-add-3ds-flow-BEZtTxel.cjs");
84
- const require_ProfileScreen = require("./ProfileScreen-Bjs-nBKq.cjs");
85
- const require_SubscriptionsScreen = require("./SubscriptionsScreen-C-v8uneR.cjs");
83
+ require("./use-portal-card-add-3ds-flow-r2akoTNE.cjs");
84
+ const require_ProfileScreen = require("./ProfileScreen-B8Df2C1b.cjs");
85
+ const require_SubscriptionsScreen = require("./SubscriptionsScreen-DplufOOc.cjs");
86
86
  require("./dist-ZqdCmmRH.cjs");
87
87
  require("./es-BF8O5PvG.cjs");
88
88
  require("./dist-0KN0_55-.cjs");
89
- const require_OrdersScreen = require("./OrdersScreen-CE6w3HTb.cjs");
89
+ const require_OrdersScreen = require("./OrdersScreen-DZfsHpZK.cjs");
90
90
  const require_MySiteScreen = require("./MySiteScreen-CEZ2PVX6.cjs");
91
91
  require("./dist-BtQsnRL_.cjs");
92
92
  require("./AppDownloadScreen-PypP61Rq.cjs");
@@ -2125,11 +2125,11 @@ function resolveMemberTypePage(registry, memberTypeSlug, currentSlug, baseSlug)
2125
2125
  }
2126
2126
  //#endregion
2127
2127
  //#region src/shell/system-screen-map.ts
2128
- const ProfileScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ProfileScreen-CpPCRKK7.cjs")).then((m) => ({ default: m.ProfileScreen })));
2129
- const OrdersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./OrdersScreen-DTyk0hBC.cjs")).then((m) => ({ default: m.OrdersScreen })));
2130
- const SubscriptionsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./SubscriptionsScreen-DdJKVEEk.cjs")).then((m) => ({ default: m.SubscriptionsScreen })));
2131
- const MessagingScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./MessagingScreen-Dn4YnN6I.cjs")).then((m) => ({ default: m.MessagingScreen })));
2132
- const ContactsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ContactsScreen-xXR5SM7U.cjs")).then((m) => ({ default: m.ContactsScreen })));
2128
+ const ProfileScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ProfileScreen-DYNeWfwK.cjs")).then((m) => ({ default: m.ProfileScreen })));
2129
+ const OrdersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./OrdersScreen-CSYdmQVZ.cjs")).then((m) => ({ default: m.OrdersScreen })));
2130
+ const SubscriptionsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./SubscriptionsScreen-C0s1Dy_5.cjs")).then((m) => ({ default: m.SubscriptionsScreen })));
2131
+ const MessagingScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./MessagingScreen-CY8VbrOx.cjs")).then((m) => ({ default: m.MessagingScreen })));
2132
+ const ContactsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ContactsScreen-DEQAF0fC.cjs")).then((m) => ({ default: m.ContactsScreen })));
2133
2133
  const ShopScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ShopScreen-BHMbdNog.cjs")).then((m) => ({ default: m.ShopScreen })));
2134
2134
  const CustomersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./CustomersScreen-BkQ1dCUy.cjs")).then((m) => ({ default: m.CustomersScreen })));
2135
2135
  const ShareablesScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ShareablesScreen-BTqM5U7o.cjs")).then((m) => ({ default: m.ShareablesScreen })));
@@ -4675,11 +4675,11 @@ const CORE_PAGE_IDS = {
4675
4675
  //#endregion
4676
4676
  //#region src/screens/index.ts
4677
4677
  const screenPropertySchemas = {
4678
- ProfileScreen: () => Promise.resolve().then(() => require("./ProfileScreen-CpPCRKK7.cjs")).then((m) => m.profileScreenPropertySchema),
4679
- MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-Dn4YnN6I.cjs")).then((m) => m.messagingScreenPropertySchema),
4680
- ContactsScreen: () => Promise.resolve().then(() => require("./ContactsScreen-xXR5SM7U.cjs")).then((m) => m.contactsScreenPropertySchema),
4681
- OrdersScreen: () => Promise.resolve().then(() => require("./OrdersScreen-DTyk0hBC.cjs")).then((m) => m.ordersScreenPropertySchema),
4682
- SubscriptionsScreen: () => Promise.resolve().then(() => require("./SubscriptionsScreen-DdJKVEEk.cjs")).then((m) => m.subscriptionsScreenPropertySchema),
4678
+ ProfileScreen: () => Promise.resolve().then(() => require("./ProfileScreen-DYNeWfwK.cjs")).then((m) => m.profileScreenPropertySchema),
4679
+ MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-CY8VbrOx.cjs")).then((m) => m.messagingScreenPropertySchema),
4680
+ ContactsScreen: () => Promise.resolve().then(() => require("./ContactsScreen-DEQAF0fC.cjs")).then((m) => m.contactsScreenPropertySchema),
4681
+ OrdersScreen: () => Promise.resolve().then(() => require("./OrdersScreen-CSYdmQVZ.cjs")).then((m) => m.ordersScreenPropertySchema),
4682
+ SubscriptionsScreen: () => Promise.resolve().then(() => require("./SubscriptionsScreen-C0s1Dy_5.cjs")).then((m) => m.subscriptionsScreenPropertySchema),
4683
4683
  CustomersScreen: () => Promise.resolve().then(() => require("./CustomersScreen-BkQ1dCUy.cjs")).then((m) => m.customersScreenPropertySchema),
4684
4684
  MySiteScreen: () => Promise.resolve().then(() => require("./MySiteScreen-Bh0OVsti.cjs")).then((m) => m.mySiteScreenPropertySchema),
4685
4685
  ShareablesScreen: () => Promise.resolve().then(() => require("./ShareablesScreen-BTqM5U7o.cjs")).then((m) => m.shareablesScreenPropertySchema),
package/dist/index.d.cts CHANGED
@@ -2713,6 +2713,7 @@ declare function useMessagingAuth(): MessagingAuthContext;
2713
2713
  */
2714
2714
  interface MessagingApiConfig {
2715
2715
  baseUrl: string;
2716
+ fetch?: typeof fetch;
2716
2717
  getHeaders: () => Record<string, string> | Promise<Record<string, string>>;
2717
2718
  onAuthError?: () => void;
2718
2719
  }
@@ -2723,7 +2724,7 @@ interface MessagingConfig {
2723
2724
  readonly messagingApi: MessagingApi;
2724
2725
  readonly websocketUrl: string;
2725
2726
  }
2726
- declare function useMessagingConfig(): MessagingConfig;
2727
+ declare function useMessagingConfig(apiConfigOverride?: MessagingApiConfig): MessagingConfig;
2727
2728
  //#endregion
2728
2729
  //#region ../widgets/src/widgets/TextWidget.d.ts
2729
2730
  type TextAlignment$2 = "left" | "center" | "right";
@@ -4089,11 +4090,17 @@ type MessagingScreenProps = ComponentProps<"div"> & {
4089
4090
  */
4090
4091
  fileUploader?: FileUploader$1;
4091
4092
  websocketUrl?: string;
4093
+ apiConfig?: MessagingApiConfig;
4094
+ websocketSession?: boolean;
4095
+ hideMobileBackButton?: boolean;
4092
4096
  };
4093
4097
  declare function MessagingScreen({
4094
4098
  onToast,
4095
4099
  fileUploader,
4096
4100
  websocketUrl,
4101
+ apiConfig,
4102
+ websocketSession,
4103
+ hideMobileBackButton,
4097
4104
  background,
4098
4105
  textColor,
4099
4106
  accentColor,
@@ -4103,8 +4110,308 @@ declare function MessagingScreen({
4103
4110
  }: MessagingScreenProps): React.JSX.Element;
4104
4111
  declare const messagingScreenPropertySchema: WidgetPropertySchema;
4105
4112
  //#endregion
4113
+ //#region ../../contacts/core/src/types.d.ts
4114
+ /** Contact entity — shared across admin and rep views. */
4115
+ interface Contact$1 {
4116
+ [key: string]: unknown;
4117
+ id: number;
4118
+ full_name: string;
4119
+ first_name?: string | null;
4120
+ last_name?: string | null;
4121
+ email?: string | null;
4122
+ email2?: string | null;
4123
+ phone?: string | null;
4124
+ phone2?: string | null;
4125
+ status: string | null;
4126
+ tags?: string[] | null;
4127
+ address?: string | null;
4128
+ address2?: string | null;
4129
+ city?: string | null;
4130
+ state?: string | null;
4131
+ postal_code?: string | null;
4132
+ country_id?: number | null;
4133
+ language_id?: number | null;
4134
+ lead_type?: string | null;
4135
+ interest?: string | null;
4136
+ avatar_url?: string | null;
4137
+ metadata: Record<string, unknown>;
4138
+ token?: string | null;
4139
+ phone_id?: string | null;
4140
+ ip?: string | null;
4141
+ requested_at?: string | null;
4142
+ best_time?: string | null;
4143
+ time_zone?: string | null;
4144
+ reason?: string | null;
4145
+ income?: string | null;
4146
+ hours?: string | null;
4147
+ invest?: string | null;
4148
+ discarded_at?: string | null;
4149
+ engagement?: number;
4150
+ external_id?: string | null;
4151
+ user?: {
4152
+ id?: number;
4153
+ first_name: string | null;
4154
+ last_name: string | null;
4155
+ email: string | null;
4156
+ phone: string | null;
4157
+ image_url?: string | null;
4158
+ country?: {
4159
+ id?: number;
4160
+ name: string;
4161
+ iso?: string;
4162
+ } | null;
4163
+ } | null;
4164
+ country?: {
4165
+ id: number;
4166
+ name: string;
4167
+ iso: string;
4168
+ iso3: string;
4169
+ active: boolean;
4170
+ } | null;
4171
+ affiliate?: {
4172
+ id: number;
4173
+ first_name: string | null;
4174
+ last_name: string | null;
4175
+ image_url?: string | null;
4176
+ } | null;
4177
+ }
4178
+ /** Activity on a contact (page view, purchase, etc.). */
4179
+ interface ContactActivity {
4180
+ id: number;
4181
+ user_id: number;
4182
+ relation_type?: string | null;
4183
+ relation_id?: number | null;
4184
+ contact_id?: number | null;
4185
+ title?: string | null;
4186
+ description?: string | null;
4187
+ read_at?: string | null;
4188
+ slug?: string | null;
4189
+ company_id?: number | null;
4190
+ created_at: string;
4191
+ formatted_description: string;
4192
+ }
4193
+ /** Note attached to a contact. */
4194
+ interface ContactNote {
4195
+ id: number;
4196
+ title: string;
4197
+ body: string;
4198
+ note_type?: string | null;
4199
+ due_date?: string | null;
4200
+ due_time?: string | null;
4201
+ pinned?: boolean | null;
4202
+ created_at: string;
4203
+ updated_at: string;
4204
+ contact_id: number;
4205
+ due_at?: string | null;
4206
+ assets: unknown[];
4207
+ }
4208
+ /** Task attached to a contact. */
4209
+ interface ContactTask {
4210
+ id: number;
4211
+ body: string;
4212
+ due_at?: string | null;
4213
+ completed_at?: string | null;
4214
+ created_at: string;
4215
+ contact_id?: number | null;
4216
+ }
4217
+ /** Order summary for a contact. */
4218
+ interface ContactOrder {
4219
+ id: number;
4220
+ first_name?: string | null;
4221
+ last_name?: string | null;
4222
+ email?: string | null;
4223
+ phone?: string | null;
4224
+ order_number?: string | null;
4225
+ status: "awaiting_payment" | "awaiting_shipment" | "shipped" | "delivered" | "archived" | "cancelled" | "failed_payment" | "draft";
4226
+ order_type: "requested" | "purchased" | "imported" | "abandoned";
4227
+ source: "mobile" | "web" | "admin" | "backoffice" | "subscription" | "enrollment";
4228
+ amount: number | string | null;
4229
+ amount_in_base: number | string | null;
4230
+ base_to_currency_rate?: number | string | null;
4231
+ note?: string | null;
4232
+ currency_code?: string | null;
4233
+ created_at: string;
4234
+ updated_at: string;
4235
+ metadata: Record<string, unknown> | null;
4236
+ token: string;
4237
+ refundable_amount: string;
4238
+ order_status: "draft" | "pending" | "pending_review" | "processing" | "completed" | "cancelled" | "archived";
4239
+ fulfillment_status: "unfulfilled" | "in_progress" | "on_hold" | "partially_fulfilled" | "scheduled" | "fulfilled";
4240
+ financial_status: "pending" | "authorized" | "partially_paid" | "paid" | "partially_refunded" | "refunded" | "voided" | "marked_free" | "marked_paid";
4241
+ warehouse_id?: number | null;
4242
+ points_applied: number;
4243
+ points_applied_amount?: number;
4244
+ points_applied_amount_in_currency: string;
4245
+ total_points_credited?: number;
4246
+ customer_points_balance?: number;
4247
+ order_total_after_points_redemption: number;
4248
+ free_shipping: boolean;
4249
+ discount_codes: unknown[];
4250
+ created_subscriptions: unknown[];
4251
+ }
4252
+ /** Subscription order summary for a contact. */
4253
+ interface ContactSubscriptionOrder {
4254
+ id: number;
4255
+ amount?: string | null;
4256
+ subtotal?: string | null;
4257
+ tax?: string | null;
4258
+ discount?: string | null;
4259
+ shipping?: string | null;
4260
+ created_at?: string | null;
4261
+ updated_at?: string | null;
4262
+ bill_date?: string | null;
4263
+ next_bill_date?: string | null;
4264
+ subscription_interval?: number | null;
4265
+ cancellation_reason?: string | null;
4266
+ additional_feedback?: string | null;
4267
+ order_number?: string | null;
4268
+ display_amount?: string | null;
4269
+ display_subtotal?: string | null;
4270
+ display_tax?: string | null;
4271
+ display_discount?: string | null;
4272
+ display_shipping?: string | null;
4273
+ total?: string | null;
4274
+ display_total?: string | null;
4275
+ days_until_next_bill_date?: number | null;
4276
+ status: string;
4277
+ order_thumbnail?: string | null;
4278
+ user?: Record<string, unknown> | null;
4279
+ buyer?: Record<string, unknown> | null;
4280
+ bill_to?: Record<string, unknown> | null;
4281
+ ship_to?: Record<string, unknown> | null;
4282
+ customer?: Record<string, unknown> | null;
4283
+ payment_method?: Record<string, unknown> | null;
4284
+ activities?: unknown[];
4285
+ items?: unknown[];
4286
+ [key: string]: unknown;
4287
+ }
4288
+ /** Pagination metadata returned by list endpoints. */
4289
+ interface PaginationMeta {
4290
+ total_count?: number;
4291
+ total_pages?: number;
4292
+ current_page?: number;
4293
+ next_cursor?: string | null;
4294
+ request_id?: string;
4295
+ timestamp?: string;
4296
+ }
4297
+ /** Contact group (BFF-backed). */
4298
+ interface ContactGroup {
4299
+ id: number;
4300
+ name: string;
4301
+ avatar: string | null;
4302
+ avatar_background: string | null;
4303
+ contacts_count: number;
4304
+ created_at: string;
4305
+ updated_at: string;
4306
+ }
4307
+ interface CreateNoteInput {
4308
+ title: string;
4309
+ body: string;
4310
+ note_type?: string | null;
4311
+ pinned?: boolean | null;
4312
+ }
4313
+ interface UpdateNoteInput {
4314
+ title?: string;
4315
+ body?: string;
4316
+ note_type?: string | null;
4317
+ pinned?: boolean | null;
4318
+ }
4319
+ interface CreateTaskInput {
4320
+ body: string;
4321
+ due_at?: string | null;
4322
+ completed_at?: string | null;
4323
+ user_id?: number | null;
4324
+ }
4325
+ interface UpdateTaskInput {
4326
+ body?: string | null;
4327
+ due_at?: string | null;
4328
+ completed_at?: string | null;
4329
+ contact_id?: number | null;
4330
+ }
4331
+ interface CreateGroupInput {
4332
+ name: string;
4333
+ avatar?: string;
4334
+ avatar_background?: string;
4335
+ }
4336
+ interface UpdateGroupInput {
4337
+ name?: string;
4338
+ avatar?: string;
4339
+ avatar_background?: string;
4340
+ }
4341
+ //#endregion
4342
+ //#region ../../contacts/core/src/contacts-api.d.ts
4343
+ interface ContactsApi {
4344
+ getContact(id: string): Promise<{
4345
+ contact: Contact$1;
4346
+ }>;
4347
+ listContacts(params?: Record<string, unknown>): Promise<{
4348
+ contacts: Contact$1[];
4349
+ meta: PaginationMeta;
4350
+ }>;
4351
+ createContact(data: Record<string, unknown>): Promise<unknown>;
4352
+ updateContact(id: string, data: Record<string, unknown>): Promise<unknown>;
4353
+ deleteContact(id: string): Promise<unknown>;
4354
+ bulkDeleteContacts(ids: number[]): Promise<unknown>;
4355
+ listActivities?(contactId: string): Promise<{
4356
+ activities: ContactActivity[];
4357
+ meta: PaginationMeta;
4358
+ }>;
4359
+ markRead?(contactId: string): Promise<unknown>;
4360
+ listOrders?(contactId: string, params?: Record<string, unknown>): Promise<{
4361
+ orders: ContactOrder[];
4362
+ meta: PaginationMeta;
4363
+ }>;
4364
+ listSubscriptionOrders?(contactId: string, params?: Record<string, unknown>): Promise<{
4365
+ subscription_orders: ContactSubscriptionOrder[];
4366
+ meta: PaginationMeta;
4367
+ }>;
4368
+ }
4369
+ //#endregion
4370
+ //#region ../../contacts/core/src/notes-api.d.ts
4371
+ interface NotesApi {
4372
+ listNotes(contactId: string): Promise<{
4373
+ notes: ContactNote[];
4374
+ }>;
4375
+ createNote(contactId: string, input: CreateNoteInput): Promise<unknown>;
4376
+ updateNote(noteId: number, contactId: string, input: UpdateNoteInput): Promise<unknown>;
4377
+ deleteNote(noteId: number, contactId: string): Promise<unknown>;
4378
+ }
4379
+ //#endregion
4380
+ //#region ../../contacts/core/src/tasks-api.d.ts
4381
+ interface TasksApi {
4382
+ listTasks(contactId: string): Promise<{
4383
+ tasks: ContactTask[];
4384
+ }>;
4385
+ createTask(contactId: string, input: CreateTaskInput): Promise<unknown>;
4386
+ updateTask(taskId: number, contactId: string, input: UpdateTaskInput): Promise<unknown>;
4387
+ deleteTask(taskId: number, contactId: string): Promise<unknown>;
4388
+ }
4389
+ //#endregion
4390
+ //#region ../../contacts/core/src/groups-api.d.ts
4391
+ interface GroupsApi {
4392
+ listGroups(): Promise<{
4393
+ groups: ContactGroup[];
4394
+ }>;
4395
+ createGroup(input: CreateGroupInput): Promise<{
4396
+ group: ContactGroup;
4397
+ }>;
4398
+ updateGroup(groupId: number, input: UpdateGroupInput): Promise<{
4399
+ group: ContactGroup;
4400
+ }>;
4401
+ deleteGroup(groupId: number): Promise<unknown>;
4402
+ }
4403
+ //#endregion
4404
+ //#region ../../contacts/core/src/contacts-api-context.d.ts
4405
+ interface ContactsDomainApi {
4406
+ contacts: ContactsApi;
4407
+ notes: NotesApi;
4408
+ tasks: TasksApi;
4409
+ groups?: GroupsApi;
4410
+ }
4411
+ //#endregion
4106
4412
  //#region src/screens/ContactsScreen.d.ts
4107
4413
  type ContactsScreenProps = ComponentProps<"div"> & {
4414
+ api?: ContactsDomainApi;
4108
4415
  background?: BackgroundValue;
4109
4416
  textColor?: ColorOptions;
4110
4417
  accentColor?: ColorOptions;
@@ -4115,6 +4422,7 @@ type ContactsScreenProps = ComponentProps<"div"> & {
4115
4422
  onCreateContact?: () => void;
4116
4423
  };
4117
4424
  declare function ContactsScreen({
4425
+ api,
4118
4426
  onContactSelect,
4119
4427
  onCreateContact,
4120
4428
  background,