@fluid-app/rep-sdk 0.1.9 → 0.1.11

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 (85) hide show
  1. package/dist/ContactsScreen-CB6l0Lf1.mjs +24 -0
  2. package/dist/ContactsScreen-CB6l0Lf1.mjs.map +1 -0
  3. package/dist/ContactsScreen-UfrdOORn.cjs +41 -0
  4. package/dist/ContactsScreen-UfrdOORn.cjs.map +1 -0
  5. package/dist/CoreScreenPlaceholder-D93ZYKt2.mjs +32 -0
  6. package/dist/CoreScreenPlaceholder-D93ZYKt2.mjs.map +1 -0
  7. package/dist/CoreScreenPlaceholder-DBZqxDsK.cjs +38 -0
  8. package/dist/CoreScreenPlaceholder-DBZqxDsK.cjs.map +1 -0
  9. package/dist/CustomersScreen-BEar6Leg.mjs +24 -0
  10. package/dist/CustomersScreen-BEar6Leg.mjs.map +1 -0
  11. package/dist/CustomersScreen-DXXPpWZW.cjs +41 -0
  12. package/dist/CustomersScreen-DXXPpWZW.cjs.map +1 -0
  13. package/dist/MessagingScreen-CsDvKkLC.cjs +1458 -0
  14. package/dist/MessagingScreen-CsDvKkLC.cjs.map +1 -0
  15. package/dist/MessagingScreen-xO9YudMx.mjs +1285 -0
  16. package/dist/MessagingScreen-xO9YudMx.mjs.map +1 -0
  17. package/dist/OrdersScreen-DB1v051q.mjs +24 -0
  18. package/dist/OrdersScreen-DB1v051q.mjs.map +1 -0
  19. package/dist/OrdersScreen-fcxcnpNU.cjs +41 -0
  20. package/dist/OrdersScreen-fcxcnpNU.cjs.map +1 -0
  21. package/dist/ProductsScreen-BaEng3LB.cjs +41 -0
  22. package/dist/ProductsScreen-BaEng3LB.cjs.map +1 -0
  23. package/dist/ProductsScreen-nVDsY6kf.mjs +24 -0
  24. package/dist/ProductsScreen-nVDsY6kf.mjs.map +1 -0
  25. package/dist/chunk-D1SwGrFN.mjs +27 -0
  26. package/dist/index.cjs +3397 -2850
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.cts +1026 -955
  29. package/dist/index.d.cts.map +1 -0
  30. package/dist/index.d.mts +2207 -0
  31. package/dist/index.d.mts.map +1 -0
  32. package/dist/index.mjs +2921 -0
  33. package/dist/index.mjs.map +1 -0
  34. package/package.json +8 -8
  35. package/dist/ContactsScreen-7RGAMMGN.cjs +0 -18
  36. package/dist/ContactsScreen-7RGAMMGN.cjs.map +0 -1
  37. package/dist/ContactsScreen-XKZE5HTP.js +0 -5
  38. package/dist/ContactsScreen-XKZE5HTP.js.map +0 -1
  39. package/dist/CustomersScreen-BBQ3YHI4.js +0 -5
  40. package/dist/CustomersScreen-BBQ3YHI4.js.map +0 -1
  41. package/dist/CustomersScreen-EMGCQ2PV.cjs +0 -18
  42. package/dist/CustomersScreen-EMGCQ2PV.cjs.map +0 -1
  43. package/dist/MessagingScreen-I3GVOGKY.js +0 -4
  44. package/dist/MessagingScreen-I3GVOGKY.js.map +0 -1
  45. package/dist/MessagingScreen-ZRD4WEOE.cjs +0 -17
  46. package/dist/MessagingScreen-ZRD4WEOE.cjs.map +0 -1
  47. package/dist/OrdersScreen-ANDGND6F.js +0 -5
  48. package/dist/OrdersScreen-ANDGND6F.js.map +0 -1
  49. package/dist/OrdersScreen-NNE6OSRS.cjs +0 -18
  50. package/dist/OrdersScreen-NNE6OSRS.cjs.map +0 -1
  51. package/dist/ProductsScreen-5PMFLPWS.js +0 -5
  52. package/dist/ProductsScreen-5PMFLPWS.js.map +0 -1
  53. package/dist/ProductsScreen-ALQYD7ID.cjs +0 -18
  54. package/dist/ProductsScreen-ALQYD7ID.cjs.map +0 -1
  55. package/dist/chunk-2RIDFKS3.cjs +0 -19
  56. package/dist/chunk-2RIDFKS3.cjs.map +0 -1
  57. package/dist/chunk-424PT5DM.js +0 -21
  58. package/dist/chunk-424PT5DM.js.map +0 -1
  59. package/dist/chunk-4LTH3NNT.js +0 -16
  60. package/dist/chunk-4LTH3NNT.js.map +0 -1
  61. package/dist/chunk-4PHR2M6A.js +0 -14
  62. package/dist/chunk-4PHR2M6A.js.map +0 -1
  63. package/dist/chunk-EKMZ4NIA.cjs +0 -19
  64. package/dist/chunk-EKMZ4NIA.cjs.map +0 -1
  65. package/dist/chunk-HDQ2JUQT.cjs +0 -24
  66. package/dist/chunk-HDQ2JUQT.cjs.map +0 -1
  67. package/dist/chunk-HFPPHLOO.cjs +0 -19
  68. package/dist/chunk-HFPPHLOO.cjs.map +0 -1
  69. package/dist/chunk-HMOWQQDX.cjs +0 -19
  70. package/dist/chunk-HMOWQQDX.cjs.map +0 -1
  71. package/dist/chunk-JXEED3FK.js +0 -16
  72. package/dist/chunk-JXEED3FK.js.map +0 -1
  73. package/dist/chunk-LU42Y4H3.cjs +0 -1597
  74. package/dist/chunk-LU42Y4H3.cjs.map +0 -1
  75. package/dist/chunk-NGOEPTWZ.js +0 -16
  76. package/dist/chunk-NGOEPTWZ.js.map +0 -1
  77. package/dist/chunk-NNZKBXNB.cjs +0 -16
  78. package/dist/chunk-NNZKBXNB.cjs.map +0 -1
  79. package/dist/chunk-SYZUEL6B.js +0 -1538
  80. package/dist/chunk-SYZUEL6B.js.map +0 -1
  81. package/dist/chunk-TB6OK3WH.js +0 -16
  82. package/dist/chunk-TB6OK3WH.js.map +0 -1
  83. package/dist/index.d.ts +0 -2138
  84. package/dist/index.js +0 -2536
  85. package/dist/index.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,49 +1,44 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
- import react__default, { ReactNode, ComponentProps, ComponentType, AnchorHTMLAttributes } from 'react';
4
- import { QueryClient, UseQueryResult } from '@tanstack/react-query';
5
- import * as _fluid_app_api_client_core from '@fluid-app/api-client-core';
6
- import * as _fluid_app_rep_core_types from '@fluid-app/rep-core/types';
7
- import { WidgetSchema, ThemeDefinition, ScreenDefinition as ScreenDefinition$1, NavigationItem, RepAppData, BackgroundValue, ColorOptions, PaddingOptions, BorderRadiusOptions } from '@fluid-app/rep-core/types';
8
- export { AlignOptions, BackgroundType, BackgroundValue, BorderRadiusOptions, ButtonSizeOptions, ColorOptions, FontSizeOptions, GapOptions, NavigationItem, PaddingOptions, RepAppData, RepAppManifest, RepAppProfile, ResolvedTheme, SectionLayoutType, ShareableItem, ThemeColorInput, ThemeDefinition, ThemePayload, TypedWidgetSchema, WIDGET_TYPE_NAMES, WidgetPath, WidgetRegistry, WidgetSchema, WidgetType, WidgetTypeName, assertDefined, assertNever, isWidgetType, isWidgetTypeName, sectionLayoutConfig } from '@fluid-app/rep-core/types';
9
- import { RawApiTheme } from '@fluid-app/rep-core/theme';
10
- export { DEFAULT_COLORS, DEFAULT_FONT_FAMILIES, DEFAULT_FONT_SIZES, DEFAULT_RADII, DEFAULT_SPACING, DEFAULT_THEME_ID, DEFAULT_THEME_NAME, FONT_FAMILY_KEYS, FONT_SIZE_KEYS, FontFamilyKey, FontSizeKey, GenerateThemeCSSOptions, OklchPlain, RADIUS_KEYS, RadiusKey, RawApiTheme, ResolvedColorSet, ResolvedSemanticColor, SEMANTIC_COLOR_NAMES, SHADE_STEPS, SemanticColorName, ShadeStep, ThemeColorPlain, applyTheme, buildThemeDefinition, deriveDarkVariant, deserialiseTheme, generateShades, generateThemeCSS, getActiveThemeId, getDefaultThemeDefinition, getForegroundColor, mergeDarkOverrides, parseColor, removeAllThemes, removeTheme, resolveTheme, serialiseTheme, transformThemes } from '@fluid-app/rep-core/theme';
11
- import { components } from '@fluid-app/fluidos-api-client';
12
- import { FluidAuthConfig, FluidAuthContextValue } from '@fluid-app/auth';
13
- export { AUTH_CONSTANTS, DEFAULT_AUTH_URL, FluidAuthConfig, FluidAuthContextValue, JWTPayload, STORAGE_KEYS, TokenValidationResult, URL_PARAMS, USER_TYPES, UserType, cleanTokenFromUrl, clearTokens, createDefaultAuthRedirect, decodeToken, extractAllTokensFromUrl, extractCompanyTokenFromUrl, extractTokenFromUrl, getStoredToken, getTokenExpiration, getTokenTimeRemaining, hasStoredToken, hasTokenInUrl, isTokenExpired, isUserType, isValidToken, storeToken, validateToken } from '@fluid-app/auth';
14
- import { MessagingAuthContext, FileUploader } from '@fluid-app/messaging-core';
15
- export { FileUploader, MessagingAuthContext, MessagingCurrentUser, UploadCallbacks, UploadResult } from '@fluid-app/messaging-core';
16
- import { MessagingApiConfig } from '@fluid-app/messaging-api-client';
17
- import { AlertWidget, CalendarWidget, CarouselWidget, CatchUpWidget, ChartWidget, ContainerWidget, EmbedWidget, ImageWidget, ListWidget, MySiteWidget, NestedWidget, QuickShareWidget, RecentActivityWidget, SpacerWidget, TableWidget, TextWidget, ToDoWidget, VideoWidget } from '@fluid-app/rep-widgets/widgets';
18
- export { AlertWidget, CalendarWidget, CarouselWidget, CatchUpWidget, ChartWidget, ContainerWidget, EmbedWidget, ImageWidget, LayoutWidget, ListWidget, MySiteWidget, NestedWidget, QuickShareWidget, RecentActivityWidget, SpacerWidget, TableWidget, TextWidget, ToDoWidget, VideoWidget, alertWidgetPropertySchema, calendarWidgetPropertySchema, carouselWidgetPropertySchema, catchUpWidgetPropertySchema, chartWidgetPropertySchema, containerWidgetPropertySchema, embedWidgetPropertySchema, imageWidgetPropertySchema, layoutWidgetPropertySchema, listWidgetPropertySchema, mySiteWidgetPropertySchema, nestedWidgetPropertySchema, quickShareWidgetPropertySchema, recentActivityWidgetPropertySchema, spacerWidgetPropertySchema, tableWidgetPropertySchema, textWidgetPropertySchema, toDoWidgetPropertySchema, videoWidgetPropertySchema, widgetPropertySchemas } from '@fluid-app/rep-widgets/widgets';
19
- import * as _fluid_app_rep_core_registries from '@fluid-app/rep-core/registries';
20
- import { WidgetPropertySchema } from '@fluid-app/rep-core/registries';
21
- export { PROPERTY_FIELD_TYPES, PropertyFieldSchema, PropertyFieldType, TabConfig, WidgetPropertySchema, gapValues, isPropertyFieldType } from '@fluid-app/rep-core/registries';
22
- export { createScreen, createWidgetFromShareable, createWidgetRegistry, groupChildrenByColumn } from '@fluid-app/rep-core/widget-utils';
23
- export { ThemeMode, ThemeModeProvider, getThemeModeAttribute, useThemeMode } from '@fluid-app/rep-core/shell/ThemeModeContext';
24
-
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react from "react";
3
+ import React$1, { AnchorHTMLAttributes, ComponentProps, ComponentType, ReactNode } from "react";
4
+ import { QueryClient, UseQueryResult } from "@tanstack/react-query";
5
+ import * as _fluid_app_rep_core_types0 from "@fluid-app/rep-core/types";
6
+ import { AlignOptions, BackgroundType, BackgroundValue, BorderRadiusOptions, ButtonSizeOptions, ColorOptions, FontSizeOptions, GapOptions, NavigationItem, NavigationItem as NavigationItem$1, PaddingOptions, RepAppData, RepAppData as RepAppData$1, RepAppManifest, RepAppProfile, ResolvedTheme, ScreenDefinition as ScreenDefinition$1, SectionLayoutType, ShareableItem, ThemeColorInput, ThemeDefinition, ThemePayload, TypedWidgetSchema, WIDGET_TYPE_NAMES, WidgetPath, WidgetRegistry, WidgetSchema, WidgetSchema as WidgetSchema$1, WidgetType, WidgetTypeName, assertDefined, assertNever, isWidgetType, isWidgetTypeName, sectionLayoutConfig } from "@fluid-app/rep-core/types";
7
+ import { RawApiTheme, RawApiTheme as RawApiTheme$1, buildThemeDefinition, getActiveThemeId, transformThemes } from "@fluid-app/rep-core/theme";
8
+ import { AUTH_CONSTANTS, DEFAULT_AUTH_URL, FluidAuthConfig, FluidAuthContextValue, JWTPayload, STORAGE_KEYS, TokenValidationResult, URL_PARAMS, USER_TYPES, UserType, cleanTokenFromUrl, clearTokens, createDefaultAuthRedirect, decodeToken, extractAllTokensFromUrl, extractCompanyTokenFromUrl, extractTokenFromUrl, getStoredToken, getTokenExpiration, getTokenTimeRemaining, hasStoredToken, hasTokenInUrl, isTokenExpired, isUserType, isValidToken, storeToken, validateToken } from "@fluid-app/auth";
9
+ import { FileUploader, FileUploader as FileUploader$1, MessagingAuthContext, MessagingAuthContext as MessagingAuthContext$1, MessagingCurrentUser, UploadCallbacks, UploadResult } from "@fluid-app/messaging-core";
10
+ import { MessagingApiConfig } from "@fluid-app/messaging-api-client";
11
+ import { AlertWidget, AlertWidget as AlertWidget$1, CalendarWidget, CalendarWidget as CalendarWidget$1, CarouselWidget, CarouselWidget as CarouselWidget$1, CatchUpWidget, CatchUpWidget as CatchUpWidget$1, ChartWidget, ChartWidget as ChartWidget$1, ContainerWidget, ContainerWidget as ContainerWidget$1, EmbedWidget, EmbedWidget as EmbedWidget$1, ImageWidget, ImageWidget as ImageWidget$1, LayoutWidget, ListWidget, ListWidget as ListWidget$1, MySiteWidget, MySiteWidget as MySiteWidget$1, NestedWidget, NestedWidget as NestedWidget$1, QuickShareWidget, QuickShareWidget as QuickShareWidget$1, RecentActivityWidget, RecentActivityWidget as RecentActivityWidget$1, SpacerWidget, SpacerWidget as SpacerWidget$1, TableWidget, TableWidget as TableWidget$1, TextWidget, TextWidget as TextWidget$1, ToDoWidget, ToDoWidget as ToDoWidget$1, VideoWidget, VideoWidget as VideoWidget$1, alertWidgetPropertySchema, calendarWidgetPropertySchema, carouselWidgetPropertySchema, catchUpWidgetPropertySchema, chartWidgetPropertySchema, containerWidgetPropertySchema, embedWidgetPropertySchema, imageWidgetPropertySchema, layoutWidgetPropertySchema, listWidgetPropertySchema, mySiteWidgetPropertySchema, nestedWidgetPropertySchema, quickShareWidgetPropertySchema, recentActivityWidgetPropertySchema, spacerWidgetPropertySchema, tableWidgetPropertySchema, textWidgetPropertySchema, toDoWidgetPropertySchema, videoWidgetPropertySchema, widgetPropertySchemas } from "@fluid-app/rep-widgets/widgets";
12
+ import * as _fluid_app_rep_core_registries0 from "@fluid-app/rep-core/registries";
13
+ import { PROPERTY_FIELD_TYPES, PropertyFieldSchema, PropertyFieldType, TabConfig, WidgetPropertySchema, gapValues, isPropertyFieldType } from "@fluid-app/rep-core/registries";
14
+ import { createScreen, createWidgetFromShareable, createWidgetRegistry, groupChildrenByColumn } from "@fluid-app/rep-core/widget-utils";
15
+ import { ThemeMode, ThemeModeProvider, getThemeModeAttribute, useThemeMode } from "@fluid-app/rep-core/shell/ThemeModeContext";
16
+
17
+ //#region \0rolldown/runtime.js
18
+ //#endregion
19
+ //#region src/types/rep.d.ts
25
20
  /**
26
21
  * Rep (sales representative) user profile
27
22
  */
