@carlonicora/nextjs-jsonapi 5.1.3 → 5.3.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 (173) hide show
  1. package/dist/{BlockNoteEditor-KO6YFNIU.js → BlockNoteEditor-UJ6363LC.js} +19 -19
  2. package/dist/{BlockNoteEditor-KO6YFNIU.js.map → BlockNoteEditor-UJ6363LC.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-66FJUDL4.mjs → BlockNoteEditor-WTSQANKI.mjs} +4 -4
  4. package/dist/{BlockNoteViewer-LK22AE7Z.js → BlockNoteViewer-EL4JFB6P.js} +3 -3
  5. package/dist/{BlockNoteViewer-LK22AE7Z.js.map → BlockNoteViewer-EL4JFB6P.js.map} +1 -1
  6. package/dist/{BlockNoteViewer-SUK7OMWH.mjs → BlockNoteViewer-JVKWJZ6J.mjs} +2 -2
  7. package/dist/auth.interface-CSzJ1oP1.d.ts +64 -0
  8. package/dist/auth.interface-DD4uQv2K.d.mts +64 -0
  9. package/dist/billing/index.js +441 -441
  10. package/dist/billing/index.mjs +3 -3
  11. package/dist/{chunk-SZQNUGDG.js → chunk-3BAM23VA.js} +1005 -929
  12. package/dist/chunk-3BAM23VA.js.map +1 -0
  13. package/dist/{chunk-OKUGTXDN.mjs → chunk-6WU74VFU.mjs} +121 -3
  14. package/dist/chunk-6WU74VFU.mjs.map +1 -0
  15. package/dist/{chunk-VVJDWQEI.js → chunk-CRI4T47Y.js} +790 -179
  16. package/dist/chunk-CRI4T47Y.js.map +1 -0
  17. package/dist/{chunk-TO6IYGML.js → chunk-EO75CV76.js} +126 -8
  18. package/dist/chunk-EO75CV76.js.map +1 -0
  19. package/dist/{chunk-KL7CAQP3.mjs → chunk-FNTQQFLH.mjs} +2 -2
  20. package/dist/{chunk-OCJEXAGE.mjs → chunk-JQWI62NV.mjs} +617 -6
  21. package/dist/chunk-JQWI62NV.mjs.map +1 -0
  22. package/dist/{chunk-5JADF7ZA.mjs → chunk-MIZTWBPX.mjs} +171 -95
  23. package/dist/chunk-MIZTWBPX.mjs.map +1 -0
  24. package/dist/{chunk-XLVRAHUK.mjs → chunk-QKZUE5OF.mjs} +2 -2
  25. package/dist/{chunk-67NJY7SM.js → chunk-QQQE3N2X.js} +3 -3
  26. package/dist/{chunk-67NJY7SM.js.map → chunk-QQQE3N2X.js.map} +1 -1
  27. package/dist/{chunk-XCHXOCEJ.js → chunk-XGTQWBDJ.js} +4 -4
  28. package/dist/{chunk-XCHXOCEJ.js.map → chunk-XGTQWBDJ.js.map} +1 -1
  29. package/dist/client/index.d.mts +6 -39
  30. package/dist/client/index.d.ts +6 -39
  31. package/dist/client/index.js +4 -4
  32. package/dist/client/index.mjs +3 -3
  33. package/dist/components/index.d.mts +19 -5
  34. package/dist/components/index.d.ts +19 -5
  35. package/dist/components/index.js +6 -4
  36. package/dist/components/index.js.map +1 -1
  37. package/dist/components/index.mjs +5 -3
  38. package/dist/contexts/index.js +4 -4
  39. package/dist/contexts/index.mjs +3 -3
  40. package/dist/core/index.d.mts +214 -8
  41. package/dist/core/index.d.ts +214 -8
  42. package/dist/core/index.js +30 -2
  43. package/dist/core/index.js.map +1 -1
  44. package/dist/core/index.mjs +29 -1
  45. package/dist/email-automation-enrollment.fields-BZvF14qx.d.mts +82 -0
  46. package/dist/email-automation-enrollment.fields-Cp3VMzFq.d.ts +82 -0
  47. package/dist/email-automations/index.css +30 -0
  48. package/dist/email-automations/index.css.map +1 -0
  49. package/dist/email-automations/index.d.mts +303 -0
  50. package/dist/email-automations/index.d.ts +303 -0
  51. package/dist/email-automations/index.js +1705 -0
  52. package/dist/email-automations/index.js.map +1 -0
  53. package/dist/email-automations/index.mjs +1705 -0
  54. package/dist/email-automations/index.mjs.map +1 -0
  55. package/dist/features/analytics/index.js +122 -122
  56. package/dist/features/analytics/index.mjs +4 -4
  57. package/dist/features/analytics/server.js +4 -4
  58. package/dist/features/analytics/server.mjs +2 -2
  59. package/dist/features/help/index.js +37 -37
  60. package/dist/features/help/index.mjs +3 -3
  61. package/dist/features/tokenusage/index.js +125 -125
  62. package/dist/features/tokenusage/index.mjs +4 -4
  63. package/dist/index.d.mts +5 -4
  64. package/dist/index.d.ts +5 -4
  65. package/dist/index.js +41 -3
  66. package/dist/index.js.map +1 -1
  67. package/dist/index.mjs +41 -3
  68. package/dist/{s3.service-C-4YpEMu.d.ts → s3.service-CY-jgOAM.d.ts} +1 -1
  69. package/dist/{s3.service-dVj-nxMl.d.mts → s3.service-Sri0QP7Z.d.mts} +1 -1
  70. package/dist/server/index.d.mts +2 -2
  71. package/dist/server/index.d.ts +2 -2
  72. package/dist/server/index.js +3 -3
  73. package/dist/server/index.mjs +2 -2
  74. package/dist/types-70acd-8C.d.mts +39 -0
  75. package/dist/types-l8SFleXi.d.ts +39 -0
  76. package/dist/{waitlist.config-kPfjImle.d.mts → waitlist.config-Cagmgm7-.d.mts} +7 -0
  77. package/dist/{waitlist.config-kPfjImle.d.ts → waitlist.config-Cagmgm7-.d.ts} +7 -0
  78. package/messages/en.json +132 -1
  79. package/messages/it.json +132 -1
  80. package/package.json +11 -1
  81. package/scripts/validate-messages.mjs +1 -0
  82. package/src/components/forms/FormFieldWrapper.tsx +1 -1
  83. package/src/components/forms/FormTextarea.tsx +2 -1
  84. package/src/components/index.ts +1 -0
  85. package/src/core/index.ts +8 -0
  86. package/src/core/registry/ModuleRegistry.ts +5 -0
  87. package/src/email-automations/index.ts +5 -0
  88. package/src/features/auth/components/buttons/GoogleSignInButton.tsx +8 -4
  89. package/src/features/auth/components/forms/Register.tsx +20 -8
  90. package/src/features/auth/data/auth.interface.ts +2 -0
  91. package/src/features/auth/data/auth.ts +10 -0
  92. package/src/features/email-automation/EmailAutomationEnrollmentModule.ts +11 -0
  93. package/src/features/email-automation/EmailAutomationModule.ts +30 -0
  94. package/src/features/email-automation/EmailAutomationStepModule.ts +11 -0
  95. package/src/features/email-automation/EmailAutomationTriggerModule.ts +11 -0
  96. package/src/features/email-automation/components/__tests__/EmailAutomationEditor.spec.tsx +104 -0
  97. package/src/features/email-automation/components/canvas/EmailAutomationActiveSwitch.tsx +49 -0
  98. package/src/features/email-automation/components/canvas/EmailAutomationCanvas.tsx +474 -0
  99. package/src/features/email-automation/components/canvas/EmailAutomationCanvasInspector.tsx +89 -0
  100. package/src/features/email-automation/components/canvas/EmailAutomationCanvasTab.tsx +32 -0
  101. package/src/features/email-automation/components/canvas/__tests__/buildCanvasGraph.spec.ts +67 -0
  102. package/src/features/email-automation/components/canvas/buildCanvasGraph.ts +141 -0
  103. package/src/features/email-automation/components/canvas/edges/DelayEdge.tsx +68 -0
  104. package/src/features/email-automation/components/canvas/nodes/EmailStepNode.tsx +43 -0
  105. package/src/features/email-automation/components/canvas/nodes/TriggerNode.tsx +23 -0
  106. package/src/features/email-automation/components/canvas/shared/CanvasToolbar.tsx +53 -0
  107. package/src/features/email-automation/components/canvas/shared/EmptyCanvas.tsx +11 -0
  108. package/src/features/email-automation/components/canvas/shared/__tests__/autoLayout.spec.ts +42 -0
  109. package/src/features/email-automation/components/canvas/shared/__tests__/longPress.spec.ts +51 -0
  110. package/src/features/email-automation/components/canvas/shared/autoLayout.ts +55 -0
  111. package/src/features/email-automation/components/canvas/shared/index.ts +4 -0
  112. package/src/features/email-automation/components/canvas/shared/longPress.ts +57 -0
  113. package/src/features/email-automation/components/containers/EmailAutomationContainer.tsx +80 -0
  114. package/src/features/email-automation/components/containers/EmailAutomationsListContainer.tsx +27 -0
  115. package/src/features/email-automation/components/forms/EmailAutomationEditor.tsx +153 -0
  116. package/src/features/email-automation/components/forms/EmailStepEditor.tsx +151 -0
  117. package/src/features/email-automation/components/index.ts +15 -0
  118. package/src/features/email-automation/components/lists/EmailAutomationRecipientsList.tsx +90 -0
  119. package/src/features/email-automation/components/lists/EmailAutomationsList.tsx +76 -0
  120. package/src/features/email-automation/components/unsubscribe/EmailUnsubscribe.tsx +99 -0
  121. package/src/features/email-automation/components/unsubscribe/__tests__/EmailUnsubscribe.spec.tsx +55 -0
  122. package/src/features/email-automation/contexts/EmailAutomationContext.tsx +175 -0
  123. package/src/features/email-automation/data/EmailAutomation.ts +87 -0
  124. package/src/features/email-automation/data/EmailAutomationEnrollment.ts +105 -0
  125. package/src/features/email-automation/data/EmailAutomationEnrollmentInterface.ts +18 -0
  126. package/src/features/email-automation/data/EmailAutomationEnrollmentService.ts +31 -0
  127. package/src/features/email-automation/data/EmailAutomationInterface.ts +22 -0
  128. package/src/features/email-automation/data/EmailAutomationService.ts +106 -0
  129. package/src/features/email-automation/data/EmailAutomationStep.ts +104 -0
  130. package/src/features/email-automation/data/EmailAutomationStepInterface.ts +23 -0
  131. package/src/features/email-automation/data/EmailAutomationStepService.ts +80 -0
  132. package/src/features/email-automation/data/EmailAutomationTrigger.ts +28 -0
  133. package/src/features/email-automation/data/EmailAutomationTriggerInterface.ts +6 -0
  134. package/src/features/email-automation/data/__tests__/email-automation-models.spec.ts +103 -0
  135. package/src/features/email-automation/data/email-automation-enrollment.fields.ts +8 -0
  136. package/src/features/email-automation/data/email-automation.fields.ts +9 -0
  137. package/src/features/email-automation/data/index.ts +13 -0
  138. package/src/features/email-automation/hooks/index.ts +2 -0
  139. package/src/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.tsx +126 -0
  140. package/src/features/email-automation/hooks/useEmailAutomationTableStructure.tsx +119 -0
  141. package/src/features/email-automation/index.ts +5 -0
  142. package/src/features/signup-source/SignupSourceCapture.tsx +27 -0
  143. package/src/features/signup-source/__tests__/signup-source.spec.ts +161 -0
  144. package/src/features/signup-source/index.ts +9 -0
  145. package/src/features/signup-source/signup-source.ts +135 -0
  146. package/src/features/waitlist/components/forms/WaitlistForm.tsx +2 -0
  147. package/src/features/waitlist/components/forms/WaitlistQuestionnaireRenderer.tsx +15 -13
  148. package/src/features/waitlist/components/lists/WaitlistList.tsx +60 -22
  149. package/src/features/waitlist/components/sections/WaitlistHeroSection.tsx +6 -5
  150. package/src/features/waitlist/config/waitlist.config.ts +23 -0
  151. package/src/features/waitlist/data/Waitlist.ts +51 -3
  152. package/src/features/waitlist/data/WaitlistInterface.ts +9 -1
  153. package/src/features/waitlist/data/WaitlistService.ts +3 -2
  154. package/src/features/waitlist/data/__tests__/Waitlist.spec.ts +82 -0
  155. package/src/features/waitlist/data/__tests__/WaitlistService.spec.ts +48 -0
  156. package/src/features/waitlist/data/waitlist.fields.ts +1 -0
  157. package/src/features/waitlist/hooks/__tests__/formatSignupSource.spec.ts +24 -0
  158. package/src/features/waitlist/hooks/formatSignupSource.ts +14 -0
  159. package/src/features/waitlist/hooks/useWaitlistTableStructure.tsx +26 -14
  160. package/src/hooks/__tests__/usePageTracker.spec.tsx +16 -10
  161. package/src/index.ts +3 -0
  162. package/dist/auth.interface-CeFCz9NU.d.mts +0 -34
  163. package/dist/auth.interface-D1R7VVky.d.ts +0 -34
  164. package/dist/chunk-5JADF7ZA.mjs.map +0 -1
  165. package/dist/chunk-OCJEXAGE.mjs.map +0 -1
  166. package/dist/chunk-OKUGTXDN.mjs.map +0 -1
  167. package/dist/chunk-SZQNUGDG.js.map +0 -1
  168. package/dist/chunk-TO6IYGML.js.map +0 -1
  169. package/dist/chunk-VVJDWQEI.js.map +0 -1
  170. /package/dist/{BlockNoteEditor-66FJUDL4.mjs.map → BlockNoteEditor-WTSQANKI.mjs.map} +0 -0
  171. /package/dist/{BlockNoteViewer-SUK7OMWH.mjs.map → BlockNoteViewer-JVKWJZ6J.mjs.map} +0 -0
  172. /package/dist/{chunk-KL7CAQP3.mjs.map → chunk-FNTQQFLH.mjs.map} +0 -0
  173. /package/dist/{chunk-XLVRAHUK.mjs.map → chunk-QKZUE5OF.mjs.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  percentageDelta,
4
4
  seriesColor,
5
5
  useUsageFormatters
6
- } from "../../chunk-KL7CAQP3.mjs";
6
+ } from "../../chunk-FNTQQFLH.mjs";
7
7
  import {
8
8
  Badge,
9
9
  Button,
@@ -33,8 +33,8 @@ import {
33
33
  TabsList,
34
34
  TabsTrigger,
35
35
  usePageUrlGenerator
36
- } from "../../chunk-5JADF7ZA.mjs";
37
- import "../../chunk-OKUGTXDN.mjs";
36
+ } from "../../chunk-MIZTWBPX.mjs";
37
+ import "../../chunk-6WU74VFU.mjs";
38
38
  import "../../chunk-PW42LRSL.mjs";
