@carlonicora/nextjs-jsonapi 6.23.0 → 6.25.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 (250) hide show
  1. package/dist/{BlockNoteEditor-PPRML5CO.js → BlockNoteEditor-TNX77GCD.js} +28 -25
  2. package/dist/BlockNoteEditor-TNX77GCD.js.map +1 -0
  3. package/dist/{BlockNoteEditor-UO4ZRCUM.mjs → BlockNoteEditor-Z5LDF47Z.mjs} +13 -10
  4. package/dist/{BlockNoteEditor-UO4ZRCUM.mjs.map → BlockNoteEditor-Z5LDF47Z.mjs.map} +1 -1
  5. package/dist/{BlockNoteViewer-K2HBF3IP.js → BlockNoteViewer-6KQJODNF.js} +9 -7
  6. package/dist/BlockNoteViewer-6KQJODNF.js.map +1 -0
  7. package/dist/{BlockNoteViewer-2TJZ6JET.mjs → BlockNoteViewer-TQ452ZYW.mjs} +8 -6
  8. package/dist/{BlockNoteViewer-2TJZ6JET.mjs.map → BlockNoteViewer-TQ452ZYW.mjs.map} +1 -1
  9. package/dist/JsonApiRequest-OKNQZLS6.js +26 -0
  10. package/dist/{JsonApiRequest-KC6DOHKT.js.map → JsonApiRequest-OKNQZLS6.js.map} +1 -1
  11. package/dist/{JsonApiRequest-ADLBJ5RX.mjs → JsonApiRequest-WNPDS356.mjs} +2 -2
  12. package/dist/billing/index.js +504 -517
  13. package/dist/billing/index.js.map +1 -1
  14. package/dist/billing/index.mjs +20 -33
  15. package/dist/billing/index.mjs.map +1 -1
  16. package/dist/{chunk-VNUT2D27.mjs → chunk-2PWYG2WJ.mjs} +2 -2
  17. package/dist/{chunk-W4ML6D2X.mjs → chunk-3U7YJ73T.mjs} +7 -7
  18. package/dist/{chunk-BQ2WAG4K.js → chunk-3VNDFKT7.js} +19 -19
  19. package/dist/{chunk-BQ2WAG4K.js.map → chunk-3VNDFKT7.js.map} +1 -1
  20. package/dist/{chunk-BE6UMM5X.mjs → chunk-47HNJQ7U.mjs} +3 -3
  21. package/dist/chunk-5T2AQMQ2.mjs +90 -0
  22. package/dist/chunk-5T2AQMQ2.mjs.map +1 -0
  23. package/dist/{chunk-A5M3MORY.js → chunk-5WM72MLE.js} +3 -3
  24. package/dist/{chunk-A5M3MORY.js.map → chunk-5WM72MLE.js.map} +1 -1
  25. package/dist/{chunk-S7SPAC6X.mjs → chunk-73NKUBMP.mjs} +3 -3
  26. package/dist/chunk-743M4TIB.mjs +76 -0
  27. package/dist/chunk-743M4TIB.mjs.map +1 -0
  28. package/dist/{chunk-HN7L6RRW.js → chunk-CSBQAPHD.js} +903 -955
  29. package/dist/chunk-CSBQAPHD.js.map +1 -0
  30. package/dist/{chunk-YTDGYI62.mjs → chunk-DWPHHUMV.mjs} +3 -3
  31. package/dist/{chunk-53SD4YRF.js → chunk-FBHUUPRV.js} +5 -5
  32. package/dist/{chunk-53SD4YRF.js.map → chunk-FBHUUPRV.js.map} +1 -1
  33. package/dist/{chunk-T6G2F2BK.mjs → chunk-HJT7TXGG.mjs} +16 -68
  34. package/dist/chunk-HJT7TXGG.mjs.map +1 -0
  35. package/dist/chunk-HROKKUBQ.js +156 -0
  36. package/dist/chunk-HROKKUBQ.js.map +1 -0
  37. package/dist/{chunk-TMV7TL7O.mjs → chunk-JELEQV5T.mjs} +8 -6
  38. package/dist/{chunk-TMV7TL7O.mjs.map → chunk-JELEQV5T.mjs.map} +1 -1
  39. package/dist/{chunk-TNTCLVUR.js → chunk-JGL4P3DS.js} +17 -15
  40. package/dist/chunk-JGL4P3DS.js.map +1 -0
  41. package/dist/{chunk-7OIWOPM5.mjs → chunk-K7KLUYS7.mjs} +4 -3
  42. package/dist/chunk-K7KLUYS7.mjs.map +1 -0
  43. package/dist/{chunk-HP6DT6K3.mjs → chunk-KVYYPKRO.mjs} +311 -241
  44. package/dist/chunk-KVYYPKRO.mjs.map +1 -0
  45. package/dist/{chunk-RCOKQ3R4.js → chunk-LNO2JLU3.js} +2 -2
  46. package/dist/{chunk-RCOKQ3R4.js.map → chunk-LNO2JLU3.js.map} +1 -1
  47. package/dist/{chunk-R5722NLL.js → chunk-M6SNTMK6.js} +1388 -1318
  48. package/dist/chunk-M6SNTMK6.js.map +1 -0
  49. package/dist/{chunk-GMMDXINC.js → chunk-N3NQS7X6.js} +12 -12
  50. package/dist/{chunk-GMMDXINC.js.map → chunk-N3NQS7X6.js.map} +1 -1
  51. package/dist/chunk-NP3AFULU.js +76 -0
  52. package/dist/chunk-NP3AFULU.js.map +1 -0
  53. package/dist/{chunk-SO3YUCL6.js → chunk-OOM54Z5Z.js} +6 -5
  54. package/dist/chunk-OOM54Z5Z.js.map +1 -0
  55. package/dist/{chunk-YSE2Z4RB.js → chunk-PQQFOONG.js} +12 -12
  56. package/dist/{chunk-YSE2Z4RB.js.map → chunk-PQQFOONG.js.map} +1 -1
  57. package/dist/chunk-RW6XZGZG.mjs +156 -0
  58. package/dist/chunk-RW6XZGZG.mjs.map +1 -0
  59. package/dist/chunk-SYMI4IDW.js +90 -0
  60. package/dist/chunk-SYMI4IDW.js.map +1 -0
  61. package/dist/{chunk-N2BFT7KI.mjs → chunk-W7U6O3OE.mjs} +2 -71
  62. package/dist/chunk-W7U6O3OE.mjs.map +1 -0
  63. package/dist/{chunk-YMCL3JXZ.mjs → chunk-YPBIPE2B.mjs} +2 -2
  64. package/dist/{chunk-P7L6OFX5.js → chunk-Z6T2575A.js} +12 -81
  65. package/dist/chunk-Z6T2575A.js.map +1 -0
  66. package/dist/client/index.js +13 -10
  67. package/dist/client/index.js.map +1 -1
  68. package/dist/client/index.mjs +17 -14
  69. package/dist/components/forms/DatePickerPopover.d.ts.map +1 -1
  70. package/dist/components/forms/DateRangeSelector.d.ts.map +1 -1
  71. package/dist/components/forms/EditorSheet.d.ts +6 -1
  72. package/dist/components/forms/EditorSheet.d.ts.map +1 -1
  73. package/dist/components/forms/FormDate.d.ts.map +1 -1
  74. package/dist/components/forms/FormDateTime.d.ts.map +1 -1
  75. package/dist/components/forms/time-cycle.d.ts +14 -0
  76. package/dist/components/forms/time-cycle.d.ts.map +1 -0
  77. package/dist/components/index.js +11 -8
  78. package/dist/components/index.js.map +1 -1
  79. package/dist/components/index.mjs +10 -7
  80. package/dist/components/tables/cells/cell.date.d.ts.map +1 -1
  81. package/dist/components/tables/cells/cell.dateTime.d.ts.map +1 -1
  82. package/dist/contexts/DateLocaleContext.d.ts +56 -0
  83. package/dist/contexts/DateLocaleContext.d.ts.map +1 -0
  84. package/dist/contexts/index.d.ts +1 -0
  85. package/dist/contexts/index.d.ts.map +1 -1
  86. package/dist/contexts/index.js +24 -8
  87. package/dist/contexts/index.js.map +1 -1
  88. package/dist/contexts/index.mjs +23 -7
  89. package/dist/core/index.js +17 -6
  90. package/dist/core/index.js.map +1 -1
  91. package/dist/core/index.mjs +19 -8
  92. package/dist/date-locale/index.d.ts +2 -0
  93. package/dist/date-locale/index.d.ts.map +1 -0
  94. package/dist/date-locale/index.js +21 -0
  95. package/dist/date-locale/index.js.map +1 -0
  96. package/dist/date-locale/index.mjs +21 -0
  97. package/dist/email-automations/index.js +131 -123
  98. package/dist/email-automations/index.js.map +1 -1
  99. package/dist/email-automations/index.mjs +23 -15
  100. package/dist/email-automations/index.mjs.map +1 -1
  101. package/dist/features/account-deletion/components/AccountDeletionAdminTrigger.d.ts.map +1 -1
  102. package/dist/features/analytics/components/AnalyticsJourneyContainer.d.ts.map +1 -1
  103. package/dist/features/analytics/components/AnalyticsSessionsTable.d.ts.map +1 -1
  104. package/dist/features/analytics/index.js +154 -147
  105. package/dist/features/analytics/index.js.map +1 -1
  106. package/dist/features/analytics/index.mjs +32 -25
  107. package/dist/features/analytics/index.mjs.map +1 -1
  108. package/dist/features/analytics/server.js +11 -9
  109. package/dist/features/analytics/server.js.map +1 -1
  110. package/dist/features/analytics/server.mjs +9 -7
  111. package/dist/features/analytics/server.mjs.map +1 -1
  112. package/dist/features/billing/components/utils/date.d.ts +3 -3
  113. package/dist/features/billing/components/utils/format-options.d.ts +6 -4
  114. package/dist/features/billing/components/utils/format-options.d.ts.map +1 -1
  115. package/dist/features/billing/components/utils/useBillingFormatOptions.d.ts +5 -1
  116. package/dist/features/billing/components/utils/useBillingFormatOptions.d.ts.map +1 -1
  117. package/dist/features/billing/stripe-usage/components/details/UsageSummaryCard.d.ts.map +1 -1
  118. package/dist/features/billing/stripe-usage/components/lists/UsageHistoryTable.d.ts.map +1 -1
  119. package/dist/features/blog/components/admin/BlogTranslationStatus.d.ts.map +1 -1
  120. package/dist/features/blog/components/public/BlogPostMeta.d.ts.map +1 -1
  121. package/dist/features/blog/hooks/useBlogPostTableStructure.d.ts.map +1 -1
  122. package/dist/features/blog/index.js +168 -162
  123. package/dist/features/blog/index.js.map +1 -1
  124. package/dist/features/blog/index.mjs +25 -19
  125. package/dist/features/blog/index.mjs.map +1 -1
  126. package/dist/features/blog/server.js +29 -27
  127. package/dist/features/blog/server.js.map +1 -1
  128. package/dist/features/blog/server.mjs +8 -6
  129. package/dist/features/blog/server.mjs.map +1 -1
  130. package/dist/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.d.ts.map +1 -1
  131. package/dist/features/handbook/components/parts/HandbookIndexStatus.d.ts.map +1 -1
  132. package/dist/features/help/components/HelpArticleBody.d.ts.map +1 -1
  133. package/dist/features/help/index.js +48 -43
  134. package/dist/features/help/index.js.map +1 -1
  135. package/dist/features/help/index.mjs +15 -10
  136. package/dist/features/help/index.mjs.map +1 -1
  137. package/dist/features/notification/components/notifications/Notification.d.ts +2 -1
  138. package/dist/features/notification/components/notifications/Notification.d.ts.map +1 -1
  139. package/dist/features/notification/contexts/NotificationContext.d.ts.map +1 -1
  140. package/dist/features/notification/hooks/useNotificationTableStructure.d.ts.map +1 -1
  141. package/dist/features/oauth/components/OAuthClientCard.d.ts.map +1 -1
  142. package/dist/features/oauth/components/OAuthClientDetail.d.ts.map +1 -1
  143. package/dist/features/tokenusage/index.js +133 -130
  144. package/dist/features/tokenusage/index.js.map +1 -1
  145. package/dist/features/tokenusage/index.mjs +10 -7
  146. package/dist/features/tokenusage/index.mjs.map +1 -1
  147. package/dist/features/tokenusage/lib/formatters.d.ts +6 -3
  148. package/dist/features/tokenusage/lib/formatters.d.ts.map +1 -1
  149. package/dist/index.js +19 -7
  150. package/dist/index.js.map +1 -1
  151. package/dist/index.mjs +23 -11
  152. package/dist/local-transport-AT4TE264.js +15 -0
  153. package/dist/{local-transport-MJPOKPTU.js.map → local-transport-AT4TE264.js.map} +1 -1
  154. package/dist/{local-transport-RVD4FZGA.mjs → local-transport-KWEUZ4GX.mjs} +5 -5
  155. package/dist/offline/index.js +56 -54
  156. package/dist/offline/index.js.map +1 -1
  157. package/dist/offline/index.mjs +23 -21
  158. package/dist/offline/index.mjs.map +1 -1
  159. package/dist/{request-4AWGPIGH.mjs → request-6GAIWWTG.mjs} +2 -2
  160. package/dist/{request-H5FZBZA2.js → request-BWO4Y434.js} +3 -3
  161. package/dist/{request-H5FZBZA2.js.map → request-BWO4Y434.js.map} +1 -1
  162. package/dist/server/ServerSession.d.ts +2 -0
  163. package/dist/server/ServerSession.d.ts.map +1 -1
  164. package/dist/server/index.js +10 -8
  165. package/dist/server/index.js.map +1 -1
  166. package/dist/server/index.mjs +9 -7
  167. package/dist/utils/date-formatter.d.ts +45 -4
  168. package/dist/utils/date-formatter.d.ts.map +1 -1
  169. package/dist/utils/index.d.ts +1 -1
  170. package/dist/utils/index.d.ts.map +1 -1
  171. package/dist/write-through-KNRI5L4V.mjs +15 -0
  172. package/dist/write-through-KNRI5L4V.mjs.map +1 -0
  173. package/dist/write-through-MYHQ6GJU.js +15 -0
  174. package/dist/{write-through-HE2QSOVI.js.map → write-through-MYHQ6GJU.js.map} +1 -1
  175. package/messages/en.json +1 -0
  176. package/messages/it.json +1 -0
  177. package/package.json +6 -1
  178. package/src/components/forms/DatePickerPopover.tsx +5 -3
  179. package/src/components/forms/DateRangeSelector.tsx +9 -7
  180. package/src/components/forms/EditorSheet.tsx +8 -0
  181. package/src/components/forms/FormDate.tsx +5 -3
  182. package/src/components/forms/FormDateTime.tsx +75 -39
  183. package/src/components/forms/__tests__/EditorSheet.spec.tsx +30 -0
  184. package/src/components/forms/__tests__/time-cycle.spec.ts +37 -0
  185. package/src/components/forms/time-cycle.ts +27 -0
  186. package/src/components/tables/cells/cell.date.tsx +3 -5
  187. package/src/components/tables/cells/cell.dateTime.tsx +3 -7
  188. package/src/contexts/DateLocaleContext.tsx +106 -0
  189. package/src/contexts/__tests__/DateLocaleContext.spec.tsx +175 -0
  190. package/src/contexts/index.ts +1 -0
  191. package/src/date-locale/index.ts +12 -0
  192. package/src/features/account-deletion/components/AccountDeletionAdminTrigger.tsx +3 -4
  193. package/src/features/analytics/components/AnalyticsJourneyContainer.tsx +8 -8
  194. package/src/features/analytics/components/AnalyticsSessionsTable.tsx +4 -6
  195. package/src/features/auth/components/two-factor/PasskeyList.tsx +3 -3
  196. package/src/features/auth/components/two-factor/TotpAuthenticatorList.tsx +3 -3
  197. package/src/features/billing/components/utils/__tests__/billing-formatters.spec.ts +14 -6
  198. package/src/features/billing/components/utils/date.ts +5 -5
  199. package/src/features/billing/components/utils/format-options.ts +6 -4
  200. package/src/features/billing/components/utils/useBillingFormatOptions.ts +8 -2
  201. package/src/features/billing/stripe-usage/components/details/UsageSummaryCard.tsx +4 -12
  202. package/src/features/billing/stripe-usage/components/lists/UsageHistoryTable.tsx +4 -17
  203. package/src/features/blog/components/admin/BlogTranslationStatus.tsx +3 -2
  204. package/src/features/blog/components/public/BlogPostMeta.tsx +5 -4
  205. package/src/features/blog/components/public/__tests__/BlogList.spec.tsx +1 -2
  206. package/src/features/blog/components/public/__tests__/BlogPostView.spec.tsx +2 -3
  207. package/src/features/blog/hooks/useBlogPostTableStructure.tsx +4 -8
  208. package/src/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.tsx +11 -5
  209. package/src/features/email-blast/components/containers/EmailBlastContainer.tsx +3 -3
  210. package/src/features/email-blast/hooks/useEmailBlastTableStructure.tsx +4 -4
  211. package/src/features/handbook/components/parts/HandbookIndexStatus.tsx +4 -3
  212. package/src/features/help/components/HelpArticleBody.tsx +4 -3
  213. package/src/features/notification/components/notifications/Notification.tsx +38 -7
  214. package/src/features/notification/contexts/NotificationContext.tsx +6 -3
  215. package/src/features/notification/hooks/useNotificationTableStructure.tsx +6 -5
  216. package/src/features/oauth/components/OAuthClientCard.tsx +8 -5
  217. package/src/features/oauth/components/OAuthClientDetail.tsx +3 -6
  218. package/src/features/tokenusage/lib/__tests__/formatters.spec.ts +19 -0
  219. package/src/features/tokenusage/lib/formatters.ts +11 -6
  220. package/src/features/waitlist/hooks/useWaitlistTableStructure.tsx +5 -5
  221. package/src/server/ServerSession.ts +3 -0
  222. package/src/server/__tests__/ServerSession.read.spec.ts +18 -1
  223. package/src/utils/__tests__/date-formatter.spec.ts +134 -10
  224. package/src/utils/date-formatter.ts +200 -44
  225. package/src/utils/index.ts +11 -1
  226. package/dist/BlockNoteEditor-PPRML5CO.js.map +0 -1
  227. package/dist/BlockNoteViewer-K2HBF3IP.js.map +0 -1
  228. package/dist/JsonApiRequest-KC6DOHKT.js +0 -26
  229. package/dist/chunk-7OIWOPM5.mjs.map +0 -1
  230. package/dist/chunk-HN7L6RRW.js.map +0 -1
  231. package/dist/chunk-HP6DT6K3.mjs.map +0 -1
  232. package/dist/chunk-N2BFT7KI.mjs.map +0 -1
  233. package/dist/chunk-P7L6OFX5.js.map +0 -1
  234. package/dist/chunk-R5722NLL.js.map +0 -1
  235. package/dist/chunk-SO3YUCL6.js.map +0 -1
  236. package/dist/chunk-T6G2F2BK.mjs.map +0 -1
  237. package/dist/chunk-TNTCLVUR.js.map +0 -1
  238. package/dist/local-transport-MJPOKPTU.js +0 -15
  239. package/dist/write-through-7I3LA2WN.mjs +0 -15
  240. package/dist/write-through-HE2QSOVI.js +0 -15
  241. /package/dist/{JsonApiRequest-ADLBJ5RX.mjs.map → JsonApiRequest-WNPDS356.mjs.map} +0 -0
  242. /package/dist/{chunk-VNUT2D27.mjs.map → chunk-2PWYG2WJ.mjs.map} +0 -0
  243. /package/dist/{chunk-W4ML6D2X.mjs.map → chunk-3U7YJ73T.mjs.map} +0 -0
  244. /package/dist/{chunk-BE6UMM5X.mjs.map → chunk-47HNJQ7U.mjs.map} +0 -0
  245. /package/dist/{chunk-S7SPAC6X.mjs.map → chunk-73NKUBMP.mjs.map} +0 -0
  246. /package/dist/{chunk-YTDGYI62.mjs.map → chunk-DWPHHUMV.mjs.map} +0 -0
  247. /package/dist/{chunk-YMCL3JXZ.mjs.map → chunk-YPBIPE2B.mjs.map} +0 -0
  248. /package/dist/{local-transport-RVD4FZGA.mjs.map → date-locale/index.mjs.map} +0 -0
  249. /package/dist/{request-4AWGPIGH.mjs.map → local-transport-KWEUZ4GX.mjs.map} +0 -0
  250. /package/dist/{write-through-7I3LA2WN.mjs.map → request-6GAIWWTG.mjs.map} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkRCOKQ3R4js = require('./chunk-RCOKQ3R4.js');