28
23
  interface Rep {
29
- readonly id: string;
30
- email: string;
31
- first_name: string;
32
- last_name: string;
33
- avatar_url?: string;
34
- phone?: string;
35
- readonly company_id: string;
36
- readonly created_at: string;
37
- readonly updated_at: string;
24
+ readonly id: string;
25
+ email: string;
26
+ first_name: string;
27
+ last_name: string;
28
+ avatar_url?: string;
29
+ phone?: string;
30
+ readonly company_id: string;
31
+ readonly created_at: string;
32
+ readonly updated_at: string;
38
33
  }
39
34
  /**
40
35
  * Data for updating a rep's profile
41
36
  */
42
37
  interface UpdateRepData {
43
- first_name?: string;
44
- last_name?: string;
45
- avatar_url?: string;
46
- phone?: string;
38
+ first_name?: string;
39
+ last_name?: string;
40
+ avatar_url?: string;
41
+ phone?: string;
47
42
  }
48
43
  /**
49
44
  * Current user profile from GET /api/me endpoint.
@@ -51,124 +46,128 @@ interface UpdateRepData {
51
46
  * Field names match the Rails API response (snake_case).
52
47
  */
53
48
  interface UserMe {
54
- readonly id: number;
55
- readonly first_name: string | null;
56
- readonly last_name: string | null;
57
- readonly email: string;
58
- readonly image_url: string | null;
59
- readonly jwt: string;
60
- readonly recipient_id: number | null;
61
- readonly company_id?: number;
62
- readonly affiliate_id: number | null;
63
- }
64
-
49
+ readonly id: number;
50
+ readonly first_name: string | null;
51
+ readonly last_name: string | null;
52
+ readonly email: string;
53
+ readonly image_url: string | null;
54
+ readonly jwt: string;
55
+ readonly recipient_id: number | null;
56
+ readonly company_id?: number;
57
+ readonly affiliate_id: number | null;
58
+ }
59
+ //#endregion
60
+ //#region src/types/page-template.d.ts
65
61
  /**
66
62
  * Category for organizing page templates in the registry
67
63
  */
68
64
  interface PageCategory {
69
- /** Unique identifier for the category */
70
- readonly id: string;
71
- /** Display label */
72
- label: string;
73
- /** Icon identifier (e.g., lucide icon name) */
74
- icon?: string;
65
+ /** Unique identifier for the category */
66
+ readonly id: string;
67
+ /** Display label */
68
+ label: string;
69
+ /** Icon identifier (e.g., lucide icon name) */
70
+ icon?: string;
75
71
  }
76
72
  /**
77
73
  * A reusable page template that can be shared across multiple navigations
78
74
  */
79
75
  interface PageTemplate {
80
- /** Unique identifier for the template */
81
- readonly id: string;
82
- /** URL-friendly slug */
83
- slug: string;
84
- /** Display name */
85
- name: string;
86
- /** Description of the template's purpose */
87
- description?: string;
88
- /** Category ID for organization */
89
- category: string;
90
- /** Tags for filtering and search */
91
- tags?: readonly string[];
92
- /** The widget tree that defines the page content */
93
- component_tree: readonly WidgetSchema[];
94
- /** Semantic version of the template */
95
- version: string;
96
- /** Whether this is a core feature that cannot be removed */
97
- isCore?: boolean;
98
- /** Default prop values that can be customized */
99
- defaultProps?: Readonly<Record<string, unknown>>;
100
- /** Thumbnail image URL for UI display */
101
- thumbnail?: string;
76
+ /** Unique identifier for the template */
77
+ readonly id: string;
78
+ /** URL-friendly slug */
79
+ slug: string;
80
+ /** Display name */
81
+ name: string;
82
+ /** Description of the template's purpose */
83
+ description?: string;
84
+ /** Category ID for organization */
85
+ category: string;
86
+ /** Tags for filtering and search */
87
+ tags?: readonly string[];
88
+ /** The widget tree that defines the page content */
89
+ component_tree: readonly WidgetSchema[];
90
+ /** Semantic version of the template */
91
+ version: string;
92
+ /** Whether this is a core feature that cannot be removed */
93
+ isCore?: boolean;
94
+ /** Default prop values that can be customized */
95
+ defaultProps?: Readonly<Record<string, unknown>>;
96
+ /** Thumbnail image URL for UI display */
97
+ thumbnail?: string;
102
98
  }
103
99
  /**
104
100
  * Reference to a shared page template within a navigation
105
101
  */
106
102
  interface PageReference {
107
- /** ID of the page template being referenced */
108
- page_template_id: string;
109
- /** Screen ID to assign to this page in the navigation */
110
- screen_id: number;
111
- /** Optional prop overrides (only prop values, not widget structure) */
112
- overrides?: readonly PageOverride[];
103
+ /** ID of the page template being referenced */
104
+ page_template_id: string;
105
+ /** Screen ID to assign to this page in the navigation */
106
+ screen_id: number;
107
+ /** Optional prop overrides (only prop values, not widget structure) */
108
+ overrides?: readonly PageOverride[];
113
109
  }
114
110
  /**
115
111
  * Override for a specific widget's props within a page template
116
112
  */
117
113
  interface PageOverride {
118
- /** ID of the widget to override (must match WidgetSchema.id in the template) */
119
- readonly widget_id: string;
120
- /** Props to override (merged with original props) */
121
- props: Readonly<Record<string, unknown>>;
114
+ /** ID of the widget to override (must match WidgetSchema.id in the template) */
115
+ readonly widget_id: string;
116
+ /** Props to override (merged with original props) */
117
+ props: Readonly<Record<string, unknown>>;
122
118
  }
123
119
  /**
124
120
  * Built-in page category IDs
125
121
  */
126
122
  declare const PAGE_CATEGORIES: {
127
- readonly CORE: "core";
128
- readonly COMMERCE: "commerce";
129
- readonly COMMUNICATION: "communication";
130
- readonly DATA: "data";
131
- readonly CUSTOM: "custom";
123
+ readonly CORE: "core";
124
+ readonly COMMERCE: "commerce";
125
+ readonly COMMUNICATION: "communication";
126
+ readonly DATA: "data";
127
+ readonly CUSTOM: "custom";
132
128
  };
133
129
  type PageCategoryId = (typeof PAGE_CATEGORIES)[keyof typeof PAGE_CATEGORIES];
134
-
130
+ //#endregion
131
+ //#region src/types/navigation.d.ts
135
132
  /**
136
133
  * Screen definition with its component tree
137
134
  */
138
135
  interface ScreenDefinition {
139
- readonly id: number;
140
- slug: string;
141
- name: string;
142
- component_tree: WidgetSchema[];
136
+ readonly id: number;
137
+ slug: string;
138
+ name: string;
139
+ component_tree: WidgetSchema[];
143
140
  }
144
141
  /**
145
142
  * Navigation configuration for the rep portal
146
143
  */
147
144
  interface Navigation {
148
- readonly definition_id: number;
149
- readonly id: number;
150
- name: string;
151
- navigation_items: _fluid_app_rep_core_types.NavigationItem[];
152
- /** Local screen definitions (for backwards compatibility and custom screens) */
153
- screens: ScreenDefinition[];
154
- /** References to shared page templates from the registry */
155
- page_refs?: PageReference[];
156
- }
157
-
145
+ readonly definition_id: number;
146
+ readonly id: number;
147
+ name: string;
148
+ navigation_items: _fluid_app_rep_core_types0.NavigationItem[];
149
+ /** Local screen definitions (for backwards compatibility and custom screens) */
150
+ screens: ScreenDefinition[];
151
+ /** References to shared page templates from the registry */
152
+ page_refs?: PageReference[];
153
+ }
154
+ //#endregion
155
+ //#region src/types/profile.d.ts
158
156
  /**
159
157
  * Rep portal profile containing themes and navigation configuration
160
158
  */
161
159
  interface Profile {
162
- /** Profile name */
163
- name: string;
164
- /** Available themes for the portal */
165
- themes: ThemeDefinition[];
166
- /** Navigation structure and screens */
167
- navigation: Navigation;
168
- /** Portal definition ID */
169
- readonly definition_id: number;
170
- }
171
-
160
+ /** Profile name */
161
+ name: string;
162
+ /** Available themes for the portal */
163
+ themes: ThemeDefinition[];
164
+ /** Navigation structure and screens */
165
+ navigation: Navigation;
166
+ /** Portal definition ID */
167
+ readonly definition_id: number;
168
+ }
169
+ //#endregion
170
+ //#region src/types/permissions.d.ts
172
171
  /**
173
172
  * Standard permission action constants.
174
173
  * Use these constants instead of string literals for type safety.
@@ -179,14 +178,14 @@ interface Profile {
179
178
  * ```
180
179
  */
181
180
  declare const PERMISSION_ACTIONS: {
182
- readonly view: "view";
183
- readonly create: "create";
184
- readonly update: "update";
185
- readonly delete: "delete";
186
- readonly settings: "settings";
187
- readonly add: "add";
188
- readonly manage: "manage";
189
- readonly send: "send";
181
+ readonly view: "view";
182
+ readonly create: "create";
183
+ readonly update: "update";
184
+ readonly delete: "delete";
185
+ readonly settings: "settings";
186
+ readonly add: "add";
187
+ readonly manage: "manage";
188
+ readonly send: "send";
190
189
  };
191
190
  /**
192
191
  * Union type of standard permission actions.
@@ -198,16 +197,16 @@ type PermissionAction = (typeof PERMISSION_ACTIONS)[keyof typeof PERMISSION_ACTI
198
197
  * Known actions have explicit properties; index signature allows custom actions.
199
198
  */
200
199
  interface ResourcePermissions {
201
- readonly view?: boolean;
202
- readonly create?: boolean;
203
- readonly update?: boolean;
204
- readonly delete?: boolean;
205
- readonly settings?: boolean;
206
- readonly add?: boolean;
207
- readonly manage?: boolean;
208
- readonly send?: boolean;
209
- /** Allow custom action keys beyond the standard set */
210
- readonly [key: string]: boolean | undefined;
200
+ readonly view?: boolean;
201
+ readonly create?: boolean;
202
+ readonly update?: boolean;
203
+ readonly delete?: boolean;
204
+ readonly settings?: boolean;
205
+ readonly add?: boolean;
206
+ readonly manage?: boolean;
207
+ readonly send?: boolean;
208
+ /** Allow custom action keys beyond the standard set */
209
+ readonly [key: string]: boolean | undefined;
211
210
  }
212
211
  /**
213
212
  * Map of resource names to their permissions
@@ -217,24 +216,25 @@ type Permissions = Record<string, ResourcePermissions>;
217
216
  * User's complete permission profile
218
217
  */
219
218
  interface UserPermissions {
220
- /** Resource permission mappings */
221
- permissions: Permissions;
222
- /** User's assigned roles */
223
- roles: readonly string[];
224
- /** Super admin bypass flag */
225
- is_super_admin: boolean;
219
+ /** Resource permission mappings */
220
+ permissions: Permissions;
221
+ /** User's assigned roles */
222
+ roles: readonly string[];
223
+ /** Super admin bypass flag */
224
+ is_super_admin: boolean;
226
225
  }
227
-
226
+ //#endregion
227
+ //#region src/client/types.d.ts
228
228
  /**
229
229
  * HTTP methods supported by the API client.
230
230
  * Use `as const` for literal type inference and type safety.
231
231
  */
232
232
  declare const HTTP_METHODS: {
233
- readonly GET: "GET";
234
- readonly POST: "POST";
235
- readonly PUT: "PUT";
236
- readonly PATCH: "PATCH";
237
- readonly DELETE: "DELETE";
233
+ readonly GET: "GET";
234
+ readonly POST: "POST";
235
+ readonly PUT: "PUT";
236
+ readonly PATCH: "PATCH";
237
+ readonly DELETE: "DELETE";
238
238
  };
239
239
  /**
240
240
  * Union type of all supported HTTP methods.
@@ -246,64 +246,64 @@ type HttpMethod = (typeof HTTP_METHODS)[keyof typeof HTTP_METHODS];
246
246
  * Use Readonly<FluidSDKConfig> when the config should not be modified after creation.
247
247
  */
248
248
  interface FluidSDKConfig {
249
- /**
250
- * Base URL for API requests.
251
- * Accepts either the domain root (e.g., "https://api.fluid.app") or
252
- * with the /api path (e.g., "https://api.fluid.app/api").
253
- * The SDK normalizes internally for each consumer.
254
- */
255
- readonly baseUrl: string;
256
- /**
257
- * Function to retrieve the authentication token
258
- * Return null/undefined if no token is available
259
- */
260
- readonly getAuthToken?: () => string | null | Promise<string | null>;
261
- /**
262
- * Callback invoked when a 401 authentication error occurs
263
- * Use this to trigger re-authentication flows
264
- */
265
- readonly onAuthError?: () => void;
266
- /**
267
- * Default headers to include in all requests
268
- * Example: { "x-fluid-client": "rep-portal" }
269
- */
270
- readonly defaultHeaders?: Readonly<Record<string, string>>;
271
- /**
272
- * Filestack API key for messaging file uploads.
273
- * If not provided, file attachments will be disabled in the messaging composer.
274
- */
275
- readonly filestackApiKey?: string;
276
- /**
277
- * Override WebSocket URL for real-time messaging.
278
- * Default: derived from baseUrl by replacing trailing /api with /cable
279
- */
280
- readonly websocketUrl?: string;
249
+ /**
250
+ * Base URL for API requests.
251
+ * Accepts either the domain root (e.g., "https://api.fluid.app") or
252
+ * with the /api path (e.g., "https://api.fluid.app/api").
253
+ * The SDK normalizes internally for each consumer.
254
+ */
255
+ readonly baseUrl: string;
256
+ /**
257
+ * Function to retrieve the authentication token
258
+ * Return null/undefined if no token is available
259
+ */
260
+ readonly getAuthToken?: () => string | null | Promise<string | null>;
261
+ /**
262
+ * Callback invoked when a 401 authentication error occurs
263
+ * Use this to trigger re-authentication flows
264
+ */
265
+ readonly onAuthError?: () => void;
266
+ /**
267
+ * Default headers to include in all requests
268
+ * Example: { "x-fluid-client": "rep-portal" }
269
+ */
270
+ readonly defaultHeaders?: Readonly<Record<string, string>>;
271
+ /**
272
+ * Filestack API key for messaging file uploads.
273
+ * If not provided, file attachments will be disabled in the messaging composer.
274
+ */
275
+ readonly filestackApiKey?: string;
276
+ /**
277
+ * Override WebSocket URL for real-time messaging.
278
+ * Default: derived from baseUrl by replacing trailing /api with /cable
279
+ */
280
+ readonly websocketUrl?: string;
281
281
  }
282
282
  /**
283
283
  * Options for individual API requests.
284
284
  * Uses HttpMethod type for method to ensure type safety.
285
285
  */
286
286
  interface RequestOptions {
287
- readonly method?: HttpMethod;
288
- readonly body?: unknown;
289
- readonly params?: Readonly<Record<string, unknown>>;
290
- readonly headers?: Readonly<Record<string, string>>;
291
- readonly signal?: AbortSignal;
287
+ readonly method?: HttpMethod;
288
+ readonly body?: unknown;
289
+ readonly params?: Readonly<Record<string, unknown>>;
290
+ readonly headers?: Readonly<Record<string, string>>;
291
+ readonly signal?: AbortSignal;
292
292
  }
293
293
  /**
294
294
  * Pagination parameters for list endpoints
295
295
  */
296
296
  interface PaginationParams {
297
- readonly page?: number;
298
- readonly per_page?: number;
297
+ readonly page?: number;
298
+ readonly per_page?: number;
299
299
  }
300
300
  /**
301
301
  * Sort order constant - single source of truth for sort direction values.
302
302
  * Use SORT_ORDERS.asc instead of "asc" for type-safe comparisons.
303
303
  */
304
304
  declare const SORT_ORDERS: {
305
- readonly asc: "asc";
306
- readonly desc: "desc";
305
+ readonly asc: "asc";
306
+ readonly desc: "desc";
307
307
  };
308
308
  /**
309
309
  * Union type of sort order values, derived from SORT_ORDERS constant.
@@ -314,88 +314,65 @@ type SortOrder = (typeof SORT_ORDERS)[keyof typeof SORT_ORDERS];
314
314
  * Common filter parameters for list endpoints
315
315
  */
316
316
  interface BaseListParams extends PaginationParams {
317
- readonly sort_by?: string;
318
- readonly sort_order?: SortOrder;
319
- readonly search?: string;
317
+ readonly sort_by?: string;
318
+ readonly sort_order?: SortOrder;
319
+ readonly search?: string;
320
320
  }
321
-
322
- /**
323
- * Screen Transforms
324
- * Convert FluidOS API screen objects to ScreenDefinition format.
325
- *
326
- * Extracted from:
327
- * - apps/fluid-admin/networking/app-builder/app-screens/types.ts
328
- * - apps/fluid-admin/networking/reps/screens.api.ts
329
- */
330
-
321
+ //#endregion
322
+ //#region src/transforms/screen-transforms.d.ts
331
323
  /** Raw screen from the FluidOS API */
332
324
  interface RawApiScreen {
333
- id: number | string;
334
- definition_id?: number | string;
335
- name?: string | null;
336
- slug?: string | null;
337
- component_tree?: unknown;
325
+ id: number | string;
326
+ definition_id?: number | string;
327
+ name?: string | null;
328
+ slug?: string | null;
329
+ component_tree?: unknown;
338
330
  }
339
331
  /**
340
332
  * Normalize component_tree to always be an array.
341
333
  * The API stores component_tree as a hash (object), but the frontend expects an array.
342
334
  */