39
39
  import {
40
40
  AbstractService,
@@ -48,7 +48,7 @@ import {
48
48
  Modules,
49
49
  analyticsModules,
50
50
  cn
51
- } from "../../chunk-OCJEXAGE.mjs";
51
+ } from "../../chunk-JQWI62NV.mjs";
52
52
  import "../../chunk-AUXK7QSA.mjs";
53
53
  import "../../chunk-PI56A4DG.mjs";
54
54
  import "../../chunk-V5MI7RNB.mjs";
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkXCHXOCEJjs = require('../../chunk-XCHXOCEJ.js');
3
+ var _chunkXGTQWBDJjs = require('../../chunk-XGTQWBDJ.js');
4
4
  require('../../chunk-YUO55Q5A.js');
5
5
  require('../../chunk-6TUB7Y6T.js');
6
6
  require('../../chunk-IK65TDQH.js');
7
7
  require('../../chunk-G4JR3SFV.js');
8
- require('../../chunk-VVJDWQEI.js');
8
+ require('../../chunk-CRI4T47Y.js');
9
9
  require('../../chunk-LXKSUWAV.js');
10
10
  require('../../chunk-JTPRJNT2.js');
11
11
  require('../../chunk-GHE4VT2R.js');
@@ -18,7 +18,7 @@ var _navigation = require('next/navigation');
18
18
  var _analytics = require('@carlonicora/nextjs-jsonapi/analytics');
