@actschurch/ccms-sdk 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.html +46 -46
  2. package/README.md +46 -46
  3. package/dist/auth/AuthManager.d.ts +1 -0
  4. package/dist/auth/AuthManager.d.ts.map +1 -1
  5. package/dist/auth/AuthManager.js +11 -11
  6. package/dist/auth/AuthManager.js.map +1 -1
  7. package/dist/auth/adapters/context.d.ts.map +1 -1
  8. package/dist/auth/adapters/context.js +43 -21
  9. package/dist/auth/adapters/context.js.map +1 -1
  10. package/dist/realtime/presence/PresenceProvider.d.ts.map +1 -1
  11. package/dist/realtime/presence/PresenceProvider.js +6 -1
  12. package/dist/realtime/presence/PresenceProvider.js.map +1 -1
  13. package/dist/realtime/shared/BaseSignalRClient.d.ts.map +1 -1
  14. package/dist/realtime/shared/BaseSignalRClient.js +8 -3
  15. package/dist/realtime/shared/BaseSignalRClient.js.map +1 -1
  16. package/dist/services/base/BaseService.d.ts.map +1 -1
  17. package/dist/services/base/BaseService.js +3 -1
  18. package/dist/services/base/BaseService.js.map +1 -1
  19. package/dist/services/file/FileService.d.ts.map +1 -1
  20. package/dist/services/file/FileService.js +1 -1
  21. package/dist/services/file/FileService.js.map +1 -1
  22. package/dist/services/file/MultipartUploadService.d.ts.map +1 -1
  23. package/dist/services/file/MultipartUploadService.js +1 -1
  24. package/dist/services/file/MultipartUploadService.js.map +1 -1
  25. package/dist/services/payments/BillingAgreementService.d.ts.map +1 -1
  26. package/dist/services/payments/BillingAgreementService.js +1 -1
  27. package/dist/services/payments/BillingAgreementService.js.map +1 -1
  28. package/dist/services/payments/PayFastWebhookService.d.ts.map +1 -1
  29. package/dist/services/payments/PayFastWebhookService.js +1 -1
  30. package/dist/services/payments/PayFastWebhookService.js.map +1 -1
  31. package/dist/services/payments/PayerService.d.ts.map +1 -1
  32. package/dist/services/payments/PayerService.js +1 -1
  33. package/dist/services/payments/PayerService.js.map +1 -1
  34. package/dist/services/payments/PaymentIpnEventService.d.ts.map +1 -1
  35. package/dist/services/payments/PaymentIpnEventService.js +1 -1
  36. package/dist/services/payments/PaymentIpnEventService.js.map +1 -1
  37. package/dist/services/payments/PaymentMethodService.d.ts.map +1 -1
  38. package/dist/services/payments/PaymentMethodService.js +1 -1
  39. package/dist/services/payments/PaymentMethodService.js.map +1 -1
  40. package/dist/services/payments/PaymentNotificationQueueService.d.ts.map +1 -1
  41. package/dist/services/payments/PaymentNotificationQueueService.js +1 -1
  42. package/dist/services/payments/PaymentNotificationQueueService.js.map +1 -1
  43. package/dist/services/payments/PaymentTransactionService.d.ts.map +1 -1
  44. package/dist/services/payments/PaymentTransactionService.js +1 -1
  45. package/dist/services/payments/PaymentTransactionService.js.map +1 -1
  46. package/dist/services/payments/RecurringTransactionService.d.ts.map +1 -1
  47. package/dist/services/payments/RecurringTransactionService.js +1 -1
  48. package/dist/services/payments/RecurringTransactionService.js.map +1 -1
  49. package/dist/services/payments/RefundStatusService.d.ts.map +1 -1
  50. package/dist/services/payments/RefundStatusService.js +1 -1
  51. package/dist/services/payments/RefundStatusService.js.map +1 -1
  52. package/dist/services/payments/SettlementLineService.d.ts.map +1 -1
  53. package/dist/services/payments/SettlementLineService.js +1 -1
  54. package/dist/services/payments/SettlementLineService.js.map +1 -1
  55. package/dist/services/payments/SettlementService.d.ts.map +1 -1
  56. package/dist/services/payments/SettlementService.js +1 -1
  57. package/dist/services/payments/SettlementService.js.map +1 -1
  58. package/dist/services/payments/TransactionCategoryService.d.ts.map +1 -1
  59. package/dist/services/payments/TransactionCategoryService.js +1 -1
  60. package/dist/services/payments/TransactionCategoryService.js.map +1 -1
  61. package/dist/services/payments/TransactionRefundService.d.ts.map +1 -1
  62. package/dist/services/payments/TransactionRefundService.js +1 -1
  63. package/dist/services/payments/TransactionRefundService.js.map +1 -1
  64. package/dist/services/payments/TransactionStatusService.d.ts.map +1 -1
  65. package/dist/services/payments/TransactionStatusService.js +1 -1
  66. package/dist/services/payments/TransactionStatusService.js.map +1 -1
  67. package/dist/services/projects/BudgetLineItemService.d.ts.map +1 -1
  68. package/dist/services/projects/BudgetLineItemService.js +1 -1
  69. package/dist/services/projects/BudgetLineItemService.js.map +1 -1
  70. package/dist/services/projects/PlannedBudgetItemService.d.ts.map +1 -1
  71. package/dist/services/projects/PlannedBudgetItemService.js +1 -1
  72. package/dist/services/projects/PlannedBudgetItemService.js.map +1 -1
  73. package/dist/services/projects/ProjectAuditLogService.d.ts.map +1 -1
  74. package/dist/services/projects/ProjectAuditLogService.js +1 -1
  75. package/dist/services/projects/ProjectAuditLogService.js.map +1 -1
  76. package/dist/services/projects/ProjectDocumentService.d.ts.map +1 -1
  77. package/dist/services/projects/ProjectDocumentService.js +1 -1
  78. package/dist/services/projects/ProjectDocumentService.js.map +1 -1
  79. package/dist/services/projects/ProjectMessageService.d.ts.map +1 -1
  80. package/dist/services/projects/ProjectMessageService.js +1 -1
  81. package/dist/services/projects/ProjectMessageService.js.map +1 -1
  82. package/dist/services/projects/ProjectMilestoneService.d.ts.map +1 -1
  83. package/dist/services/projects/ProjectMilestoneService.js +1 -1
  84. package/dist/services/projects/ProjectMilestoneService.js.map +1 -1
  85. package/dist/services/projects/ProjectMilestoneTaskService.d.ts.map +1 -1
  86. package/dist/services/projects/ProjectMilestoneTaskService.js +1 -1
  87. package/dist/services/projects/ProjectMilestoneTaskService.js.map +1 -1
  88. package/dist/services/projects/ProjectResourceService.d.ts.map +1 -1
  89. package/dist/services/projects/ProjectResourceService.js +1 -1
  90. package/dist/services/projects/ProjectResourceService.js.map +1 -1
  91. package/dist/services/projects/ProjectRiskService.d.ts.map +1 -1
  92. package/dist/services/projects/ProjectRiskService.js +1 -1
  93. package/dist/services/projects/ProjectRiskService.js.map +1 -1
  94. package/dist/services/projects/ProjectRoleService.d.ts.map +1 -1
  95. package/dist/services/projects/ProjectRoleService.js +1 -1
  96. package/dist/services/projects/ProjectRoleService.js.map +1 -1
  97. package/dist/services/projects/ProjectService.d.ts.map +1 -1
  98. package/dist/services/projects/ProjectService.js +1 -1
  99. package/dist/services/projects/ProjectService.js.map +1 -1
  100. package/dist/services/projects/ProjectStatusService.d.ts.map +1 -1
  101. package/dist/services/projects/ProjectStatusService.js +1 -1
  102. package/dist/services/projects/ProjectStatusService.js.map +1 -1
  103. package/dist/services/projects/ProjectTeamMemberService.d.ts.map +1 -1
  104. package/dist/services/projects/ProjectTeamMemberService.js +1 -1
  105. package/dist/services/projects/ProjectTeamMemberService.js.map +1 -1
  106. package/dist/services/projects/ProjectTypeService.d.ts.map +1 -1
  107. package/dist/services/projects/ProjectTypeService.js +1 -1
  108. package/dist/services/projects/ProjectTypeService.js.map +1 -1
  109. package/dist/services/projects/ResourceTypeService.d.ts.map +1 -1
  110. package/dist/services/projects/ResourceTypeService.js +1 -1
  111. package/dist/services/projects/ResourceTypeService.js.map +1 -1
  112. package/dist/services/projects/TaskDependencyService.d.ts.map +1 -1
  113. package/dist/services/projects/TaskDependencyService.js +1 -1
  114. package/dist/services/projects/TaskDependencyService.js.map +1 -1
  115. package/dist/services/projects/TaskTimeLogService.d.ts.map +1 -1
  116. package/dist/services/projects/TaskTimeLogService.js +1 -1
  117. package/dist/services/projects/TaskTimeLogService.js.map +1 -1
  118. package/dist/services/users/AuditService.d.ts.map +1 -1
  119. package/dist/services/users/AuditService.js +1 -1
  120. package/dist/services/users/AuditService.js.map +1 -1
  121. package/dist/services/users/AuthService.d.ts.map +1 -1
  122. package/dist/services/users/AuthService.js +5 -2
  123. package/dist/services/users/AuthService.js.map +1 -1
  124. package/dist/services/users/RightService.d.ts.map +1 -1
  125. package/dist/services/users/RightService.js +1 -1
  126. package/dist/services/users/RightService.js.map +1 -1
  127. package/dist/services/users/RoleService.d.ts.map +1 -1
  128. package/dist/services/users/RoleService.js +1 -1
  129. package/dist/services/users/RoleService.js.map +1 -1
  130. package/dist/services/users/UserPreferencesService.d.ts.map +1 -1
  131. package/dist/services/users/UserPreferencesService.js +1 -1
  132. package/dist/services/users/UserPreferencesService.js.map +1 -1
  133. package/dist/services/users/UserPushDeviceService.d.ts.map +1 -1
  134. package/dist/services/users/UserPushDeviceService.js +1 -1
  135. package/dist/services/users/UserPushDeviceService.js.map +1 -1
  136. package/dist/services/users/UserService.d.ts.map +1 -1
  137. package/dist/services/users/UserService.js +1 -1
  138. package/dist/services/users/UserService.js.map +1 -1
  139. package/package.json +7 -7