343
- declare function normalizeComponentTree(componentTree: unknown): WidgetSchema[];
335
+ declare function normalizeComponentTree(componentTree: unknown): WidgetSchema$1[];
344
336
  /**
345
337
  * Convert a raw FluidOS screen to ScreenDefinition.
346
338
  * Normalizes component_tree and converts string IDs to numbers.
347
339
  */
348
340
  declare function toScreenDefinition(screen: RawApiScreen): ScreenDefinition$1;
349
-
350
- /**
351
- * Navigation Transforms
352
- * Convert FluidOS API navigation items to NavigationItem format.
353
- *
354
- * Extracted from:
355
- * - apps/fluid-admin/networking/app-builder/app-navigation-items/types.ts
356
- * - apps/fluid-admin/networking/reps/screens.api.ts
357
- */
358
-
341
+ //#endregion
342
+ //#region src/transforms/navigation-transforms.d.ts
359
343
  /** Raw navigation item from the FluidOS API (derived from generated types) */
360
344
  type RawApiNavigationItem = components["schemas"]["FluidOSNavigationItem"];
361
345
  /**
362
346
  * Convert a raw FluidOS navigation item to NavigationItem.
363
347
  * Recursively transforms children and sorts by position.
364
348
  */
365
- declare function toNavigationItem(item: RawApiNavigationItem): NavigationItem;
366
-
367
- /**
368
- * Data Transforms
369
- * Convert FluidOS API responses to RepAppData format.
370
- *
371
- * This is the main entry point for all transforms used by the SDK client
372
- * and hooks when fetching from the fluidos API.
373
- */
374
-
349
+ declare function toNavigationItem(item: RawApiNavigationItem): NavigationItem$1;
350
+ //#endregion
351
+ //#region src/transforms/index.d.ts
375
352
  /** Raw manifest shape from the `/fluid_os/definitions/active` API response */
376
353
  interface RawManifestResponse {
377
- manifest: {
354
+ manifest: {
355
+ definition_id: number;
356
+ published_version?: number;
357
+ screens?: RawApiScreen[];
358
+ profile?: {
359
+ name?: string;
360
+ definition_id: number;
361
+ themes?: RawApiTheme$1[];
362
+ navigation?: {
363
+ id: number;
364
+ name?: string;
365
+ definition_id: number;
366
+ navigation_items?: RawApiNavigationItem[];
367
+ };
368
+ mobile_navigation?: {
369
+ id: number;
370
+ name?: string;
378
371
  definition_id: number;
379
- published_version?: number;
380
- screens?: RawApiScreen[];
381
- profile?: {
382
- name?: string;
383
- definition_id: number;
384
- themes?: RawApiTheme[];
385
- navigation?: {
386
- id: number;
387
- name?: string;
388
- definition_id: number;
389
- navigation_items?: RawApiNavigationItem[];
390
- };
391
- mobile_navigation?: {
392
- id: number;
393
- name?: string;
394
- definition_id: number;
395
- navigation_items?: RawApiNavigationItem[];
396
- };
397
- };
372
+ navigation_items?: RawApiNavigationItem[];
373
+ };
398
374
  };
375
+ };
399
376
  }
400
377
  /**
401
378
  * Transform a raw FluidOS manifest API response into RepAppData.
@@ -406,21 +383,22 @@ interface RawManifestResponse {
406
383
  * - Screen normalization (component_tree array wrapping)
407
384
  * - Navigation item transformation (recursive with position sorting)
408
385
  */
409
- declare function transformManifestToRepAppData(response: RawManifestResponse): RepAppData;
410
-
386
+ declare function transformManifestToRepAppData(response: RawManifestResponse): RepAppData$1;
387
+ //#endregion
388
+ //#region src/client/fluid-client.d.ts
411
389
  /**
412
390
  * API Error class for structured error handling
413
391
  */
414
392
  declare class ApiError extends Error {
415
- readonly status: number;
416
- readonly data: unknown;
417
- constructor(message: string, status: number, data?: unknown);
418
- toJSON(): {
419
- name: string;
420
- message: string;
421
- status: number;
422
- data: unknown;
423
- };
393
+ readonly status: number;
394
+ readonly data: unknown;
395
+ constructor(message: string, status: number, data?: unknown);
396
+ toJSON(): {
397
+ name: string;
398
+ message: string;
399
+ status: number;
400
+ data: unknown;
401
+ };
424
402
  }
425
403
  /**
426
404
  * Type guard for ApiError
@@ -431,183 +409,182 @@ declare function isApiError(error: unknown): error is ApiError;
431
409
  * Use `isApiSuccess` and `isApiFailure` type guards to narrow.
432
410
  */
433
411
  type ApiResult<T> = {
434
- readonly success: true;
435
- readonly data: T;
412
+ readonly success: true;
413
+ readonly data: T;
436
414
  } | {
437
- readonly success: false;
438
- readonly error: ApiError;
415
+ readonly success: false;
416
+ readonly error: ApiError;
439
417
  };
440
418
  interface Product {
441
- readonly id: number;
442
- readonly title: string;
443
- readonly sku?: string | null;
444
- readonly price: string | number;
445
- readonly description?: string | null;
446
- readonly image_url?: string;
447
- readonly status?: string;
448
- readonly active?: boolean;
449
- readonly slug?: string;
450
- readonly in_stock?: boolean;
451
- readonly display_price?: string;
452
- readonly currency_code?: string;
453
- readonly updated_at?: string;
419
+ readonly id: number;
420
+ readonly title: string;
421
+ readonly sku?: string | null;
422
+ readonly price: string | number;
423
+ readonly description?: string | null;
424
+ readonly image_url?: string;
425
+ readonly status?: string;
426
+ readonly active?: boolean;
427
+ readonly slug?: string;
428
+ readonly in_stock?: boolean;
429
+ readonly display_price?: string;
430
+ readonly currency_code?: string;
431
+ readonly updated_at?: string;
454
432
  }
455
433
  interface ProductListParams extends BaseListParams {
456
- readonly search_query?: string;
457
- readonly status?: readonly ("active" | "draft" | "archived" | "all")[];
458
- readonly category_id?: string;
459
- readonly category_ids?: readonly number[];
460
- readonly collection_id?: string;
461
- readonly collection_ids?: readonly number[];
462
- readonly order_by?: readonly string[];
463
- readonly country_code?: readonly string[];
464
- readonly published_stores?: readonly ("retail" | "rep")[];
434
+ readonly search_query?: string;
435
+ readonly status?: readonly ("active" | "draft" | "archived" | "all")[];
436
+ readonly category_id?: string;
437
+ readonly category_ids?: readonly number[];
438
+ readonly collection_id?: string;
439
+ readonly collection_ids?: readonly number[];
440
+ readonly order_by?: readonly string[];
441
+ readonly country_code?: readonly string[];
442
+ readonly published_stores?: readonly ("retail" | "rep")[];
465
443
  }
466
444
  interface ProductsResponse {
467
- readonly products: readonly Product[];
468
- readonly meta: {
469
- readonly request_id: string;
470
- readonly timestamp: string;
471
- readonly pagination?: {
472
- readonly current_page: number;
473
- readonly per_page: number;
474
- readonly total_pages: number;
475
- readonly total_count: number;
476
- };
445
+ readonly products: readonly Product[];
446
+ readonly meta: {
447
+ readonly request_id: string;
448
+ readonly timestamp: string;
449
+ readonly pagination?: {
450
+ readonly current_page: number;
451
+ readonly per_page: number;
452
+ readonly total_pages: number;
453
+ readonly total_count: number;
477
454
  };
455
+ };
478
456
  }
479
457
  interface Order {
480
- readonly id: string;
481
- readonly order_number: string;
482
- readonly status: string;
483
- readonly total: number;
484
- readonly customer_id: string;
485
- readonly rep_id?: string;
486
- readonly created_at: string;
487
- readonly updated_at: string;
458
+ readonly id: string;
459
+ readonly order_number: string;
460
+ readonly status: string;
461
+ readonly total: number;
462
+ readonly customer_id: string;
463
+ readonly rep_id?: string;
464
+ readonly created_at: string;
465
+ readonly updated_at: string;
488
466
  }
489
467
  interface OrderListParams extends BaseListParams {
490
- readonly status?: string;
491
- readonly customer_id?: string;
492
- readonly date_from?: string;
493
- readonly date_to?: string;
468
+ readonly status?: string;
469
+ readonly customer_id?: string;
470
+ readonly date_from?: string;
471
+ readonly date_to?: string;
494
472
  }
495
473
  interface CreateOrderData {
496
- readonly customer_id: string;
497
- readonly line_items: readonly OrderLineItem[];
498
- readonly notes?: string;
474
+ readonly customer_id: string;
475
+ readonly line_items: readonly OrderLineItem[];
476
+ readonly notes?: string;
499
477
  }
500
478
  interface OrderLineItem {
501
- readonly product_id: string;
502
- readonly quantity: number;
503
- readonly price?: number;
479
+ readonly product_id: string;
480
+ readonly quantity: number;
481
+ readonly price?: number;
504
482
  }
505
483
  interface DashboardData {
506
- readonly total_sales: number;
507
- readonly total_orders: number;
508
- readonly total_customers: number;
509
- readonly recent_orders: readonly Order[];
484
+ readonly total_sales: number;
485
+ readonly total_orders: number;
486
+ readonly total_customers: number;
487
+ readonly recent_orders: readonly Order[];
510
488
  }
511
489
  interface SalesParams {
512
- readonly date_from?: string;
513
- readonly date_to?: string;
514
- readonly group_by?: "day" | "week" | "month";
490
+ readonly date_from?: string;
491
+ readonly date_to?: string;
492
+ readonly group_by?: "day" | "week" | "month";
515
493
  }
516
494
  interface SalesData {
517
- readonly total: number;
518
- readonly data: readonly SalesDataPoint[];
495
+ readonly total: number;
496
+ readonly data: readonly SalesDataPoint[];
519
497
  }
520
498
  interface SalesDataPoint {
521
- readonly date: string;
522
- readonly amount: number;
523
- readonly orders: number;
499
+ readonly date: string;
500
+ readonly amount: number;
501
+ readonly orders: number;
524
502
  }
525
503
  /**
526
504
  * Creates a configured Fluid API client instance
527
505
  */
528
506
  declare function createFluidClient(config: FluidSDKConfig): {
529
- fetchClient: {
530
- request: <TResponse = unknown>(endpoint: string, options?: _fluid_app_api_client_core.RequestOptions) => Promise<TResponse>;
531
- requestWithFormData: <TResponse = unknown>(endpoint: string, formData: FormData, options?: Omit<_fluid_app_api_client_core.RequestOptions, "body" | "params"> & {
532
- method?: "POST" | "PUT" | "PATCH";
533
- }) => Promise<TResponse>;
534
- get: <TResponse = unknown>(endpoint: string, params?: Record<string, unknown>, options?: Omit<_fluid_app_api_client_core.RequestOptions, "method" | "params">) => Promise<TResponse>;
535
- post: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<_fluid_app_api_client_core.RequestOptions, "method" | "body">) => Promise<TResponse>;
536
- put: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<_fluid_app_api_client_core.RequestOptions, "method" | "body">) => Promise<TResponse>;
537
- patch: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<_fluid_app_api_client_core.RequestOptions, "method" | "body">) => Promise<TResponse>;
538
- delete: <TResponse = unknown>(endpoint: string, options?: Omit<_fluid_app_api_client_core.RequestOptions, "method">) => Promise<TResponse>;
539
- };
540
- request: <TResponse = unknown>(endpoint: string, options?: RequestOptions) => Promise<TResponse>;
541
- requestNullable: <TResponse>(endpoint: string, options?: RequestOptions) => Promise<TResponse | null>;
542
- safeRequest: <TResponse>(endpoint: string, options?: RequestOptions) => Promise<ApiResult<TResponse>>;
543
- get: <TResponse = unknown, TParams extends object = Record<string, unknown>>(endpoint: string, params?: TParams, options?: Omit<RequestOptions, "method" | "params">) => Promise<TResponse>;
544
- post: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<RequestOptions, "method" | "body">) => Promise<TResponse>;
545
- put: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<RequestOptions, "method" | "body">) => Promise<TResponse>;
546
- patch: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<RequestOptions, "method" | "body">) => Promise<TResponse>;
547
- delete: <TResponse = unknown>(endpoint: string, options?: Omit<RequestOptions, "method">) => Promise<TResponse>;
548
- products: {
549
- list: (params?: ProductListParams) => Promise<ProductsResponse>;
550
- get: (id: string | number) => Promise<{
551
- product: Product;
552
- }>;
553
- search: (query: string, params?: ProductListParams) => Promise<ProductsResponse>;
554
- };
555
- orders: {
556
- list: (params?: OrderListParams) => Promise<Order[]>;
557
- get: (id: string) => Promise<Order>;
558
- create: (data: CreateOrderData) => Promise<Order>;
559
- };
560
- users: {
561
- me: () => Promise<UserMe>;
562
- };
563
- reps: {
564
- current: () => Promise<Rep>;
565
- updateProfile: (data: UpdateRepData) => Promise<Rep>;
566
- };
567
- profile: {
568
- get: () => Promise<Profile>;
569
- };
570
- app: {
571
- /** Fetch the raw manifest (plain JSON, no Color objects). Cache-safe. */
572
- getRaw: () => Promise<RawManifestResponse>;
573
- /** Fetch the active app definition with full theme/screen/navigation transforms */
574
- get: () => Promise<RepAppData>;
575
- };
576
- permissions: {
577
- get: () => Promise<UserPermissions>;
578
- };
579
- analytics: {
580
- dashboard: () => Promise<DashboardData>;
581
- sales: (params?: SalesParams) => Promise<SalesData>;
582
- };
507
+ fetchClient: {
508
+ request: <TResponse = unknown>(endpoint: string, options?: undefined) => Promise<TResponse>;
509
+ requestWithFormData: <TResponse = unknown>(endpoint: string, formData: FormData, options?: Omit<undefined, "body" | "params"> & {
510
+ method?: "POST" | "PUT" | "PATCH";
511
+ }) => Promise<TResponse>;
512
+ get: <TResponse = unknown>(endpoint: string, params?: Record<string, unknown>, options?: Omit<undefined, "method" | "params">) => Promise<TResponse>;
513
+ post: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<undefined, "method" | "body">) => Promise<TResponse>;
514
+ put: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<undefined, "method" | "body">) => Promise<TResponse>;
515
+ patch: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<undefined, "method" | "body">) => Promise<TResponse>;
516
+ delete: <TResponse = unknown>(endpoint: string, options?: Omit<undefined, "method">) => Promise<TResponse>;
517
+ };
518
+ request: <TResponse = unknown>(endpoint: string, options?: RequestOptions) => Promise<TResponse>;
519
+ requestNullable: <TResponse>(endpoint: string, options?: RequestOptions) => Promise<TResponse | null>;
520
+ safeRequest: <TResponse>(endpoint: string, options?: RequestOptions) => Promise<ApiResult<TResponse>>;
521
+ get: <TResponse = unknown, TParams extends object = Record<string, unknown>>(endpoint: string, params?: TParams, options?: Omit<RequestOptions, "method" | "params">) => Promise<TResponse>;
522
+ post: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<RequestOptions, "method" | "body">) => Promise<TResponse>;
523
+ put: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<RequestOptions, "method" | "body">) => Promise<TResponse>;
524
+ patch: <TResponse = unknown>(endpoint: string, body?: unknown, options?: Omit<RequestOptions, "method" | "body">) => Promise<TResponse>;
525
+ delete: <TResponse = unknown>(endpoint: string, options?: Omit<RequestOptions, "method">) => Promise<TResponse>;
526
+ products: {
527
+ list: (params?: ProductListParams) => Promise<ProductsResponse>;
528
+ get: (id: string | number) => Promise<{
529
+ product: Product;
530
+ }>;
531
+ search: (query: string, params?: ProductListParams) => Promise<ProductsResponse>;
532
+ };
533
+ orders: {
534
+ list: (params?: OrderListParams) => Promise<Order[]>;
535
+ get: (id: string) => Promise<Order>;
536
+ create: (data: CreateOrderData) => Promise<Order>;
537
+ };
538
+ users: {
539
+ me: () => Promise<UserMe>;
540
+ };
541
+ reps: {
542
+ current: () => Promise<Rep>;
543
+ updateProfile: (data: UpdateRepData) => Promise<Rep>;
544
+ };
545
+ profile: {
546
+ get: () => Promise<Profile>;
547
+ };
548
+ app: {
549
+ /** Fetch the raw manifest (plain JSON, no Color objects). Cache-safe. */getRaw: () => Promise<RawManifestResponse>; /** Fetch the active app definition with full theme/screen/navigation transforms */
550
+ get: () => Promise<RepAppData$1>;
551
+ };
552
+ permissions: {
553
+ get: () => Promise<UserPermissions>;
554
+ };
555
+ analytics: {
556
+ dashboard: () => Promise<DashboardData>;
557
+ sales: (params?: SalesParams) => Promise<SalesData>;
558
+ };
583
559
  };
584
560
  type FluidClient = ReturnType<typeof createFluidClient>;
585
-
561
+ //#endregion
562
+ //#region src/providers/FluidProvider.d.ts
586
563
  /**
587
564
  * Context value for FluidProvider.
588
565
  * All properties are readonly since context values should not be mutated by consumers.
589
566
  */