19
19
  var _jsxruntime = require('react/jsx-runtime');
20
20
  async function AnalyticsAdminPage({ adminRoleId, pageUrl, sessionPageUrl, deniedRedirect = "/" }) {
21
- if (!await _chunkXCHXOCEJjs.ServerSession.hasRole(adminRoleId)) {
21
+ if (!await _chunkXGTQWBDJjs.ServerSession.hasRole(adminRoleId)) {
22
22
  _navigation.redirect.call(void 0, deniedRedirect);
23
23
  }
24
24
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _analytics.AnalyticsAdminPageContainer, { pageUrl, sessionPageUrl });
@@ -30,7 +30,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsAdminPage, "AnalyticsAdminPage");
30
30
 
31
31
 
32
32
  async function AnalyticsJourneyPage({ adminRoleId, sessionId, pageUrl, deniedRedirect = "/" }) {
33
- if (!await _chunkXCHXOCEJjs.ServerSession.hasRole(adminRoleId)) {
33
+ if (!await _chunkXGTQWBDJjs.ServerSession.hasRole(adminRoleId)) {
34
34
  _navigation.redirect.call(void 0, deniedRedirect);
35
35
  }
36
36
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _analytics.AnalyticsJourneyPageContainer, { sessionId, pageUrl });
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ServerSession
3
- } from "../../chunk-XLVRAHUK.mjs";
3
+ } from "../../chunk-QKZUE5OF.mjs";
4
4
  import "../../chunk-F5UNXZ3J.mjs";