5
+ var _chunkLNO2JLU3js = require('./chunk-LNO2JLU3.js');
6
6
 
7
7
 
8
8
  var _chunk7QVYU63Ejs = require('./chunk-7QVYU63E.js');
@@ -57,11 +57,11 @@ var RehydrationFactory = class {
57
57
  _chunk7QVYU63Ejs.__name.call(void 0, this, "RehydrationFactory");
58
58
  }
59
59
  static rehydrate(classKey, data) {
60
- const factoryClass = _chunkRCOKQ3R4js.DataClassRegistry.get(classKey);
60
+ const factoryClass = _chunkLNO2JLU3js.DataClassRegistry.get(classKey);
61
61
  return session(() => guarded(factoryClass, data, () => new factoryClass().rehydrate(data)));
62
62
  }
63
63
  static rehydrateList(classKey, data) {
64
- const factoryClass = _chunkRCOKQ3R4js.DataClassRegistry.get(classKey);
64
+ const factoryClass = _chunkLNO2JLU3js.DataClassRegistry.get(classKey);
65
65
  return session(
66
66
  () => data.map(
67
67
  (item) => guarded(factoryClass, item, () => new factoryClass().rehydrate(item))
@@ -286,66 +286,6 @@ var AbstractApiData = (_class = class _AbstractApiData {
286
286
  }
287
287
  }, _class.__initStatic(), _class);
288
288
 
289
- // src/i18n/config.ts
290
- var _config = null;
291
- function configureI18n(config) {
292
- _config = config;
293
- }
294
- _chunk7QVYU63Ejs.__name.call(void 0, configureI18n, "configureI18n");
295
- function useI18nRouter() {
296
- if (!_optionalChain([_config, 'optionalAccess', _27 => _27.useRouter])) {
297
- throw new Error("i18n not configured. Call configureI18n() at app startup.");
298
- }
299
- return _config.useRouter();
300
- }
301
- _chunk7QVYU63Ejs.__name.call(void 0, useI18nRouter, "useI18nRouter");
302
- function useI18nTranslations(namespace) {
303
- if (!_optionalChain([_config, 'optionalAccess', _28 => _28.useTranslations])) {
304
- return (key) => key;
305
- }
306
- return _config.useTranslations(namespace);
307
- }
308
- _chunk7QVYU63Ejs.__name.call(void 0, useI18nTranslations, "useI18nTranslations");
309
- function getI18nLink() {
310
- if (!_optionalChain([_config, 'optionalAccess', _29 => _29.Link])) {
311
- throw new Error("i18n not configured. Call configureI18n() at app startup.");
312
- }
313
- return _config.Link;
314
- }
315
- _chunk7QVYU63Ejs.__name.call(void 0, getI18nLink, "getI18nLink");
316
- function useI18nLocale() {
317
- if (_optionalChain([_config, 'optionalAccess', _30 => _30.useLocale])) {
318
- return _config.useLocale();
319
- }
320
- return "en";
321
- }
322
- _chunk7QVYU63Ejs.__name.call(void 0, useI18nLocale, "useI18nLocale");
323
- async function getI18nServerLocale() {
324
- if (!_optionalChain([_config, 'optionalAccess', _31 => _31.getLocale])) {
325
- throw new Error("i18n not configured. Call configureI18n() with getLocale at app startup.");
326
- }
327
- return _config.getLocale();
328
- }
329
- _chunk7QVYU63Ejs.__name.call(void 0, getI18nServerLocale, "getI18nServerLocale");
330
- function useI18nDateFnsLocale() {
331
- if (_optionalChain([_config, 'optionalAccess', _32 => _32.useDateFnsLocale])) {
332
- return _config.useDateFnsLocale();
333
- }
334
- return void 0;
335
- }
336
- _chunk7QVYU63Ejs.__name.call(void 0, useI18nDateFnsLocale, "useI18nDateFnsLocale");
337
- function getI18nSupportedLocales() {
338
- if (_optionalChain([_config, 'optionalAccess', _33 => _33.supportedLocales]) && _config.supportedLocales.length > 0) {
339
- return _config.supportedLocales;
340
- }
341
- return ["en"];
342
- }
343
- _chunk7QVYU63Ejs.__name.call(void 0, getI18nSupportedLocales, "getI18nSupportedLocales");
344
- function getI18nDefaultLocale() {
345
- return getI18nSupportedLocales()[0];
346
- }
347
- _chunk7QVYU63Ejs.__name.call(void 0, getI18nDefaultLocale, "getI18nDefaultLocale");
348
-
349
289
  // src/core/registry/ModuleRegistry.ts
350
290
  var MODULES_KEY = /* @__PURE__ */ Symbol.for("nextjs-jsonapi:modules");
351
291
  var globalStore = globalThis;
@@ -365,13 +305,13 @@ var ModuleRegistryClass = class {
365
305
  get(name) {
366
306
  let module = this._modules.get(name);
367
307
  if (!module) {
368
- const didBootstrap = _chunkRCOKQ3R4js.tryBootstrap.call(void 0, );
308
+ const didBootstrap = _chunkLNO2JLU3js.tryBootstrap.call(void 0, );
369
309
  if (didBootstrap) {
370
310
  module = this._modules.get(name);
371
311
  }
372
312
  }
373
313
  if (!module) {
374
- const hint = _chunkRCOKQ3R4js.hasBootstrapper.call(void 0, ) ? "Bootstrap was called but module still not found. Check module registration." : "No bootstrapper registered. Ensure configureJsonApi({ bootstrapper }) is called before accessing modules.";
314
+ const hint = _chunkLNO2JLU3js.hasBootstrapper.call(void 0, ) ? "Bootstrap was called but module still not found. Check module registration." : "No bootstrapper registered. Ensure configureJsonApi({ bootstrapper }) is called before accessing modules.";
375
315
  throw new Error(`Module "${String(name)}" not registered. ${hint}`);
376
316
  }
377
317
  return module;
@@ -381,12 +321,12 @@ var ModuleRegistryClass = class {
381
321
  * can check for an opt-in module the app may not have registered.
382
322
  */
383
323
  has(name) {
384
- if (this._modules.size === 0) _chunkRCOKQ3R4js.tryBootstrap.call(void 0, );
324
+ if (this._modules.size === 0) _chunkLNO2JLU3js.tryBootstrap.call(void 0, );
385
325
  return this._modules.has(name);
386
326
  }
387
327
  findByName(moduleName) {
388
328
  if (this._modules.size === 0) {
389
- _chunkRCOKQ3R4js.tryBootstrap.call(void 0, );
329
+ _chunkLNO2JLU3js.tryBootstrap.call(void 0, );
390
330
  }
391
331
  for (const module of this._modules.values()) {
392
332
  if (module.name === moduleName) {
@@ -397,7 +337,7 @@ var ModuleRegistryClass = class {
397
337
  }
398
338
  getAllPageUrls() {
399
339
  if (this._modules.size === 0) {
400
- _chunkRCOKQ3R4js.tryBootstrap.call(void 0, );
340
+ _chunkLNO2JLU3js.tryBootstrap.call(void 0, );
401
341
  }
402
342
  const seen = /* @__PURE__ */ new Set();
403
343
  const result = [];
@@ -414,7 +354,7 @@ var ModuleRegistryClass = class {
414
354
  findByModelName(modelName) {
415
355
  let module = this._modules.get(modelName);
416
356
  if (!module) {
417
- const didBootstrap = _chunkRCOKQ3R4js.tryBootstrap.call(void 0, );
357
+ const didBootstrap = _chunkLNO2JLU3js.tryBootstrap.call(void 0, );
418
358
  if (didBootstrap) {
419
359
  module = this._modules.get(modelName);
420
360
  }
@@ -436,7 +376,7 @@ var ModuleRegistryClass = class {
436
376
  }
437
377
  getAll() {
438
378
  if (this._modules.size === 0) {
439
- _chunkRCOKQ3R4js.tryBootstrap.call(void 0, );
379
+ _chunkLNO2JLU3js.tryBootstrap.call(void 0, );
440
380
  }
441
381
  return Array.from(this._modules.values());
442
382
  }
@@ -586,14 +526,5 @@ var RootSync = (_class2 = class extends AbstractApiData {constructor(...args) {
586
526
 
587
527
 
588
528
 
589
-
590
-
591
-
592
-
593
-
594
-
595
-
596
-
597
-
598
- exports.RehydrationFactory = RehydrationFactory; exports.AbstractApiData = AbstractApiData; exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.getI18nServerLocale = getI18nServerLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.getI18nSupportedLocales = getI18nSupportedLocales; exports.getI18nDefaultLocale = getI18nDefaultLocale; exports.ModuleRegistry = ModuleRegistry; exports.Modules = Modules; exports.EndpointCreator = EndpointCreator; exports.ROOT_SYNC_ENDPOINT = ROOT_SYNC_ENDPOINT; exports.RootSync = RootSync;
599
- //# sourceMappingURL=chunk-P7L6OFX5.js.map
529
+ exports.RehydrationFactory = RehydrationFactory; exports.AbstractApiData = AbstractApiData; exports.ModuleRegistry = ModuleRegistry; exports.Modules = Modules; exports.EndpointCreator = EndpointCreator; exports.ROOT_SYNC_ENDPOINT = ROOT_SYNC_ENDPOINT; exports.RootSync = RootSync;
530
+ //# sourceMappingURL=chunk-Z6T2575A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-Z6T2575A.js","../src/core/factories/RehydrationFactory.ts","../src/core/abstracts/AbstractApiData.ts","../src/core/registry/ModuleRegistry.ts","../src/core/endpoint/EndpointCreator.ts","../src/offline/sync/models/RootSync.ts"],"names":["includedData","includedItem","module","entity"],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-Z6T2575A.js","sourcesContent":[null,"import { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { JsonApiHydratedDataInterface } from \"../interfaces/JsonApiHydratedDataInterface\";\nimport { DataClassRegistry } from \"../registry/DataClassRegistry\";\n\n/**\n * The resources being rehydrated right now, along the current chain of relationships. A resource\n * met again inside its own chain (A's relationship leads to B, B's back to A) is a circle in the\n * `included` data: following it would recurse until the stack overflows, so it is skipped there.\n */\nconst inProgress = new Set<string>();\n\n/**\n * The included resources already rehydrated during the current top-level `rehydrate` /\n * `rehydrateList` call, by model class and `type:id`, with the `included` array they were read from.\n * A resource reached again through another relationship reuses that model instead of being built\n * again: without it every distinct path through a densely linked `included` (a campaign, its PCs,\n * their locations, the scenes there, back to the campaign...) is rehydrated, which grows\n * exponentially with the number of linked resources. A reused model keeps what it read the first\n * time, so a relationship back to a resource that was mid-rehydration then stays unset.\n * The top-level resources are always rehydrated from scratch, so each one is complete.\n */\nlet built: Map<unknown, Map<string, { included: unknown; model: unknown }>> | undefined;\nlet depth = 0;\n\nconst keyOf = (data: JsonApiHydratedDataInterface): string | undefined => {\n const resource = data?.jsonApi;\n return resource?.type && resource?.id ? `${resource.type}:${resource.id}` : undefined;\n};\n\nfunction session<T>(run: () => T): T {\n const outermost = depth === 0;\n if (outermost) built = new Map();\n depth++;\n try {\n return run();\n } finally {\n depth--;\n if (outermost) built = undefined;\n }\n}\n\nfunction guarded<T>(factoryClass: unknown, data: JsonApiHydratedDataInterface, run: () => T): T {\n const key = keyOf(data);\n if (!key) return run();\n if (inProgress.has(key)) return undefined as T;\n\n if (inProgress.size > 0) {\n const previous = built?.get(factoryClass)?.get(key);\n if (previous && previous.included === data.included) return previous.model as T;\n }\n\n inProgress.add(key);\n try {\n const model = run();\n if (built) {\n let byKey = built.get(factoryClass);\n if (!byKey) {\n byKey = new Map();\n built.set(factoryClass, byKey);\n }\n byKey.set(key, { included: data.included, model });\n }\n return model;\n } finally {\n inProgress.delete(key);\n }\n}\n\nexport class RehydrationFactory {\n public static rehydrate<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface,\n ): T {\n const factoryClass = DataClassRegistry.get(classKey);\n\n return session(() => guarded(factoryClass, data, () => new factoryClass().rehydrate(data) as T));\n }\n\n public static rehydrateList<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface[],\n ): T[] {\n const factoryClass = DataClassRegistry.get(classKey);\n\n return session(() =>\n data.map((item: JsonApiHydratedDataInterface) =>\n guarded(factoryClass, item, () => new factoryClass().rehydrate(item) as T),\n ),\n );\n }\n}\n","import { RehydrationFactory } from \"../factories/RehydrationFactory\";\nimport { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { JsonApiHydratedDataInterface } from \"../interfaces/JsonApiHydratedDataInterface\";\n\nexport abstract class AbstractApiData implements ApiDataInterface {\n static identifierFields: string[] = [\"name\"];\n\n get identifier(): string {\n const fields = (this.constructor as typeof AbstractApiData).identifierFields;\n return fields\n .map((field) => this._jsonApi?.attributes?.[field])\n .filter((v) => v != null && v !== \"\")\n .join(\" \");\n }\n\n protected _jsonApi?: any;\n protected _included?: any[];\n\n protected _id?: string;\n protected _type?: string;\n protected _createdAt?: Date;\n protected _updatedAt?: Date;\n\n protected _self?: string;\n\n get type(): string {\n if (!this._type) throw new Error(\"Type is not set.\");\n return this._type;\n }\n\n get id(): string {\n if (!this._id) throw new Error(\"Id is not set.\");\n return this._id;\n }\n\n get self(): string | undefined {\n return this._self;\n }\n\n get createdAt(): Date {\n return this._createdAt ?? new Date();\n }\n\n get updatedAt(): Date {\n return this._updatedAt ?? new Date();\n }\n\n get included(): any[] {\n return this._included ?? [];\n }\n\n get jsonApi(): any {\n return this._jsonApi;\n }\n\n ingestJsonApi(_data: JsonApiHydratedDataInterface): void {}\n\n generateApiUrl(_params?: any): string {\n throw new Error(\"Method not implemented.\");\n }\n\n createJsonApi(_data?: any): any {\n throw new Error(\"Method not implemented.\");\n }\n\n protected _readIncluded<T extends ApiDataInterface>(\n data: JsonApiHydratedDataInterface,\n type: string,\n dataType: ApiRequestDataTypeInterface,\n ): T | T[] | undefined {\n if (\n data.included === undefined ||\n data.included.length === 0 ||\n data.jsonApi.relationships === undefined ||\n data.jsonApi.relationships[type] === undefined ||\n data.jsonApi.relationships[type].data === undefined\n ) {\n return undefined;\n }\n\n if (Array.isArray(data.jsonApi.relationships[type].data)) {\n const response: T[] = data.jsonApi.relationships[type].data.map((jsonApiData: any) => {\n const includedData = data.included.find(\n (includedData: any) => includedData.id === jsonApiData.id && includedData.type === jsonApiData.type,\n );\n\n if (includedData === undefined) return undefined;\n\n return RehydrationFactory.rehydrate(dataType, {\n jsonApi: includedData,\n included: data.included,\n }) as T;\n });\n\n return response.filter((item: T | undefined) => item !== undefined) as T[];\n }\n\n const includedData = data.included.find(\n (includedData: any) =>\n includedData.id === data.jsonApi.relationships[type].data.id &&\n includedData.type === data.jsonApi.relationships[type].data.type,\n );\n\n if (includedData === undefined && data.allData !== undefined) {\n // Try to find in allData as a fallback\n const fallbackData = data.allData.find(\n (includedData: any) =>\n includedData.id === data.jsonApi.relationships[type].data.id &&\n includedData.type === data.jsonApi.relationships[type].data.type,\n );\n if (fallbackData !== undefined) {\n return RehydrationFactory.rehydrate(dataType, {\n jsonApi: fallbackData,\n included: data.included,\n }) as T;\n }\n }\n\n if (includedData === undefined) return undefined;\n\n return RehydrationFactory.rehydrate(dataType, {\n jsonApi: includedData,\n included: data.included,\n }) as T;\n }\n\n /**\n * Read included relationships with polymorphic type resolution.\n * Determines the correct model class based on the JSON:API type in included data.\n */\n protected _readIncludedPolymorphic<T extends ApiDataInterface>(\n data: JsonApiHydratedDataInterface,\n relationshipKey: string,\n candidateModules: ApiRequestDataTypeInterface[],\n ): T | T[] | undefined {\n // Validate relationship exists\n if (!data.included?.length || !data.jsonApi.relationships?.[relationshipKey]?.data) {\n return undefined;\n }\n\n const relData = data.jsonApi.relationships[relationshipKey].data;\n\n // Build lookup map: JSON:API type -> module\n const typeToModule = new Map<string, ApiRequestDataTypeInterface>();\n for (const mod of candidateModules) {\n typeToModule.set(mod.name, mod);\n }\n\n if (Array.isArray(relData)) {\n // Many relationship\n const result: T[] = [];\n for (const item of relData) {\n const includedItem = data.included.find((inc: any) => inc.id === item.id && inc.type === item.type);\n if (!includedItem) continue;\n\n // Resolve module by JSON:API type\n const module = typeToModule.get(includedItem.type);\n if (!module) continue;\n\n result.push(\n RehydrationFactory.rehydrate(module, {\n jsonApi: includedItem,\n included: data.included,\n }) as T,\n );\n }\n return result.length > 0 ? result : undefined;\n }\n\n // Single relationship\n const includedItem = data.included.find((inc: any) => inc.id === relData.id && inc.type === relData.type);\n if (!includedItem) return undefined;\n\n const module = typeToModule.get(includedItem.type);\n if (!module) return undefined;\n\n return RehydrationFactory.rehydrate(module, {\n jsonApi: includedItem,\n included: data.included,\n }) as T;\n }\n\n /**\n * Read included relationship data and augment with relationship meta properties.\n * Handles both single relationships (one-to-one) and array relationships (one-to-many).\n *\n * For single relationships: meta is read from `relationships[type].meta`\n * For array relationships: per-item meta is read from `relationships[type].data[].meta`\n *\n * @param data - Hydrated JSON:API data\n * @param type - Relationship type key (e.g., \"guide\", \"persons\")\n * @param dataType - Module reference for rehydration\n * @returns Related object(s) augmented with meta properties, or undefined\n */\n protected _readIncludedWithMeta<T extends ApiDataInterface, M extends Record<string, any>>(\n data: JsonApiHydratedDataInterface,\n type: string,\n dataType: ApiRequestDataTypeInterface,\n ): (T & M) | (T & M)[] | undefined {\n // Check if relationship exists\n if (\n data.included === undefined ||\n data.included.length === 0 ||\n data.jsonApi.relationships === undefined ||\n data.jsonApi.relationships[type] === undefined ||\n data.jsonApi.relationships[type].data === undefined\n ) {\n return undefined;\n }\n\n const relationshipData = data.jsonApi.relationships[type].data;\n\n // Handle array relationships with per-item meta\n if (Array.isArray(relationshipData)) {\n const result: (T & M)[] = [];\n\n for (const item of relationshipData) {\n const includedData = data.included.find((inc: any) => inc.id === item.id && inc.type === item.type);\n\n if (!includedData) continue;\n\n const entity = RehydrationFactory.rehydrate(dataType, {\n jsonApi: includedData,\n included: data.included,\n }) as T;\n\n // Merge per-item meta from relationships[type].data[].meta\n if (item.meta) {\n AbstractApiData._mergeMeta(entity, item.meta);\n }\n\n result.push(entity as T & M);\n }\n\n return result;\n }\n\n // Handle single relationship\n const includedData = data.included.find(\n (inc: any) => inc.id === relationshipData.id && inc.type === relationshipData.type,\n );\n\n if (!includedData) {\n // Try to find in allData as a fallback\n if (data.allData !== undefined) {\n const fallbackData = data.allData.find(\n (inc: any) => inc.id === relationshipData.id && inc.type === relationshipData.type,\n );\n if (fallbackData) {\n const entity = RehydrationFactory.rehydrate(dataType, {\n jsonApi: fallbackData,\n included: data.included,\n }) as T;\n\n // Merge relationship-level meta for single relationships\n const relationshipMeta = data.jsonApi.relationships[type].meta;\n if (relationshipMeta) {\n AbstractApiData._mergeMeta(entity, relationshipMeta);\n }\n return entity as T & M;\n }\n }\n return undefined;\n }\n\n const entity = RehydrationFactory.rehydrate(dataType, {\n jsonApi: includedData,\n included: data.included,\n }) as T;\n\n // Merge relationship-level meta for single relationships\n const relationshipMeta = data.jsonApi.relationships[type].meta;\n if (relationshipMeta) {\n AbstractApiData._mergeMeta(entity, relationshipMeta);\n }\n\n return entity as T & M;\n }\n\n /**\n * Copies relationship meta onto a rehydrated entity as own data properties. Object.assign throws\n * when the model declares a getter-only accessor of the same name (an app's `Chunk` with\n * `get relevance()`); an own property shadows that getter, so the model reads the meta value.\n */\n private static _mergeMeta(entity: object, meta: Record<string, any>): void {\n for (const [key, value] of Object.entries(meta)) {\n Object.defineProperty(entity, key, { value, writable: true, enumerable: true, configurable: true });\n }\n }\n\n dehydrate(): JsonApiHydratedDataInterface {\n return {\n jsonApi: this._jsonApi,\n included: this._included ?? [],\n };\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n this._jsonApi = data.jsonApi;\n this._included = data.included;\n\n this._type = this._jsonApi.type;\n this._id = this._jsonApi.id;\n this._createdAt = this._jsonApi.meta?.createdAt !== undefined ? new Date(this._jsonApi.meta.createdAt) : undefined;\n this._updatedAt = this._jsonApi.meta?.updatedAt !== undefined ? new Date(this._jsonApi.meta.updatedAt) : undefined;\n\n this._self = this._jsonApi.links?.self ?? undefined;\n\n return this;\n }\n}\n","import { ModuleWithPermissions } from \"../../permissions/types\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { hasBootstrapper, tryBootstrap } from \"./bootstrapStore\";\n\n// Foundation module types - defined by LIBRARY\nexport interface FoundationModuleDefinitions {\n S3: ModuleWithPermissions;\n Auth: ModuleWithPermissions;\n User: ModuleWithPermissions;\n Author: ModuleWithPermissions;\n Company: ModuleWithPermissions;\n Role: ModuleWithPermissions;\n Notification: ModuleWithPermissions;\n Push: ModuleWithPermissions;\n Feature: ModuleWithPermissions;\n Module: ModuleWithPermissions;\n Content: ModuleWithPermissions;\n HowTo: ModuleWithPermissions;\n HandbookPage: ModuleWithPermissions;\n HandbookSection: ModuleWithPermissions;\n HandbookThread: ModuleWithPermissions;\n HandbookThreadMessage: ModuleWithPermissions;\n Assistant: ModuleWithPermissions;\n AssistantMessage: ModuleWithPermissions;\n AssistantAction: ModuleWithPermissions;\n Chunk: ModuleWithPermissions;\n // Billing modules - READ: all users, UPDATE: CompanyAdministrator, ADMIN: Administrator\n Billing: ModuleWithPermissions;\n StripeCustomer: ModuleWithPermissions;\n StripePaymentMethod: ModuleWithPermissions;\n StripeSubscription: ModuleWithPermissions;\n StripeInvoice: ModuleWithPermissions;\n StripeProduct: ModuleWithPermissions;\n StripePrice: ModuleWithPermissions;\n StripeUsage: ModuleWithPermissions;\n StripePromotionCode: ModuleWithPermissions;\n StripeCoupon: ModuleWithPermissions;\n StripeCouponCode: ModuleWithPermissions;\n StripeCouponOffer: ModuleWithPermissions;\n // AI connection administration\n AiConnection: ModuleWithPermissions;\n // OAuth modules\n OAuth: ModuleWithPermissions;\n // Waitlist modules\n Waitlist: ModuleWithPermissions;\n WaitlistStats: ModuleWithPermissions;\n // Email automation modules\n EmailAutomation: ModuleWithPermissions;\n EmailAutomationStep: ModuleWithPermissions;\n EmailAutomationEnrollment: ModuleWithPermissions;\n EmailAutomationTrigger: ModuleWithPermissions;\n EmailAutomationCandidate: ModuleWithPermissions;\n // Email blast modules\n EmailBlast: ModuleWithPermissions;\n EmailBlastDelivery: ModuleWithPermissions;\n EmailBlastAudience: ModuleWithPermissions;\n // Blog modules\n BlogPost: ModuleWithPermissions;\n BlogPostTranslation: ModuleWithPermissions;\n BlogCategory: ModuleWithPermissions;\n BlogCategoryTranslation: ModuleWithPermissions;\n BlogSettings: ModuleWithPermissions;\n // Referral modules\n Referral: ModuleWithPermissions;\n ReferralStats: ModuleWithPermissions;\n // Referral link visits and the administrative referral report (opt-in: registered by apps that spread referralAdminModules)\n ReferralVisit: ModuleWithPermissions;\n ReferralAdminSummary: ModuleWithPermissions;\n ReferralAdminReferrer: ModuleWithPermissions;\n ReferralAdminReferral: ModuleWithPermissions;\n // Two-factor authentication modules\n TotpAuthenticator: ModuleWithPermissions;\n TotpSetup: ModuleWithPermissions;\n TotpVerify: ModuleWithPermissions;\n TotpVerifyLogin: ModuleWithPermissions;\n Passkey: ModuleWithPermissions;\n PasskeyRegistrationOptions: ModuleWithPermissions;\n PasskeyRegistrationVerify: ModuleWithPermissions;\n PasskeyRename: ModuleWithPermissions;\n PasskeyVerifyLogin: ModuleWithPermissions;\n PasskeyAuthenticationOptions: ModuleWithPermissions;\n TwoFactorEnable: ModuleWithPermissions;\n TwoFactorChallenge: ModuleWithPermissions;\n TwoFactorStatus: ModuleWithPermissions;\n BackupCodeVerify: ModuleWithPermissions;\n // OAuth sign-up awaiting consent\n PendingRegistration: ModuleWithPermissions;\n // RBAC modules\n PermissionMapping: ModuleWithPermissions;\n ModulePaths: ModuleWithPermissions;\n RbacMatrix: ModuleWithPermissions;\n // Audit modules\n AuditLog: ModuleWithPermissions;\n // Administrative token-usage reporting modules\n TokenUsageAdminSummary: ModuleWithPermissions;\n TokenUsageAdminTimeline: ModuleWithPermissions;\n TokenUsageAdminBreakdown: ModuleWithPermissions;\n // Self-service token-usage reporting modules\n TokenUsageReportSummary: ModuleWithPermissions;\n TokenUsageReportTimeline: ModuleWithPermissions;\n TokenUsageReportBreakdown: ModuleWithPermissions;\n // First-party web analytics modules (tracker + administrative dashboard)\n AnalyticsEvent: ModuleWithPermissions;\n AnalyticsSummary: ModuleWithPermissions;\n AnalyticsTimeline: ModuleWithPermissions;\n AnalyticsDailyUniqueTimeline: ModuleWithPermissions;\n AnalyticsBreakdown: ModuleWithPermissions;\n AnalyticsSession: ModuleWithPermissions;\n AnalyticsPageView: ModuleWithPermissions;\n // Account deletion (opt-in: registered only by apps that enable it)\n AccountDeletion: ModuleWithPermissions;\n // Discord connect (registered by apps that offer it)\n DiscordConnection: ModuleWithPermissions;\n DiscordConnectIntent: ModuleWithPermissions;\n DiscordConnectConfirmation: ModuleWithPermissions;\n // Offline mode (opt-in: registered by apps that spread offlineModules)\n OfflineChangeSet: ModuleWithPermissions;\n RootSync: ModuleWithPermissions;\n}\n\n// App-specific modules - apps will augment this interface ONLY\n\nexport interface AppModuleDefinitions {}\n\n// Combined type for full autocompletion\nexport type ModuleDefinitions = FoundationModuleDefinitions & AppModuleDefinitions;\n\n// Symbol key to avoid conflicts with other globals\nconst MODULES_KEY = Symbol.for(\"nextjs-jsonapi:modules\");\n\n// Use globalThis to persist module registry across HMR reloads\nconst globalStore = globalThis as unknown as {\n [MODULES_KEY]?: Map<string, ApiRequestDataTypeInterface>;\n};\n\n// Initialize global modules map if not set\nif (!globalStore[MODULES_KEY]) {\n globalStore[MODULES_KEY] = new Map();\n}\n\nclass ModuleRegistryClass {\n private get _modules(): Map<string, ApiRequestDataTypeInterface> {\n return globalStore[MODULES_KEY]!;\n }\n\n register<K extends string>(name: K, module: ApiRequestDataTypeInterface): void {\n this._modules.set(name, module);\n }\n\n get<K extends keyof ModuleDefinitions>(name: K): ModuleDefinitions[K] {\n let module = this._modules.get(name as string);\n\n // Self-healing: if module not found, try bootstrapping first\n if (!module) {\n const didBootstrap = tryBootstrap();\n if (didBootstrap) {\n // Retry after bootstrap\n module = this._modules.get(name as string);\n }\n }\n\n if (!module) {\n // Provide helpful error message based on state\n const hint = hasBootstrapper()\n ? \"Bootstrap was called but module still not found. Check module registration.\"\n : \"No bootstrapper registered. Ensure configureJsonApi({ bootstrapper }) is called before accessing modules.\";\n throw new Error(`Module \"${String(name)}\" not registered. ${hint}`);\n }\n\n return module as ModuleDefinitions[K];\n }\n\n /**\n * True when a module is registered under `name`. Never throws, so a component\n * can check for an opt-in module the app may not have registered.\n */\n has(name: string): boolean {\n // Bootstrap only an empty registry (as findByName does): an app that never\n // registers `name` must not re-run its bootstrapper on every check.\n if (this._modules.size === 0) tryBootstrap();\n return this._modules.has(name);\n }\n\n findByName(moduleName: string): ModuleWithPermissions {\n // Self-healing: try bootstrap if registry is empty\n if (this._modules.size === 0) {\n tryBootstrap();\n }\n\n // Search by module's name property (e.g., \"topics\", \"articles\")\n for (const module of this._modules.values()) {\n if ((module as ModuleWithPermissions).name === moduleName) {\n return module as ModuleWithPermissions;\n }\n }\n throw new Error(`Module not found: ${moduleName}`);\n }\n\n getAllPageUrls(): { id: string; text: string }[] {\n if (this._modules.size === 0) {\n tryBootstrap();\n }\n\n const seen = new Set<string>();\n const result: { id: string; text: string }[] = [];\n for (const [key, module] of this._modules.entries()) {\n const m = module as ModuleWithPermissions;\n if (m.pageUrl && !seen.has(m.pageUrl)) {\n seen.add(m.pageUrl);\n result.push({ id: m.pageUrl, text: key });\n result.push({ id: `${m.pageUrl}/:id`, text: `${key} (detail)` });\n }\n }\n return result.sort((a, b) => a.text.localeCompare(b.text));\n }\n\n findByModelName(modelName: string): ModuleWithPermissions {\n // Direct lookup by registry key (e.g., \"Article\", \"Document\")\n let module = this._modules.get(modelName);\n\n // Self-healing: if not found, try bootstrapping\n if (!module) {\n const didBootstrap = tryBootstrap();\n if (didBootstrap) {\n module = this._modules.get(modelName);\n }\n }\n\n if (!module) {\n throw new Error(`Module not found for model: ${modelName}`);\n }\n return module as ModuleWithPermissions;\n }\n\n findByFeature(feature: string): ModuleWithPermissions[] {\n const response: ModuleWithPermissions[] = [];\n\n for (const module of this._modules.values()) {\n const m = module as ModuleWithPermissions;\n if (m.feature === feature) {\n response.push(m);\n }\n }\n\n return response;\n }\n\n getAll(): ApiRequestDataTypeInterface[] {\n if (this._modules.size === 0) {\n tryBootstrap();\n }\n return Array.from(this._modules.values());\n }\n}\n\nexport const ModuleRegistry = new ModuleRegistryClass();\n\n// Proxy object for Modules.X syntax with autocompletion\nexport const Modules = new Proxy({} as ModuleDefinitions, {\n get(_, prop: string) {\n if (prop === \"findByName\") {\n return (name: string) => ModuleRegistry.findByName(name);\n }\n if (prop === \"findByModelName\") {\n return (name: string) => ModuleRegistry.findByModelName(name);\n }\n if (prop === \"findByFeature\") {\n return (feature: string) => ModuleRegistry.findByFeature(feature);\n }\n return ModuleRegistry.get(prop as keyof ModuleDefinitions);\n },\n}) as ModuleDefinitions & {\n findByName: (name: string) => ModuleWithPermissions;\n findByModelName: (name: string) => ModuleWithPermissions;\n findByFeature: (feature: string) => ModuleWithPermissions[];\n};\n","import { FieldSelector } from \"../fields/FieldSelector\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\n\nexport type EndpointQuery = {\n endpoint: ApiRequestDataTypeInterface | string;\n id?: string;\n childEndpoint?: ApiRequestDataTypeInterface | string;\n childId?: string;\n additionalParams?: { key: string; value: string | string[] }[];\n};\n\nexport class EndpointCreator {\n private _endpoint: EndpointQuery;\n\n constructor(params: {\n endpoint: ApiRequestDataTypeInterface | string;\n id?: string;\n childEndpoint?: ApiRequestDataTypeInterface | string;\n childId?: string;\n additionalParams?: { key: string; value: string }[];\n }) {\n this._endpoint = {\n endpoint: params.endpoint,\n id: params.id,\n childEndpoint: params.childEndpoint,\n childId: params.childId,\n additionalParams: params.additionalParams ?? [],\n };\n }\n\n endpoint(value: ApiRequestDataTypeInterface | string): EndpointCreator {\n this._endpoint.endpoint = value;\n return this;\n }\n\n id(value: string): EndpointCreator {\n this._endpoint.id = value;\n return this;\n }\n\n childEndpoint(value: ApiRequestDataTypeInterface | string): EndpointCreator {\n this._endpoint.childEndpoint = value;\n return this;\n }\n\n childId(value: string): EndpointCreator {\n this._endpoint.childId = value;\n return this;\n }\n\n set additionalParams(value: { key: string; value: string }[]) {\n this._endpoint.additionalParams = value;\n }\n\n addAdditionalParam(key: string, value: string | string[]): EndpointCreator {\n if (!this._endpoint.additionalParams) this._endpoint.additionalParams = [];\n this._endpoint.additionalParams.push({ key, value });\n return this;\n }\n\n limitToType(selectors: string[]): this {\n this.addAdditionalParam(`include`, selectors.join(\",\"));\n return this;\n }\n\n limitToFields(selectors: FieldSelector<any>[]): this {\n if (selectors.length === 0) return this;\n\n selectors.forEach((selector) => {\n const fieldString = selector.fields.join(\",\");\n this.addAdditionalParam(`fields[${selector.type}]`, fieldString);\n });\n\n return this;\n }\n\n generate(): string {\n let additionalParams = \"\";\n if (this._endpoint.additionalParams) {\n additionalParams = this._endpoint.additionalParams.map((param) => `${param.key}=${param.value}`).join(\"&\");\n }\n\n let response = ``;\n response += `${\n typeof this._endpoint.endpoint === \"string\" ? this._endpoint.endpoint : this._endpoint.endpoint.name\n }`;\n if (this._endpoint.id) response += `/${this._endpoint.id}`;\n if (this._endpoint.childEndpoint) {\n response += `/${\n typeof this._endpoint.childEndpoint === \"string\"\n ? this._endpoint.childEndpoint\n : this._endpoint.childEndpoint.name\n }`;\n }\n if (this._endpoint.childId) response += `/${this._endpoint.childId}`;\n if (additionalParams) response += `?${additionalParams}`;\n\n return response;\n }\n}\n","import { AbstractApiData } from \"../../../core/abstracts/AbstractApiData\";\nimport { JsonApiHydratedDataInterface } from \"../../../core/interfaces/JsonApiHydratedDataInterface\";\nimport { RootSyncEntry, RootSyncInterface, RootSyncLink } from \"./RootSyncInterface\";\n\n/**\n * Child path of the sync answer under the root module record\n * (`GET /<root endpoint>/:id/sync`), the same value as the app API's sync meta endpoint\n * (in Wyrdli, `campaignSyncMeta.endpoint`).\n */\nexport const ROOT_SYNC_ENDPOINT = \"sync\";\n\n/** The sync answer for one root record (`root-syncs`, id = root record id). Read-only. */\nexport class RootSync extends AbstractApiData implements RootSyncInterface {\n private _serverTime?: Date;\n private _locked: boolean = false;\n private _lockedFrom?: Date;\n private _entries?: RootSyncEntry[];\n private _links?: RootSyncLink[];\n\n get serverTime(): Date {\n if (!this._serverTime) throw new Error(\"serverTime is not set.\");\n return this._serverTime;\n }\n\n get locked(): boolean {\n return this._locked;\n }\n\n get lockedFrom(): Date | undefined {\n return this._lockedFrom;\n }\n\n get entries(): RootSyncEntry[] {\n return this._entries ?? [];\n }\n\n get links(): RootSyncLink[] {\n return this._links ?? [];\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n const attributes = data.jsonApi.attributes ?? {};\n this._serverTime = attributes.serverTime ? new Date(attributes.serverTime) : undefined;\n this._locked = Boolean(attributes.locked);\n this._lockedFrom = attributes.lockedFrom ? new Date(attributes.lockedFrom) : undefined;\n this._entries = (attributes.entries ?? []).map((entry: { type: string; id: string; updatedAt: string }) => ({\n type: entry.type,\n id: entry.id,\n updatedAt: new Date(entry.updatedAt),\n }));\n this._links = (attributes.links ?? []).map((link: RootSyncLink) => ({\n fromType: link.fromType,\n fromId: link.fromId,\n toType: link.toType,\n toId: link.toId,\n kind: link.kind,\n props: link.props ?? {},\n }));\n\n return this;\n }\n\n createJsonApi(_data?: any): any {\n throw new Error(\"RootSync is read-only and cannot be created\");\n }\n}\n"]}
@@ -30,7 +30,8 @@
30
30
 
31
31
 
32
32
 
33
- var _chunkR5722NLLjs = require('../chunk-R5722NLL.js');
33
+ var _chunkM6SNTMK6js = require('../chunk-M6SNTMK6.js');
34
+ require('../chunk-SYMI4IDW.js');
34
35
 
35
36
 
36
37
 
@@ -44,10 +45,12 @@ var _chunk3EPNHTMHjs = require('../chunk-3EPNHTMH.js');
44
45
 
45
46
 
46
47
 
47
- var _chunkTNTCLVURjs = require('../chunk-TNTCLVUR.js');
48
+ var _chunkJGL4P3DSjs = require('../chunk-JGL4P3DS.js');
48
49
  require('../chunk-G4JR3SFV.js');
49
- require('../chunk-HN7L6RRW.js');
50
+ require('../chunk-CSBQAPHD.js');
51
+ require('../chunk-HROKKUBQ.js');
50
52
  require('../chunk-DGN3PR2F.js');
53
+ require('../chunk-Z6T2575A.js');
51
54
 
52
55
 
53
56
 
@@ -55,27 +58,27 @@ require('../chunk-DGN3PR2F.js');
55
58
 
56
59
 
57
60
 
58
- var _chunkP7L6OFX5js = require('../chunk-P7L6OFX5.js');
59
61
 
60
62
 
61
63
 
62
64
 
65
+ var _chunk3VNDFKT7js = require('../chunk-3VNDFKT7.js');
63
66
 
64
67
 
68
+ var _chunk5WM72MLEjs = require('../chunk-5WM72MLE.js');
69
+ require('../chunk-WUNSG3IN.js');
70
+ require('../chunk-LNO2JLU3.js');
65
71
 
66
72
 
73
+ var _chunkLXKSUWAVjs = require('../chunk-LXKSUWAV.js');
67
74
 
68
75
 
69
76
 
70
- var _chunkBQ2WAG4Kjs = require('../chunk-BQ2WAG4K.js');
71
77
 
72
78
 
73
- var _chunkA5M3MORYjs = require('../chunk-A5M3MORY.js');
74
- require('../chunk-WUNSG3IN.js');
75
- require('../chunk-RCOKQ3R4.js');
76
79
 
77
80
 
78
- var _chunkLXKSUWAVjs = require('../chunk-LXKSUWAV.js');
81
+ var _chunkNP3AFULUjs = require('../chunk-NP3AFULU.js');
79
82
  require('../chunk-7QVYU63E.js');
80
83
 
81
84
 
@@ -135,5 +138,5 @@ require('../chunk-7QVYU63E.js');
135
138
 
136
139
 
137
140
 
138
- exports.ClientJsonApiDelete = _chunkBQ2WAG4Kjs.ClientJsonApiDelete; exports.ClientJsonApiGet = _chunkBQ2WAG4Kjs.ClientJsonApiGet; exports.ClientJsonApiPatch = _chunkBQ2WAG4Kjs.ClientJsonApiPatch; exports.ClientJsonApiPost = _chunkBQ2WAG4Kjs.ClientJsonApiPost; exports.ClientJsonApiPut = _chunkBQ2WAG4Kjs.ClientJsonApiPut; exports.JsonApiContext = _chunk3EPNHTMHjs.JsonApiContext; exports.JsonApiProvider = _chunkR5722NLLjs.JsonApiProvider; exports.TableGeneratorRegistry = _chunkR5722NLLjs.TableGeneratorRegistry; exports.buildClientUrl = _chunkBQ2WAG4Kjs.buildClientUrl; exports.computeLayeredLayout = _chunkR5722NLLjs.computeLayeredLayout; exports.configureClientConfig = _chunkTNTCLVURjs.configureClientConfig; exports.configureClientJsonApi = _chunkBQ2WAG4Kjs.configureClientJsonApi; exports.configureI18n = _chunkP7L6OFX5js.configureI18n; exports.configureJsonApi = _chunkTNTCLVURjs.configureJsonApi; exports.directFetch = _chunkA5M3MORYjs.directFetch; exports.fitLayeredLayoutToAspectRatio = _chunkR5722NLLjs.fitLayeredLayoutToAspectRatio; exports.getApiUrl = _chunkTNTCLVURjs.getApiUrl; exports.getAppUrl = _chunkTNTCLVURjs.getAppUrl; exports.getClientApiUrl = _chunkBQ2WAG4Kjs.getClientApiUrl; exports.getClientAppUrl = _chunkBQ2WAG4Kjs.getClientAppUrl; exports.getClientToken = _chunkLXKSUWAVjs.getClientToken; exports.getClientTrackablePages = _chunkBQ2WAG4Kjs.getClientTrackablePages; exports.getI18nLink = _chunkP7L6OFX5js.getI18nLink; exports.getPublicApiUrl = _chunkTNTCLVURjs.getPublicApiUrl; exports.getStripePublishableKey = _chunkTNTCLVURjs.getStripePublishableKey; exports.getTrackablePages = _chunkTNTCLVURjs.getTrackablePages; exports.registerTableGenerator = _chunkR5722NLLjs.registerTableGenerator; exports.tableGeneratorRegistry = _chunkR5722NLLjs.tableGeneratorRegistry; exports.useContentTableStructure = _chunkR5722NLLjs.useContentTableStructure; exports.useCustomD3Graph = _chunkR5722NLLjs.useCustomD3Graph; exports.useDataListRetriever = _chunkR5722NLLjs.useDataListRetriever; exports.useDebounce = _chunkR5722NLLjs.useDebounce; exports.useI18nDateFnsLocale = _chunkP7L6OFX5js.useI18nDateFnsLocale; exports.useI18nLocale = _chunkP7L6OFX5js.useI18nLocale; exports.useI18nRouter = _chunkP7L6OFX5js.useI18nRouter; exports.useI18nTranslations = _chunkP7L6OFX5js.useI18nTranslations; exports.useJsonApiConfig = _chunk3EPNHTMHjs.useJsonApiConfig; exports.useJsonApiConfigOptional = _chunk3EPNHTMHjs.useJsonApiConfigOptional; exports.useJsonApiGet = _chunkR5722NLLjs.useJsonApiGet; exports.useJsonApiMutation = _chunkR5722NLLjs.useJsonApiMutation; exports.useNotificationSync = _chunkR5722NLLjs.useNotificationSync; exports.useOAuthClient = _chunkR5722NLLjs.useOAuthClient; exports.useOAuthClients = _chunkR5722NLLjs.useOAuthClients; exports.useOAuthConsent = _chunkR5722NLLjs.useOAuthConsent; exports.useOAuthScopeText = _chunkR5722NLLjs.useOAuthScopeText; exports.usePageTracker = _chunkR5722NLLjs.usePageTracker; exports.usePageUrlGenerator = _chunkR5722NLLjs.usePageUrlGenerator; exports.usePushNotifications = _chunkR5722NLLjs.usePushNotifications; exports.useRehydration = _chunkR5722NLLjs.useRehydration; exports.useRehydrationList = _chunkR5722NLLjs.useRehydrationList; exports.useRoleTableStructure = _chunkR5722NLLjs.useRoleTableStructure; exports.useSocket = _chunkR5722NLLjs.useSocket; exports.useSubscriptionStatus = _chunkR5722NLLjs.useSubscriptionStatus; exports.useTableGenerator = _chunkR5722NLLjs.useTableGenerator; exports.useUrlRewriter = _chunkR5722NLLjs.useUrlRewriter; exports.useUserSearch = _chunkR5722NLLjs.useUserSearch; exports.useUserTableStructure = _chunkR5722NLLjs.useUserTableStructure;
141
+ exports.ClientJsonApiDelete = _chunk3VNDFKT7js.ClientJsonApiDelete; exports.ClientJsonApiGet = _chunk3VNDFKT7js.ClientJsonApiGet; exports.ClientJsonApiPatch = _chunk3VNDFKT7js.ClientJsonApiPatch; exports.ClientJsonApiPost = _chunk3VNDFKT7js.ClientJsonApiPost; exports.ClientJsonApiPut = _chunk3VNDFKT7js.ClientJsonApiPut; exports.JsonApiContext = _chunk3EPNHTMHjs.JsonApiContext; exports.JsonApiProvider = _chunkM6SNTMK6js.JsonApiProvider; exports.TableGeneratorRegistry = _chunkM6SNTMK6js.TableGeneratorRegistry; exports.buildClientUrl = _chunk3VNDFKT7js.buildClientUrl; exports.computeLayeredLayout = _chunkM6SNTMK6js.computeLayeredLayout; exports.configureClientConfig = _chunkJGL4P3DSjs.configureClientConfig; exports.configureClientJsonApi = _chunk3VNDFKT7js.configureClientJsonApi; exports.configureI18n = _chunkNP3AFULUjs.configureI18n; exports.configureJsonApi = _chunkJGL4P3DSjs.configureJsonApi; exports.directFetch = _chunk5WM72MLEjs.directFetch; exports.fitLayeredLayoutToAspectRatio = _chunkM6SNTMK6js.fitLayeredLayoutToAspectRatio; exports.getApiUrl = _chunkJGL4P3DSjs.getApiUrl; exports.getAppUrl = _chunkJGL4P3DSjs.getAppUrl; exports.getClientApiUrl = _chunk3VNDFKT7js.getClientApiUrl; exports.getClientAppUrl = _chunk3VNDFKT7js.getClientAppUrl; exports.getClientToken = _chunkLXKSUWAVjs.getClientToken; exports.getClientTrackablePages = _chunk3VNDFKT7js.getClientTrackablePages; exports.getI18nLink = _chunkNP3AFULUjs.getI18nLink; exports.getPublicApiUrl = _chunkJGL4P3DSjs.getPublicApiUrl; exports.getStripePublishableKey = _chunkJGL4P3DSjs.getStripePublishableKey; exports.getTrackablePages = _chunkJGL4P3DSjs.getTrackablePages; exports.registerTableGenerator = _chunkM6SNTMK6js.registerTableGenerator; exports.tableGeneratorRegistry = _chunkM6SNTMK6js.tableGeneratorRegistry; exports.useContentTableStructure = _chunkM6SNTMK6js.useContentTableStructure; exports.useCustomD3Graph = _chunkM6SNTMK6js.useCustomD3Graph; exports.useDataListRetriever = _chunkM6SNTMK6js.useDataListRetriever; exports.useDebounce = _chunkM6SNTMK6js.useDebounce; exports.useI18nDateFnsLocale = _chunkNP3AFULUjs.useI18nDateFnsLocale; exports.useI18nLocale = _chunkNP3AFULUjs.useI18nLocale; exports.useI18nRouter = _chunkNP3AFULUjs.useI18nRouter; exports.useI18nTranslations = _chunkNP3AFULUjs.useI18nTranslations; exports.useJsonApiConfig = _chunk3EPNHTMHjs.useJsonApiConfig; exports.useJsonApiConfigOptional = _chunk3EPNHTMHjs.useJsonApiConfigOptional; exports.useJsonApiGet = _chunkM6SNTMK6js.useJsonApiGet; exports.useJsonApiMutation = _chunkM6SNTMK6js.useJsonApiMutation; exports.useNotificationSync = _chunkM6SNTMK6js.useNotificationSync; exports.useOAuthClient = _chunkM6SNTMK6js.useOAuthClient; exports.useOAuthClients = _chunkM6SNTMK6js.useOAuthClients; exports.useOAuthConsent = _chunkM6SNTMK6js.useOAuthConsent; exports.useOAuthScopeText = _chunkM6SNTMK6js.useOAuthScopeText; exports.usePageTracker = _chunkM6SNTMK6js.usePageTracker; exports.usePageUrlGenerator = _chunkM6SNTMK6js.usePageUrlGenerator; exports.usePushNotifications = _chunkM6SNTMK6js.usePushNotifications; exports.useRehydration = _chunkM6SNTMK6js.useRehydration; exports.useRehydrationList = _chunkM6SNTMK6js.useRehydrationList; exports.useRoleTableStructure = _chunkM6SNTMK6js.useRoleTableStructure; exports.useSocket = _chunkM6SNTMK6js.useSocket; exports.useSubscriptionStatus = _chunkM6SNTMK6js.useSubscriptionStatus; exports.useTableGenerator = _chunkM6SNTMK6js.useTableGenerator; exports.useUrlRewriter = _chunkM6SNTMK6js.useUrlRewriter; exports.useUserSearch = _chunkM6SNTMK6js.useUserSearch; exports.useUserTableStructure = _chunkM6SNTMK6js.useUserTableStructure;
139
142
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yjHAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yjHAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"}
@@ -29,7 +29,8 @@ import {
29
29
  useUrlRewriter,
30
30
  useUserSearch,
31
31
  useUserTableStructure
32
- } from "../chunk-HP6DT6K3.mjs";
32
+ } from "../chunk-KVYYPKRO.mjs";
33
+ import "../chunk-5T2AQMQ2.mjs";
33
34
  import {
34
35
  JsonApiContext,
35
36
  useJsonApiConfig,
@@ -43,18 +44,12 @@ import {
43
44
  getPublicApiUrl,
44
45
  getStripePublishableKey,
45
46
  getTrackablePages
46
- } from "../chunk-TMV7TL7O.mjs";
47
+ } from "../chunk-JELEQV5T.mjs";
47
48
  import "../chunk-PW42LRSL.mjs";
48
- import "../chunk-T6G2F2BK.mjs";
49
+ import "../chunk-HJT7TXGG.mjs";
50
+ import "../chunk-RW6XZGZG.mjs";
49
51
  import "../chunk-OY65RYD3.mjs";
50
- import {
51
- configureI18n,
52
- getI18nLink,
53
- useI18nDateFnsLocale,
54
- useI18nLocale,
55
- useI18nRouter,
56
- useI18nTranslations
57
- } from "../chunk-N2BFT7KI.mjs";
52
+ import "../chunk-W7U6O3OE.mjs";
58
53
  import {
59
54
  ClientJsonApiDelete,
60
55
  ClientJsonApiGet,
@@ -66,15 +61,23 @@ import {
66
61
  getClientApiUrl,
67
62
  getClientAppUrl,
68
63
  getClientTrackablePages
69
- } from "../chunk-BE6UMM5X.mjs";
64
+ } from "../chunk-47HNJQ7U.mjs";
70
65
  import {
71
66
  directFetch
72
- } from "../chunk-S7SPAC6X.mjs";
67
+ } from "../chunk-73NKUBMP.mjs";
73
68
  import "../chunk-4ZJIUTIV.mjs";
74
- import "../chunk-YMCL3JXZ.mjs";
69
+ import "../chunk-YPBIPE2B.mjs";
75
70
  import {
76
71
  getClientToken
77
72
  } from "../chunk-AUXK7QSA.mjs";
73
+ import {
74
+ configureI18n,
75
+ getI18nLink,
76
+ useI18nDateFnsLocale,
77
+ useI18nLocale,
78
+ useI18nRouter,
79
+ useI18nTranslations
80
+ } from "../chunk-743M4TIB.mjs";
78
81
  import "../chunk-PAWJFY3S.mjs";
79
82
  export {
80
83
  ClientJsonApiDelete,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerPopover.d.ts","sourceRoot":"","sources":["../../../src/components/forms/DatePickerPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAqB,MAAM,OAAO,CAAC;AAgBxD,KAAK,sBAAsB,GAAG;IAC5B,6FAA6F;IAC7F,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,yEAQ/B,sBAAsB,gCAyMxB,CAAC"}
1
+ {"version":3,"file":"DatePickerPopover.d.ts","sourceRoot":"","sources":["../../../src/components/forms/DatePickerPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAqB,MAAM,OAAO,CAAC;AAiBxD,KAAK,sBAAsB,GAAG;IAC5B,6FAA6F;IAC7F,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,yEAQ/B,sBAAsB,gCA0MxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeSelector.d.ts","sourceRoot":"","sources":["../../../src/components/forms/DateRangeSelector.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,IAAI,CAAC;CACnB,GAAG,SAAS,GAAG,SAAS,CAOxB;AAED,KAAK,sBAAsB,GAAG;IAC5B,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,sBAAsB,+BA2H/G"}
1
+ {"version":3,"file":"DateRangeSelector.d.ts","sourceRoot":"","sources":["../../../src/components/forms/DateRangeSelector.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,IAAI,CAAC;CACnB,GAAG,SAAS,GAAG,SAAS,CAOxB;AAED,KAAK,sBAAsB,GAAG;IAC5B,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,sBAAsB,+BA6H/G"}
@@ -12,6 +12,11 @@ export type EditorSheetProps<T extends FieldValues> = {
12
12
  * sheet stays open with the form unchanged. Use it for a last confirmation
13
13
  * (e.g. "this information will be deleted") that must not close the sheet. */
14
14
  onBeforeSubmit?: (values: T) => Promise<boolean> | boolean;
15
+ /** Optional. Called when `onSubmit` throws. Return `true` when the caller
16
+ * showed its own message for that error: the generic "could not save" toast
17
+ * is then skipped. Either way the sheet stays open with the user's input.
18
+ * Omitted, every error shows the generic toast (the default). */
19
+ onSubmitError?: (error: unknown) => boolean;
15
20
  onReset: () => T;
16
21
  isFormDirty?: () => boolean;
17
22
  entityType: string;
@@ -60,6 +65,6 @@ export type EditorSheetProps<T extends FieldValues> = {
60
65
  actions?: ReactNode;
61
66
  children: ReactNode;
62
67
  };
63
- export declare function EditorSheet<T extends FieldValues>({ form, onSubmit, onBeforeSubmit, onReset, isFormDirty: isFormDirtyProp, entityType, entityName, title: titleOverride, description: descriptionOverride, isEdit, module, propagateChanges, onSuccess, onRevalidate, onNavigate, onSaved, size, disabled, hideSubmit, centerButtons, trigger, showLabel, forceShow, onClose, dialogOpen, onDialogOpenChange, renderFooter, actions, children, }: EditorSheetProps<T>): import("react").JSX.Element;
68
+ export declare function EditorSheet<T extends FieldValues>({ form, onSubmit, onBeforeSubmit, onSubmitError, onReset, isFormDirty: isFormDirtyProp, entityType, entityName, title: titleOverride, description: descriptionOverride, isEdit, module, propagateChanges, onSuccess, onRevalidate, onNavigate, onSaved, size, disabled, hideSubmit, centerButtons, trigger, showLabel, forceShow, onClose, dialogOpen, onDialogOpenChange, renderFooter, actions, children, }: EditorSheetProps<T>): import("react").JSX.Element;
64
69
  export {};
65
70
  //# sourceMappingURL=EditorSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorSheet.d.ts","sourceRoot":"","sources":["../../../src/components/forms/EditorSheet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditorSheet.d.ts","sourceRoot":"","sources":["../../../src/components/forms/EditorSheet.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormDate.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormDate.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,+BAwJA"}
1
+ {"version":3,"file":"FormDate.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormDate.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,+BAyJA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormDateTime.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormDateTime.tsx"],"names":[],"mappings":"AA4BA,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACX,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,+BAqQA"}
1
+ {"version":3,"file":"FormDateTime.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormDateTime.tsx"],"names":[],"mappings":"AA8BA,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACX,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,+BAuSA"}
@@ -0,0 +1,14 @@
1
+ export type DayPeriod = "am" | "pm";
2
+ /** 12-hour clock value + period → 0–23 (12 am → 0, 12 pm → 12). */
3
+ export declare function to24Hour(hour12: number, period: DayPeriod): number;
4
+ /** 0–23 → 12-hour clock value + period (0 → 12 am, 12 → 12 pm). */
5
+ export declare function from24Hour(hour24: number): {
6
+ hour12: number;
7
+ period: DayPeriod;
8
+ };
9
+ /** The locale's own AM/PM labels, read from Intl (never hard-coded). */
10
+ export declare function dayPeriodLabels(locale: string): {
11
+ am: string;
12
+ pm: string;
13
+ };
14
+ //# sourceMappingURL=time-cycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-cycle.d.ts","sourceRoot":"","sources":["../../../src/components/forms/time-cycle.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpC,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAGlE;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAIhF;AAMD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAM1E"}