590
567
  interface FluidContextValue {
591
- /** Configured API client instance */
592
- readonly client: FluidClient;
593
- /** SDK configuration */
594
- readonly config: FluidSDKConfig;
568
+ /** Configured API client instance */
569
+ readonly client: FluidClient;
570
+ /** SDK configuration */
571
+ readonly config: FluidSDKConfig;
595
572
  }
596
573
  interface FluidProviderProps {
597
- /** SDK configuration (baseUrl, auth, etc.) */
598
- config: FluidSDKConfig;
599
- /** React children */
600
- children: ReactNode;
601
- /** Optional custom QueryClient instance */
602
- queryClient?: QueryClient;
603
- /** Optional initial theme */
604
- initialTheme?: ThemeDefinition;
605
- /** Optional container for scoped theme application */
606
- themeContainer?: HTMLElement | null;
607
- /** Optional custom widget registry (defaults to all built-in widgets) */
608
- widgetRegistry?: Record<string, React.ComponentType<any>>;
609
- /** Dynamic variables for data source endpoint path substitution (e.g., { rep_id: "123" }) */
610
- variables?: Record<string, string>;
574
+ /** SDK configuration (baseUrl, auth, etc.) */
575
+ config: FluidSDKConfig;
576
+ /** React children */
577
+ children: ReactNode;
578
+ /** Optional custom QueryClient instance */
579
+ queryClient?: QueryClient;
580
+ /** Optional initial theme */
581
+ initialTheme?: ThemeDefinition;
582
+ /** Optional container for scoped theme application */
583
+ themeContainer?: HTMLElement | null;
584
+ /** Optional custom widget registry (defaults to all built-in widgets) */
585
+ widgetRegistry?: Record<string, React.ComponentType<any>>;
586
+ /** Dynamic variables for data source endpoint path substitution (e.g., { rep_id: "123" }) */
587
+ variables?: Record<string, string>;
611
588
  }
612
589
  /**
613
590
  * Main provider for the Fluid Rep SDK
@@ -630,47 +607,61 @@ interface FluidProviderProps {
630
607
  * }
631
608
  * ```
632
609
  */
633
- declare function FluidProvider({ config, children, queryClient, initialTheme, themeContainer, widgetRegistry, variables, }: FluidProviderProps): react_jsx_runtime.JSX.Element;
610
+ declare function FluidProvider({
611
+ config,
612
+ children,
613
+ queryClient,
614
+ initialTheme,
615
+ themeContainer,
616
+ widgetRegistry,
617
+ variables
618
+ }: FluidProviderProps): react_jsx_runtime0.JSX.Element;
634
619
  /**
635
620
  * Hook to access the Fluid context
636
621
  * Must be used within a FluidProvider
637
622
  */
638
623
  declare function useFluidContext(): FluidContextValue;
639
-
640
- type ThemeMode = "light" | "dark";
624
+ //#endregion
625
+ //#region src/providers/FluidThemeProvider.d.ts
626
+ type ThemeMode$1 = "light" | "dark";
641
627
  /**
642
628
  * Context value for theme management.
643
629
  * All properties are readonly since context values should not be mutated by consumers.
644
630
  */
645
631
  interface ThemeContextValue {
646
- /** Currently active theme definition */
647
- readonly currentTheme: ThemeDefinition | null;
648
- /** Switch to a different theme */
649
- readonly setTheme: (theme: ThemeDefinition) => void;
650
- /** Switch between light and dark mode for the current theme */
651
- readonly setThemeMode: (mode: ThemeMode) => void;
652
- /** Current theme mode */
653
- readonly mode: ThemeMode | undefined;
632
+ /** Currently active theme definition */
633
+ readonly currentTheme: ThemeDefinition | null;
634
+ /** Switch to a different theme */
635
+ readonly setTheme: (theme: ThemeDefinition) => void;
636
+ /** Switch between light and dark mode for the current theme */
637
+ readonly setThemeMode: (mode: ThemeMode$1) => void;
638
+ /** Current theme mode */
639
+ readonly mode: ThemeMode$1 | undefined;
654
640
  }
655
641
  interface FluidThemeProviderProps {
656
- children: ReactNode;
657
- /** Initial theme to apply */
658
- initialTheme?: ThemeDefinition;
659
- /** Container element for scoped theme application (defaults to document.documentElement) */
660
- container?: HTMLElement | null;
661
- }
662
- declare function FluidThemeProvider({ children, initialTheme, container, }: FluidThemeProviderProps): react_jsx_runtime.JSX.Element;
642
+ children: ReactNode;
643
+ /** Initial theme to apply */
644
+ initialTheme?: ThemeDefinition;
645
+ /** Container element for scoped theme application (defaults to document.documentElement) */
646
+ container?: HTMLElement | null;
647
+ }
648
+ declare function FluidThemeProvider({
649
+ children,
650
+ initialTheme,
651
+ container
652
+ }: FluidThemeProviderProps): react_jsx_runtime0.JSX.Element;
663
653
  /**
664
654
  * Hook to access theme context
665
655
  * Must be used within a FluidThemeProvider
666
656
  */
667
657
  declare function useThemeContext(): ThemeContextValue;
668
-
658
+ //#endregion
659
+ //#region src/providers/FluidAuthProvider.d.ts
669
660
  interface FluidAuthProviderProps {
670
- /** React children to wrap with auth context */
671
- children: ReactNode;
672
- /** Auth configuration options */
673
- config?: FluidAuthConfig;
661
+ /** React children to wrap with auth context */
662
+ children: ReactNode;
663
+ /** Auth configuration options */
664
+ config?: FluidAuthConfig;
674
665
  }
675
666
  /**
676
667
  * Authentication provider for Fluid rep portal applications.
@@ -702,7 +693,10 @@ interface FluidAuthProviderProps {
702
693
  * }
703
694
  * ```
704
695
  */
705
- declare function FluidAuthProvider({ children, config, }: FluidAuthProviderProps): react_jsx_runtime.JSX.Element;
696
+ declare function FluidAuthProvider({
697
+ children,
698
+ config
699
+ }: FluidAuthProviderProps): react_jsx_runtime0.JSX.Element;
706
700
  /**
707
701
  * Hook to access the auth context directly.
708
702
  * Prefer using `useFluidAuth` for most use cases.
@@ -710,7 +704,8 @@ declare function FluidAuthProvider({ children, config, }: FluidAuthProviderProps
710
704
  * @throws Error if used outside FluidAuthProvider
711
705
  */
712
706
  declare function useFluidAuthContext(): FluidAuthContextValue;
713
-
707
+ //#endregion
708
+ //#region src/types/screen-types.d.ts
714
709
  /**
715
710
  * Screen Types - Type definitions for core feature screens
716
711
  *
@@ -721,9 +716,9 @@ declare function useFluidAuthContext(): FluidAuthContextValue;
721
716
  * Conversation status constant - single source of truth.
722
717
  */
723
718
  declare const CONVERSATION_STATUSES: {
724
- readonly active: "active";
725
- readonly archived: "archived";
726
- readonly muted: "muted";
719
+ readonly active: "active";
720
+ readonly archived: "archived";
721
+ readonly muted: "muted";
727
722
  };
728
723
  /**
729
724
  * Union type derived from CONVERSATION_STATUSES constant.
@@ -733,62 +728,62 @@ type ConversationStatus = (typeof CONVERSATION_STATUSES)[keyof typeof CONVERSATI
733
728
  * Message type constant - single source of truth.
734
729
  */
735
730
  declare const MESSAGE_TYPES: {
736
- readonly text: "text";
737
- readonly image: "image";
738
- readonly file: "file";
739
- readonly system: "system";
731
+ readonly text: "text";
732
+ readonly image: "image";
733
+ readonly file: "file";
734
+ readonly system: "system";
740
735
  };
741
736
  /**
742
737
  * Union type derived from MESSAGE_TYPES constant.
743
738
  */
744
739
  type MessageType = (typeof MESSAGE_TYPES)[keyof typeof MESSAGE_TYPES];
745
740
  interface Participant {
746
- readonly id: string;
747
- readonly name: string;
748
- readonly email: string;
749
- readonly avatarUrl?: string;
750
- readonly isOnline?: boolean;
741
+ readonly id: string;
742
+ readonly name: string;
743
+ readonly email: string;
744
+ readonly avatarUrl?: string;
745
+ readonly isOnline?: boolean;
751
746
  }
752
747
  /**
753
748
  * Message attachment type - extracted for reusability and clarity.
754
749
  */
755
750
  interface MessageAttachment {
756
- readonly id: string;
757
- readonly name: string;
758
- readonly url: string;
759
- readonly type: string;
760
- readonly size?: number;
751
+ readonly id: string;
752
+ readonly name: string;
753
+ readonly url: string;
754
+ readonly type: string;
755
+ readonly size?: number;
761
756
  }
762
757
  interface Message {
763
- readonly id: string;
764
- readonly conversationId: string;
765
- readonly senderId: string;
766
- readonly senderName: string;
767
- readonly senderAvatarUrl?: string;
768
- readonly type: MessageType;
769
- readonly content: string;
770
- readonly timestamp: string;
771
- readonly isRead: boolean;
772
- readonly attachments?: readonly MessageAttachment[];
758
+ readonly id: string;
759
+ readonly conversationId: string;
760
+ readonly senderId: string;
761
+ readonly senderName: string;
762
+ readonly senderAvatarUrl?: string;
763
+ readonly type: MessageType;
764
+ readonly content: string;
765
+ readonly timestamp: string;
766
+ readonly isRead: boolean;
767
+ readonly attachments?: readonly MessageAttachment[];
773
768
  }
774
769
  interface Conversation {
775
- readonly id: string;
776
- readonly title: string;
777
- readonly participants: readonly Participant[];
778
- readonly lastMessage?: Message;
779
- readonly unreadCount: number;
780
- readonly status: ConversationStatus;
781
- readonly createdAt: string;
782
- readonly updatedAt: string;
770
+ readonly id: string;
771
+ readonly title: string;
772
+ readonly participants: readonly Participant[];
773
+ readonly lastMessage?: Message;
774
+ readonly unreadCount: number;
775
+ readonly status: ConversationStatus;
776
+ readonly createdAt: string;
777
+ readonly updatedAt: string;
783
778
  }
784
779
  /**
785
780
  * Contact status constant - single source of truth.
786
781
  */
787
782
  declare const CONTACT_STATUSES: {
788
- readonly active: "active";
789
- readonly inactive: "inactive";
790
- readonly lead: "lead";
791
- readonly prospect: "prospect";
783
+ readonly active: "active";
784
+ readonly inactive: "inactive";
785
+ readonly lead: "lead";
786
+ readonly prospect: "prospect";
792
787
  };
793
788
  /**
794
789
  * Union type derived from CONTACT_STATUSES constant.
@@ -798,70 +793,71 @@ type ContactStatus = (typeof CONTACT_STATUSES)[keyof typeof CONTACT_STATUSES];
798
793
  * Contact type constant - single source of truth.
799
794
  */
800
795
  declare const CONTACT_TYPES: {
801
- readonly individual: "individual";
802
- readonly company: "company";
796
+ readonly individual: "individual";
797
+ readonly company: "company";
803
798
  };
804
799
  /**
805
800
  * Union type derived from CONTACT_TYPES constant.
806
801
  */
807
802
  type ContactType = (typeof CONTACT_TYPES)[keyof typeof CONTACT_TYPES];
808
803
  interface ContactAddress {
809
- readonly street?: string;
810
- readonly city?: string;
811
- readonly state?: string;
812
- readonly postalCode?: string;
813
- readonly country?: string;
804
+ readonly street?: string;
805
+ readonly city?: string;
806
+ readonly state?: string;
807
+ readonly postalCode?: string;
808
+ readonly country?: string;
814
809
  }
815
810
  interface Contact {
816
- readonly id: string;
817
- readonly firstName: string;
818
- readonly lastName: string;
819
- readonly email: string;
820
- readonly phone?: string;
821
- readonly company?: string;
822
- readonly jobTitle?: string;
823
- readonly avatarUrl?: string;
824
- readonly status: ContactStatus;
825
- readonly type: ContactType;
826
- readonly address?: ContactAddress;
827
- readonly tags?: readonly string[];
828
- readonly notes?: string;
829
- readonly createdAt: string;
830
- readonly updatedAt: string;
831
- }
832
-
811
+ readonly id: string;
812
+ readonly firstName: string;
813
+ readonly lastName: string;
814
+ readonly email: string;
815
+ readonly phone?: string;
816
+ readonly company?: string;
817
+ readonly jobTitle?: string;
818
+ readonly avatarUrl?: string;
819
+ readonly status: ContactStatus;
820
+ readonly type: ContactType;
821
+ readonly address?: ContactAddress;
822
+ readonly tags?: readonly string[];
823
+ readonly notes?: string;
824
+ readonly createdAt: string;
825
+ readonly updatedAt: string;
826
+ }
827
+ //#endregion
828
+ //#region src/providers/PageTemplateProvider.d.ts
833
829
  /**
834
830
  * Context value for page template resolution.
835
831
  * All properties are readonly since context values should not be mutated by consumers.
836
832
  */
837
833
  interface PageTemplateContextValue {
838
- /**
839
- * Resolve a navigation's page_refs and screens into a unified screen list
840
- */
841
- readonly resolvePages: (navigation: Navigation) => ScreenDefinition[];
842
- /**
843
- * Get all available page templates
844
- */
845
- readonly listTemplates: () => PageTemplate[];
846
- /**
847
- * Get a specific template by ID
848
- */
849
- readonly getTemplate: (id: string) => PageTemplate | undefined;
850
- /**
851
- * Check if a template exists
852
- */
853
- readonly hasTemplate: (id: string) => boolean;
834
+ /**
835
+ * Resolve a navigation's page_refs and screens into a unified screen list
836
+ */
837
+ readonly resolvePages: (navigation: Navigation) => ScreenDefinition[];
838
+ /**
839
+ * Get all available page templates
840
+ */
841
+ readonly listTemplates: () => PageTemplate[];
842
+ /**
843
+ * Get a specific template by ID
844
+ */
845
+ readonly getTemplate: (id: string) => PageTemplate | undefined;
846
+ /**
847
+ * Check if a template exists
848
+ */
849
+ readonly hasTemplate: (id: string) => boolean;
854
850
  }
855
851
  /**
856
852
  * Props for PageTemplateProvider
857
853
  */
858
854
  interface PageTemplateProviderProps {
859
- children: react__default.ReactNode;
860
- /**
861
- * Additional custom page templates to register.
862
- * These are registered when the provider mounts and unregistered when it unmounts.
863
- */
864
- templates?: readonly PageTemplate[];
855
+ children: React$1.ReactNode;
856
+ /**
857
+ * Additional custom page templates to register.
858
+ * These are registered when the provider mounts and unregistered when it unmounts.
859
+ */
860
+ templates?: readonly PageTemplate[];
865
861
  }
866
862
  /**
867
863
  * Provider for page template resolution.
@@ -895,7 +891,10 @@ interface PageTemplateProviderProps {
895
891
  * </PageTemplateProvider>
896
892
  * ```
897
893
  */
898
- declare function PageTemplateProvider({ children, templates, }: PageTemplateProviderProps): react_jsx_runtime.JSX.Element;
894
+ declare function PageTemplateProvider({
895
+ children,
896
+ templates
897
+ }: PageTemplateProviderProps): react_jsx_runtime0.JSX.Element;
899
898
  /**
900
899
  * Hook to access page template functionality.
901
900
  *
@@ -926,7 +925,8 @@ declare function usePageTemplates(): PageTemplateContextValue;
926
925
  * @returns Array of resolved screen definitions
927
926
  */
928
927
  declare function useResolvedPages(navigation: Navigation): ScreenDefinition[];
929
-
928
+ //#endregion
929
+ //#region src/hooks/use-fluid-api.d.ts
930
930
  /**
931
931
  * Hook to access the Fluid API client
932
932
  *
@@ -945,7 +945,8 @@ declare function useResolvedPages(navigation: Navigation): ScreenDefinition[];
945
945
  * ```
946
946
  */
947
947
  declare function useFluidApi(): FluidClient;
948
-
948
+ //#endregion
949
+ //#region src/hooks/use-fluid-profile.d.ts
949
950
  /**
950
951
  * Query key for profile data
951
952
  */
@@ -971,7 +972,8 @@ declare const PROFILE_QUERY_KEY: readonly ["fluid", "profile"];
971
972
  * ```
972
973
  */
973
974
  declare function useFluidProfile(): UseQueryResult<Profile>;
974
-
975
+ //#endregion
976
+ //#region src/hooks/use-fluid-app.d.ts
975
977
  /**
976
978
  * Query key for full app data (fluidos endpoint)
977
979
  */
@@ -1007,9 +1009,10 @@ declare const APP_DATA_QUERY_KEY: readonly ["fluid", "app"];
1007
1009
  * ```
1008
1010
  */
1009
1011
  declare function useFluidApp(options?: {
1010
- enabled?: boolean;
1011
- }): UseQueryResult<RepAppData>;
1012
-
1012
+ enabled?: boolean;
1013
+ }): UseQueryResult<RepAppData$1>;
1014
+ //#endregion
1015
+ //#region src/hooks/use-fluid-permissions.d.ts
1013
1016
  /**
1014
1017
  * Query key for permissions data
1015
1018
  */
@@ -1018,14 +1021,14 @@ declare const PERMISSIONS_QUERY_KEY: readonly ["fluid", "permissions"];
1018
1021
  * Result of useFluidPermissions hook
1019
1022
  */
