@carlonicora/nextjs-jsonapi 1.72.0 → 1.74.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 (99) hide show
  1. package/dist/{ApiDataInterface-DPP8s46n.d.mts → ApiDataInterface-BcZeXy5X.d.mts} +1 -0
  2. package/dist/{ApiDataInterface-DPP8s46n.d.ts → ApiDataInterface-BcZeXy5X.d.ts} +1 -0
  3. package/dist/{ApiResponseInterface-CAIAeP5d.d.ts → ApiResponseInterface-CWLvSCvS.d.ts} +1 -1
  4. package/dist/{ApiResponseInterface-zeewugD7.d.mts → ApiResponseInterface-rsXRL_Hn.d.mts} +1 -1
  5. package/dist/{AuthComponent-Di8DsZ2I.d.ts → AuthComponent-Blbs06ud.d.ts} +2 -2
  6. package/dist/{AuthComponent-DXe3kPzb.d.mts → AuthComponent-huIaK5rm.d.mts} +2 -2
  7. package/dist/{BlockNoteEditor-LHOIPHHB.js → BlockNoteEditor-A37P3FA7.js} +14 -14
  8. package/dist/{BlockNoteEditor-LHOIPHHB.js.map → BlockNoteEditor-A37P3FA7.js.map} +1 -1
  9. package/dist/{BlockNoteEditor-FGZ2MOTZ.mjs → BlockNoteEditor-KJZ7FGBA.mjs} +4 -4
  10. package/dist/{HowToInterface-NaqSG9sE.d.ts → HowToInterface-BKhnkzBp.d.ts} +1 -1
  11. package/dist/{HowToInterface-DtVWAE1s.d.mts → HowToInterface-Cj8OuQFf.d.mts} +1 -1
  12. package/dist/{ModulePathsInterface-49EWvbWy.d.mts → ModulePathsInterface-BrdqgteS.d.mts} +1 -1
  13. package/dist/{ModulePathsInterface-wVS5Raa4.d.ts → ModulePathsInterface-DJKs7s_s.d.ts} +1 -1
  14. package/dist/{auth.interface-C4uJzBec.d.mts → auth.interface-Bdq7-8iV.d.mts} +2 -2
  15. package/dist/{auth.interface-BTco8PWs.d.ts → auth.interface-CQJ6A2Cj.d.ts} +2 -2
  16. package/dist/billing/index.d.mts +3 -3
  17. package/dist/billing/index.d.ts +3 -3
  18. package/dist/billing/index.js +346 -346
  19. package/dist/billing/index.mjs +3 -3
  20. package/dist/{chunk-56VU7A4I.js → chunk-FKLP4NED.js} +147 -129
  21. package/dist/chunk-FKLP4NED.js.map +1 -0
  22. package/dist/{chunk-WJYWWOTG.mjs → chunk-JOJZRGZL.mjs} +2 -2
  23. package/dist/{chunk-6ROMPIIP.js → chunk-OTZEXASK.js} +11 -11
  24. package/dist/{chunk-6ROMPIIP.js.map → chunk-OTZEXASK.js.map} +1 -1
  25. package/dist/{chunk-GZNHBAZF.mjs → chunk-XI35ALWY.mjs} +19 -1
  26. package/dist/chunk-XI35ALWY.mjs.map +1 -0
  27. package/dist/{chunk-Y7S56ZT3.js → chunk-XUTMY6K5.js} +652 -652
  28. package/dist/chunk-XUTMY6K5.js.map +1 -0
  29. package/dist/{chunk-ATOD6MGB.mjs → chunk-ZNODEBMI.mjs} +7 -7
  30. package/dist/chunk-ZNODEBMI.mjs.map +1 -0
  31. package/dist/client/index.d.mts +10 -10
  32. package/dist/client/index.d.ts +10 -10
  33. package/dist/client/index.js +4 -4
  34. package/dist/client/index.mjs +3 -3
  35. package/dist/components/index.d.mts +10 -10
  36. package/dist/components/index.d.ts +10 -10
  37. package/dist/components/index.js +4 -4
  38. package/dist/components/index.mjs +3 -3
  39. package/dist/{config-n0lfSf27.d.ts → config-B3jKt9P7.d.ts} +1 -1
  40. package/dist/{config-Bmr_0qTn.d.mts → config-DkHF61xA.d.mts} +1 -1
  41. package/dist/contexts/index.d.mts +7 -5
  42. package/dist/contexts/index.d.ts +7 -5
  43. package/dist/contexts/index.js +4 -4
  44. package/dist/contexts/index.mjs +3 -3
  45. package/dist/core/index.d.mts +21 -17
  46. package/dist/core/index.d.ts +21 -17
  47. package/dist/core/index.js +2 -2
  48. package/dist/core/index.mjs +1 -1
  49. package/dist/{feature.interface-CIWxo8NP.d.ts → feature.interface-BO25VLlx.d.ts} +1 -1
  50. package/dist/{feature.interface-BxFFOPNq.d.mts → feature.interface-CXb1-vNq.d.mts} +1 -1
  51. package/dist/index.d.mts +17 -17
  52. package/dist/index.d.ts +17 -17
  53. package/dist/index.js +3 -3
  54. package/dist/index.mjs +2 -2
  55. package/dist/{notification.interface-DrHu_1MM.d.mts → notification.interface-DG6obXUH.d.mts} +3 -2
  56. package/dist/{notification.interface-DYDZENx2.d.ts → notification.interface-DcSuc9CL.d.ts} +3 -2
  57. package/dist/{oauth.interface-vL7za9Bz.d.ts → oauth.interface-B6xmfDzK.d.ts} +1 -1
  58. package/dist/{oauth.interface-DsZ5ecSX.d.mts → oauth.interface-o5FLpiN7.d.mts} +1 -1
  59. package/dist/{s3.service-TsN2unZr.d.mts → s3.service-DGilbikH.d.mts} +4 -4
  60. package/dist/{s3.service-DK2KKXbR.d.ts → s3.service-DjwEQJPe.d.ts} +4 -4
  61. package/dist/server/index.d.mts +6 -6
  62. package/dist/server/index.d.ts +6 -6
  63. package/dist/server/index.js +3 -3
  64. package/dist/server/index.mjs +1 -1
  65. package/dist/{stripe-promotion-code.interface-BcJty0rv.d.ts → stripe-promotion-code.interface-C3qqh3mi.d.ts} +2 -2
  66. package/dist/{stripe-promotion-code.interface-Dnm2DJKQ.d.mts → stripe-promotion-code.interface-ClZ7DxS9.d.mts} +2 -2
  67. package/dist/testing/index.d.mts +2 -2
  68. package/dist/testing/index.d.ts +2 -2
  69. package/dist/testing/index.js +5 -1
  70. package/dist/testing/index.js.map +1 -1
  71. package/dist/testing/index.mjs +5 -1
  72. package/dist/testing/index.mjs.map +1 -1
  73. package/dist/{useRbacState-BYaSdA78.d.ts → useRbacState-C88O-5L8.d.ts} +3 -3
  74. package/dist/{useRbacState-CQEJ_ysV.d.mts → useRbacState-mqYiRp3J.d.mts} +3 -3
  75. package/dist/{useSocket-Cjt_qvkI.d.ts → useSocket-8eUtnL7J.d.ts} +1 -1
  76. package/dist/{useSocket-VAGetcT3.d.mts → useSocket-CmzVtg32.d.mts} +1 -1
  77. package/package.json +1 -1
  78. package/src/client/hooks/__tests__/useRehydration.test.ts +3 -0
  79. package/src/components/containers/RoundPageContainerTitle.tsx +1 -1
  80. package/src/components/navigations/RecentPagesNavigator.tsx +16 -13
  81. package/src/contexts/SharedContext.tsx +2 -0
  82. package/src/core/abstracts/AbstractApiData.ts +10 -0
  83. package/src/core/abstracts/__tests__/identifier.spec.ts +117 -0
  84. package/src/core/factories/__tests__/JsonApiDataFactory.test.ts +3 -0
  85. package/src/core/factories/__tests__/RehydrationFactory.test.ts +3 -0
  86. package/src/core/interfaces/ApiDataInterface.ts +1 -0
  87. package/src/core/registry/ModuleRegistry.ts +17 -0
  88. package/src/core/registry/__tests__/DataClassRegistry.getByJsonApiType.spec.ts +6 -0
  89. package/src/core/registry/__tests__/DataClassRegistry.test.ts +3 -0
  90. package/src/core/registry/__tests__/ModuleRegistrar.test.ts +6 -0
  91. package/src/features/rbac/hooks/useRbacState.test.ts +2 -0
  92. package/src/permissions/types.ts +1 -0
  93. package/src/testing/factories/createMockApiData.ts +7 -0
  94. package/dist/chunk-56VU7A4I.js.map +0 -1
  95. package/dist/chunk-ATOD6MGB.mjs.map +0 -1
  96. package/dist/chunk-GZNHBAZF.mjs.map +0 -1
  97. package/dist/chunk-Y7S56ZT3.js.map +0 -1
  98. /package/dist/{BlockNoteEditor-FGZ2MOTZ.mjs.map → BlockNoteEditor-KJZ7FGBA.mjs.map} +0 -0
  99. /package/dist/{chunk-WJYWWOTG.mjs.map → chunk-JOJZRGZL.mjs.map} +0 -0
