@carlonicora/nextjs-jsonapi 1.5.0 → 1.6.0

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 (282) hide show
  1. package/dist/{ApiResponseInterface-DDI7QQPR.d.ts → ApiResponseInterface-CfcC7pPC.d.mts} +11 -2
  2. package/dist/{ApiResponseInterface-BHN5D9r5.d.mts → ApiResponseInterface-DTBJaV5R.d.ts} +11 -2
  3. package/dist/AuthComponent-hxOPs9o8.d.mts +11 -0
  4. package/dist/AuthComponent-hxOPs9o8.d.ts +11 -0
  5. package/dist/{BlockNoteEditor-G6AK2NWA.js → BlockNoteEditor-7FM7B737.js} +19 -22
  6. package/dist/BlockNoteEditor-7FM7B737.js.map +1 -0
  7. package/dist/{BlockNoteEditor-AIEEQM6A.mjs → BlockNoteEditor-RVL76ZAS.mjs} +11 -14
  8. package/dist/BlockNoteEditor-RVL76ZAS.mjs.map +1 -0
  9. package/dist/JsonApiRequest-KOKGVPBI.js +25 -0
  10. package/dist/{JsonApiRequest-UJ7FGIVI.js.map → JsonApiRequest-KOKGVPBI.js.map} +1 -1
  11. package/dist/{JsonApiRequest-6UR7DIAR.mjs → JsonApiRequest-VCCRO732.mjs} +2 -2
  12. package/dist/chunk-2Z56AS2S.js +2723 -0
  13. package/dist/chunk-2Z56AS2S.js.map +1 -0
  14. package/dist/chunk-37NJZ2VD.mjs +637 -0
  15. package/dist/chunk-37NJZ2VD.mjs.map +1 -0
  16. package/dist/{chunk-2K3Q24UF.js → chunk-3ZPK4QOB.js} +24 -14
  17. package/dist/chunk-3ZPK4QOB.js.map +1 -0
  18. package/dist/chunk-AGWQ75PQ.js +142 -0
  19. package/dist/chunk-AGWQ75PQ.js.map +1 -0
  20. package/dist/{chunk-32HM6MDD.js → chunk-CSM6AIAP.js} +1 -1
  21. package/dist/{chunk-32HM6MDD.js.map → chunk-CSM6AIAP.js.map} +1 -1
  22. package/dist/{chunk-IKBA4AHN.mjs → chunk-F4Y3GZG4.mjs} +3 -3
  23. package/dist/{chunk-YF5XQZDR.mjs → chunk-F5UNXZ3J.mjs} +1 -1
  24. package/dist/chunk-F5UNXZ3J.mjs.map +1 -0
  25. package/dist/chunk-IGOWVLJH.mjs +142 -0
  26. package/dist/chunk-IGOWVLJH.mjs.map +1 -0
  27. package/dist/{chunk-HAG77QBV.mjs → chunk-K4W5QXL5.mjs} +1 -1
  28. package/dist/chunk-KFL5ZFM4.mjs +2723 -0
  29. package/dist/chunk-KFL5ZFM4.mjs.map +1 -0
  30. package/dist/{chunk-HR4H2FP7.mjs → chunk-KJ4ETLJB.mjs} +24 -14
  31. package/dist/chunk-KJ4ETLJB.mjs.map +1 -0
  32. package/dist/chunk-LOSPCUCF.js +637 -0
  33. package/dist/chunk-LOSPCUCF.js.map +1 -0
  34. package/dist/{chunk-VET55IZO.js → chunk-SVX7E6RR.js} +10293 -7536
  35. package/dist/chunk-SVX7E6RR.js.map +1 -0
  36. package/dist/{chunk-EFJEWLRL.js → chunk-YUO55Q5A.js} +1 -1
  37. package/dist/chunk-YUO55Q5A.js.map +1 -0
  38. package/dist/chunk-ZQTFZKLJ.mjs +12089 -0
  39. package/dist/chunk-ZQTFZKLJ.mjs.map +1 -0
  40. package/dist/{chunk-PMXG5WBC.js → chunk-ZUEEIQHW.js} +3 -3
  41. package/dist/{chunk-PMXG5WBC.js.map → chunk-ZUEEIQHW.js.map} +1 -1
  42. package/dist/client/index.d.mts +161 -11
  43. package/dist/client/index.d.ts +161 -11
  44. package/dist/client/index.js +74 -11
  45. package/dist/client/index.js.map +1 -1
  46. package/dist/client/index.mjs +73 -10
  47. package/dist/components/index.d.mts +763 -11
  48. package/dist/components/index.d.ts +763 -11
  49. package/dist/components/index.js +465 -11
  50. package/dist/components/index.js.map +1 -1
  51. package/dist/components/index.mjs +466 -12
  52. package/dist/config-B43zxEvn.d.mts +69 -0
  53. package/dist/config-D2OUrI_G.d.ts +69 -0
  54. package/dist/content.fields-Ck5lkQ5d.d.mts +47 -0
  55. package/dist/content.fields-Ck5lkQ5d.d.ts +47 -0
  56. package/dist/{content.interface-CR2aBeAW.d.ts → content.interface-Bs8a7uW6.d.mts} +2 -3
  57. package/dist/{content.interface-FpLfsaRm.d.mts → content.interface-UtsJ-mzs.d.ts} +2 -3
  58. package/dist/contexts/index.d.mts +13 -6
  59. package/dist/contexts/index.d.ts +13 -6
  60. package/dist/contexts/index.js +10 -11
  61. package/dist/contexts/index.js.map +1 -1
  62. package/dist/contexts/index.mjs +9 -10
  63. package/dist/core/index.d.mts +539 -8
  64. package/dist/core/index.d.ts +539 -8
  65. package/dist/core/index.js +104 -2
  66. package/dist/core/index.js.map +1 -1
  67. package/dist/core/index.mjs +105 -3
  68. package/dist/index.d.mts +131 -70
  69. package/dist/index.d.ts +131 -70
  70. package/dist/index.js +97 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +118 -28
  73. package/dist/notification.interface-BdcwkuQE.d.mts +228 -0
  74. package/dist/notification.interface-BdcwkuQE.d.ts +228 -0
  75. package/dist/request-GBLBPYFM.js +8 -0
  76. package/dist/request-GBLBPYFM.js.map +1 -0
  77. package/dist/request-XABCMU25.mjs +8 -0
  78. package/dist/{AbstractService-wLid8dB0.d.ts → s3.interface-D7ttGatc.d.ts} +36 -26
  79. package/dist/{AbstractService-BsY6W3Ej.d.mts → s3.interface-DlaMDRTn.d.mts} +36 -26
  80. package/dist/server/index.d.mts +299 -4
  81. package/dist/server/index.d.ts +299 -4
  82. package/dist/server/index.js +215 -5
  83. package/dist/server/index.js.map +1 -1
  84. package/dist/server/index.mjs +214 -4
  85. package/dist/server/index.mjs.map +1 -1
  86. package/dist/token-2UWQJY5T.js +8 -0
  87. package/dist/token-2UWQJY5T.js.map +1 -0
  88. package/dist/token-EOK3N45S.mjs +8 -0
  89. package/dist/{useSocket-BV6yMdWS.d.ts → useSocket-8vwK_R_c.d.ts} +1 -1
  90. package/dist/{useSocket-L-An7_Mr.d.mts → useSocket-BWJUXuOl.d.mts} +1 -1
  91. package/package.json +12 -52
  92. package/src/client/JsonApiClient.ts +248 -0
  93. package/src/client/config.ts +78 -0
  94. package/src/client/index.ts +6 -1
  95. package/src/components/containers/TabsContainer.tsx +1 -1
  96. package/src/components/editors/BlockNoteEditor.tsx +3 -1
  97. package/src/components/index.ts +4 -0
  98. package/src/components/navigations/Breadcrumb.tsx +1 -1
  99. package/src/components/navigations/Header.tsx +2 -2
  100. package/src/contexts/CommonContext.tsx +1 -1
  101. package/src/contexts/SocketContext.tsx +1 -1
  102. package/src/contexts/index.ts +3 -0
  103. package/src/core/abstracts/ClientAbstractService.ts +255 -0
  104. package/src/core/abstracts/ServerAbstractService.ts +180 -0
  105. package/src/core/abstracts/index.ts +2 -0
  106. package/src/core/index.ts +32 -3
  107. package/src/discord/config.ts +15 -0
  108. package/src/discord/index.ts +1 -0
  109. package/src/features/auth/components/details/LandingComponent.tsx +2 -2
  110. package/src/features/auth/components/forms/AcceptInvitation.tsx +1 -1
  111. package/src/features/auth/components/forms/ActivateAccount.tsx +1 -1
  112. package/src/features/auth/components/forms/Cookies.tsx +2 -1
  113. package/src/features/auth/components/forms/ForgotPassword.tsx +1 -1
  114. package/src/features/auth/components/forms/Login.tsx +1 -1
  115. package/src/features/auth/components/forms/Logout.tsx +1 -1
  116. package/src/features/auth/components/forms/RefreshUser.tsx +2 -1
  117. package/src/features/auth/components/forms/Register.tsx +1 -1
  118. package/src/features/auth/components/forms/ResetPassword.tsx +1 -1
  119. package/src/features/auth/data/auth.service.ts +1 -1
  120. package/src/features/auth/data/index.ts +0 -1
  121. package/src/features/auth/utils/AuthCookies.ts +1 -1
  122. package/src/features/company/components/forms/CompanyConfigurationEditor.tsx +4 -2
  123. package/src/features/company/components/forms/CompanyDeleter.tsx +2 -1
  124. package/src/features/company/components/forms/CompanyEditor.tsx +6 -3
  125. package/src/features/company/components/forms/CompanyLicense.tsx +4 -2
  126. package/src/features/company/components/lists/CompaniesList.tsx +2 -1
  127. package/src/features/company/data/index.ts +0 -1
  128. package/src/features/content/components/lists/ContentsListById.tsx +2 -1
  129. package/src/features/content/components/lists/RelevantContentsList.tsx +2 -1
  130. package/src/features/content/data/index.ts +0 -1
  131. package/src/features/feature/data/index.ts +0 -1
  132. package/src/features/notification/components/lists/NotificationsList.tsx +2 -1
  133. package/src/features/notification/contexts/NotificationContext.tsx +2 -1
  134. package/src/features/notification/data/index.ts +0 -1
  135. package/src/features/push/data/index.ts +0 -1
  136. package/src/features/role/components/forms/RemoveUserFromRole.tsx +4 -2
  137. package/src/features/role/components/forms/UserRoleAdd.tsx +2 -1
  138. package/src/features/role/components/lists/RolesList.tsx +2 -1
  139. package/src/features/role/components/lists/UserRolesList.tsx +2 -1
  140. package/src/features/role/data/index.ts +0 -1
  141. package/src/features/s3/data/index.ts +0 -1
  142. package/src/features/user/components/forms/RoleUserAdd.tsx +4 -2
  143. package/src/features/user/components/forms/UserDeleter.tsx +2 -1
  144. package/src/features/user/components/forms/UserEditor.tsx +6 -3
  145. package/src/features/user/components/forms/UserMultiSelect.tsx +2 -1
  146. package/src/features/user/components/forms/UserReactivator.tsx +2 -1
  147. package/src/features/user/components/forms/UserResentInvitationEmail.tsx +2 -1
  148. package/src/features/user/components/forms/UserSelector.tsx +2 -1
  149. package/src/features/user/components/lists/AdminUsersList.tsx +2 -1
  150. package/src/features/user/components/lists/CompanyUsersList.tsx +2 -1
  151. package/src/features/user/components/lists/RelevantUsersList.tsx +2 -1
  152. package/src/features/user/components/lists/RoleUsersList.tsx +2 -1
  153. package/src/features/user/components/lists/UsersListByContentIds.tsx +2 -1
  154. package/src/features/user/data/index.ts +0 -1
  155. package/src/features/user/hooks/useUserSearch.ts +2 -1
  156. package/src/hooks/useDataListRetriever.ts +4 -4
  157. package/src/hooks/usePageTracker.ts +1 -1
  158. package/src/hooks/usePushNotifications.ts +3 -2
  159. package/src/hooks/useSocket.ts +1 -1
  160. package/src/index.ts +7 -2
  161. package/src/roles/config.ts +0 -15
  162. package/src/roles/index.ts +1 -9
  163. package/src/server/JsonApiServer.ts +249 -0
  164. package/src/server/cache.ts +1 -1
  165. package/src/server/index.ts +13 -0
  166. package/src/server/request.ts +32 -18
  167. package/src/server/token.ts +1 -1
  168. package/dist/ApiData-DPKNfY-9.d.mts +0 -10
  169. package/dist/ApiData-DPKNfY-9.d.ts +0 -10
  170. package/dist/ApiDataInterface-DPP8s46n.d.mts +0 -21
  171. package/dist/ApiDataInterface-DPP8s46n.d.ts +0 -21
  172. package/dist/AuthComponent-B_Ps2Vb9.d.ts +0 -78
  173. package/dist/AuthComponent-CxnGgvoh.d.mts +0 -78
  174. package/dist/BlockNoteEditor-AIEEQM6A.mjs.map +0 -1
  175. package/dist/BlockNoteEditor-G6AK2NWA.js.map +0 -1
  176. package/dist/JsonApiRequest-UJ7FGIVI.js +0 -25
  177. package/dist/atoms/index.d.mts +0 -12
  178. package/dist/atoms/index.d.ts +0 -12
  179. package/dist/atoms/index.js +0 -9
  180. package/dist/atoms/index.js.map +0 -1
  181. package/dist/atoms/index.mjs +0 -9
  182. package/dist/chunk-2K3Q24UF.js.map +0 -1
  183. package/dist/chunk-3FBCC4G3.js +0 -8
  184. package/dist/chunk-3FBCC4G3.js.map +0 -1
  185. package/dist/chunk-3UELCPIN.js +0 -46
  186. package/dist/chunk-3UELCPIN.js.map +0 -1
  187. package/dist/chunk-5IET37O4.js +0 -4210
  188. package/dist/chunk-5IET37O4.js.map +0 -1
  189. package/dist/chunk-AYHKQWHH.js +0 -68
  190. package/dist/chunk-AYHKQWHH.js.map +0 -1
  191. package/dist/chunk-DEYKTLA3.js +0 -1131
  192. package/dist/chunk-DEYKTLA3.js.map +0 -1
  193. package/dist/chunk-EFJEWLRL.js.map +0 -1
  194. package/dist/chunk-FMBQZAIP.mjs +0 -490
  195. package/dist/chunk-FMBQZAIP.mjs.map +0 -1
  196. package/dist/chunk-HR4H2FP7.mjs.map +0 -1
  197. package/dist/chunk-J7YDGYSW.mjs +0 -9332
  198. package/dist/chunk-J7YDGYSW.mjs.map +0 -1
  199. package/dist/chunk-JGFWIT2E.mjs +0 -1131
  200. package/dist/chunk-JGFWIT2E.mjs.map +0 -1
  201. package/dist/chunk-P2F54I7Q.mjs +0 -4210
  202. package/dist/chunk-P2F54I7Q.mjs.map +0 -1
  203. package/dist/chunk-Q2N6SQYW.mjs +0 -8
  204. package/dist/chunk-Q2N6SQYW.mjs.map +0 -1
  205. package/dist/chunk-Q4FXESVT.js +0 -490
  206. package/dist/chunk-Q4FXESVT.js.map +0 -1
  207. package/dist/chunk-SM63SZCP.mjs +0 -68
  208. package/dist/chunk-SM63SZCP.mjs.map +0 -1
  209. package/dist/chunk-SZZYEG3P.mjs +0 -46
  210. package/dist/chunk-SZZYEG3P.mjs.map +0 -1
  211. package/dist/chunk-VET55IZO.js.map +0 -1
  212. package/dist/chunk-YF5XQZDR.mjs.map +0 -1
  213. package/dist/config-BmnK65TD.d.mts +0 -35
  214. package/dist/config-BmnK65TD.d.ts +0 -35
  215. package/dist/config-DQeAo9Kf.d.mts +0 -49
  216. package/dist/config-DQeAo9Kf.d.ts +0 -49
  217. package/dist/content.fields-cHPdM8GJ.d.mts +0 -27
  218. package/dist/content.fields-cHPdM8GJ.d.ts +0 -27
  219. package/dist/d3.link.interface-ClC4Irqp.d.mts +0 -21
  220. package/dist/d3.link.interface-ClC4Irqp.d.ts +0 -21
  221. package/dist/features/index.d.mts +0 -477
  222. package/dist/features/index.d.ts +0 -477
  223. package/dist/features/index.js +0 -108
  224. package/dist/features/index.js.map +0 -1
  225. package/dist/features/index.mjs +0 -108
  226. package/dist/hooks/index.d.mts +0 -69
  227. package/dist/hooks/index.d.ts +0 -69
  228. package/dist/hooks/index.js +0 -55
  229. package/dist/hooks/index.js.map +0 -1
  230. package/dist/hooks/index.mjs +0 -55
  231. package/dist/hooks/index.mjs.map +0 -1
  232. package/dist/interfaces/index.d.mts +0 -4
  233. package/dist/interfaces/index.d.ts +0 -4
  234. package/dist/interfaces/index.js +0 -2
  235. package/dist/interfaces/index.js.map +0 -1
  236. package/dist/interfaces/index.mjs +0 -2
  237. package/dist/interfaces/index.mjs.map +0 -1
  238. package/dist/notification.interface-B2BrLoDA.d.mts +0 -14
  239. package/dist/notification.interface-DlZLnAfg.d.ts +0 -14
  240. package/dist/permissions/index.d.mts +0 -41
  241. package/dist/permissions/index.d.ts +0 -41
  242. package/dist/permissions/index.js +0 -14
  243. package/dist/permissions/index.js.map +0 -1
  244. package/dist/permissions/index.mjs +0 -14
  245. package/dist/permissions/index.mjs.map +0 -1
  246. package/dist/request-7FE3LJLV.mjs +0 -9
  247. package/dist/request-7FE3LJLV.mjs.map +0 -1
  248. package/dist/request-QFS7NEIE.js +0 -9
  249. package/dist/request-QFS7NEIE.js.map +0 -1
  250. package/dist/roles/index.d.mts +0 -39
  251. package/dist/roles/index.d.ts +0 -39
  252. package/dist/roles/index.js +0 -18
  253. package/dist/roles/index.js.map +0 -1
  254. package/dist/roles/index.mjs +0 -18
  255. package/dist/roles/index.mjs.map +0 -1
  256. package/dist/shadcnui/index.d.mts +0 -698
  257. package/dist/shadcnui/index.d.ts +0 -698
  258. package/dist/shadcnui/index.js +0 -468
  259. package/dist/shadcnui/index.js.map +0 -1
  260. package/dist/shadcnui/index.mjs +0 -467
  261. package/dist/shadcnui/index.mjs.map +0 -1
  262. package/dist/token-IJSPOMW6.mjs +0 -9
  263. package/dist/token-IJSPOMW6.mjs.map +0 -1
  264. package/dist/token-UYE7CV6X.js +0 -9
  265. package/dist/token-UYE7CV6X.js.map +0 -1
  266. package/dist/types-B2QRyqyK.d.ts +0 -39
  267. package/dist/types-CgvNmxTd.d.mts +0 -39
  268. package/dist/types-t2PyXhDu.d.mts +0 -116
  269. package/dist/types-t2PyXhDu.d.ts +0 -116
  270. package/dist/user.interface-CooB1R79.d.mts +0 -85
  271. package/dist/user.interface-KnIT9pVY.d.ts +0 -85
  272. package/dist/utils/index.d.mts +0 -224
  273. package/dist/utils/index.d.ts +0 -224
  274. package/dist/utils/index.js +0 -46
  275. package/dist/utils/index.js.map +0 -1
  276. package/dist/utils/index.mjs +0 -46
  277. package/dist/utils/index.mjs.map +0 -1
  278. /package/dist/{JsonApiRequest-6UR7DIAR.mjs.map → JsonApiRequest-VCCRO732.mjs.map} +0 -0
  279. /package/dist/{chunk-IKBA4AHN.mjs.map → chunk-F4Y3GZG4.mjs.map} +0 -0
  280. /package/dist/{chunk-HAG77QBV.mjs.map → chunk-K4W5QXL5.mjs.map} +0 -0
  281. /package/dist/{atoms/index.mjs.map → request-XABCMU25.mjs.map} +0 -0
  282. /package/dist/{features/index.mjs.map → token-EOK3N45S.mjs.map} +0 -0