1020
1023
  interface UseFluidPermissionsResult {
1021
- /** Raw permissions query result */
1022
- query: UseQueryResult<UserPermissions>;
1023
- /** Permissions data (alias for query.data) */
1024
- permissions: UserPermissions | undefined;
1025
- /** Check if user has a specific permission */
1026
- can: (resource: string, action?: PermissionAction) => boolean;
1027
- /** Check if user is a super admin */
1028
- isSuperAdmin: boolean;
1024
+ /** Raw permissions query result */
1025
+ query: UseQueryResult<UserPermissions>;
1026
+ /** Permissions data (alias for query.data) */
1027
+ permissions: UserPermissions | undefined;
1028
+ /** Check if user has a specific permission */
1029
+ can: (resource: string, action?: PermissionAction) => boolean;
1030
+ /** Check if user is a super admin */
1031
+ isSuperAdmin: boolean;
1029
1032
  }
1030
1033
  /**
1031
1034
  * Hook to fetch and check user permissions
@@ -1044,19 +1047,20 @@ interface UseFluidPermissionsResult {
1044
1047
  * ```
1045
1048
  */
1046
1049
  declare function useFluidPermissions(): UseFluidPermissionsResult;
1047
-
1050
+ //#endregion
1051
+ //#region src/hooks/use-fluid-theme.d.ts
1048
1052
  /**
1049
1053
  * Result of useFluidTheme hook
1050
1054
  */
1051
1055
  interface UseFluidThemeResult {
1052
- /** Currently active theme */
1053
- currentTheme: ThemeDefinition | null;
1054
- /** Switch to a different theme */
1055
- setTheme: (theme: ThemeDefinition) => void;
1056
- /** Switch between light and dark mode */
1057
- setThemeMode: (mode: "light" | "dark") => void;
1058
- /** Current theme mode (convenience accessor) */
1059
- mode: "light" | "dark" | undefined;
1056
+ /** Currently active theme */
1057
+ currentTheme: ThemeDefinition | null;
1058
+ /** Switch to a different theme */
1059
+ setTheme: (theme: ThemeDefinition) => void;
1060
+ /** Switch between light and dark mode */
1061
+ setThemeMode: (mode: "light" | "dark") => void;
1062
+ /** Current theme mode (convenience accessor) */
1063
+ mode: "light" | "dark" | undefined;
1060
1064
  }
1061
1065
  /**
1062
1066
  * Hook to access and control theme settings
@@ -1091,7 +1095,8 @@ interface UseFluidThemeResult {
1091
1095
  * ```
1092
1096
  */
1093
1097
  declare function useFluidTheme(): UseFluidThemeResult;
1094
-
1098
+ //#endregion
1099
+ //#region src/hooks/use-current-rep.d.ts
1095
1100
  /**
1096
1101
  * Query key for current rep data
1097
1102
  */
@@ -1116,14 +1121,8 @@ declare const CURRENT_REP_QUERY_KEY: readonly ["fluid", "currentRep"];
1116
1121
  * ```
1117
1122
  */
1118
1123
  declare function useCurrentRep(): UseQueryResult<Rep>;
1119
-
1120
- /**
1121
- * useFluidAuth Hook
1122
- *
1123
- * Provides access to authentication state and utilities.
1124
- * This is the primary hook for interacting with auth in components.
1125
- */
1126
-
1124
+ //#endregion
1125
+ //#region src/hooks/use-fluid-auth.d.ts
1127
1126
  /**
1128
1127
  * Hook to access authentication state and utilities.
1129
1128
  *
@@ -1155,7 +1154,8 @@ declare function useCurrentRep(): UseQueryResult<Rep>;
1155
1154
  * ```
1156
1155
  */
1157
1156
  declare function useFluidAuth(): FluidAuthContextValue;
1158
-
1157
+ //#endregion
1158
+ //#region src/hooks/hook-types.d.ts
1159
1159
  /**
1160
1160
  * Hook type utilities and type predicates.
1161
1161
  *
@@ -1184,10 +1184,10 @@ declare function useFluidAuth(): FluidAuthContextValue;
1184
1184
  * type CustomResult = QueryResult<User[], ApiError>;
1185
1185
  */
1186
1186
  interface QueryResult<T, E = Error> {
1187
- readonly data: T;
1188
- readonly isLoading: boolean;
1189
- readonly isError: boolean;
1190
- readonly error?: E | undefined;
1187
+ readonly data: T;
1188
+ readonly isLoading: boolean;
1189
+ readonly isError: boolean;
1190
+ readonly error?: E | undefined;
1191
1191
  }
1192
1192
  /**
1193
1193
  * Result type for hooks that may not have data yet.
@@ -1197,10 +1197,10 @@ interface QueryResult<T, E = Error> {
1197
1197
  * @typeParam E - The error type (defaults to Error)
1198
1198
  */
1199
1199
  interface QueryResultNullable<T, E = Error> {
1200
- readonly data: T | null | undefined;
1201
- readonly isLoading: boolean;
1202
- readonly isError: boolean;
1203
- readonly error?: E | undefined;
1200
+ readonly data: T | null | undefined;
1201
+ readonly isLoading: boolean;
1202
+ readonly isError: boolean;
1203
+ readonly error?: E | undefined;
1204
1204
  }
1205
1205
  /**
1206
1206
  * Result type for list/collection hooks with aggregates.
@@ -1209,7 +1209,7 @@ interface QueryResultNullable<T, E = Error> {
1209
1209
  * @typeParam E - The error type (defaults to Error)
1210
1210
  */
1211
1211
  interface ListQueryResult<T, E = Error> extends QueryResult<T[], E> {
1212
- readonly totalCount: number;
1212
+ readonly totalCount: number;
1213
1213
  }
1214
1214
  /**
1215
1215
  * Result type for list hooks with value aggregation (e.g., deals with total value).
@@ -1218,7 +1218,7 @@ interface ListQueryResult<T, E = Error> extends QueryResult<T[], E> {
1218
1218
  * @typeParam E - The error type (defaults to Error)
1219
1219
  */
1220
1220
  interface ValueListQueryResult<T, E = Error> extends ListQueryResult<T, E> {
1221
- readonly totalValue: number;
1221
+ readonly totalValue: number;
1222
1222
  }
1223
1223
  /**
1224
1224
  * Type predicate to check if a query result has successfully loaded data.
@@ -1232,7 +1232,7 @@ interface ValueListQueryResult<T, E = Error> extends ListQueryResult<T, E> {
1232
1232
  * }
1233
1233
  */
1234
1234
  declare function hasData<T, E = Error>(result: QueryResultNullable<T, E>): result is QueryResultNullable<T, E> & {
1235
- readonly data: T;
1235
+ readonly data: T;
1236
1236
  };
1237
1237
  /**
1238
1238
  * Type predicate to check if a query result is in loading state.
@@ -1254,8 +1254,8 @@ declare function isLoading<T, E = Error>(result: QueryResult<T, E> | QueryResult
1254
1254
  * }
1255
1255
  */
1256
1256
  declare function isErrorResult<T, E = Error>(result: QueryResult<T, E> | QueryResultNullable<T, E>): result is (QueryResult<T, E> | QueryResultNullable<T, E>) & {
1257
- readonly isError: true;
1258
- readonly error: E;
1257
+ readonly isError: true;
1258
+ readonly error: E;
1259
1259
  };
1260
1260
  /**
1261
1261
  * Type predicate to check if a query result is in idle state (not loading, no error, has data).
@@ -1310,34 +1310,34 @@ type UseListResourceHook<T, P extends Record<string, unknown> = Record<string, n
1310
1310
  * Useful when you've already checked hasData().
1311
1311
  */
1312
1312
  type WithData<R extends QueryResultNullable<unknown>> = R extends QueryResultNullable<infer T, infer E> ? QueryResultNullable<T, E> & {
1313
- readonly data: T;
1313
+ readonly data: T;
1314
1314
  } : never;
1315
1315
  /**
1316
1316
  * Activity slug constants as a const object.
1317
1317
  * Derive the ActivitySlug type from this single source of truth.
1318
1318
  */
1319
1319
  declare const ACTIVITY_SLUGS: {
1320
- readonly abandonedCart: "abandoned_cart";
1321
- readonly announcements: "announcements";
1322
- readonly cartItemsAdded: "cart_items_added";
1323
- readonly commentReply: "comment_reply";
1324
- readonly directMessage: "direct_message";
1325
- readonly fantasyPoint: "fantasy_point";
1326
- readonly newLead: "new_lead";
1327
- readonly orderPlaced: "order_placed";
1328
- readonly pageViews: "page_views";
1329
- readonly pageViewsContact: "page_views_contact";
1330
- readonly tasks: "tasks";
1331
- readonly upcomingEvent: "upcoming_event";
1332
- readonly video: "video";
1333
- readonly videoComplete: "video_complete";
1334
- readonly videoCompleteContact: "video_complete_contact";
1335
- readonly videoContact: "video_contact";
1336
- readonly messageReceived: "message_received";
1337
- readonly messageSent: "message_sent";
1338
- readonly newCartItemsAdded: "new_cart_items_added";
1339
- readonly smartLinkClicked: "smart_link_clicked";
1340
- readonly reviewLeft: "review_left";
1320
+ readonly abandonedCart: "abandoned_cart";
1321
+ readonly announcements: "announcements";
1322
+ readonly cartItemsAdded: "cart_items_added";
1323
+ readonly commentReply: "comment_reply";
1324
+ readonly directMessage: "direct_message";
1325
+ readonly fantasyPoint: "fantasy_point";
1326
+ readonly newLead: "new_lead";
1327
+ readonly orderPlaced: "order_placed";
1328
+ readonly pageViews: "page_views";
1329
+ readonly pageViewsContact: "page_views_contact";
1330
+ readonly tasks: "tasks";
1331
+ readonly upcomingEvent: "upcoming_event";
1332
+ readonly video: "video";
1333
+ readonly videoComplete: "video_complete";
1334
+ readonly videoCompleteContact: "video_complete_contact";
1335
+ readonly videoContact: "video_contact";
1336
+ readonly messageReceived: "message_received";
1337
+ readonly messageSent: "message_sent";
1338
+ readonly newCartItemsAdded: "new_cart_items_added";
1339
+ readonly smartLinkClicked: "smart_link_clicked";
1340
+ readonly reviewLeft: "review_left";
1341
1341
  };
1342
1342
  /** Activity slug union type derived from ACTIVITY_SLUGS constant. */
1343
1343
  type ActivitySlug = (typeof ACTIVITY_SLUGS)[keyof typeof ACTIVITY_SLUGS];
@@ -1345,72 +1345,68 @@ type ActivitySlug = (typeof ACTIVITY_SLUGS)[keyof typeof ACTIVITY_SLUGS];
1345
1345
  declare function isActivitySlug(value: string): value is ActivitySlug;
1346
1346
  /** Transformed activity for display. */
1347
1347
  interface Activity {
1348
- readonly id: number;
1349
- readonly userName: string;
1350
- readonly avatarUrl: string | null;
1351
- readonly activityType: string;
1352
- readonly targetName: string;
1353
- readonly timestamp: string;
1354
- readonly slug: ActivitySlug;
1348
+ readonly id: number;
1349
+ readonly userName: string;
1350
+ readonly avatarUrl: string | null;
1351
+ readonly activityType: string;
1352
+ readonly targetName: string;
1353
+ readonly timestamp: string;
1354
+ readonly slug: ActivitySlug;
1355
1355
  }
1356
1356
  /** Description/rich text metadata for a calendar event. */
1357
1357
  interface CalendarEventDescription {
1358
- readonly id?: number | null;
1359
- readonly name?: string | null;
1360
- readonly body?: string | null;
1361
- readonly record_type?: string | null;
1362
- readonly record_id?: number | null;
1363
- readonly created_at?: string | null;
1364
- readonly updated_at?: string | null;
1365
- readonly locale?: string | null;
1358
+ readonly id?: number | null;
1359
+ readonly name?: string | null;
1360
+ readonly body?: string | null;
1361
+ readonly record_type?: string | null;
1362
+ readonly record_id?: number | null;
1363
+ readonly created_at?: string | null;
1364
+ readonly updated_at?: string | null;
1365
+ readonly locale?: string | null;
1366
1366
  }
1367
1367
  /** Calendar event data from the API. */
1368
1368
  interface CalendarEvent {
1369
- readonly id: number;
1370
- readonly title: string;
1371
- readonly description?: CalendarEventDescription | null;
1372
- readonly color?: string | null;
1373
- readonly url?: string | null;
1374
- readonly start: string;
1375
- readonly end: string;
1376
- readonly active?: boolean | null;
1377
- readonly time_zone?: string | null;
1378
- readonly status?: string | null;
1379
- readonly image_url?: string | null;
1380
- readonly images?: readonly unknown[] | null;
1381
- readonly venue?: string | null;
1382
- readonly countries?: readonly string[] | null;
1383
- readonly hasTomorrow?: boolean | null;
1384
- readonly hasYesterday?: boolean | null;
1385
- readonly isAllDay?: boolean;
1369
+ readonly id: number;
1370
+ readonly title: string;
1371
+ readonly description?: CalendarEventDescription | null;
1372
+ readonly color?: string | null;
1373
+ readonly url?: string | null;
1374
+ readonly start: string;
1375
+ readonly end: string;
1376
+ readonly active?: boolean | null;
1377
+ readonly time_zone?: string | null;
1378
+ readonly status?: string | null;
1379
+ readonly image_url?: string | null;
1380
+ readonly images?: readonly unknown[] | null;
1381
+ readonly venue?: string | null;
1382
+ readonly countries?: readonly string[] | null;
1383
+ readonly hasTomorrow?: boolean | null;
1384
+ readonly hasYesterday?: boolean | null;
1385
+ readonly isAllDay?: boolean;
1386
1386
  }
1387
1387
  /** Catch up suggestion data from the API. */
1388
1388
  interface CatchUp {
1389
- readonly id: number;
1390
- readonly suggestion_title: string;
1389
+ readonly id: number;
1390
+ readonly suggestion_title: string;
1391
1391
  }
1392
1392
  /** MySite data returned by the hook. */
1393
1393
  interface MySiteData {
1394
- readonly url: string | null;
1395
- readonly views: number;
1396
- readonly leads: number;
1397
- readonly userName: string;
1394
+ readonly url: string | null;
1395
+ readonly views: number;
1396
+ readonly leads: number;
1397
+ readonly userName: string;
1398
1398
  }
1399
1399
  /** Transformed todo for display. */
1400
1400
  interface Todo {
1401
- readonly id: number;
1402
- readonly body: string;
1403
- readonly dueAt: string | null;
1404
- readonly completedAt: string | null;
1405
- readonly createdAt: string;
1406
- readonly contactName: string | null;
1401
+ readonly id: number;
1402
+ readonly body: string;
1403
+ readonly dueAt: string | null;
1404
+ readonly completedAt: string | null;
1405
+ readonly createdAt: string;
1406
+ readonly contactName: string | null;
1407
1407
  }
1408
-
1409
- /**
1410
- * Calendar events hook - stub implementation for SDK
1411
- * In production, implement this hook to fetch from your API
1412
- */
1413
-
1408
+ //#endregion
1409
+ //#region src/hooks/use-calendar-events.d.ts
1414
1410
  /**
1415
1411
  * Result type for useCalendarEvents hook.
1416
1412
  * Uses QueryResult<CalendarEvent[]> with default Error type.
@@ -1421,12 +1417,8 @@ type UseCalendarEventsResult = QueryResult<CalendarEvent[]>;
1421
1417
  * This is a stub implementation - override with your own data fetching logic.
1422
1418
  */
1423
1419
  declare function useCalendarEvents(): UseCalendarEventsResult;
1424
-
1425
- /**
1426
- * Todos hook - stub implementation for SDK
1427
- * In production, implement this hook to fetch from your API
1428
- */
1429
-
1420
+ //#endregion
1421
+ //#region src/hooks/use-todos.d.ts
1430
1422
  /**
1431
1423
  * Result type for useTodos hook.
1432
1424
  * Uses QueryResult<Todo[]> with default Error type.
@@ -1437,12 +1429,8 @@ type UseTodosResult = QueryResult<Todo[]>;
1437
1429
  * This is a stub implementation - override with your own data fetching logic.
1438
1430
  */
1439
1431
  declare function useTodos(): UseTodosResult;
1440
-
1441
- /**
1442
- * Activities hook - stub implementation for SDK
1443
- * In production, implement this hook to fetch from your API
1444
- */
1445
-
1432
+ //#endregion
1433
+ //#region src/hooks/use-activities.d.ts
1446
1434
  /**
1447
1435
  * Result type for useActivities hook.
1448
1436
  * Uses QueryResult generic with Activity[] and default Error type.
@@ -1453,12 +1441,8 @@ type UseActivitiesResult = QueryResult<Activity[]>;
1453
1441
  * This is a stub implementation - override with your own data fetching logic.
1454
1442
  */
1455
1443
  declare function useActivities(): UseActivitiesResult;
1456
-
1457
- /**
1458
- * Catch ups hook - stub implementation for SDK
1459
- * In production, implement this hook to fetch from your API
1460
- */
1461
-
1444
+ //#endregion
1445
+ //#region src/hooks/use-catchups.d.ts
1462
1446
  /**
1463
1447
  * Result type for useCatchUps hook.
1464
1448
  * Uses QueryResult<CatchUp[]> with default Error type.
@@ -1469,12 +1453,8 @@ type UseCatchUpsResult = QueryResult<CatchUp[]>;
1469
1453
  * This is a stub implementation - override with your own data fetching logic.
1470
1454
  */
1471
1455
  declare function useCatchUps(): UseCatchUpsResult;