@@ -40,6 +40,9 @@ class MockTaxonomy implements ApiDataInterface {
40
40
  dehydrate(): any {
41
41
  return {};
42
42
  }
43
+ get identifier(): string {
44
+ return "MockTaxonomy";
45
+ }
43
46
  }
44
47
 
45
48
  class MockLeafTaxonomy implements ApiDataInterface {
@@ -79,6 +82,9 @@ class MockLeafTaxonomy implements ApiDataInterface {
79
82
  dehydrate(): any {
80
83
  return {};
81
84
  }
85
+ get identifier(): string {
86
+ return "MockLeafTaxonomy";
87
+ }
82
88
  }
83
89
 
84
90
  describe("DataClassRegistry.getByJsonApiType", () => {
@@ -34,6 +34,9 @@ class MockArticle implements Partial<ApiDataInterface> {
34
34
  createJsonApi(data: any) {
35
35
  return { type: this.type, attributes: data };
36
36
  }
37
+ get identifier() {
38
+ return "MockArticle";
39
+ }
37
40
  }
38
41
 
39
42
  describe("DataClassRegistry", () => {
@@ -34,6 +34,9 @@ class MockUser implements Partial<ApiDataInterface> {
34
34
  createJsonApi(data: any) {
35
35
  return { type: this.type, attributes: data };
36
36
  }
37
+ get identifier() {
38
+ return "MockUser";
39
+ }
37
40
  }
38
41
 
39
42
  class MockArticle implements Partial<ApiDataInterface> {
@@ -66,6 +69,9 @@ class MockArticle implements Partial<ApiDataInterface> {
66
69
  createJsonApi(data: any) {
67
70
  return { type: this.type, attributes: data };
68
71
  }
72
+ get identifier() {
73
+ return "MockArticle";
74
+ }
69
75
  }
70
76
 
71
77
  // Mock Modules class with static getters
@@ -13,6 +13,7 @@ const mockModule: ModuleInterface = {
13
13
  included: [],
14
14
  createdAt: new Date(),
15
15
  updatedAt: new Date(),
16
+ identifier: "pipelines",
16
17
  name: "pipelines",
17
18
  permissions: { create: true, read: true, update: true, delete: false },
18
19
  } as ModuleInterface;
@@ -24,6 +25,7 @@ const mockFeatures: FeatureInterface[] = [
24
25
  included: [],
25
26
  createdAt: new Date(),
26
27
  updatedAt: new Date(),
28
+ identifier: "CRM",
27
29
  name: "CRM",
28
30
  isCore: false,
29
31
  modules: [mockModule],
@@ -103,6 +103,7 @@ export type ModuleFactory = (params: {
103
103
  feature?: string;
104
104
  moduleId?: string;
105
105
  icon?: LucideIcon;
106
+ identifier?: string[];
106
107
  inclusions?: Record<
107
108
  string,
108
109
  {
@@ -103,6 +103,13 @@ export function createMockApiData(options: CreateMockApiDataOptions): ApiDataInt
103
103
  id,
104
104
  attributes: data,
105
105
  }),
106
+ get identifier() {
107
+ const identifierFields = ["name"];
108
+ return identifierFields
109
+ .map((field) => attributes[field])
110
+ .filter((v) => v != null && v !== "")
111
+ .join(" ");
112
+ },
106
113
  };
107
114
 
108
115
  // Add attribute accessors to the mock object