@@ -1,10 +1,128 @@
1
- import { A as ApiData } from '../ApiData-DPKNfY-9.mjs';
2
- import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from '../ApiDataInterface-DPP8s46n.mjs';
3
- import { A as ApiRequestDataTypeInterface, M as ModuleWithPermissions, F as FieldSelector } from '../types-t2PyXhDu.mjs';
4
- export { G as GetterKeys, c as createJsonApiInclusion } from '../types-t2PyXhDu.mjs';
5
- import { A as ApiResponseInterface } from '../ApiResponseInterface-BHN5D9r5.mjs';
6
- export { A as AbstractApiData, a as AbstractService, H as HttpMethod, N as NextRef, P as PreviousRef, S as SelfRef, g as getGlobalErrorHandler, s as setGlobalErrorHandler } from '../AbstractService-BsY6W3Ej.mjs';
7
- import 'lucide-react';
1
+ import { A as ApiData, a as ApiResponseInterface } from '../ApiResponseInterface-CfcC7pPC.mjs';
2
+ import { A as ApiDataInterface, J as JsonApiHydratedDataInterface, a as ApiRequestDataTypeInterface, M as ModuleWithPermissions, F as FieldSelector, b as Action, p as ModuleFactory, g as ModuleInterface, f as FeatureInterface, i as RoleInterface, R as RoleInput, e as CompanyInterface, C as CompanyInput, U as UserInterface, j as UserInput, N as NotificationInterface, h as NotificationInput } from '../notification.interface-BdcwkuQE.mjs';
3
+ export { G as GetterKeys, d as createJsonApiInclusion } from '../notification.interface-BdcwkuQE.mjs';
4
+ import { c as AuthInterface, a as AuthInput, e as S3Interface, d as S3Input } from '../s3.interface-DlaMDRTn.mjs';
5
+ export { A as AbstractService, b as AuthQuery, H as HttpMethod, N as NextRef, P as PreviousRef, S as SelfRef, g as getGlobalErrorHandler, s as setGlobalErrorHandler } from '../s3.interface-DlaMDRTn.mjs';
6
+ export { B as BreadcrumbItemData } from '../breadcrumb.item.data.interface-CgB4_1EE.mjs';
7
+ export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from '../content.fields-Ck5lkQ5d.mjs';
8
+ import { ClassValue } from 'clsx';
9
+ export { ClassValue } from 'clsx';
10
+ import * as React from 'react';
11
+ import { ReactElement, ReactNode } from 'react';
12
+ import { z } from 'zod';
13
+ import { PartialBlock } from '@blocknote/core';
14
+ import { LucideIcon } from 'lucide-react';
15
+ export { A as AuthComponent } from '../AuthComponent-hxOPs9o8.mjs';
16
+ import { a as ContentInterface, C as ContentInput } from '../content.interface-Bs8a7uW6.mjs';
17
+ import 'd3';
18
+
19
+ declare abstract class AbstractApiData implements ApiDataInterface {
20
+ protected _jsonApi?: any;
21
+ protected _included?: any[];
22
+ protected _id?: string;
23
+ protected _type?: string;
24
+ protected _createdAt?: Date;
25
+ protected _updatedAt?: Date;
26
+ protected _self?: string;
27
+ get type(): string;
28
+ get id(): string;
29
+ get self(): string | undefined;
30
+ get createdAt(): Date;
31
+ get updatedAt(): Date;
32
+ get included(): any[];
33
+ get jsonApi(): any;
34
+ ingestJsonApi(_data: JsonApiHydratedDataInterface): void;
35
+ generateApiUrl(_params?: any): string;
36
+ createJsonApi(_data?: any): any;
37
+ protected _readIncluded<T extends ApiDataInterface>(data: JsonApiHydratedDataInterface, type: string, dataType: ApiRequestDataTypeInterface): T | T[] | undefined;
38
+ dehydrate(): JsonApiHydratedDataInterface;
39
+ rehydrate(data: JsonApiHydratedDataInterface): this;
40
+ }
41
+
42
+ declare enum ClientHttpMethod {
43
+ GET = "GET",
44
+ POST = "POST",
45
+ PUT = "PUT",
46
+ PATCH = "PATCH",
47
+ DELETE = "DELETE"
48
+ }
49
+ interface ClientNextRef {
50
+ next?: string;
51
+ }
52
+ interface ClientPreviousRef {
53
+ previous?: string;
54
+ }
55
+ interface ClientSelfRef {
56
+ self?: string;
57
+ }
58
+ /**
59
+ * Set a global error handler for API errors (client-side only).
60
+ * This handler will be called instead of throwing errors.
61
+ */
62
+ declare function setClientGlobalErrorHandler(handler: (status: number, message: string) => void): void;
63
+ /**
64
+ * Get the current global error handler.
65
+ */
66
+ declare function getClientGlobalErrorHandler(): ((status: number, message: string) => void) | null;
67
+ /**
68
+ * Client-side abstract base class for services that interact with the JSON:API.
69
+ * Use this for client components.
70
+ */
71
+ declare abstract class ClientAbstractService {
72
+ /**
73
+ * Extract locale from client-side URL pathname
74
+ * URL structure: /{locale}/route-path (e.g., /it/accounts)
75
+ * Fallback chain: URL locale → navigator.language → "en"
76
+ */
77
+ private static getClientLocale;
78
+ /**
79
+ * Fetch the next page of results.
80
+ */
81
+ static next<T>(params: {
82
+ type: ApiRequestDataTypeInterface;
83
+ endpoint: string;
84
+ next?: ClientNextRef;
85
+ previous?: ClientPreviousRef;
86
+ self?: ClientSelfRef;
87
+ }): Promise<T>;
88
+ /**
89
+ * Fetch the previous page of results.
90
+ */
91
+ static previous<T>(params: {
92
+ type: ApiRequestDataTypeInterface;
93
+ endpoint: string;
94
+ next?: ClientNextRef;
95
+ previous?: ClientPreviousRef;
96
+ self?: ClientSelfRef;
97
+ }): Promise<T>;
98
+ /**
99
+ * Make a client-side API call.
100
+ */
101
+ protected static callApi<T>(params: {
102
+ type: ApiRequestDataTypeInterface;
103
+ method: ClientHttpMethod;
104
+ endpoint: string;
105
+ companyId?: string;
106
+ input?: any;
107
+ overridesJsonApiCreation?: boolean;
108
+ next?: ClientNextRef;
109
+ previous?: ClientPreviousRef;
110
+ self?: ClientSelfRef;
111
+ responseType?: ApiRequestDataTypeInterface;
112
+ files?: {
113
+ [key: string]: File | Blob;
114
+ } | File | Blob;
115
+ }): Promise<T>;
116
+ /**
117
+ * Get raw JSON:API response data without deserialization.
118
+ */
119
+ protected static getRawData(params: {
120
+ type: ApiRequestDataTypeInterface;
121
+ method: ClientHttpMethod;
122
+ endpoint: string;
123
+ companyId?: string;
124
+ }): Promise<any>;
125
+ }
8
126
 