1472
-
1473
- /**
1474
- * MySite hook - stub implementation for SDK
1475
- * In production, implement this hook to fetch from your API
1476
- */
1477
-
1456
+ //#endregion
1457
+ //#region src/hooks/use-mysite.d.ts
1478
1458
  /**
1479
1459
  * Result type for useMySite hook.
1480
1460
  * Uses QueryResultNullable since MySite data may not be available.
@@ -1485,12 +1465,8 @@ type UseMySiteResult = QueryResultNullable<MySiteData>;
1485
1465
  * This is a stub implementation - override with your own data fetching logic.
1486
1466
  */
1487
1467
  declare function useMySite(): UseMySiteResult;
1488
-
1489
- /**
1490
- * Conversations hooks - stub implementations for SDK
1491
- * In production, implement these hooks to fetch from your API
1492
- */
1493
-
1468
+ //#endregion
1469
+ //#region src/hooks/use-conversations.d.ts
1494
1470
  /**
1495
1471
  * Result type for useConversations hook.
1496
1472
  * Uses QueryResult<Conversation[]> with default Error type.
@@ -1536,12 +1512,8 @@ type UseConversationMessagesResult = QueryResult<Message[]>;
1536
1512
  * ```
1537
1513
  */
1538
1514
  declare function useConversationMessages(_conversationId: string): UseConversationMessagesResult;
1539
-
1540
- /**
1541
- * Contacts hooks - stub implementation for SDK
1542
- * In production, implement these hooks to fetch from your API
1543
- */
1544
-
1515
+ //#endregion
1516
+ //#region src/hooks/use-contacts.d.ts
1545
1517
  /**
1546
1518
  * Type predicate to check if a status string is a valid ContactStatus.
1547
1519
  * Enables runtime validation with type narrowing.
@@ -1552,12 +1524,12 @@ declare function isContactStatus(value: string): value is ContactStatus;
1552
1524
  * Uses readonly properties and proper ContactStatus type for status.
1553
1525
  */
1554
1526
  interface UseContactsParams {
1555
- /** Search query to filter contacts by name, email, or company */
1556
- readonly search?: string;
1557
- /** Filter contacts by status - uses ContactStatus union type for type safety */
1558
- readonly status?: ContactStatus;
1559
- /** Maximum number of contacts to return */
1560
- readonly limit?: number;
1527
+ /** Search query to filter contacts by name, email, or company */
1528
+ readonly search?: string;
1529
+ /** Filter contacts by status - uses ContactStatus union type for type safety */
1530
+ readonly status?: ContactStatus;
1531
+ /** Maximum number of contacts to return */
1532
+ readonly limit?: number;
1561
1533
  }
1562
1534
  /**
1563
1535
  * Result type for the useContacts hook.
@@ -1599,14 +1571,15 @@ declare function useContacts(_params?: UseContactsParams): UseContactsResult;
1599
1571
  * ```
1600
1572
  */
1601
1573
  declare function useContact(_contactId: string): UseContactResult;
1602
-
1574
+ //#endregion
1575
+ //#region src/components/RequireAuth.d.ts
1603
1576
  interface RequireAuthProps {
1604
- /** Content to render when authenticated */
1605
- children: ReactNode;
1606
- /** Component to show while checking authentication (default: AuthLoading) */
1607
- fallback?: ReactNode;
1608
- /** Component to show when not authenticated (default: AuthError) */
1609
- errorComponent?: ReactNode;
1577
+ /** Content to render when authenticated */
1578
+ children: ReactNode;
1579
+ /** Component to show while checking authentication (default: AuthLoading) */
1580
+ fallback?: ReactNode;
1581
+ /** Component to show when not authenticated (default: AuthError) */
1582
+ errorComponent?: ReactNode;
1610
1583
  }
1611
1584
  /**
1612
1585
  * Component that protects content requiring authentication.
@@ -1650,15 +1623,20 @@ interface RequireAuthProps {
1650
1623
  * </RequireAuth>
1651
1624
  * ```
1652
1625
  */
1653
- declare function RequireAuth({ children, fallback, errorComponent, }: RequireAuthProps): react_jsx_runtime.JSX.Element;
1654
-
1626
+ declare function RequireAuth({
1627
+ children,
1628
+ fallback,
1629
+ errorComponent
1630
+ }: RequireAuthProps): react_jsx_runtime0.JSX.Element;
1631
+ //#endregion
1632
+ //#region src/components/AuthError.d.ts
1655
1633
  interface AuthErrorProps {
1656
- /** Error message to display */
1657
- message?: string;
1658
- /** Optional title */
1659
- title?: string;
1660
- /** Optional children for custom content */
1661
- children?: ReactNode;
1634
+ /** Error message to display */
1635
+ message?: string;
1636
+ /** Optional title */
1637
+ title?: string;
1638
+ /** Optional children for custom content */
1639
+ children?: ReactNode;
1662
1640
  }
1663
1641
  /**
1664
1642
  * Default authentication error component.
@@ -1680,170 +1658,180 @@ interface AuthErrorProps {
1680
1658
  * </AuthError>
1681
1659
  * ```
1682
1660
  */
1683
- declare function AuthError({ message, title, children, }: AuthErrorProps): react_jsx_runtime.JSX.Element;
1661
+ declare function AuthError({
1662
+ message,
1663
+ title,
1664
+ children
1665
+ }: AuthErrorProps): react_jsx_runtime0.JSX.Element;
1684
1666
  /**
1685
1667
  * Simple loading spinner component for auth loading state.
1686
1668
  */
1687
- declare function AuthLoading(): react_jsx_runtime.JSX.Element;
1688
-
1689
- /**
1690
- * Bridge hook: maps rep SDK auth context to MessagingAuthContext.
1691
- *
1692
- * The messaging system identifies users by `recipient_id`, which is NOT in the
1693
- * JWT payload or the /reps/me endpoint. It IS returned by GET /api/me.
1694
- * This hook fetches that data and maps it into the shape MessagingApp expects.
1695
- */
1696
-
1697
- declare function useMessagingAuth(): MessagingAuthContext;
1698
-
1699
- /**
1700
- * Hook that derives MessagingApiConfig from the rep SDK's FluidProvider context.
1701
- *
1702
- * Maps FluidSDKConfig fields to the shape expected by MessagingApp:
1703
- * - baseUrl -> from config.baseUrl
1704
- * - getHeaders -> builds Authorization header from config.getAuthToken()
1705
- * - onAuthError -> from config.onAuthError
1706
- * - websocketUrl -> config.websocketUrl or derived from baseUrl
1707
- * - token -> from auth context
1708
- */
1709
-
1669
+ declare function AuthLoading(): react_jsx_runtime0.JSX.Element;
1670
+ //#endregion
1671
+ //#region src/messaging/use-messaging-auth.d.ts
1672
+ declare function useMessagingAuth(): MessagingAuthContext$1;
1673
+ //#endregion
1674
+ //#region src/messaging/use-messaging-config.d.ts
1710
1675
  interface MessagingConfig {
1711
- readonly apiConfig: MessagingApiConfig;
1712
- readonly websocketUrl: string;
1713
- readonly token: string | null;
1676
+ readonly apiConfig: MessagingApiConfig;
1677
+ readonly websocketUrl: string;
1678
+ readonly token: string | null;
1714
1679
  }
1715
1680
  declare function useMessagingConfig(): MessagingConfig;
1716
-
1717
- /**
1718
- * Lightweight Filestack file uploader for the rep SDK.
1719
- *
1720
- * Uploads files to Filestack using the REST API (no filestack-js dependency).
1721
- * Flow: upload to `https://www.filestackapi.com/api/store/S3?key=<apiKey>`
1722
- * Uses XMLHttpRequest for upload progress tracking.
1723
- */
1724
-
1681
+ //#endregion
1682
+ //#region src/messaging/fluid-file-uploader.d.ts
1725
1683
  /**
1726
1684
  * Creates a FileUploader that uploads to Filestack using the REST API.
1727
1685
  *
1728
1686
  * @param apiKey - Filestack API key. If falsy, returns a noop uploader
1729
1687
  * that rejects uploads with a helpful error message.
1730
1688
  */
1731
- declare function createFluidFileUploader(apiKey: string | undefined): FileUploader;
1732
-
1689
+ declare function createFluidFileUploader(apiKey: string | undefined): FileUploader$1;
1690
+ import * as import__fluid_app_rep_core_theme from "@fluid-app/rep-core/theme";
1691
+ //#endregion
1692
+ //#region src/screens/MessagingScreen.d.ts
1733
1693
  type MessagingScreenProps = ComponentProps<"div"> & {
1734
- background?: BackgroundValue;
1735
- textColor?: ColorOptions;
1736
- accentColor?: ColorOptions;
1737
- padding?: PaddingOptions;
1738
- borderRadius?: BorderRadiusOptions;
1739
- onToast?: (message: string, type: "success" | "error") => void;
1740
- filestackApiKey?: string;
1741
- websocketUrl?: string;
1694
+ background?: BackgroundValue;
1695
+ textColor?: ColorOptions;
1696
+ accentColor?: ColorOptions;
1697
+ padding?: PaddingOptions;
1698
+ borderRadius?: BorderRadiusOptions;
1699
+ onToast?: (message: string, type: "success" | "error") => void;
1700
+ filestackApiKey?: string;
1701
+ websocketUrl?: string;
1742
1702
  };
1743
- declare function MessagingScreen({ onToast, filestackApiKey, websocketUrl: websocketUrlOverride, background, textColor, accentColor, padding, borderRadius, ...divProps }: MessagingScreenProps): react_jsx_runtime.JSX.Element;
1703
+ declare function MessagingScreen({
1704
+ onToast,
1705
+ filestackApiKey,
1706
+ websocketUrl: websocketUrlOverride,
1707
+ background,
1708
+ textColor,
1709
+ accentColor,
1710
+ padding,
1711
+ borderRadius,
1712
+ ...divProps
1713
+ }: MessagingScreenProps): react_jsx_runtime0.JSX.Element;
1744
1714
  declare const messagingScreenPropertySchema: WidgetPropertySchema;
1745
-
1715
+ //#endregion
1716
+ //#region src/screens/ContactsScreen.d.ts
1746
1717
  type ContactsScreenProps = ComponentProps<"div"> & {
1747
- background?: BackgroundValue;
1748
- textColor?: ColorOptions;
1749
- accentColor?: ColorOptions;
1750
- padding?: PaddingOptions;
1751
- borderRadius?: BorderRadiusOptions;
1752
- defaultViewMode?: "list" | "grid";
1753
- onContactSelect?: (contactId: string) => void;
1754
- onCreateContact?: () => void;
1718
+ background?: BackgroundValue;
1719
+ textColor?: ColorOptions;
1720
+ accentColor?: ColorOptions;
1721
+ padding?: PaddingOptions;
1722
+ borderRadius?: BorderRadiusOptions;
1723
+ defaultViewMode?: "list" | "grid";
1724
+ onContactSelect?: (contactId: string) => void;
1725
+ onCreateContact?: () => void;
1755
1726
  };
1756
- declare function ContactsScreen(_props: ContactsScreenProps): react_jsx_runtime.JSX.Element;
1727
+ declare function ContactsScreen(_props: ContactsScreenProps): react_jsx_runtime0.JSX.Element;
1757
1728
  declare const contactsScreenPropertySchema: WidgetPropertySchema;
1758
-
1729
+ //#endregion
1730
+ //#region src/screens/OrdersScreen.d.ts
1759
1731
  type OrdersScreenProps = ComponentProps<"div"> & {
1760
- background?: BackgroundValue;
1761
- textColor?: ColorOptions;
1762
- accentColor?: ColorOptions;
1763
- padding?: PaddingOptions;
1764
- borderRadius?: BorderRadiusOptions;
1732
+ background?: BackgroundValue;
1733
+ textColor?: ColorOptions;
1734
+ accentColor?: ColorOptions;
1735
+ padding?: PaddingOptions;
1736
+ borderRadius?: BorderRadiusOptions;
1765
1737
  };
1766
- declare function OrdersScreen(_props: OrdersScreenProps): react_jsx_runtime.JSX.Element;
1738
+ declare function OrdersScreen(_props: OrdersScreenProps): react_jsx_runtime0.JSX.Element;
1767
1739
  declare const ordersScreenPropertySchema: WidgetPropertySchema;
1768
-
1740
+ //#endregion
1741
+ //#region src/screens/CustomersScreen.d.ts
1769
1742
  type CustomersScreenProps = ComponentProps<"div"> & {
1770
- background?: BackgroundValue;
1771
- textColor?: ColorOptions;
1772
- accentColor?: ColorOptions;
1773
- padding?: PaddingOptions;
1774
- borderRadius?: BorderRadiusOptions;
1743
+ background?: BackgroundValue;
1744
+ textColor?: ColorOptions;
1745
+ accentColor?: ColorOptions;
1746
+ padding?: PaddingOptions;
1747
+ borderRadius?: BorderRadiusOptions;
1775
1748
  };
1776
- declare function CustomersScreen(_props: CustomersScreenProps): react_jsx_runtime.JSX.Element;
1749
+ declare function CustomersScreen(_props: CustomersScreenProps): react_jsx_runtime0.JSX.Element;
1777
1750
  declare const customersScreenPropertySchema: WidgetPropertySchema;
1778
-
1751
+ //#endregion
1752
+ //#region src/screens/ProductsScreen.d.ts
1779
1753
  type ProductsScreenProps = ComponentProps<"div"> & {
1780
- background?: BackgroundValue;
1781
- textColor?: ColorOptions;
1782
- accentColor?: ColorOptions;
1783
- padding?: PaddingOptions;
1784
- borderRadius?: BorderRadiusOptions;
1754
+ background?: BackgroundValue;
1755
+ textColor?: ColorOptions;
1756
+ accentColor?: ColorOptions;
1757
+ padding?: PaddingOptions;
1758
+ borderRadius?: BorderRadiusOptions;
1785
1759
  };
1786
- declare function ProductsScreen(_props: ProductsScreenProps): react_jsx_runtime.JSX.Element;
1760
+ declare function ProductsScreen(_props: ProductsScreenProps): react_jsx_runtime0.JSX.Element;
1787
1761
  declare const productsScreenPropertySchema: WidgetPropertySchema;
1788
-
1762
+ //#endregion
1763
+ //#region src/screens/index.d.ts
1789
1764
  declare const screenPropertySchemas: {
1790
- MessagingScreen: () => Promise<_fluid_app_rep_core_registries.WidgetPropertySchema>;
1791
- ContactsScreen: () => Promise<_fluid_app_rep_core_registries.WidgetPropertySchema>;
1792
- OrdersScreen: () => Promise<_fluid_app_rep_core_registries.WidgetPropertySchema>;
1793
- CustomersScreen: () => Promise<_fluid_app_rep_core_registries.WidgetPropertySchema>;
1794
- ProductsScreen: () => Promise<_fluid_app_rep_core_registries.WidgetPropertySchema>;
1765
+ MessagingScreen: () => Promise<_fluid_app_rep_core_registries0.WidgetPropertySchema>;
1766
+ ContactsScreen: () => Promise<_fluid_app_rep_core_registries0.WidgetPropertySchema>;
1767
+ OrdersScreen: () => Promise<_fluid_app_rep_core_registries0.WidgetPropertySchema>;
1768
+ CustomersScreen: () => Promise<_fluid_app_rep_core_registries0.WidgetPropertySchema>;
1769
+ ProductsScreen: () => Promise<_fluid_app_rep_core_registries0.WidgetPropertySchema>;
1795
1770
  };
1796
1771
  /**
1797
1772
  * Core page template IDs
1798
1773
  */
1799
1774
  declare const CORE_PAGE_IDS: {
1800
- readonly MESSAGING: "core-messaging";
1801
- readonly CONTACTS: "core-contacts";
1802
- readonly ORDERS: "core-orders";
1803
- readonly CUSTOMERS: "core-customers";
1804
- readonly PRODUCTS: "core-products";
1775
+ readonly MESSAGING: "core-messaging";
1776
+ readonly CONTACTS: "core-contacts";
1777
+ readonly ORDERS: "core-orders";
1778
+ readonly CUSTOMERS: "core-customers";
1779
+ readonly PRODUCTS: "core-products";
1805
1780
  };