5
5
  import "../../chunk-E2LENTUH.mjs";
6
6
  import "../../chunk-T7SAW3UW.mjs";
7
7
  import "../../chunk-PW42LRSL.mjs";
8
- import "../../chunk-OCJEXAGE.mjs";
8
+ import "../../chunk-JQWI62NV.mjs";
9
9
  import "../../chunk-AUXK7QSA.mjs";
10
10
  import "../../chunk-PI56A4DG.mjs";
11
11
  import "../../chunk-V5MI7RNB.mjs";
@@ -23,14 +23,14 @@ var _chunkYBZVWLPHjs = require('../../chunk-YBZVWLPH.js');
23
23
 
24
24
 
25
25
 
26
- var _chunkSZQNUGDGjs = require('../../chunk-SZQNUGDG.js');
26
+ var _chunk3BAM23VAjs = require('../../chunk-3BAM23VA.js');
27
27
 
28
28
 
29
- var _chunkTO6IYGMLjs = require('../../chunk-TO6IYGML.js');
29
+ var _chunkEO75CV76js = require('../../chunk-EO75CV76.js');
30
30
  require('../../chunk-G4JR3SFV.js');
31
31
 
32
32
 
33
- var _chunkVVJDWQEIjs = require('../../chunk-VVJDWQEI.js');
33
+ var _chunkCRI4T47Yjs = require('../../chunk-CRI4T47Y.js');
34
34
  require('../../chunk-LXKSUWAV.js');