9
127
  declare class JsonApiDataFactory {
10
128
  static create(classKey: ApiRequestDataTypeInterface, data: any): any;
@@ -151,4 +269,417 @@ declare function rehydrate<T extends ApiDataInterface>(classKey: ApiRequestDataT
151
269
  */
152
270
  declare function rehydrateList<T extends ApiDataInterface>(classKey: ApiRequestDataTypeInterface, data: JsonApiHydratedDataInterface[]): T[];
153
271
 
154
- export { ApiData, ApiDataInterface, ApiRequestDataTypeInterface, ApiResponseInterface, type AppModuleDefinitions, DataClassRegistry as DataClass, DataClassRegistry, EndpointCreator, type EndpointQuery, FieldSelector, type FoundationModuleDefinitions, JsonApiDataFactory, JsonApiHydratedDataInterface, type ModuleDefinitions, ModuleRegistrar, ModuleRegistry, Modules, RehydrationFactory, rehydrate, rehydrateList, translateData, translateResponse };
272
+ declare function cn(...inputs: ClassValue[]): string;
273
+
274
+ type PossibleRef<T> = React.Ref<T> | undefined;
275
+ /**
276
+ * A utility to compose multiple refs together
277
+ * Accepts callback refs and RefObject(s)
278
+ */
279
+ declare function composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
280
+ /**
281
+ * A custom hook that composes multiple refs
282
+ * Accepts callback refs and RefObject(s)
283
+ */
284
+ declare function useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
285
+
286
+ declare function useIsMobile(): boolean;
287
+
288
+ type FormatOption = "date" | "time" | "dateTime" | "timeSince" | "default";
289
+ declare const formatDate: (eventDate: Date, formatOption: FormatOption) => string;
290
+
291
+ declare const exists: <T>(itemOrArray: T | T[] | null | undefined) => boolean;
292
+
293
+ declare class TableOptions {
294
+ private _components;
295
+ private _hasPermissionToModule;
296
+ constructor(hasPermissionToModule: <M extends ModuleWithPermissions>(params: {
297
+ module: M;
298
+ action: Action;
299
+ data?: any;
300
+ }) => boolean);
301
+ addOption<M extends ModuleWithPermissions>(component: ReactElement<any> | null, module?: M, action?: Action): void;
302
+ getComponents(): ReactElement<any>[];
303
+ getOptions(): ReactElement<any> | null;
304
+ }
305
+ declare function getTableOptions(params: {
306
+ hasPermissionToModule: <M extends ModuleWithPermissions>(params: {
307
+ module: M;
308
+ action: Action;
309
+ data?: any;
310
+ }) => boolean;
311
+ options: {
312
+ component: ReactElement<any> | null;
313
+ module?: ModuleWithPermissions;
314
+ action?: Action;
315
+ }[];
316
+ }): ReactElement<any> | null;
317
+ declare function getTableComponents(params: {
318
+ hasPermissionToModule: <M extends ModuleWithPermissions>(params: {
319
+ module: M;
320
+ action: Action;
321
+ data?: any;
322
+ }) => boolean;
323
+ options: {
324
+ component: ReactElement<any> | null;
325
+ module?: ModuleWithPermissions;
326
+ action?: Action;
327
+ }[];
328
+ }): ReactElement<any>[];
329
+
330
+ declare const userObjectSchema: z.ZodObject<{
331
+ id: z.ZodString;
332
+ name: z.ZodString;
333
+ avatar: z.ZodOptional<z.ZodString>;
334
+ }, z.core.$strip>;
335
+ type UserObject = z.infer<typeof userObjectSchema>;
336
+
337
+ declare const entityObjectSchema: z.ZodObject<{
338
+ id: z.ZodUUID;
339
+ name: z.ZodString;
340
+ }, z.core.$strip>;
341
+ type EntityObject = z.infer<typeof entityObjectSchema>;
342
+
343
+ interface WordDiff {
344
+ type: "added" | "removed" | "unchanged";
345
+ text: string;
346
+ diffId: string;
347
+ accepted?: boolean;
348
+ rejected?: boolean;
349
+ }
350
+ interface DiffBlock {
351
+ id?: string;
352
+ type?: string;
353
+ props?: any;
354
+ content?: any;
355
+ children?: DiffBlock[];
356
+ diffType?: "added" | "removed" | "modified" | "unchanged";
357
+ originalContent?: any;
358
+ diffId?: string;
359
+ wordDiffs?: WordDiff[];
360
+ accepted?: boolean;
361
+ rejected?: boolean;
362
+ }
363
+ interface DiffResult {
364
+ blocks: DiffBlock[];
365
+ hasChanges: boolean;
366
+ }
367
+ interface BlockDiffOptions {
368
+ ignoreIds?: boolean;
369
+ compareContent?: boolean;
370
+ similarityThreshold?: number;
371
+ }
372
+ /**
373
+ * BlockNote Diff Utility
374
+ * Implements a sophisticated diff algorithm for BlockNote document structures
375
+ */
376
+ declare class BlockNoteDiffUtil {
377
+ private static readonly DEFAULT_OPTIONS;
378
+ /**
379
+ * Compare two BlockNote documents and return diff result
380
+ */
381
+ static diff(originalBlocks?: PartialBlock[], newBlocks?: PartialBlock[], options?: BlockDiffOptions): DiffResult;
382
+ /**
383
+ * Compare two blocks for equality
384
+ */
385
+ private static areBlocksEqual;
386
+ /**
387
+ * Deep equality comparison for objects
388
+ */
389
+ private static deepEqual;
390
+ /**
391
+ * Sort diff blocks to maintain logical order
392
+ */
393
+ private static sortDiffBlocks;
394
+ /**
395
+ * Calculate similarity between two text contents
396
+ */
397
+ private static calculateSimilarity;
398
+ /**
399
+ * Extract plain text from BlockNote content array
400
+ */
401
+ private static extractTextFromContent;
402
+ /**
403
+ * Calculate Levenshtein distance between two strings
404
+ */
405
+ private static levenshteinDistance;
406
+ /**
407
+ * Generate word-level diffs between two content arrays
408
+ */
409
+ static generateWordDiffs(originalContent: any, newContent: any, blockId: string): WordDiff[];
410
+ /**
411
+ * Perform word-level diff using word-only approach (no space tokenization)
412
+ */
413
+ private static diffWords; /**
414
+ * Improved diff algorithm that better handles word insertions
415
+ * Uses a combination of LCS and heuristics to minimize false changes
416
+ */
417
+ private static myersDiff;
418
+ /**
419
+ * Compute edit script using dynamic programming
420
+ */
421
+ private static computeEditScript;
422
+ /**
423
+ * Reconstruct the actual diff from the DP table
424
+ */
425
+ private static reconstructDiff;
426
+ /**
427
+ * Consolidate adjacent changes to reduce fragmentation
428
+ * e.g., if we have: delete "Key", insert "Key!", delete "Challenges"
429
+ * We can consolidate this into: replace ["Key", "Challenges"] with ["Key!"]
430
+ */
431
+ private static consolidateAdjacentChanges;
432
+ /**
433
+ * Determine if a sequence of changes should be consolidated
434
+ */
435
+ private static shouldConsolidateChanges;
436
+ /**
437
+ * Check if two words are similar enough to be considered a replacement
438
+ */
439
+ private static areWordsSimilar;
440
+ }
441
+
442
+ declare class BlockNoteWordDiffRendererUtil {
443
+ static renderWordDiffs(diffBlocks: DiffBlock[], onAcceptChange?: (diffId: string) => void, onRejectChange?: (diffId: string) => void, acceptedChanges?: Set<string>, rejectedChanges?: Set<string>): PartialBlock[];
444
+ private static updateWordDiffStates;
445
+ private static renderDiffBlock;
446
+ private static renderBlockLevelDiff;
447
+ private static renderWordLevelDiff;
448
+ private static groupAndRenderWordDiffs;
449
+ private static cleanupSpaces;
450
+ private static isLastDiffInGroup;
451
+ private static createTextContent;
452
+ private static getBlockProps;
453
+ static generateChangeSummary(diffBlocks: DiffBlock[]): {
454
+ totalWords: number;
455
+ addedWords: number;
456
+ removedWords: number;
457
+ acceptedChanges: number;
458
+ rejectedChanges: number;
459
+ pendingChanges: number;
460
+ };
461
+ }
462
+
463
+ declare const getIconByModule: (params: {
464
+ module: ModuleWithPermissions;
465
+ className?: string;
466
+ }) => ReactNode;
467
+ declare const getIcon: (params: {
468
+ element: ApiDataInterface;
469
+ className?: string;
470
+ }) => ReactNode;
471
+ declare const getIconByModuleName: (params: {
472
+ name: string;
473
+ className?: string;
474
+ }) => ReactNode;
475
+ declare const getLucideIcon: (params: {
476
+ element: ApiDataInterface;
477
+ }) => LucideIcon | null;
478
+ declare const getLucideIconByModule: (params: {
479
+ module: ModuleWithPermissions;
480
+ }) => LucideIcon | null;
481
+ declare const getLucideIconByModuleName: (params: {
482
+ name: string;
483
+ }) => LucideIcon | null;
484
+
485
+ declare const ModuleModule: (factory: ModuleFactory) => ModuleWithPermissions;
486
+
487
+ declare class Module extends AbstractApiData implements ModuleInterface {
488
+ private _name?;
489
+ private _isCore?;
490
+ private _permissions?;
491
+ get name(): string;
492
+ get isCore(): boolean;
493
+ get permissions(): {
494
+ create: boolean | string;
495
+ read: boolean | string;
496
+ update: boolean | string;
497
+ delete: boolean | string;
498
+ };
499
+ rehydrate(data: JsonApiHydratedDataInterface): this;
500
+ }
501
+
502
+ declare const FeatureModule: (factory: ModuleFactory) => ModuleWithPermissions;
503
+
504
+ declare class Feature extends AbstractApiData implements FeatureInterface {
505
+ private _name?;
506
+ private _isProduction?;
507
+ private _modules;
508
+ get name(): string;
509
+ get isProduction(): boolean;
510
+ get modules(): ModuleInterface[];
511
+ rehydrate(data: JsonApiHydratedDataInterface): this;
512
+ }
513
+
514
+ declare const AuthorModule: (factory: ModuleFactory) => ModuleWithPermissions;
515
+
516
+ declare class Role extends AbstractApiData implements RoleInterface {
517
+ private _name?;
518
+ private _description?;
519
+ private _isSelectable?;
520
+ private _requiredFeature?;
521
+ get name(): string;
522
+ get description(): string;
523
+ get isSelectable(): boolean;
524
+ get requiredFeature(): FeatureInterface | undefined;
525
+ rehydrate(data: JsonApiHydratedDataInterface): this;
526
+ createJsonApi(data: RoleInput): any;
527
+ }
528
+
529
+ declare const RoleModule: (factory: ModuleFactory) => ModuleWithPermissions;
530
+
531
+ declare const CompanyModule: (factory: ModuleFactory) => ModuleWithPermissions;
532
+
533
+ declare class Company extends AbstractApiData implements CompanyInterface {
534
+ private _name?;
535
+ private _logo?;
536
+ private _logoUrl?;
537
+ private _configurations?;
538
+ private _licenseExpirationDate?;
539
+ private _features?;
540
+ private _modules?;
541
+ get name(): string;
542
+ get logo(): string | undefined;
543
+ get logoUrl(): string | undefined;
544
+ get licenseExpirationDate(): Date | undefined;
545
+ get features(): FeatureInterface[];
546
+ get modules(): ModuleInterface[];
547
+ get configurations(): any | undefined;
548
+ rehydrate(data: JsonApiHydratedDataInterface): this;
549
+ createJsonApi(data: CompanyInput): any;
550
+ }
551
+
552
+ declare enum CompanyFields {
553
+ companyId = "companyId",
554
+ name = "name",
555
+ createdAt = "createdAt",
556
+ updatedAt = "updatedAt"
557
+ }
558
+
559
+ interface SearchResultInterface {
560
+ get searchResult(): string;
561
+ }
562
+
563
+ declare class User extends AbstractApiData implements UserInterface, SearchResultInterface {
564
+ private _name?;
565
+ private _email?;
566
+ private _title?;
567
+ private _bio?;
568
+ private _avatar?;
569
+ private _avatarUrl?;
570
+ private _phone?;
571
+ private _rate?;
572
+ private _isActivated?;
573
+ private _isDeleted?;
574
+ private _lastLogin?;
575
+ private _relevance?;
576
+ private _roles;
577
+ private _company?;
578
+ private _modules;
579
+ get searchResult(): string;
580
+ get name(): string;
581
+ get email(): string;
582
+ get title(): string;
583
+ get bio(): string;
584
+ get avatar(): string | undefined;
585
+ get avatarUrl(): string | undefined;
586
+ get phone(): string | undefined;
587
+ get rate(): number | undefined;
588
+ get relevance(): number | undefined;
589
+ get isActivated(): boolean;
590
+ get isDeleted(): boolean;
591
+ get lastLogin(): Date | undefined;
592
+ get roles(): RoleInterface[];
593
+ get company(): CompanyInterface | undefined;
594
+ get modules(): ModuleInterface[];
595
+ rehydrate(data: JsonApiHydratedDataInterface): this;
596
+ createJsonApi(data: UserInput): any;
597
+ }
598
+
599
+ declare const UserModule: (factory: ModuleFactory) => ModuleWithPermissions;
600
+
601
+ declare class Auth extends AbstractApiData implements AuthInterface {
602
+ private _token?;
603
+ private _refreshToken?;
604
+ private _user?;
605
+ get token(): string;
606
+ get refreshToken(): string;
607
+ get user(): UserInterface;
608
+ rehydrate(data: JsonApiHydratedDataInterface): this;
609
+ createJsonApi(data: AuthInput): any;
610
+ }
611
+
612
+ declare const AuthModule: (factory: ModuleFactory) => ModuleWithPermissions;
613
+
614
+ declare class Content extends AbstractApiData implements ContentInterface, SearchResultInterface {
615
+ private _contentType?;
616
+ private _name?;
617
+ private _abstract?;
618
+ private _tldr?;
619
+ private _aiStatus?;
620
+ private _relevance?;
621
+ private _author?;
622
+ private _editors?;
623
+ get searchResult(): string;
624
+ get contentType(): string | undefined;
625
+ get name(): string;
626
+ get abstract(): string | undefined;
627
+ get tldr(): string | undefined;
628
+ get aiStatus(): string;
629
+ get relevance(): number | undefined;
630
+ get author(): UserInterface;
631
+ get editors(): UserInterface[];
632
+ rehydrate(data: JsonApiHydratedDataInterface): this;
633
+ protected addContentInput(response: any, data: ContentInput): void;
634
+ }
635
+
636
+ declare const ContentModule: (factory: ModuleFactory) => ModuleWithPermissions;
637
+
638
+ declare class Notification extends AbstractApiData implements NotificationInterface {
639
+ private _notificationType?;
640
+ private _isRead?;
641
+ private _actor?;
642
+ get notificationType(): string;
643
+ get isRead(): boolean;
644
+ get actor(): UserInterface | undefined;
645
+ rehydrate(data: JsonApiHydratedDataInterface): this;
646
+ createJsonApi(data: NotificationInput): any;
647
+ }
648
+
649
+ declare enum NotificationFields {
650
+ notificationId = "notificationId",
651
+ name = "name",
652
+ createdAt = "createdAt",
653
+ updatedAt = "updatedAt"
654
+ }
655
+
656
+ declare const NotificationModule: (factory: ModuleFactory) => ModuleWithPermissions;
657
+
658
+ type PushInput = {
659
+ key: string;
660
+ contentType?: string;
661
+ };
662
+ interface PushInterface extends ApiDataInterface {
663
+ }
664
+
665
+ declare class Push extends AbstractApiData implements PushInterface {
666
+ createJsonApi(data: PushInput): any;
667
+ }
668
+
669
+ declare const PushModule: (factory: ModuleFactory) => ModuleWithPermissions;
670
+
671
+ declare const S3Module: (factory: ModuleFactory) => ModuleWithPermissions;
672
+
673
+ declare class S3 extends AbstractApiData implements S3Interface {
674
+ private _url?;
675
+ private _storageType?;
676
+ private _contentType?;
677
+ private _blobType?;
678
+ private _acl?;
679
+ get url(): string;
680
+ get headers(): Record<string, string>;
681
+ rehydrate(data: JsonApiHydratedDataInterface): this;
682
+ createJsonApi(data: S3Input): any;
683
+ }
684
+
685
+ export { AbstractApiData, ApiData, ApiDataInterface, ApiRequestDataTypeInterface, ApiResponseInterface, type AppModuleDefinitions, Auth, AuthInput, AuthInterface, AuthModule, AuthorModule, type BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, ClientAbstractService, ClientHttpMethod, type ClientNextRef, type ClientPreviousRef, type ClientSelfRef, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, Content, ContentInput, ContentInterface, ContentModule, DataClassRegistry as DataClass, DataClassRegistry, type DiffBlock, type DiffResult, EndpointCreator, type EndpointQuery, type EntityObject, Feature, FeatureInterface, FeatureModule, FieldSelector, type FormatOption, type FoundationModuleDefinitions, JsonApiDataFactory, JsonApiHydratedDataInterface, Module, type ModuleDefinitions, ModuleInterface, ModuleModule, ModuleRegistrar, ModuleRegistry, Modules, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, Push, type PushInput, type PushInterface, PushModule, RehydrationFactory, Role, RoleInput, RoleInterface, RoleModule, S3, S3Input, S3Interface, S3Module, type SearchResultInterface, TableOptions, User, UserInput, UserInterface, UserModule, type UserObject, type WordDiff, cn, composeRefs, entityObjectSchema, exists, formatDate, getClientGlobalErrorHandler, getIcon, getIconByModule, getIconByModuleName, getLucideIcon, getLucideIconByModule, getLucideIconByModuleName, getTableComponents, getTableOptions, rehydrate, rehydrateList, setClientGlobalErrorHandler, translateData, translateResponse, useComposedRefs, useIsMobile, userObjectSchema };