1806
-
1781
+ //#endregion
1782
+ //#region src/core/default-widget-registry.d.ts
1807
1783
  declare const DEFAULT_SDK_WIDGET_REGISTRY: {
1808
- AlertWidget: typeof AlertWidget;
1809
- CalendarWidget: typeof CalendarWidget;
1810
- CarouselWidget: typeof CarouselWidget;
1811
- CatchUpWidget: typeof CatchUpWidget;
1812
- ChartWidget: typeof ChartWidget;
1813
- ContainerWidget: typeof ContainerWidget;
1814
- EmbedWidget: typeof EmbedWidget;
1815
- ImageWidget: typeof ImageWidget;
1816
- LayoutWidget: <T extends Record<string, react.ComponentType<any>>>({ sectionLayout, gap, gapSize, background, padding, borderRadius, children, registry, className, minHeight, }: {
1817
- sectionLayout?: _fluid_app_rep_core_types.SectionLayoutType;
1818
- type?: "flex" | "grid";
1819
- columns?: number;
1820
- rows?: number;
1821
- direction?: string;
1822
- justify?: string;
1823
- align?: string;
1824
- wrap?: boolean;
1825
- gap?: number;
1826
- gapSize?: _fluid_app_rep_core_types.GapOptions;
1827
- background?: _fluid_app_rep_core_types.BackgroundValue;
1828
- padding?: _fluid_app_rep_core_types.PaddingOptions;
1829
- borderRadius?: _fluid_app_rep_core_types.BorderRadiusOptions;
1830
- children: (_fluid_app_rep_core_types.WidgetSchema | null)[] | (_fluid_app_rep_core_types.TypedWidgetSchema<T> | null)[];
1831
- registry?: T | undefined;
1832
- className?: string;
1833
- minHeight?: number;
1834
- }) => react_jsx_runtime.JSX.Element;
1835
- ListWidget: typeof ListWidget;
1836
- MySiteWidget: typeof MySiteWidget;
1837
- NestedWidget: typeof NestedWidget;
1838
- QuickShareWidget: typeof QuickShareWidget;
1839
- RecentActivityWidget: typeof RecentActivityWidget;
1840
- SpacerWidget: typeof SpacerWidget;
1841
- TableWidget: typeof TableWidget;
1842
- TextWidget: typeof TextWidget;
1843
- ToDoWidget: typeof ToDoWidget;
1844
- VideoWidget: typeof VideoWidget;
1784
+ AlertWidget: typeof AlertWidget$1;
1785
+ CalendarWidget: typeof CalendarWidget$1;
1786
+ CarouselWidget: typeof CarouselWidget$1;
1787
+ CatchUpWidget: typeof CatchUpWidget$1;
1788
+ ChartWidget: typeof ChartWidget$1;
1789
+ ContainerWidget: typeof ContainerWidget$1;
1790
+ EmbedWidget: typeof EmbedWidget$1;
1791
+ ImageWidget: typeof ImageWidget$1;
1792
+ LayoutWidget: <T extends Record<string, react.ComponentType<any>>>({
1793
+ sectionLayout,
1794
+ gap,
1795
+ gapSize,
1796
+ background,
1797
+ padding,
1798
+ borderRadius,
1799
+ children,
1800
+ registry,
1801
+ className,
1802
+ minHeight
1803
+ }: {
1804
+ sectionLayout?: _fluid_app_rep_core_types0.SectionLayoutType;
1805
+ type?: "flex" | "grid";
1806
+ columns?: number;
1807
+ rows?: number;
1808
+ direction?: string;
1809
+ justify?: string;
1810
+ align?: string;
1811
+ wrap?: boolean;
1812
+ gap?: number;
1813
+ gapSize?: _fluid_app_rep_core_types0.GapOptions;
1814
+ background?: _fluid_app_rep_core_types0.BackgroundValue;
1815
+ padding?: _fluid_app_rep_core_types0.PaddingOptions;
1816
+ borderRadius?: _fluid_app_rep_core_types0.BorderRadiusOptions;
1817
+ children: (_fluid_app_rep_core_types0.WidgetSchema | null)[] | (_fluid_app_rep_core_types0.TypedWidgetSchema<T> | null)[];
1818
+ registry?: T | undefined;
1819
+ className?: string;
1820
+ minHeight?: number;
1821
+ }) => react_jsx_runtime0.JSX.Element;
1822
+ ListWidget: typeof ListWidget$1;
1823
+ MySiteWidget: typeof MySiteWidget$1;
1824
+ NestedWidget: typeof NestedWidget$1;
1825
+ QuickShareWidget: typeof QuickShareWidget$1;
1826
+ RecentActivityWidget: typeof RecentActivityWidget$1;
1827
+ SpacerWidget: typeof SpacerWidget$1;
1828
+ TableWidget: typeof TableWidget$1;
1829
+ TextWidget: typeof TextWidget$1;
1830
+ ToDoWidget: typeof ToDoWidget$1;
1831
+ VideoWidget: typeof VideoWidget$1;
1845
1832
  };
1846
-
1833
+ //#endregion
1834
+ //#region src/core/resolve-pages.d.ts
1847
1835
  /**
1848
1836
  * Resolve all page references and local screens into a unified screen list.
1849
1837
  *
@@ -1904,10 +1892,11 @@ declare function getOptionalPageTemplates(): PageTemplate[];
1904
1892
  * @returns Object with validation result and missing page IDs
1905
1893
  */
1906
1894
  declare function validateNavigationPages(navigation: Readonly<Navigation>): {
1907
- readonly valid: boolean;
1908
- readonly missingCorePages: readonly string[];
1895
+ readonly valid: boolean;
1896
+ readonly missingCorePages: readonly string[];
1909
1897
  };
1910
-
1898
+ //#endregion
1899
+ //#region src/registries/page-template-registry.d.ts
1911
1900
  /**
1912
1901
  * Registry for managing reusable page templates.
1913
1902
  *
@@ -1935,61 +1924,61 @@ declare function validateNavigationPages(navigation: Readonly<Navigation>): {
1935
1924
  * ```
1936
1925
  */
1937
1926
  declare class PageTemplateRegistryImpl {
1938
- private templates;
1939
- private categories;
1940
- constructor();
1941
- /**
1942
- * Register a new page template.
1943
- * @throws Error if a template with the same ID already exists
1944
- */
1945
- register(template: PageTemplate): void;
1946
- /**
1947
- * Unregister a page template by ID.
1948
- * Core templates cannot be unregistered.
1949
- * @returns true if the template was removed, false if it didn't exist or is a core template
1950
- */
1951
- unregister(id: string): boolean;
1952
- /**
1953
- * Get a page template by ID.
1954
- */
1955
- get(id: string): PageTemplate | undefined;
1956
- /**
1957
- * Get all page templates in a specific category.
1958
- */
1959
- getByCategory(category: PageCategoryId | string): PageTemplate[];
1960
- /**
1961
- * List all registered page templates.
1962
- */
1963
- listAll(): PageTemplate[];
1964
- /**
1965
- * List all core page templates (isCore: true).
1966
- */
1967
- listCore(): PageTemplate[];
1968
- /**
1969
- * List all non-core page templates.
1970
- */
1971
- listOptional(): PageTemplate[];
1972
- /**
1973
- * List all registered categories.
1974
- */
1975
- listCategories(): PageCategory[];
1976
- /**
1977
- * Add a custom category.
1978
- */
1979
- addCategory(category: PageCategory): void;
1980
- /**
1981
- * Check if a template exists by ID.
1982
- */
1983
- has(id: string): boolean;
1984
- /**
1985
- * Get the count of registered templates.
1986
- */
1987
- get size(): number;
1988
- /**
1989
- * Clear all non-core templates.
1990
- * Useful for testing or resetting the registry.
1991
- */
1992
- clearNonCore(): void;
1927
+ private templates;
1928
+ private categories;
1929
+ constructor();
1930
+ /**
1931
+ * Register a new page template.
1932
+ * @throws Error if a template with the same ID already exists
1933
+ */
1934
+ register(template: PageTemplate): void;
1935
+ /**
1936
+ * Unregister a page template by ID.
1937
+ * Core templates cannot be unregistered.
1938
+ * @returns true if the template was removed, false if it didn't exist or is a core template
1939
+ */
1940
+ unregister(id: string): boolean;
1941
+ /**
1942
+ * Get a page template by ID.
1943
+ */
1944
+ get(id: string): PageTemplate | undefined;
1945
+ /**
1946
+ * Get all page templates in a specific category.
1947
+ */
1948
+ getByCategory(category: PageCategoryId | string): PageTemplate[];
1949
+ /**
1950
+ * List all registered page templates.
1951
+ */
1952
+ listAll(): PageTemplate[];
1953
+ /**
1954
+ * List all core page templates (isCore: true).
1955
+ */
1956
+ listCore(): PageTemplate[];
1957
+ /**
1958
+ * List all non-core page templates.
1959
+ */
1960
+ listOptional(): PageTemplate[];
1961
+ /**
1962
+ * List all registered categories.
1963
+ */
1964
+ listCategories(): PageCategory[];
1965
+ /**
1966
+ * Add a custom category.
1967
+ */
1968
+ addCategory(category: PageCategory): void;
1969
+ /**
1970
+ * Check if a template exists by ID.
1971
+ */
1972
+ has(id: string): boolean;
1973
+ /**
1974
+ * Get the count of registered templates.
1975
+ */
1976
+ get size(): number;
1977
+ /**
1978
+ * Clear all non-core templates.
1979
+ * Useful for testing or resetting the registry.
1980
+ */
1981
+ clearNonCore(): void;
1993
1982
  }
1994
1983
  /**
1995
1984
  * Global page template registry singleton.
@@ -1998,107 +1987,153 @@ declare class PageTemplateRegistryImpl {
1998
1987
  * (Messaging, Contacts) when the SDK is imported.
1999
1988
  */
2000
1989
  declare const PageTemplateRegistry: PageTemplateRegistryImpl;
2001
-
1990
+ //#endregion
1991
+ //#region src/shell/AppShell.d.ts
2002
1992
  interface AppShellProps {
2003
- /** Pre-fetched app data (skips internal useFluidApp call if provided) */
2004
- appData?: RepAppData;
2005
- /** Override navigation items (otherwise derived from appData/API) */
2006
- navigation?: NavigationItem[];
2007
- /** Custom page components keyed by slug */
2008
- customPages?: Record<string, ComponentType<{
2009
- slug?: string;
2010
- params?: string;
2011
- }>>;
2012
- /** Base path for subpath deployments (e.g. "/portal"). Default: "/" */
2013
- basePath?: string;
2014
- /** Controlled current slug */
2015
- currentSlug?: string;
2016
- /** Navigation callback */
2017
- onNavigate?: (slug: string) => void;
2018
- /** Custom sidebar header slot */
2019
- sidebarHeader?: ReactNode;
2020
- /** Custom sidebar footer slot */
2021
- sidebarFooter?: ReactNode;
2022
- /** Render prop or static children for the content area */
2023
- children?: ReactNode | ((props: {
2024
- currentSlug: string;
2025
- currentNavItem: NavigationItem | undefined;
2026
- }) => ReactNode);
2027
- }
2028
- declare function AppShell({ appData: appDataProp, navigation: navigationProp, customPages, basePath, currentSlug: controlledSlug, onNavigate: onNavigateProp, sidebarHeader, sidebarFooter, children, }: AppShellProps): react_jsx_runtime.JSX.Element;
2029
-
1993
+ /** Pre-fetched app data (skips internal useFluidApp call if provided) */
1994
+ appData?: RepAppData$1;
1995
+ /** Override navigation items (otherwise derived from appData/API) */
1996
+ navigation?: NavigationItem[];
1997
+ /** Custom page components keyed by slug */
1998
+ customPages?: Record<string, ComponentType<{
1999
+ slug?: string;
2000
+ params?: string;
2001
+ }>>;
2002
+ /** Base path for subpath deployments (e.g. "/portal"). Default: "/" */
2003
+ basePath?: string;
2004
+ /** Controlled current slug */
2005
+ currentSlug?: string;
2006
+ /** Navigation callback */
2007
+ onNavigate?: (slug: string) => void;
2008
+ /** Custom sidebar header slot */
2009
+ sidebarHeader?: ReactNode;
2010
+ /** Custom sidebar footer slot */
2011
+ sidebarFooter?: ReactNode;
2012
+ /** Render prop or static children for the content area */
2013
+ children?: ReactNode | ((props: {
2014
+ currentSlug: string;
2015
+ currentNavItem: NavigationItem | undefined;
2016
+ }) => ReactNode);
2017
+ }
2018
+ declare function AppShell({
2019
+ appData: appDataProp,
2020
+ navigation: navigationProp,
2021
+ customPages,
2022
+ basePath,
2023
+ currentSlug: controlledSlug,
2024
+ onNavigate: onNavigateProp,
2025
+ sidebarHeader,
2026
+ sidebarFooter,
2027
+ children
2028
+ }: AppShellProps): react_jsx_runtime0.JSX.Element;
2029
+ //#endregion
2030
+ //#region src/shell/BuilderScreenView.d.ts
2030
2031
  interface BuilderScreenViewProps {
2031
- /** The screen definition to render */
2032
- screen: ScreenDefinition$1;
2033
- /** Additional CSS classes for the wrapper div */
2034
- className?: string;
2032
+ /** The screen definition to render */
2033
+ screen: ScreenDefinition$1;
2034
+ /** Additional CSS classes for the wrapper div */
2035
+ className?: string;
2035
2036
  }
2036
2037
  /**
2037
2038
  * Renders a builder screen's component_tree with full data source support.
2038
2039
  * Widgets with `dataSource` config are automatically wrapped with `DataAwareWidget`
2039
2040
  * which fetches data and merges it with static props before rendering.
2040
2041
  */
2041
- declare function BuilderScreenViewImpl({ screen, className }: BuilderScreenViewProps): react_jsx_runtime.JSX.Element;
2042
+ declare function BuilderScreenViewImpl({
2043
+ screen,
2044
+ className
2045
+ }: BuilderScreenViewProps): react_jsx_runtime0.JSX.Element;
2042
2046
  declare const BuilderScreenView: react.MemoExoticComponent<typeof BuilderScreenViewImpl>;
2043
-
2047
+ //#endregion
2048
+ //#region src/shell/SdkNavigation.d.ts
2044
2049
  interface SdkNavigationProps {
2045
- navItems: NavigationItem[];
2046
- currentSlug: string;
2047
- onNavigate: (slug: string) => void;
2048
- navSlugs: string[];
2049
- }
2050
- declare function SdkNavigation({ navItems, currentSlug, onNavigate, navSlugs, }: SdkNavigationProps): react_jsx_runtime.JSX.Element;
2051
-
2050
+ navItems: NavigationItem[];
2051
+ currentSlug: string;
2052
+ onNavigate: (slug: string) => void;
2053
+ navSlugs: string[];
2054
+ }
2055
+ declare function SdkNavigation({
2056
+ navItems,
2057
+ currentSlug,
2058
+ onNavigate,
2059
+ navSlugs
2060
+ }: SdkNavigationProps): react_jsx_runtime0.JSX.Element;
2061
+ //#endregion
2062
+ //#region src/shell/SdkHeader.d.ts
2052
2063
  interface SdkHeaderProps {
2053
- tabs: NavigationItem[];
2054
- mobileTabs?: NavigationItem[];
2055
- currentSlug: string;
2056
- onNavigate: (slug: string) => void;
2057
- navSlugs: string[];
2058
- }
2059
- declare function SdkHeader({ tabs, mobileTabs, currentSlug, onNavigate, navSlugs, }: SdkHeaderProps): react_jsx_runtime.JSX.Element;
2060
-
2064
+ tabs: NavigationItem[];
2065
+ mobileTabs?: NavigationItem[];
2066
+ currentSlug: string;
2067
+ onNavigate: (slug: string) => void;
2068
+ navSlugs: string[];
2069
+ }
2070
+ declare function SdkHeader({
2071
+ tabs,
2072
+ mobileTabs,
2073
+ currentSlug,
2074
+ onNavigate,
2075
+ navSlugs
2076
+ }: SdkHeaderProps): react_jsx_runtime0.JSX.Element;
2077
+ //#endregion
2078
+ //#region src/shell/PageRouter.d.ts
2061
2079
  interface PageRouterProps {
2062
- currentSlug: string;
2063
- currentNavItem?: NavigationItem | undefined;
2064
- customPages?: Record<string, ComponentType<{
2065
- slug?: string;
2066
- params?: string;
2067
- }>> | undefined;
2068
- /** Builder screen definitions (from fluidos API) */
2069
- screens?: ScreenDefinition[] | undefined;
2070
- baseSlug: string;
2071
- restParams: string;
2072
- }
2073
- declare function PageRouter({ currentSlug, currentNavItem, customPages, screens, baseSlug, restParams, }: PageRouterProps): react_jsx_runtime.JSX.Element;
2074
-
2080
+ currentSlug: string;
2081
+ currentNavItem?: NavigationItem | undefined;
2082
+ customPages?: Record<string, ComponentType<{
2083
+ slug?: string;
2084
+ params?: string;
2085
+ }>> | undefined;
2086
+ /** Builder screen definitions (from fluidos API) */
2087
+ screens?: ScreenDefinition[] | undefined;
2088
+ baseSlug: string;
2089
+ restParams: string;
2090
+ }
2091
+ declare function PageRouter({
2092
+ currentSlug,
2093
+ currentNavItem,
2094
+ customPages,
2095
+ screens,
2096
+ baseSlug,
2097
+ restParams
2098
+ }: PageRouterProps): react_jsx_runtime0.JSX.Element;
2099
+ //#endregion
2100
+ //#region src/shell/QuickLinksDropdown.d.ts
2075
2101
  interface QuickLinksDropdownProps {
2076
- onNavigate: (slug: string) => void;
2102
+ onNavigate: (slug: string) => void;
2077
2103
  }
2078
- declare function QuickLinksDropdown({ onNavigate }: QuickLinksDropdownProps): react_jsx_runtime.JSX.Element;
2079
-
2104
+ declare function QuickLinksDropdown({
2105
+ onNavigate
2106
+ }: QuickLinksDropdownProps): react_jsx_runtime0.JSX.Element;
2107
+ //#endregion
2108
+ //#region src/shell/AppNavigationContext.d.ts
2080
2109
  interface AppNavigationContextValue {
2081
- /** Current active slug (e.g. "contacts/123") */
2082
- currentSlug: string;
2083
- /** Base path for subpath deployments (e.g. "/portal"). Default: "/" */
2084
- basePath: string;
2085
- /** Navigate to a slug programmatically */
2086
- navigate: (slug: string) => void;
2087
- /** Build a full href for a slug (for use in <a> tags) */
2088
- buildHref: (slug: string) => string;
2110
+ /** Current active slug (e.g. "contacts/123") */
2111
+ currentSlug: string;
2112
+ /** Base path for subpath deployments (e.g. "/portal"). Default: "/" */
2113
+ basePath: string;
2114
+ /** Navigate to a slug programmatically */
2115
+ navigate: (slug: string) => void;
2116
+ /** Build a full href for a slug (for use in <a> tags) */
2117
+ buildHref: (slug: string) => string;
2089
2118
  }