package/README.html CHANGED
@@ -218,11 +218,11 @@ strong {
218
218
 
219
219
  <h2>Installation</h2>
220
220
 
221
- <pre><code class="language-bash">npm install @ccms/sdk
221
+ <pre><code class="language-bash">npm install @actschurch/ccms-sdk
222
222
  <h1>or</h1>
223
- <p>yarn add @ccms/sdk</p>
223
+ <p>yarn add @actschurch/ccms-sdk</p>
224
224
  <h1>or</h1>
225
- <p>pnpm add @ccms/sdk</code></pre></p>
225
+ <p>pnpm add @actschurch/ccms-sdk</code></pre></p>
226
226
 
227
227
  <h3>Peer Dependencies</h3>
228
228
 
@@ -235,7 +235,7 @@ strong {
235
235
 
236
236
  <h3>Basic Setup (Vanilla JavaScript/TypeScript)</h3>
237
237
 
238
- <pre><code class="language-typescript">import { HttpClient, AuthManager, LocalStorageAdapter } from &#039;@ccms/sdk&#039;;
238
+ <pre><code class="language-typescript">import { HttpClient, AuthManager, LocalStorageAdapter } from &#039;@actschurch/ccms-sdk&#039;;
239
239
 
240
240
  <p>// Create HTTP client
241
241
  const http = new HttpClient({
@@ -262,7 +262,7 @@ const response = await http.get(&#039;/api/members&#039;);</code></pre></p>
262
262
 
263
263
  <h3>React Setup</h3>
264
264
 
265
- <pre><code class="language-tsx">import { CCMSProvider, useCCMS, useAuth } from &#039;@ccms/sdk&#039;;
265
+ <pre><code class="language-tsx">import { CCMSProvider, useCCMS, useAuth } from &#039;@actschurch/ccms-sdk&#039;;
266
266
 
267
267
  <p>// Wrap your app with CCMSProvider
268
268
  function App() {
@@ -303,7 +303,7 @@ function Dashboard() {
303
303
 
304
304
  <p>The <code>HttpClient</code> is the foundation for all API communication. It handles request/response interceptors, authentication headers, and error handling.</p>
305
305
 
306
- <pre><code class="language-typescript">import { HttpClient } from &#039;@ccms/sdk&#039;;
306
+ <pre><code class="language-typescript">import { HttpClient } from &#039;@actschurch/ccms-sdk&#039;;
307
307
 
308
308
  <p>const http = new HttpClient({
309
309
  baseUrl: &#039;https://api.yourccms.com&#039;,
@@ -369,7 +369,7 @@ http.interceptors.response.use(
369
369
 
370
370
  <p>The <code>AuthManager</code> handles the complete authentication flow including login, logout, token refresh, and session persistence.</p>
371
371
 
372
- <pre><code class="language-typescript">import { AuthManager, LocalStorageAdapter, MemoryStorageAdapter } from &#039;@ccms/sdk&#039;;
372
+ <pre><code class="language-typescript">import { AuthManager, LocalStorageAdapter, MemoryStorageAdapter } from &#039;@actschurch/ccms-sdk&#039;;
373
373
 
374
374
  <p>// Create auth manager
375
375
  const authManager = new AuthManager(http, {
@@ -441,7 +441,7 @@ authManager.destroy();</code></pre></p>
441
441
  SecureStorageAdapter, // React Native - secure storage
442
442
  CookieStorageAdapter, // SSR/universal apps
443
443
  GenericStorageAuthAdapter, // Custom storage
444
- } from &#039;@ccms/sdk&#039;;</p>
444
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
445
445
 
446
446
  <p>// React Native with AsyncStorage
447
447
  import AsyncStorage from &#039;@react-native-async-storage/async-storage&#039;;
@@ -460,7 +460,7 @@ const storage = new LocalStorageAdapter(&#039;my<em>app</em>auth&#039;);</code><
460
460
 
461
461
  <p>The <code>PermissionManager</code> handles feature-based access control using roles and permissions.</p>
462
462
 
463
- <pre><code class="language-typescript">import { PermissionManager, defineFeature, requires } from &#039;@ccms/sdk&#039;;
463
+ <pre><code class="language-typescript">import { PermissionManager, defineFeature, requires } from &#039;@actschurch/ccms-sdk&#039;;
464
464
 
465
465
  <p>// Create permission manager
466
466
  const permissions = new PermissionManager({
@@ -557,7 +557,7 @@ permissions.onDenied((event) =&gt; {
557
557
 
558
558
  <p><strong>Available Statuses:</strong> <code>Online</code>, <code>Away</code>, <code>Busy</code>, <code>Offline</code></p>
559
559
 
560
- <pre><code class="language-tsx">import { PresenceProvider, usePresence, useUserPresence, useOnlineUsers, usePresenceStatus, PresenceStatus } from &#039;@ccms/sdk/realtime/presence&#039;;
560
+ <pre><code class="language-tsx">import { PresenceProvider, usePresence, useUserPresence, useOnlineUsers, usePresenceStatus, PresenceStatus } from &#039;@actschurch/ccms-sdk/realtime/presence&#039;;
561
561
 
562
562
  <p>// Setup in your app root with auto-connection management
563
563
  function App() {
@@ -645,7 +645,7 @@ function OnlineUsersList() {
645
645
  useApiLogs,
646
646
  useQueryLogs,
647
647
  useDashboard,
648
- } from &#039;@ccms/sdk/realtime/logs&#039;;</p>
648
+ } from &#039;@actschurch/ccms-sdk/realtime/logs&#039;;</p>
649
649
 
650
650
  <p>// Application logs with filtering and event handling
651
651
  function LogsViewer() {
@@ -840,12 +840,12 @@ function PerformanceDashboard() {
840
840
  <p>The old <code>RealtimeClient</code> is deprecated. Migrate to the new SignalR-based modules:</p>
841
841
 
842
842
  <pre><code class="language-typescript">// Old (deprecated)
843
- <p>import { RealtimeClient } from &#039;@ccms/sdk&#039;;
843
+ <p>import { RealtimeClient } from &#039;@actschurch/ccms-sdk&#039;;
844
844
  const realtime = new RealtimeClient(config);
845
845
  realtime.updatePresence(&#039;Online&#039;);</p>
846
846
 
847
847
  <p>// New (recommended)
848
- import { usePresence } from &#039;@ccms/sdk/realtime/presence&#039;;
848
+ import { usePresence } from &#039;@actschurch/ccms-sdk/realtime/presence&#039;;
849
849
  const { updateStatus } = usePresence();
850
850
  updateStatus(PresenceStatus.Online);</code></pre></p>
851
851
 
@@ -855,7 +855,7 @@ updateStatus(PresenceStatus.Online);</code></pre></p>
855
855
 
856
856
  <p>The SDK provides comprehensive error handling utilities.</p>
857
857
 
858
- <pre><code class="language-typescript">import { ErrorHandler, CCMSError } from &#039;@ccms/sdk&#039;;
858
+ <pre><code class="language-typescript">import { ErrorHandler, CCMSError } from &#039;@actschurch/ccms-sdk&#039;;
859
859
 
860
860
  <p>// Create error handler
861
861
  const errorHandler = new ErrorHandler({
@@ -888,7 +888,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
888
888
 
889
889
  <p>Wrap your application with <code>CCMSProvider</code>:</p>
890
890
 
891
- <pre><code class="language-tsx">import { CCMSProvider } from &#039;@ccms/sdk&#039;;
891
+ <pre><code class="language-tsx">import { CCMSProvider } from &#039;@actschurch/ccms-sdk&#039;;
892
892
 
893
893
  <p>function App() {
894
894
  return (
@@ -918,7 +918,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
918
918
  useHttpClient,
919
919
  useRealtime,
920
920
  usePermissions,
921
- } from &#039;@ccms/sdk&#039;;</p>
921
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
922
922
 
923
923
  <p>function MyComponent() {
924
924
  // Access full SDK context
@@ -932,7 +932,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
932
932
 
933
933
  <h4>Authentication Hooks</h4>
934
934
 
935
- <pre><code class="language-tsx">import { useAuth, useIsAuthenticated, useUser, useHasRole, useHasRight } from &#039;@ccms/sdk&#039;;
935
+ <pre><code class="language-tsx">import { useAuth, useIsAuthenticated, useUser, useHasRole, useHasRight } from &#039;@actschurch/ccms-sdk&#039;;
936
936
 
937
937
  <p>function Profile() {
938
938
  const { user, isAuthenticated, isLoading, login, logout } = useAuth();</p>
@@ -957,7 +957,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
957
957
 
958
958
  <h4>API Hooks</h4>
959
959
 
960
- <pre><code class="language-tsx">import { useQuery, useMutation, useInfiniteQuery, usePrefetch } from &#039;@ccms/sdk&#039;;
960
+ <pre><code class="language-tsx">import { useQuery, useMutation, useInfiniteQuery, usePrefetch } from &#039;@actschurch/ccms-sdk&#039;;
961
961
 
962
962
  <p>function MemberList() {
963
963
  // Fetch data
@@ -1011,7 +1011,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
1011
1011
  usePresenceStatus,
1012
1012
  useOnlineUsers,
1013
1013
  useUserPresence,
1014
- } from &#039;@ccms/sdk/realtime/presence&#039;;</p>
1014
+ } from &#039;@actschurch/ccms-sdk/realtime/presence&#039;;</p>
1015
1015
 
1016
1016
  <p>function ChatRoom() {
1017
1017
  // Main presence hook
@@ -1047,7 +1047,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
1047
1047
  useApiLogs,
1048
1048
  useQueryLogs,
1049
1049
  useDashboard,
1050
- } from &#039;@ccms/sdk/realtime/logs&#039;;</p>
1050
+ } from &#039;@actschurch/ccms-sdk/realtime/logs&#039;;</p>
1051
1051
 
1052
1052
  <p>function LogMonitor() {
1053
1053
  // Application logs
@@ -1087,7 +1087,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
1087
1087
  <pre><code class="language-tsx">// ⚠️ DEPRECATED: These hooks are deprecated and will be removed in v2.0.0
1088
1088
  <p>// Use the new hooks above instead</p>
1089
1089
 
1090
- <p>import { useRealtimeEvent, useConnectionState } from &#039;@ccms/sdk&#039;;</p>
1090
+ <p>import { useRealtimeEvent, useConnectionState } from &#039;@actschurch/ccms-sdk&#039;;</p>
1091
1091
 
1092
1092
  <p>function OldComponent() {
1093
1093
  const connectionState = useConnectionState(); // Use usePresence() instead
@@ -1112,7 +1112,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
1112
1112
  useClipboard,
1113
1113
  useClickOutside,
1114
1114
  useKeyPress,
1115
- } from &#039;@ccms/sdk&#039;;</p>
1115
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1116
1116
 
1117
1117
  <p>function SearchComponent() {
1118
1118
  const [search, setSearch] = useState(&#039;&#039;);
@@ -1150,7 +1150,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
1150
1150
 
1151
1151
  <h4>Permission Components</h4>
1152
1152
 
1153
- <pre><code class="language-tsx">import { Can, RequireAuth, RequireRole, RequireRight } from &#039;@ccms/sdk&#039;;
1153
+ <pre><code class="language-tsx">import { Can, RequireAuth, RequireRole, RequireRight } from &#039;@actschurch/ccms-sdk&#039;;
1154
1154
 
1155
1155
  <p>function App() {
1156
1156
  return (
@@ -1188,7 +1188,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
1188
1188
 
1189
1189
  <h4>Error Boundary</h4>
1190
1190
 
1191
- <pre><code class="language-tsx">import { ErrorBoundary } from &#039;@ccms/sdk&#039;;
1191
+ <pre><code class="language-tsx">import { ErrorBoundary } from &#039;@actschurch/ccms-sdk&#039;;
1192
1192
 
1193
1193
  <p>function App() {
1194
1194
  return (
@@ -1215,7 +1215,7 @@ throw new CCMSError(&#039;Something went wrong&#039;, {
1215
1215
  <pre><code class="language-typescript">// In your app entry point (App.tsx or index.js)
1216
1216
  <p>import AsyncStorage from &#039;@react-native-async-storage/async-storage&#039;;
1217
1217
  import NetInfo from &#039;@react-native-community/netinfo&#039;;
1218
- import { setGlobalStorage, setGlobalNetworkStatus } from &#039;@ccms/sdk&#039;;</p>
1218
+ import { setGlobalStorage, setGlobalNetworkStatus } from &#039;@actschurch/ccms-sdk&#039;;</p>
1219
1219
 
1220
1220
  <p>// Configure storage (do this before using any SDK features)
1221
1221
  setGlobalStorage(AsyncStorage);</p>
@@ -1236,7 +1236,7 @@ setGlobalNetworkStatus({
1236
1236
  <h3>Use with Expo SecureStore</h3>
1237
1237
 
1238
1238
  <pre><code class="language-typescript">import * as SecureStore from &#039;expo-secure-store&#039;;
1239
- <p>import { SecureStorageAdapter, AuthManager } from &#039;@ccms/sdk&#039;;</p>
1239
+ <p>import { SecureStorageAdapter, AuthManager } from &#039;@actschurch/ccms-sdk&#039;;</p>
1240
1240
 
1241
1241
  <p>const authManager = new AuthManager(http, {
1242
1242
  storage: new SecureStorageAdapter(SecureStore),
@@ -1359,7 +1359,7 @@ setGlobalNetworkStatus({
1359
1359
 
1360
1360
  <h3>Using Services</h3>
1361
1361
 
1362
- <pre><code class="language-typescript">import { MemberService, TaskService } from &#039;@ccms/sdk&#039;;
1362
+ <pre><code class="language-typescript">import { MemberService, TaskService } from &#039;@actschurch/ccms-sdk&#039;;
1363
1363
 
1364
1364
  <p>// Initialize services with HTTP client
1365
1365
  const memberService = new MemberService(http);
@@ -1419,7 +1419,7 @@ await taskService.addComment(&#039;task-789&#039;, &#039;Completed the follow-up
1419
1419
  useFeedbackServices,
1420
1420
  useSystemServices,
1421
1421
  useGeneratorsServices,
1422
- } from &#039;@ccms/sdk&#039;;</p>
1422
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1423
1423
 
1424
1424
  <p>function TaskList() {
1425
1425
  const { task, taskStatus, taskPriority } = useTaskServices();
@@ -1469,7 +1469,7 @@ function MeetingScheduler() {
1469
1469
 
1470
1470
  <p>You can create custom services by extending the base service class:</p>
1471
1471
 
1472
- <pre><code class="language-typescript">import { BaseService } from &#039;@ccms/sdk&#039;;
1472
+ <pre><code class="language-typescript">import { BaseService } from &#039;@actschurch/ccms-sdk&#039;;
1473
1473
 
1474
1474
  <p>class CustomService extends BaseService {
1475
1475
  constructor(http: HttpClient) {
@@ -1567,7 +1567,7 @@ await memberService.deleteMany([&#039;member-3&#039;, &#039;member-4&#039;]);</c
1567
1567
  getInitials,
1568
1568
  pluralize,
1569
1569
  similarity,
1570
- } from &#039;@ccms/sdk&#039;;</p>
1570
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1571
1571
 
1572
1572
  <p>capitalize(&#039;hello world&#039;); // &quot;Hello world&quot;
1573
1573
  toCamelCase(&#039;hello-world&#039;); // &quot;helloWorld&quot;
@@ -1591,7 +1591,7 @@ similarity(&#039;hello&#039;, &#039;hallo&#039;); // 0.8</code></pre></p>
1591
1591
  toOrdinal,
1592
1592
  formatFileSize,
1593
1593
  formatDurationFromSeconds,
1594
- } from &#039;@ccms/sdk&#039;;</p>
1594
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1595
1595
 
1596
1596
  <p>formatCurrency(1234.56, &#039;USD&#039;); // &quot;$1,234.56&quot;
1597
1597
  formatNumber(1234567); // &quot;1,234,567&quot;
@@ -1618,7 +1618,7 @@ formatDurationFromSeconds(3661); // &quot;1:01:01&quot;</code></pre></p>
1618
1618
  fromNow,
1619
1619
  toUnix,
1620
1620
  fromUnix,
1621
- } from &#039;@ccms/sdk&#039;;</p>
1621
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1622
1622
 
1623
1623
  <p>formatDate(new Date(), &#039;YYYY-MM-DD&#039;); // &quot;2024-01-15&quot;
1624
1624
  addDays(new Date(), 7); // Date 7 days from now
@@ -1642,7 +1642,7 @@ isWeekend(new Date()); // true/false</code></pre></p>
1642
1642
  union,
1643
1643
  flatten,
1644
1644
  moveItem,
1645
- } from &#039;@ccms/sdk&#039;;</p>
1645
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1646
1646
 
1647
1647
  <p>unique([1, 2, 2, 3]); // [1, 2, 3]
1648
1648
  uniqueBy(users, &#039;email&#039;); // Remove duplicates by email
@@ -1669,7 +1669,7 @@ sample(items, 3); // Random 3 items</code></pre></p>
1669
1669
  isEmpty,
1670
1670
  mapValues,
1671
1671
  filterObject,
1672
- } from &#039;@ccms/sdk&#039;;</p>
1672
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1673
1673
 
1674
1674
  <p>deepClone(complexObject);
1675
1675
  deepMerge(defaults, userConfig);
@@ -1698,7 +1698,7 @@ diff(original, modified); // { changed: &#039;fields&#039; }</code></pre></p>
1698
1698
  validatePassword,
1699
1699
  validateUsername,
1700
1700
  validateAll,
1701
- } from &#039;@ccms/sdk&#039;;</p>
1701
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1702
1702
 
1703
1703
  <p>isEmail(&#039;test@example.com&#039;); // true
1704
1704
  isPhoneNumber(&#039;+1-555-123-4567&#039;); // true
@@ -1730,7 +1730,7 @@ validateAll([
1730
1730
  isLightColor,
1731
1731
  mix,
1732
1732
  generatePalette,
1733
- } from &#039;@ccms/sdk&#039;;</p>
1733
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1734
1734
 
1735
1735
  <p>hexToRgb(&#039;#ff5500&#039;); // { r: 255, g: 85, b: 0 }
1736
1736
  rgbToHex(255, 85, 0); // &quot;#ff5500&quot;
@@ -1754,7 +1754,7 @@ generatePalette(&#039;#ff5500&#039;, 5); // { light: [...], dark: [...] }</code>
1754
1754
  isIOS,
1755
1755
  isAndroid,
1756
1756
  getBrowserInfo,
1757
- } from &#039;@ccms/sdk&#039;;</p>
1757
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1758
1758
 
1759
1759
  <p>if (isProduction()) {
1760
1760
  // Production-only code
@@ -1788,7 +1788,7 @@ generatePalette(&#039;#ff5500&#039;, 5); // { light: [...], dark: [...] }</code>
1788
1788
  getCurrentBreakpoint,
1789
1789
  isAtLeast,
1790
1790
  isAtMost,
1791
- } from &#039;@ccms/sdk&#039;;</p>
1791
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1792
1792
 
1793
1793
  <p>const screen = getScreenInfo(); // { width, height, pixelRatio, orientation }
1794
1794
  const device = getDeviceType(); // &#039;phone&#039; | &#039;tablet&#039; | &#039;desktop&#039;
@@ -1819,7 +1819,7 @@ if (isAtLeast(&#039;md&#039;)) {
1819
1819
  fetchWithRetry,
1820
1820
  createQueryString,
1821
1821
  buildUrl,
1822
- } from &#039;@ccms/sdk&#039;;</p>
1822
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1823
1823
 
1824
1824
  <p>// Create responses
1825
1825
  const success = createSuccessResponse(data, &#039;Operation successful&#039;);
@@ -1862,7 +1862,7 @@ const url = buildUrl(&#039;https://api.example.com&#039;, &#039;/users&#039;, {
1862
1862
  ValidationError,
1863
1863
  NetworkError,
1864
1864
  TimeoutError,
1865
- } from &#039;@ccms/sdk&#039;;</p>
1865
+ } from &#039;@actschurch/ccms-sdk&#039;;</p>
1866
1866
 
1867
1867
  <p>// Safe execution with fallback
1868
1868
  const result = safeTry(() =&gt; JSON.parse(input), {});</p>
@@ -1926,7 +1926,7 @@ const message = formatErrorForUser(error);
1926
1926
  Address,</p>
1927
1927
 
1928
1928
  <p> // And many more...
1929
- } from &#039;@ccms/sdk&#039;;</code></pre></p>
1929
+ } from &#039;@actschurch/ccms-sdk&#039;;</code></pre></p>
1930
1930
 
1931
1931
  <hr>
1932
1932
 
@@ -1942,7 +1942,7 @@ const message = formatErrorForUser(error);
1942
1942
  createMockUser,
1943
1943
  createMockPagedResult,
1944
1944
  TestProvider,
1945
- } from &#039;@ccms/sdk/testing&#039;;</p>
1945
+ } from &#039;@actschurch/ccms-sdk/testing&#039;;</p>
1946
1946
 
1947
1947
  <p>// In your tests
1948
1948
  describe(&#039;MyComponent&#039;, () =&gt; {
@@ -2424,22 +2424,22 @@ const mockUser = createMockUser({
2424
2424
  <tr>
2425
2425
  <td><code>RealtimeClient</code></td>
2426
2426
  <td><code>PresenceClient</code>, <code>ApplicationLogsClient</code>, etc.</td>
2427
- <td><code>@ccms/sdk/realtime/*</code></td>
2427
+ <td><code>@actschurch/ccms-sdk/realtime/*</code></td>
2428
2428
  </tr>
2429
2429
  <tr>
2430
2430
  <td><code>useConnectionState()</code></td>
2431
2431
  <td><code>usePresence().state</code></td>
2432
- <td><code>@ccms/sdk/realtime/presence</code></td>
2432
+ <td><code>@actschurch/ccms-sdk/realtime/presence</code></td>
2433
2433
  </tr>
2434
2434
  <tr>
2435
2435
  <td><code>usePresence()</code></td>
2436
2436
  <td><code>usePresence()</code> (new API)</td>
2437
- <td><code>@ccms/sdk/realtime/presence</code></td>
2437
+ <td><code>@actschurch/ccms-sdk/realtime/presence</code></td>
2438
2438
  </tr>
2439
2439
  <tr>
2440
2440
  <td><code>useRealtimeEvent()</code></td>
2441
2441
  <td><code>useApplicationLogs()</code>, <code>useApiLogs()</code>, etc.</td>
2442
- <td><code>@ccms/sdk/realtime/logs</code></td>
2442
+ <td><code>@actschurch/ccms-sdk/realtime/logs</code></td>
2443
2443
  </tr>
2444
2444
  </tbody>
2445
2445
  </table>For detailed migration instructions, see the <a href="src/realtime/README.md#migration-guide">Realtime Module Documentation</a>.</p>