35
35
  require('../../chunk-JTPRJNT2.js');
36
36
  require('../../chunk-GHE4VT2R.js');
@@ -44,7 +44,7 @@ var _react = require('react');
44
44
  var _jsxruntime = require('react/jsx-runtime');
45
45
  var HelpContext = _react.createContext.call(void 0, null);
46
46
  function HelpProvider({ children }) {
47
- const cfg = _chunkTO6IYGMLjs._getStaticHelpContent.call(void 0, );
47
+ const cfg = _chunkEO75CV76js._getStaticHelpContent.call(void 0, );
48
48
  if (!cfg) {
49
49
  throw new Error(
50
50
  "Help content not configured \u2014 call configureJsonApi({ helpContent: {...} }) before importing help components."
@@ -76,29 +76,29 @@ var _lucidereact = require('lucide-react');
76
76
 
77
77
 
78
78
  function HelpAssistantSheet({ open, onOpenChange }) {
79
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.Sheet, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
80
- _chunkSZQNUGDGjs.SheetContent,
79
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.Sheet, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
80
+ _chunk3BAM23VAjs.SheetContent,
81
81
  {
82
82
  side: "end",
83
83
  className: "flex w-full flex-col data-[side=right]:sm:max-w-2xl data-[side=right]:lg:max-w-3xl data-[side=left]:sm:max-w-2xl data-[side=left]:lg:max-w-3xl",
84
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.AssistantProvider, { manageUrl: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAssistantSheetBody, {}) })
84
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.AssistantProvider, { manageUrl: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAssistantSheetBody, {}) })
85
85
  }
86
86
  ) });
87
87
  }