2090
2119
  interface AppNavigationProviderProps {
2091
- currentSlug: string;
2092
- basePath: string;
2093
- navigate: (slug: string) => void;
2094
- children: ReactNode;
2095
- }
2096
- declare function AppNavigationProvider({ currentSlug, basePath, navigate, children, }: AppNavigationProviderProps): react_jsx_runtime.JSX.Element;
2120
+ currentSlug: string;
2121
+ basePath: string;
2122
+ navigate: (slug: string) => void;
2123
+ children: ReactNode;
2124
+ }
2125
+ declare function AppNavigationProvider({
2126
+ currentSlug,
2127
+ basePath,
2128
+ navigate,
2129
+ children
2130
+ }: AppNavigationProviderProps): react_jsx_runtime0.JSX.Element;
2097
2131
  declare function useAppNavigation(): AppNavigationContextValue;
2098
-
2132
+ //#endregion
2133
+ //#region src/shell/AppLink.d.ts
2099
2134
  interface AppLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "href"> {
2100
- /** Slug to navigate to (e.g. "contacts/123") */
2101
- to: string;
2135
+ /** Slug to navigate to (e.g. "contacts/123") */
2136
+ to: string;
2102
2137
  }
2103
2138
  /**
2104
2139
  * SPA-aware link that renders a real `<a href>` for accessibility
@@ -2106,10 +2141,11 @@ interface AppLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "hr
2106
2141
  * clicks for client-side navigation.
2107
2142
  */
2108
2143
  declare const AppLink: react.ForwardRefExoticComponent<AppLinkProps & react.RefAttributes<HTMLAnchorElement>>;
2109
-
2144
+ //#endregion
2145
+ //#region src/shell/slug-utils.d.ts
2110
2146
  interface SlugMatch {
2111
- matchedSlug: string;
2112
- rest: string;
2147
+ matchedSlug: string;
2148
+ rest: string;
2113
2149
  }
2114
2150
  /**
2115
2151
  * Extract all slugs from a navigation tree, sorted by segment count descending.
@@ -2134,5 +2170,40 @@ declare function matchSlugPrefix(fullSlug: string, navSlugs: string[]): SlugMatc
2134
2170
  */
2135
2171
  declare function extractSlugFromPathname(pathname: string, basePath: string): string;
2136
2172
  declare function isSlugInSection(item: NavigationItem, currentSlug: string, navSlugs: string[]): boolean;
2137
-
2138
- export { ACTIVITY_SLUGS, APP_DATA_QUERY_KEY, type Activity as ActivityItem, type ActivitySlug, ApiError, AppLink, type AppLinkProps, type AppNavigationContextValue, AppNavigationProvider, type AppNavigationProviderProps, AppShell, type AppShellProps, AuthError, type AuthErrorProps, AuthLoading, type BaseListParams, BuilderScreenView, type BuilderScreenViewProps, CORE_PAGE_IDS, CURRENT_REP_QUERY_KEY, type CalendarEvent, type CatchUp as CatchUpItem, type Contact, type ContactAddress, type ContactStatus, type ContactType, ContactsScreen, type Conversation, type ConversationStatus, type CreateOrderData, CustomersScreen, DEFAULT_SDK_WIDGET_REGISTRY, type DashboardData, FluidAuthProvider, type FluidAuthProviderProps, type FluidClient, FluidProvider, type FluidProviderProps, type FluidSDKConfig, FluidThemeProvider, type FluidThemeProviderProps, type ListQueryResult, type Message, type MessageType, type MessagingConfig, MessagingScreen, type MySiteData, type Navigation, type Order, type OrderLineItem, type OrderListParams, OrdersScreen, PAGE_CATEGORIES, PERMISSIONS_QUERY_KEY, PROFILE_QUERY_KEY, type PageCategory, type PageCategoryId, type PageOverride, type PageReference, PageRouter, type PageRouterProps, type PageTemplate, PageTemplateProvider, PageTemplateRegistry, type PaginationParams, type Participant, type PermissionAction, type Permissions, type Product, type ProductListParams, ProductsScreen, type Profile, type QueryResult, type QueryResultNullable, QuickLinksDropdown, type QuickLinksDropdownProps, type RawApiNavigationItem, type RawApiScreen, type RawManifestResponse, type Rep, type RequestOptions, RequireAuth, type RequireAuthProps, type ResourcePermissions, type SalesData, type SalesDataPoint, type SalesParams, type ScreenDefinition, SdkHeader, type SdkHeaderProps, SdkNavigation, type SdkNavigationProps, type SlugMatch, type Todo as TodoItem, type UpdateRepData, type UseContactResult, type UseContactsParams, type UseContactsResult, type UseConversationMessagesResult, type UseConversationsResult, type UseFluidPermissionsResult, type UseFluidThemeResult, type UseListResourceHook, type UseSingleResourceHook, type UserMe, type UserPermissions, type ValueListQueryResult, type WithData, collectNavSlugs, contactsScreenPropertySchema, createFluidClient, createFluidFileUploader, customersScreenPropertySchema, extractSlugFromPathname, getAvailablePageTemplates, getCorePageTemplates, getOptionalPageTemplates, getProperty, hasData, isActivitySlug, isApiError, isContactStatus, isErrorResult, isIdle, isLoading, isSlugInSection, matchSlugPrefix, messagingScreenPropertySchema, normalizeComponentTree, ordersScreenPropertySchema, productsScreenPropertySchema, resolveNavigationPages, screenPropertySchemas, selectProperty, toNavigationItem, toScreenDefinition, transformManifestToRepAppData, useActivities, useAppNavigation, useCalendarEvents, useCatchUps, useContact, useContacts, useConversationMessages, useConversations, useCurrentRep, useFluidApi, useFluidApp, useFluidAuth, useFluidAuthContext, useFluidContext, useFluidPermissions, useFluidProfile, useFluidTheme, useMessagingAuth, useMessagingConfig, useMySite, usePageTemplates, useResolvedPages, useThemeContext, useTodos, validateNavigationPages };
2173
+ type DEFAULT_COLORS = import__fluid_app_rep_core_theme.DEFAULT_COLORS;
2174
+ type DEFAULT_FONT_FAMILIES = import__fluid_app_rep_core_theme.DEFAULT_FONT_FAMILIES;
2175
+ type DEFAULT_FONT_SIZES = import__fluid_app_rep_core_theme.DEFAULT_FONT_SIZES;
2176
+ type DEFAULT_RADII = import__fluid_app_rep_core_theme.DEFAULT_RADII;
2177
+ type DEFAULT_SPACING = import__fluid_app_rep_core_theme.DEFAULT_SPACING;
2178
+ type DEFAULT_THEME_ID = import__fluid_app_rep_core_theme.DEFAULT_THEME_ID;
2179
+ type DEFAULT_THEME_NAME = import__fluid_app_rep_core_theme.DEFAULT_THEME_NAME;
2180
+ type FONT_FAMILY_KEYS = import__fluid_app_rep_core_theme.FONT_FAMILY_KEYS;
2181
+ type FONT_SIZE_KEYS = import__fluid_app_rep_core_theme.FONT_SIZE_KEYS;
2182
+ type FontFamilyKey = import__fluid_app_rep_core_theme.FontFamilyKey;
2183
+ type FontSizeKey = import__fluid_app_rep_core_theme.FontSizeKey;
2184
+ type GenerateThemeCSSOptions = import__fluid_app_rep_core_theme.GenerateThemeCSSOptions;
2185
+ type OklchPlain = import__fluid_app_rep_core_theme.OklchPlain;
2186
+ type RADIUS_KEYS = import__fluid_app_rep_core_theme.RADIUS_KEYS;
2187
+ type RadiusKey = import__fluid_app_rep_core_theme.RadiusKey;
2188
+ type ResolvedColorSet = import__fluid_app_rep_core_theme.ResolvedColorSet;
2189
+ type ResolvedSemanticColor = import__fluid_app_rep_core_theme.ResolvedSemanticColor;
2190
+ type SEMANTIC_COLOR_NAMES = import__fluid_app_rep_core_theme.SEMANTIC_COLOR_NAMES;
2191
+ type SHADE_STEPS = import__fluid_app_rep_core_theme.SHADE_STEPS;
2192
+ type SemanticColorName = import__fluid_app_rep_core_theme.SemanticColorName;
2193
+ type ShadeStep = import__fluid_app_rep_core_theme.ShadeStep;
2194
+ type ThemeColorPlain = import__fluid_app_rep_core_theme.ThemeColorPlain;
2195
+ type applyTheme = import__fluid_app_rep_core_theme.applyTheme;
2196
+ type deriveDarkVariant = import__fluid_app_rep_core_theme.deriveDarkVariant;
2197
+ type deserialiseTheme = import__fluid_app_rep_core_theme.deserialiseTheme;
2198
+ type generateShades = import__fluid_app_rep_core_theme.generateShades;
2199
+ type generateThemeCSS = import__fluid_app_rep_core_theme.generateThemeCSS;
2200
+ type getDefaultThemeDefinition = import__fluid_app_rep_core_theme.getDefaultThemeDefinition;
2201
+ type getForegroundColor = import__fluid_app_rep_core_theme.getForegroundColor;
2202
+ type mergeDarkOverrides = import__fluid_app_rep_core_theme.mergeDarkOverrides;
2203
+ type parseColor = import__fluid_app_rep_core_theme.parseColor;
2204
+ type removeAllThemes = import__fluid_app_rep_core_theme.removeAllThemes;
2205
+ type removeTheme = import__fluid_app_rep_core_theme.removeTheme;
2206
+ type resolveTheme = import__fluid_app_rep_core_theme.resolveTheme;
2207
+ type serialiseTheme = import__fluid_app_rep_core_theme.serialiseTheme;
2208
+ export { ACTIVITY_SLUGS, APP_DATA_QUERY_KEY, AUTH_CONSTANTS, type Activity as ActivityItem, type ActivitySlug, AlertWidget, type AlignOptions, ApiError, AppLink, type AppLinkProps, type AppNavigationContextValue, AppNavigationProvider, type AppNavigationProviderProps, AppShell, type AppShellProps, AuthError, type AuthErrorProps, AuthLoading, type BackgroundType, type BackgroundValue, type BaseListParams, type BorderRadiusOptions, BuilderScreenView, type BuilderScreenViewProps, type ButtonSizeOptions, CORE_PAGE_IDS, CURRENT_REP_QUERY_KEY, type CalendarEvent, CalendarWidget, CarouselWidget, type CatchUp as CatchUpItem, CatchUpWidget, ChartWidget, type ColorOptions, type Contact, type ContactAddress, type ContactStatus, type ContactType, ContactsScreen, ContainerWidget, type Conversation, type ConversationStatus, type CreateOrderData, CustomersScreen, DEFAULT_AUTH_URL, DEFAULT_COLORS, DEFAULT_FONT_FAMILIES, DEFAULT_FONT_SIZES, DEFAULT_RADII, DEFAULT_SDK_WIDGET_REGISTRY, DEFAULT_SPACING, DEFAULT_THEME_ID, DEFAULT_THEME_NAME, type DashboardData, EmbedWidget, FONT_FAMILY_KEYS, FONT_SIZE_KEYS, type FileUploader, type FluidAuthConfig, type FluidAuthContextValue, FluidAuthProvider, type FluidAuthProviderProps, type FluidClient, FluidProvider, type FluidProviderProps, type FluidSDKConfig, FluidThemeProvider, type FluidThemeProviderProps, type FontFamilyKey, type FontSizeKey, type FontSizeOptions, type GapOptions, type GenerateThemeCSSOptions, ImageWidget, type JWTPayload, LayoutWidget, type ListQueryResult, ListWidget, type Message, type MessageType, type MessagingAuthContext, type MessagingConfig, type MessagingCurrentUser, MessagingScreen, type MySiteData, MySiteWidget, type Navigation, type NavigationItem, NestedWidget, type OklchPlain, type Order, type OrderLineItem, type OrderListParams, OrdersScreen, PAGE_CATEGORIES, PERMISSIONS_QUERY_KEY, PROFILE_QUERY_KEY, PROPERTY_FIELD_TYPES, type PaddingOptions, type PageCategory, type PageCategoryId, type PageOverride, type PageReference, PageRouter, type PageRouterProps, type PageTemplate, PageTemplateProvider, PageTemplateRegistry, type PaginationParams, type Participant, type PermissionAction, type Permissions, type Product, type ProductListParams, ProductsScreen, type Profile, type PropertyFieldSchema, type PropertyFieldType, type QueryResult, type QueryResultNullable, QuickLinksDropdown, type QuickLinksDropdownProps, QuickShareWidget, RADIUS_KEYS, type RadiusKey, type RawApiNavigationItem, type RawApiScreen, type RawApiTheme, type RawManifestResponse, RecentActivityWidget, type Rep, type RepAppData, type RepAppManifest, type RepAppProfile, type RequestOptions, RequireAuth, type RequireAuthProps, type ResolvedColorSet, type ResolvedSemanticColor, type ResolvedTheme, type ResourcePermissions, SEMANTIC_COLOR_NAMES, SHADE_STEPS, STORAGE_KEYS, type SalesData, type SalesDataPoint, type SalesParams, type ScreenDefinition, SdkHeader, type SdkHeaderProps, SdkNavigation, type SdkNavigationProps, type SectionLayoutType, type SemanticColorName, type ShadeStep, type ShareableItem, type SlugMatch, SpacerWidget, type TabConfig, TableWidget, TextWidget, type ThemeColorInput, type ThemeColorPlain, type ThemeDefinition, type ThemeMode, ThemeModeProvider, type ThemePayload, ToDoWidget, type Todo as TodoItem, type TokenValidationResult, type TypedWidgetSchema, URL_PARAMS, USER_TYPES, type UpdateRepData, type UploadCallbacks, type UploadResult, type UseContactResult, type UseContactsParams, type UseContactsResult, type UseConversationMessagesResult, type UseConversationsResult, type UseFluidPermissionsResult, type UseFluidThemeResult, type UseListResourceHook, type UseSingleResourceHook, type UserMe, type UserPermissions, type UserType, type ValueListQueryResult, VideoWidget, WIDGET_TYPE_NAMES, type WidgetPath, type WidgetPropertySchema, type WidgetRegistry, type WidgetSchema, type WidgetType, type WidgetTypeName, type WithData, alertWidgetPropertySchema, applyTheme, assertDefined, assertNever, buildThemeDefinition, calendarWidgetPropertySchema, carouselWidgetPropertySchema, catchUpWidgetPropertySchema, chartWidgetPropertySchema, cleanTokenFromUrl, clearTokens, collectNavSlugs, contactsScreenPropertySchema, containerWidgetPropertySchema, createDefaultAuthRedirect, createFluidClient, createFluidFileUploader, createScreen, createWidgetFromShareable, createWidgetRegistry, customersScreenPropertySchema, decodeToken, deriveDarkVariant, deserialiseTheme, embedWidgetPropertySchema, extractAllTokensFromUrl, extractCompanyTokenFromUrl, extractSlugFromPathname, extractTokenFromUrl, gapValues, generateShades, generateThemeCSS, getActiveThemeId, getAvailablePageTemplates, getCorePageTemplates, getDefaultThemeDefinition, getForegroundColor, getOptionalPageTemplates, getProperty, getStoredToken, getThemeModeAttribute, getTokenExpiration, getTokenTimeRemaining, groupChildrenByColumn, hasData, hasStoredToken, hasTokenInUrl, imageWidgetPropertySchema, isActivitySlug, isApiError, isContactStatus, isErrorResult, isIdle, isLoading, isPropertyFieldType, isSlugInSection, isTokenExpired, isUserType, isValidToken, isWidgetType, isWidgetTypeName, layoutWidgetPropertySchema, listWidgetPropertySchema, matchSlugPrefix, mergeDarkOverrides, messagingScreenPropertySchema, mySiteWidgetPropertySchema, nestedWidgetPropertySchema, normalizeComponentTree, ordersScreenPropertySchema, parseColor, productsScreenPropertySchema, quickShareWidgetPropertySchema, recentActivityWidgetPropertySchema, removeAllThemes, removeTheme, resolveNavigationPages, resolveTheme, screenPropertySchemas, sectionLayoutConfig, selectProperty, serialiseTheme, spacerWidgetPropertySchema, storeToken, tableWidgetPropertySchema, textWidgetPropertySchema, toDoWidgetPropertySchema, toNavigationItem, toScreenDefinition, transformManifestToRepAppData, transformThemes, useActivities, useAppNavigation, useCalendarEvents, useCatchUps, useContact, useContacts, useConversationMessages, useConversations, useCurrentRep, useFluidApi, useFluidApp, useFluidAuth, useFluidAuthContext, useFluidContext, useFluidPermissions, useFluidProfile, useFluidTheme, useMessagingAuth, useMessagingConfig, useMySite, usePageTemplates, useResolvedPages, useThemeContext, useThemeMode, useTodos, validateNavigationPages, validateToken, videoWidgetPropertySchema, widgetPropertySchemas };
2209
+ //# sourceMappingURL=index.d.cts.map