88
88
  _chunk7QVYU63Ejs.__name.call(void 0, HelpAssistantSheet, "HelpAssistantSheet");
89
89
  function HelpAssistantSheetBody() {
90
90
  const t = _nextintl.useTranslations.call(void 0, );
91
- const ctx = _chunkSZQNUGDGjs.useAssistantContext.call(void 0, );
91
+ const ctx = _chunk3BAM23VAjs.useAssistantContext.call(void 0, );
92
92
  const showThread = !!ctx.assistant || ctx.sending || ctx.messages.length > 0;
93
93
  const send = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (content) => ctx.sendMessage(content, { howToMode: true }), "send");
94
94
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
95
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSZQNUGDGjs.SheetHeader, { children: [
96
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.SheetTitle, { children: t("help.askAi.sheet.title") }),
97
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.SheetDescription, { children: t("help.askAi.sheet.subtitle") })
95
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BAM23VAjs.SheetHeader, { children: [
96
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.SheetTitle, { children: t("help.askAi.sheet.title") }),
97
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.SheetDescription, { children: t("help.askAi.sheet.subtitle") })
98
98
  ] }),
99
- !showThread ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.AssistantEmptyState, { onSend: send }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
99
+ !showThread ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.AssistantEmptyState, { onSend: send }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
100
100
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
101
- _chunkSZQNUGDGjs.AssistantThread,
101
+ _chunk3BAM23VAjs.AssistantThread,
102
102
  {
103
103
  messages: ctx.messages,
104
104
  sending: ctx.sending,
@@ -108,7 +108,7 @@ function HelpAssistantSheetBody() {
108
108
  onRetry: ctx.retrySend
109
109
  }
110
110
  ),
111
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.AssistantComposer, { onSend: send, disabled: ctx.sending })
111
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.AssistantComposer, { onSend: send, disabled: ctx.sending })
112
112
  ] })
113
113
  ] });
114
114
  }
@@ -118,20 +118,20 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpAssistantSheetBody, "HelpAssistantSheet
118
118
 
119
119
  function HelpAskAi() {
120
120
  const t = _nextintl.useTranslations.call(void 0, );
121
- const { currentUser } = _chunkSZQNUGDGjs.useCurrentUserContext.call(void 0, );
121
+ const { currentUser } = _chunk3BAM23VAjs.useCurrentUserContext.call(void 0, );
122
122
  const [open, setOpen] = _react.useState.call(void 0, false);
123
123
  const disabled = !currentUser;
124
124
  if (disabled) {
125
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSZQNUGDGjs.Tooltip, { children: [
126
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSZQNUGDGjs.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.Button, { variant: "outline", size: "sm", disabled: true }), children: [
125
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BAM23VAjs.Tooltip, { children: [
126
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BAM23VAjs.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.Button, { variant: "outline", size: "sm", disabled: true }), children: [
127
127
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SparklesIcon, { className: "h-4 w-4" }),
128
128
  t("help.askAi.button")
129
129
  ] }),
130
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.TooltipContent, { children: t("help.askAi.loginTooltip") })
130
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.TooltipContent, { children: t("help.askAi.loginTooltip") })
131
131
  ] });
132
132
  }
133
133
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
134
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSZQNUGDGjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
134
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BAM23VAjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
135
135
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SparklesIcon, { className: "h-4 w-4" }),
136
136
  t("help.askAi.button")
137
137
  ] }),
@@ -144,7 +144,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpAskAi, "HelpAskAi");
144
144
 
145
145
  function HelpHeader() {
146
146
  const t = _nextintl.useTranslations.call(void 0, );
147
- const { currentUser } = _chunkSZQNUGDGjs.useCurrentUserContext.call(void 0, );
147
+ const { currentUser } = _chunk3BAM23VAjs.useCurrentUserContext.call(void 0, );
148
148
  const { brand } = useHelp();
149
149
  const logo = _optionalChain([brand, 'optionalAccess', _ => _.logo]);
150
150
  const label = _nullishCoalesce(_optionalChain([brand, 'optionalAccess', _2 => _2.label]), () => ( t("help.title")));
@@ -160,7 +160,7 @@ function HelpHeader() {
160
160
  ] }),
161
161
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 max-md:shrink-0", children: [
162
162
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAskAi, {}),
163
- currentUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: appHref, className: _chunkSZQNUGDGjs.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.openApp") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: "/login", className: _chunkSZQNUGDGjs.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.login") })
163
+ currentUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: appHref, className: _chunk3BAM23VAjs.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.openApp") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: "/login", className: _chunk3BAM23VAjs.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.login") })
164
164
  ] })
165
165
  ] });
166
166
  }
@@ -202,12 +202,12 @@ _chunk7QVYU63Ejs.__name.call(void 0, useHelpFilter, "useHelpFilter");
202
202
 
203
203
  function HelpSideNav() {
204
204
  const t = _nextintl.useTranslations.call(void 0, );
205
- const generateUrl = _chunkSZQNUGDGjs.usePageUrlGenerator.call(void 0, );
205
+ const generateUrl = _chunk3BAM23VAjs.usePageUrlGenerator.call(void 0, );
206
206
  const pathname = _navigation.usePathname.call(void 0, );
207
207
  const [articles, setArticles] = _react.useState.call(void 0, []);
208
208
  _react.useEffect.call(void 0, () => {
209
209
  let active = true;
210
- _chunkVVJDWQEIjs.HowToService.findPublished().then((list) => active && setArticles(list)).catch(() => active && setArticles([]));
210
+ _chunkCRI4T47Yjs.HowToService.findPublished().then((list) => active && setArticles(list)).catch(() => active && setArticles([]));
211
211
  return () => {
212
212
  active = false;
213
213
  };
@@ -283,7 +283,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpSideNav, "HelpSideNav");
283
283
  function HelpArticleBody(props) {
284
284
  const t = _nextintl.useTranslations.call(void 0, );
285
285
  const format = _nextintl.useFormatter.call(void 0, );
286
- const generateUrl = _chunkSZQNUGDGjs.usePageUrlGenerator.call(void 0, );
286
+ const generateUrl = _chunk3BAM23VAjs.usePageUrlGenerator.call(void 0, );
287
287
  const { howToType, title, summary, updatedAt, prev, next, children } = props;
288
288
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: "prose dark:prose-invert max-w-none", children: [
289
289
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: "text-muted-foreground mb-2 text-xs", children: [
@@ -340,7 +340,7 @@ function HelpTOC({ headings }) {
340
340
  }, [headings]);
341
341
  if (headings.length === 0) return null;
342
342
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { "aria-label": t("help.toc.title"), className: "hidden lg:block", children: [
343
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.MicroLabel, { className: "mb-2", children: t("help.toc.title") }),
343
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.MicroLabel, { className: "mb-2", children: t("help.toc.title") }),
344
344
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "space-y-1 text-sm", children: headings.map((h) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { style: { paddingInlineStart: `${(h.depth - 2) * 0.75}rem` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
345
345
  "a",
346
346
  {
@@ -361,13 +361,13 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpTOC, "HelpTOC");
361
361
 
362
362
  function HelpHint({ contextKey }) {
363
363
  const t = _nextintl.useTranslations.call(void 0, );
364
- const generateUrl = _chunkSZQNUGDGjs.usePageUrlGenerator.call(void 0, );
364
+ const generateUrl = _chunk3BAM23VAjs.usePageUrlGenerator.call(void 0, );
365
365
  const [open, setOpen] = _react.useState.call(void 0, false);
366
366
  const [picked, setPicked] = _react.useState.call(void 0, null);
367
367
  const [articles, setArticles] = _react.useState.call(void 0, []);
368
368
  _react.useEffect.call(void 0, () => {
369
369
  let active2 = true;
370
- _chunkVVJDWQEIjs.HowToService.findPublished().then((list) => active2 && setArticles(list)).catch(() => active2 && setArticles([]));
370
+ _chunkCRI4T47Yjs.HowToService.findPublished().then((list) => active2 && setArticles(list)).catch(() => active2 && setArticles([]));
371
371
  return () => {
372
372
  active2 = false;
373
373
  };
@@ -379,7 +379,7 @@ function HelpHint({ contextKey }) {
379
379
  if (matches.length === 0) return null;
380
380
  const active = _nullishCoalesce(picked, () => ( (matches.length === 1 ? matches[0] : null)));
381
381
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
382
- _chunkSZQNUGDGjs.Sheet,
382
+ _chunk3BAM23VAjs.Sheet,
383
383
  {
384
384
  open,
385
385
  onOpenChange: (o) => {
@@ -387,11 +387,11 @@ function HelpHint({ contextKey }) {
387
387
  if (!o) setPicked(null);
388
388
  },
389
389
  children: [
390
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.SheetTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.Button, { variant: "ghost", size: "icon-sm", "aria-label": t("help.hint.trigger") }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.HelpCircleIcon, { className: "h-4 w-4" }) }),
391
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSZQNUGDGjs.SheetContent, { side: "end", className: "w-full max-w-md sm:max-w-lg", children: [
392
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSZQNUGDGjs.SheetHeader, { children: [
393
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.SheetTitle, { children: active ? active.name : t("help.hint.pickArticle") }),
394
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.SheetDescription, { children: _nullishCoalesce(_optionalChain([active, 'optionalAccess', _4 => _4.summary]), () => ( "")) })
390
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.SheetTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.Button, { variant: "ghost", size: "icon-sm", "aria-label": t("help.hint.trigger") }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.HelpCircleIcon, { className: "h-4 w-4" }) }),
391
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BAM23VAjs.SheetContent, { side: "end", className: "w-full max-w-md sm:max-w-lg", children: [
392
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BAM23VAjs.SheetHeader, { children: [
393
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.SheetTitle, { children: active ? active.name : t("help.hint.pickArticle") }),
394
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.SheetDescription, { children: _nullishCoalesce(_optionalChain([active, 'optionalAccess', _4 => _4.summary]), () => ( "")) })
395
395
  ] }),
396
396
  active ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-4 space-y-3", children: [
397
397
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: active.summary }),
@@ -423,18 +423,18 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpHint, "HelpHint");
423
423
 
424
424
  function HelpSearchResultRow({ result, onSelect }) {
425
425
  const t = _nextintl.useTranslations.call(void 0, );
426
- const generateUrl = _chunkSZQNUGDGjs.usePageUrlGenerator.call(void 0, );
426
+ const generateUrl = _chunk3BAM23VAjs.usePageUrlGenerator.call(void 0, );
427
427
  const [article, setArticle] = _react.useState.call(void 0, null);
428
428
  _react.useEffect.call(void 0, () => {
429
429
  let active = true;
430
- _chunkVVJDWQEIjs.HowToService.findOne({ id: result.id }).then((a) => active && setArticle(a)).catch(() => active && setArticle(null));
430
+ _chunkCRI4T47Yjs.HowToService.findOne({ id: result.id }).then((a) => active && setArticle(a)).catch(() => active && setArticle(null));
431
431
  return () => {
432
432
  active = false;
433
433
  };
434
434
  }, [result.id]);
435
435
  if (!article) {
436
436
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
437
- _chunkSZQNUGDGjs.CommandItem,
437
+ _chunk3BAM23VAjs.CommandItem,
438
438
  {
439
439
  value: result.id,
440
440
  disabled: true,
@@ -443,7 +443,7 @@ function HelpSearchResultRow({ result, onSelect }) {
443
443
  }
444
444
  );
445
445
  }
446
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSZQNUGDGjs.CommandItem, { value: result.id, onSelect, className: "cursor-pointer p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
446
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BAM23VAjs.CommandItem, { value: result.id, onSelect, className: "cursor-pointer p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
447
447
  _link2.default,
448
448
  {
449
449
  href: generateUrl({ page: `/help/${article.howToType}/${article.slug}` }),
@@ -23,14 +23,14 @@ import {
23
23
  useAssistantContext,
24
24
  useCurrentUserContext,
25
25
  usePageUrlGenerator
26
- } from "../../chunk-5JADF7ZA.mjs";
26
+ } from "../../chunk-MIZTWBPX.mjs";
27
27
  import {
28
28
  _getStaticHelpContent
29
- } from "../../chunk-OKUGTXDN.mjs";
29
+ } from "../../chunk-6WU74VFU.mjs";
30
30
  import "../../chunk-PW42LRSL.mjs";
31
31
  import {
32
32
  HowToService
33
- } from "../../chunk-OCJEXAGE.mjs";
33
+ } from "../../chunk-JQWI62NV.mjs";
34
34
  import "../../chunk-AUXK7QSA.mjs";
35
35
  import "../../chunk-PI56A4DG.mjs";
36
36
  import "../../chunk-V5MI7RNB.mjs";