@carlonicora/nextjs-jsonapi 1.109.0 → 1.111.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 (268) hide show
  1. package/dist/{AssistantMessageInterface-Cs1yb-gF.d.ts → AssistantMessageInterface-BNzf1etU.d.ts} +14 -1
  2. package/dist/{AssistantMessageInterface-DQ3mH5L8.d.mts → AssistantMessageInterface-DrgHDjZ5.d.mts} +14 -1
  3. package/dist/{BlockNoteEditor-3XYBZLWO.js → BlockNoteEditor-7OKW6HHN.js} +19 -20
  4. package/dist/BlockNoteEditor-7OKW6HHN.js.map +1 -0
  5. package/dist/{BlockNoteEditor-EBFZG7AL.mjs → BlockNoteEditor-K7IIWM3S.mjs} +4 -5
  6. package/dist/{BlockNoteEditor-EBFZG7AL.mjs.map → BlockNoteEditor-K7IIWM3S.mjs.map} +1 -1
  7. package/dist/BlockNoteViewer-OPSCTHKJ.mjs +31 -0
  8. package/dist/BlockNoteViewer-OPSCTHKJ.mjs.map +1 -0
  9. package/dist/BlockNoteViewer-UW5VZ5UF.js +31 -0
  10. package/dist/BlockNoteViewer-UW5VZ5UF.js.map +1 -0
  11. package/dist/billing/index.d.mts +41 -41
  12. package/dist/billing/index.d.ts +41 -41
  13. package/dist/billing/index.js +346 -347
  14. package/dist/billing/index.js.map +1 -1
  15. package/dist/billing/index.mjs +3 -4
  16. package/dist/billing/index.mjs.map +1 -1
  17. package/dist/{chunk-7E3O52U5.js → chunk-6XWW67F2.js} +25 -12
  18. package/dist/chunk-6XWW67F2.js.map +1 -0
  19. package/dist/{chunk-UHO3KUUH.js → chunk-AKXUNE3A.js} +977 -850
  20. package/dist/chunk-AKXUNE3A.js.map +1 -0
  21. package/dist/{chunk-UOYIWJEJ.mjs → chunk-CWVYU4YZ.mjs} +18 -5
  22. package/dist/{chunk-UOYIWJEJ.mjs.map → chunk-CWVYU4YZ.mjs.map} +1 -1
  23. package/dist/{chunk-CRTVAQEK.mjs → chunk-TXVVZLUQ.mjs} +1388 -1261
  24. package/dist/chunk-TXVVZLUQ.mjs.map +1 -0
  25. package/dist/{chunk-CFI4WZ5R.js → chunk-U2HR57MY.js} +111 -5
  26. package/dist/chunk-U2HR57MY.js.map +1 -0
  27. package/dist/chunk-WPAQRB5Q.mjs +7 -0
  28. package/dist/chunk-WPAQRB5Q.mjs.map +1 -0
  29. package/dist/chunk-YBZVWLPH.js +7 -0
  30. package/dist/chunk-YBZVWLPH.js.map +1 -0
  31. package/dist/{chunk-MSNNAHDB.mjs → chunk-ZYPNVEHB.mjs} +112 -6
  32. package/dist/{chunk-MSNNAHDB.mjs.map → chunk-ZYPNVEHB.mjs.map} +1 -1
  33. package/dist/client/index.d.mts +3 -4
  34. package/dist/client/index.d.ts +3 -4
  35. package/dist/client/index.js +4 -5
  36. package/dist/client/index.js.map +1 -1
  37. package/dist/client/index.mjs +3 -4
  38. package/dist/components/index.d.mts +418 -415
  39. package/dist/components/index.d.ts +418 -415
  40. package/dist/components/index.js +6 -5
  41. package/dist/components/index.js.map +1 -1
  42. package/dist/components/index.mjs +5 -4
  43. package/dist/{config-CN23v3eJ.d.ts → config-BrkU_Ynz.d.ts} +2 -2
  44. package/dist/{config-gh88Qn4h.d.mts → config-snd2ToEB.d.mts} +2 -2
  45. package/dist/contexts/index.d.mts +15 -15
  46. package/dist/contexts/index.d.ts +15 -15
  47. package/dist/contexts/index.js +4 -5
  48. package/dist/contexts/index.js.map +1 -1
  49. package/dist/contexts/index.mjs +3 -4
  50. package/dist/core/index.d.mts +35 -4
  51. package/dist/core/index.d.ts +35 -4
  52. package/dist/core/index.js +2 -2
  53. package/dist/core/index.mjs +1 -1
  54. package/dist/features/help/index.d.mts +25 -66
  55. package/dist/features/help/index.d.ts +25 -66
  56. package/dist/features/help/index.js +114 -124
  57. package/dist/features/help/index.js.map +1 -1
  58. package/dist/features/help/index.mjs +95 -105
  59. package/dist/features/help/index.mjs.map +1 -1
  60. package/dist/features/help/server.d.mts +27 -65
  61. package/dist/features/help/server.d.ts +27 -65
  62. package/dist/features/help/server.js +4 -119
  63. package/dist/features/help/server.js.map +1 -1
  64. package/dist/features/help/server.mjs +4 -119
  65. package/dist/features/help/server.mjs.map +1 -1
  66. package/dist/help-content-config.interface-C5ESIod9.d.mts +13 -0
  67. package/dist/help-content-config.interface-C5ESIod9.d.ts +13 -0
  68. package/dist/index.d.mts +3 -3
  69. package/dist/index.d.ts +3 -3
  70. package/dist/index.js +3 -4
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +2 -3
  73. package/dist/scripts/generate-web-module/__tests__/container.spec.d.ts +2 -0
  74. package/dist/scripts/generate-web-module/__tests__/container.spec.d.ts.map +1 -0
  75. package/dist/scripts/generate-web-module/__tests__/container.spec.js +54 -0
  76. package/dist/scripts/generate-web-module/__tests__/container.spec.js.map +1 -0
  77. package/dist/scripts/generate-web-module/__tests__/data-service.spec.d.ts +2 -0
  78. package/dist/scripts/generate-web-module/__tests__/data-service.spec.d.ts.map +1 -0
  79. package/dist/scripts/generate-web-module/__tests__/data-service.spec.js +19 -0
  80. package/dist/scripts/generate-web-module/__tests__/data-service.spec.js.map +1 -0
  81. package/dist/scripts/generate-web-module/__tests__/editor.spec.d.ts +2 -0
  82. package/dist/scripts/generate-web-module/__tests__/editor.spec.d.ts.map +1 -0
  83. package/dist/scripts/generate-web-module/__tests__/editor.spec.js +35 -0
  84. package/dist/scripts/generate-web-module/__tests__/editor.spec.js.map +1 -0
  85. package/dist/scripts/generate-web-module/__tests__/fixtures.d.ts +4 -0
  86. package/dist/scripts/generate-web-module/__tests__/fixtures.d.ts.map +1 -0
  87. package/dist/scripts/generate-web-module/__tests__/fixtures.js +45 -0
  88. package/dist/scripts/generate-web-module/__tests__/fixtures.js.map +1 -0
  89. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.d.ts +2 -0
  90. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.d.ts.map +1 -0
  91. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.js +74 -0
  92. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.js.map +1 -0
  93. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.d.ts +2 -0
  94. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.d.ts.map +1 -0
  95. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.js +21 -0
  96. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.js.map +1 -0
  97. package/dist/scripts/generate-web-module/__tests__/selector.spec.d.ts +2 -0
  98. package/dist/scripts/generate-web-module/__tests__/selector.spec.d.ts.map +1 -0
  99. package/dist/scripts/generate-web-module/__tests__/selector.spec.js +25 -0
  100. package/dist/scripts/generate-web-module/__tests__/selector.spec.js.map +1 -0
  101. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.d.ts +2 -0
  102. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.d.ts.map +1 -0
  103. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.js +55 -0
  104. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.js.map +1 -0
  105. package/dist/scripts/generate-web-module/generator.d.ts.map +1 -1
  106. package/dist/scripts/generate-web-module/generator.js +14 -11
  107. package/dist/scripts/generate-web-module/generator.js.map +1 -1
  108. package/dist/scripts/generate-web-module/templates/components/container.template.d.ts +5 -1
  109. package/dist/scripts/generate-web-module/templates/components/container.template.d.ts.map +1 -1
  110. package/dist/scripts/generate-web-module/templates/components/container.template.js +43 -63
  111. package/dist/scripts/generate-web-module/templates/components/container.template.js.map +1 -1
  112. package/dist/scripts/generate-web-module/templates/components/content.template.d.ts +7 -4
  113. package/dist/scripts/generate-web-module/templates/components/content.template.d.ts.map +1 -1
  114. package/dist/scripts/generate-web-module/templates/components/content.template.js +103 -14
  115. package/dist/scripts/generate-web-module/templates/components/content.template.js.map +1 -1
  116. package/dist/scripts/generate-web-module/templates/components/editor.template.d.ts +1 -1
  117. package/dist/scripts/generate-web-module/templates/components/editor.template.js +139 -150
  118. package/dist/scripts/generate-web-module/templates/components/editor.template.js.map +1 -1
  119. package/dist/scripts/generate-web-module/templates/components/index.d.ts +0 -1
  120. package/dist/scripts/generate-web-module/templates/components/index.d.ts.map +1 -1
  121. package/dist/scripts/generate-web-module/templates/components/index.js +1 -3
  122. package/dist/scripts/generate-web-module/templates/components/index.js.map +1 -1
  123. package/dist/scripts/generate-web-module/templates/components/list-container.template.js +2 -2
  124. package/dist/scripts/generate-web-module/templates/components/list.template.d.ts.map +1 -1
  125. package/dist/scripts/generate-web-module/templates/components/list.template.js +6 -1
  126. package/dist/scripts/generate-web-module/templates/components/list.template.js.map +1 -1
  127. package/dist/scripts/generate-web-module/templates/components/selector.template.d.ts.map +1 -1
  128. package/dist/scripts/generate-web-module/templates/components/selector.template.js +48 -52
  129. package/dist/scripts/generate-web-module/templates/components/selector.template.js.map +1 -1
  130. package/dist/scripts/generate-web-module/templates/data/interface.template.d.ts.map +1 -1
  131. package/dist/scripts/generate-web-module/templates/data/interface.template.js +38 -11
  132. package/dist/scripts/generate-web-module/templates/data/interface.template.js.map +1 -1
  133. package/dist/scripts/generate-web-module/templates/data/model.template.d.ts.map +1 -1
  134. package/dist/scripts/generate-web-module/templates/data/model.template.js +83 -26
  135. package/dist/scripts/generate-web-module/templates/data/model.template.js.map +1 -1
  136. package/dist/scripts/generate-web-module/templates/data/service.template.d.ts.map +1 -1
  137. package/dist/scripts/generate-web-module/templates/data/service.template.js +21 -1
  138. package/dist/scripts/generate-web-module/templates/data/service.template.js.map +1 -1
  139. package/dist/scripts/generate-web-module/templates/index.d.ts +1 -1
  140. package/dist/scripts/generate-web-module/templates/index.d.ts.map +1 -1
  141. package/dist/scripts/generate-web-module/templates/index.js +1 -2
  142. package/dist/scripts/generate-web-module/templates/index.js.map +1 -1
  143. package/dist/scripts/generate-web-module/templates/module.template.d.ts.map +1 -1
  144. package/dist/scripts/generate-web-module/templates/module.template.js +11 -3
  145. package/dist/scripts/generate-web-module/templates/module.template.js.map +1 -1
  146. package/dist/scripts/generate-web-module/templates/table-hook.template.js +31 -1
  147. package/dist/scripts/generate-web-module/templates/table-hook.template.js.map +1 -1
  148. package/dist/scripts/generate-web-module/transformers/import-resolver.d.ts +0 -1
  149. package/dist/scripts/generate-web-module/transformers/import-resolver.d.ts.map +1 -1
  150. package/dist/scripts/generate-web-module/transformers/import-resolver.js +0 -1
  151. package/dist/scripts/generate-web-module/transformers/import-resolver.js.map +1 -1
  152. package/dist/scripts/generate-web-module/transformers/relationship-key.d.ts +5 -0
  153. package/dist/scripts/generate-web-module/transformers/relationship-key.d.ts.map +1 -0
  154. package/dist/scripts/generate-web-module/transformers/relationship-key.js +21 -0
  155. package/dist/scripts/generate-web-module/transformers/relationship-key.js.map +1 -0
  156. package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts.map +1 -1
  157. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js +2 -0
  158. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js.map +1 -1
  159. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts +21 -0
  160. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts.map +1 -1
  161. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts +17 -0
  162. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts.map +1 -1
  163. package/dist/server/index.js +3 -3
  164. package/dist/server/index.mjs +1 -1
  165. package/dist/testing/index.d.mts +1 -2
  166. package/dist/testing/index.d.ts +1 -2
  167. package/package.json +1 -6
  168. package/scripts/generate-web-module/__tests__/container.spec.ts +58 -0
  169. package/scripts/generate-web-module/__tests__/data-service.spec.ts +18 -0
  170. package/scripts/generate-web-module/__tests__/editor.spec.ts +36 -0
  171. package/scripts/generate-web-module/__tests__/fixtures.ts +43 -0
  172. package/scripts/generate-web-module/__tests__/model-interface.spec.ts +77 -0
  173. package/scripts/generate-web-module/__tests__/plumbing.spec.ts +21 -0
  174. package/scripts/generate-web-module/__tests__/selector.spec.ts +24 -0
  175. package/scripts/generate-web-module/__tests__/table-module-list.spec.ts +59 -0
  176. package/scripts/generate-web-module/generator.ts +14 -13
  177. package/scripts/generate-web-module/templates/components/container.template.ts +51 -66
  178. package/scripts/generate-web-module/templates/components/content.template.ts +107 -15
  179. package/scripts/generate-web-module/templates/components/editor.template.ts +140 -152
  180. package/scripts/generate-web-module/templates/components/index.ts +0 -1
  181. package/scripts/generate-web-module/templates/components/list-container.template.ts +2 -2
  182. package/scripts/generate-web-module/templates/components/list.template.ts +6 -1
  183. package/scripts/generate-web-module/templates/components/selector.template.ts +48 -52
  184. package/scripts/generate-web-module/templates/data/interface.template.ts +44 -12
  185. package/scripts/generate-web-module/templates/data/model.template.ts +88 -28
  186. package/scripts/generate-web-module/templates/data/service.template.ts +23 -1
  187. package/scripts/generate-web-module/templates/index.ts +0 -1
  188. package/scripts/generate-web-module/templates/module.template.ts +13 -3
  189. package/scripts/generate-web-module/templates/table-hook.template.ts +31 -2
  190. package/scripts/generate-web-module/transformers/import-resolver.ts +0 -2
  191. package/scripts/generate-web-module/transformers/relationship-key.ts +18 -0
  192. package/scripts/generate-web-module/transformers/relationship-resolver.ts +2 -0
  193. package/scripts/generate-web-module/types/json-schema.interface.ts +9 -0
  194. package/scripts/generate-web-module/types/template-data.interface.ts +7 -0
  195. package/src/client/config.ts +1 -1
  196. package/src/components/index.ts +1 -0
  197. package/src/components/viewers/BlockNoteViewer.tsx +27 -0
  198. package/src/components/viewers/BlockNoteViewerContainer.tsx +10 -0
  199. package/src/core/registry/helpStore.ts +2 -19
  200. package/src/features/assistant-message/components/parts/MessageSourcesContainer.tsx +4 -0
  201. package/src/features/assistant-message/components/parts/tabs/ContentsTab.tsx +5 -5
  202. package/src/features/assistant-message/components/parts/tabs/ReferencesTab.tsx +3 -2
  203. package/src/features/help/components/HelpArticleBody.tsx +27 -19
  204. package/src/features/help/components/HelpHint.tsx +20 -11
  205. package/src/features/help/components/HelpSearchResultRow.tsx +16 -6
  206. package/src/features/help/components/HelpSideNav.tsx +54 -19
  207. package/src/features/help/components/__tests__/HelpAskAi.spec.tsx +1 -1
  208. package/src/features/help/components/__tests__/HelpHint.spec.tsx +17 -17
  209. package/src/features/help/components/__tests__/HelpSearchResultRow.spec.tsx +18 -19
  210. package/src/features/help/components/__tests__/HelpSideNav.spec.tsx +20 -22
  211. package/src/features/help/contexts/HelpContext.spec.tsx +1 -3
  212. package/src/features/help/index.ts +3 -6
  213. package/src/features/help/interfaces/help-content-config.interface.ts +0 -5
  214. package/src/features/help/server-entry.ts +6 -15
  215. package/src/features/help/types/help-article.types.ts +2 -4
  216. package/src/features/how-to/HowToModule.ts +14 -1
  217. package/src/features/how-to/components/forms/HowToEditor.tsx +108 -4
  218. package/src/features/how-to/data/HowTo.spec.ts +43 -0
  219. package/src/features/how-to/data/HowTo.ts +47 -4
  220. package/src/features/how-to/data/HowToInterface.ts +14 -1
  221. package/src/features/how-to/data/HowToService.ts +61 -0
  222. package/dist/BlockNoteEditor-3XYBZLWO.js.map +0 -1
  223. package/dist/chunk-3J7RQBF3.js +0 -123
  224. package/dist/chunk-3J7RQBF3.js.map +0 -1
  225. package/dist/chunk-7E3O52U5.js.map +0 -1
  226. package/dist/chunk-CFI4WZ5R.js.map +0 -1
  227. package/dist/chunk-CQID6RCF.mjs +0 -38
  228. package/dist/chunk-CQID6RCF.mjs.map +0 -1
  229. package/dist/chunk-CRTVAQEK.mjs.map +0 -1
  230. package/dist/chunk-MZTKPPET.mjs +0 -123
  231. package/dist/chunk-MZTKPPET.mjs.map +0 -1
  232. package/dist/chunk-UHO3KUUH.js.map +0 -1
  233. package/dist/chunk-YQQHAFBS.js +0 -38
  234. package/dist/chunk-YQQHAFBS.js.map +0 -1
  235. package/dist/features/help/server/createHelpAssetRouteHandler.d.mts +0 -11
  236. package/dist/features/help/server/createHelpAssetRouteHandler.d.ts +0 -11
  237. package/dist/features/help/server/createHelpAssetRouteHandler.js +0 -43
  238. package/dist/features/help/server/createHelpAssetRouteHandler.js.map +0 -1
  239. package/dist/features/help/server/createHelpAssetRouteHandler.mjs +0 -43
  240. package/dist/features/help/server/createHelpAssetRouteHandler.mjs.map +0 -1
  241. package/dist/help-content-config.interface-B9L02u9i.d.mts +0 -50
  242. package/dist/help-content-config.interface-B9L02u9i.d.ts +0 -50
  243. package/dist/scripts/generate-web-module/templates/components/details.template.d.ts +0 -14
  244. package/dist/scripts/generate-web-module/templates/components/details.template.d.ts.map +0 -1
  245. package/dist/scripts/generate-web-module/templates/components/details.template.js +0 -112
  246. package/dist/scripts/generate-web-module/templates/components/details.template.js.map +0 -1
  247. package/scripts/generate-web-module/templates/components/details.template.ts +0 -116
  248. package/src/features/help/components/mdx/Callout.tsx +0 -21
  249. package/src/features/help/components/mdx/EntityRef.tsx +0 -18
  250. package/src/features/help/components/mdx/KeyBinding.tsx +0 -6
  251. package/src/features/help/components/mdx/Related.tsx +0 -33
  252. package/src/features/help/components/mdx/Screenshot.tsx +0 -9
  253. package/src/features/help/components/mdx/Steps.tsx +0 -21
  254. package/src/features/help/components/mdx/Video.tsx +0 -8
  255. package/src/features/help/components/mdx/mdx-server-components.ts +0 -23
  256. package/src/features/help/components/mdx/mdxComponents.ts +0 -9
  257. package/src/features/help/hooks/useHelpArticle.ts +0 -7
  258. package/src/features/help/hooks/useHelpManifest.ts +0 -5
  259. package/src/features/help/server/__tests__/createHelpAssetRouteHandler.spec.ts +0 -43
  260. package/src/features/help/server/createHelpAssetRouteHandler.ts +0 -35
  261. package/src/features/help/server/generateHelpArticleMetadata.ts +0 -18
  262. package/src/features/help/server/generateHelpArticleStaticParams.ts +0 -7
  263. package/src/features/help/server/generateHelpModeStaticParams.ts +0 -5
  264. package/src/features/help/server/getHelpContent.ts +0 -17
  265. package/src/features/help/server/index.ts +0 -8
  266. package/src/features/help/server/serializeHelpArticle.tsx +0 -46
  267. package/src/features/help/utils/__tests__/helpNavigation.spec.ts +0 -70
  268. package/src/features/help/utils/helpNavigation.ts +0 -29
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
3
3
 
4
+ var _chunkYBZVWLPHjs = require('../../chunk-YBZVWLPH.js');
4
5
 
5
6
 
6
7
 
@@ -11,7 +12,6 @@
11
12
 
12
13
 
13
14
 
14
- var _chunk3J7RQBF3js = require('../../chunk-3J7RQBF3.js');
15
15
 
16
16
 
17
17
 
@@ -21,22 +21,13 @@ var _chunk3J7RQBF3js = require('../../chunk-3J7RQBF3.js');
21
21
 
22
22
 
23
23
 
24
+ var _chunkAKXUNE3Ajs = require('../../chunk-AKXUNE3A.js');
24
25
 
25
26
 
27
+ var _chunk6XWW67F2js = require('../../chunk-6XWW67F2.js');
26
28
 
27
29
 
28
-
29
-
30
-
31
-
32
-
33
-
34
- var _chunkUHO3KUUHjs = require('../../chunk-UHO3KUUH.js');
35
- require('../../chunk-7E3O52U5.js');
36
-
37
-
38
- var _chunkYQQHAFBSjs = require('../../chunk-YQQHAFBS.js');
39
- require('../../chunk-CFI4WZ5R.js');
30
+ var _chunkU2HR57MYjs = require('../../chunk-U2HR57MY.js');
40
31
  require('../../chunk-LXKSUWAV.js');
41
32
  require('../../chunk-IBS6NI7D.js');
42
33
  require('../../chunk-J5LROFGL.js');
@@ -50,7 +41,7 @@ var _react = require('react');
50
41
  var _jsxruntime = require('react/jsx-runtime');
51
42
  var HelpContext = _react.createContext.call(void 0, null);
52
43
  function HelpProvider({ children }) {
53
- const cfg = _chunkYQQHAFBSjs._getStaticHelpContent.call(void 0, );
44
+ const cfg = _chunk6XWW67F2js._getStaticHelpContent.call(void 0, );
54
45
  if (!cfg) {
55
46
  throw new Error(
56
47
  "Help content not configured \u2014 call configureJsonApi({ helpContent: {...} }) before importing help components."
@@ -82,29 +73,29 @@ var _lucidereact = require('lucide-react');
82
73
 
83
74
 
84
75
  function HelpAssistantSheet({ open, onOpenChange }) {
85
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.Sheet, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
86
- _chunkUHO3KUUHjs.SheetContent,
76
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.Sheet, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
77
+ _chunkAKXUNE3Ajs.SheetContent,
87
78
  {
88
79
  side: "right",
89
80
  className: "flex w-full flex-col data-[side=right]:sm:max-w-2xl data-[side=right]:lg:max-w-3xl",
90
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.AssistantProvider, { manageUrl: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAssistantSheetBody, {}) })
81
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.AssistantProvider, { manageUrl: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAssistantSheetBody, {}) })
91
82
  }
92
83
  ) });
93
84
  }
94
85
  _chunk7QVYU63Ejs.__name.call(void 0, HelpAssistantSheet, "HelpAssistantSheet");
95
86
  function HelpAssistantSheetBody() {
96
87
  const t = _nextintl.useTranslations.call(void 0, );
97
- const ctx = _chunkUHO3KUUHjs.useAssistantContext.call(void 0, );
88
+ const ctx = _chunkAKXUNE3Ajs.useAssistantContext.call(void 0, );
98
89
  const showThread = !!ctx.assistant || ctx.sending || ctx.messages.length > 0;
99
90
  const send = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (content) => ctx.sendMessage(content, { howToMode: true }), "send");
100
91
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
101
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUHO3KUUHjs.SheetHeader, { children: [
102
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.SheetTitle, { children: t("help.askAi.sheet.title") }),
103
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.SheetDescription, { children: t("help.askAi.sheet.subtitle") })
92
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAKXUNE3Ajs.SheetHeader, { children: [
93
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.SheetTitle, { children: t("help.askAi.sheet.title") }),
94
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.SheetDescription, { children: t("help.askAi.sheet.subtitle") })
104
95
  ] }),
105
- !showThread ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.AssistantEmptyState, { onSend: send }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
96
+ !showThread ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.AssistantEmptyState, { onSend: send }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
106
97
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
107
- _chunkUHO3KUUHjs.AssistantThread,
98
+ _chunkAKXUNE3Ajs.AssistantThread,
108
99
  {
109
100
  messages: ctx.messages,
110
101
  sending: ctx.sending,
@@ -114,7 +105,7 @@ function HelpAssistantSheetBody() {
114
105
  onRetry: ctx.retrySend
115
106
  }
116
107
  ),
117
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.AssistantComposer, { onSend: send, disabled: ctx.sending })
108
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.AssistantComposer, { onSend: send, disabled: ctx.sending })
118
109
  ] })
119
110
  ] });
120
111
  }
@@ -124,20 +115,20 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpAssistantSheetBody, "HelpAssistantSheet
124
115
 
125
116
  function HelpAskAi() {
126
117
  const t = _nextintl.useTranslations.call(void 0, );
127
- const { currentUser } = _chunkUHO3KUUHjs.useCurrentUserContext.call(void 0, );
118
+ const { currentUser } = _chunkAKXUNE3Ajs.useCurrentUserContext.call(void 0, );
128
119
  const [open, setOpen] = _react.useState.call(void 0, false);
129
120
  const disabled = !currentUser;
130
121
  if (disabled) {
131
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUHO3KUUHjs.Tooltip, { children: [
132
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUHO3KUUHjs.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.Button, { variant: "outline", size: "sm", disabled: true }), children: [
122
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAKXUNE3Ajs.Tooltip, { children: [
123
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAKXUNE3Ajs.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.Button, { variant: "outline", size: "sm", disabled: true }), children: [
133
124
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SparklesIcon, { className: "h-4 w-4" }),
134
125
  t("help.askAi.button")
135
126
  ] }),
136
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.TooltipContent, { children: t("help.askAi.loginTooltip") })
127
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.TooltipContent, { children: t("help.askAi.loginTooltip") })
137
128
  ] });
138
129
  }
139
130
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
140
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUHO3KUUHjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
131
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAKXUNE3Ajs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
141
132
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SparklesIcon, { className: "h-4 w-4" }),
142
133
  t("help.askAi.button")
143
134
  ] }),
@@ -150,7 +141,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpAskAi, "HelpAskAi");
150
141
 
151
142
  function HelpHeader() {
152
143
  const t = _nextintl.useTranslations.call(void 0, );
153
- const { currentUser } = _chunkUHO3KUUHjs.useCurrentUserContext.call(void 0, );
144
+ const { currentUser } = _chunkAKXUNE3Ajs.useCurrentUserContext.call(void 0, );
154
145
  const { brand } = useHelp();
155
146
  const logo = _optionalChain([brand, 'optionalAccess', _ => _.logo]);
156
147
  const label = _nullishCoalesce(_optionalChain([brand, 'optionalAccess', _2 => _2.label]), () => ( "Help"));
@@ -166,7 +157,7 @@ function HelpHeader() {
166
157
  ] }),
167
158
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
168
159
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAskAi, {}),
169
- currentUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.Button, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: appHref }), nativeButton: false, variant: "outline", size: "sm", children: t("help.header.openApp") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.Button, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: "/login" }), nativeButton: false, variant: "outline", size: "sm", children: t("help.header.login") })
160
+ currentUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.Button, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: appHref }), nativeButton: false, variant: "outline", size: "sm", children: t("help.header.openApp") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.Button, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: "/login" }), nativeButton: false, variant: "outline", size: "sm", children: t("help.header.login") })
170
161
  ] })
171
162
  ] });
172
163
  }
@@ -175,6 +166,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpHeader, "HelpHeader");
175
166
  // src/features/help/components/HelpSideNav.tsx
176
167
 
177
168
 
169
+
178
170
  var _navigation = require('next/navigation');
179
171
 
180
172
  // src/features/help/hooks/useHelpFilter.ts
@@ -203,27 +195,41 @@ function useHelpFilter(articles) {
203
195
  }
204
196
  _chunk7QVYU63Ejs.__name.call(void 0, useHelpFilter, "useHelpFilter");
205
197
 
206
- // src/features/help/utils/articleUrl.ts
207
- function articleUrl(generateUrl, article) {
208
- return generateUrl({ page: `/help/${article.mode}/${article.slug}` });
209
- }
210
- _chunk7QVYU63Ejs.__name.call(void 0, articleUrl, "articleUrl");
211
- function modeUrl(generateUrl, mode) {
212
- return generateUrl({ page: `/help/${mode}` });
213
- }
214
- _chunk7QVYU63Ejs.__name.call(void 0, modeUrl, "modeUrl");
215
-
216
198
  // src/features/help/components/HelpSideNav.tsx
217
199
 
218
200
  function HelpSideNav() {
219
201
  const t = _nextintl.useTranslations.call(void 0, );
220
- const generateUrl = _chunkUHO3KUUHjs.usePageUrlGenerator.call(void 0, );
202
+ const generateUrl = _chunkAKXUNE3Ajs.usePageUrlGenerator.call(void 0, );
221
203
  const pathname = _navigation.usePathname.call(void 0, );
222
- const { manifest } = useHelp();
223
- const groups = _chunk3J7RQBF3js.buildHelpNav.call(void 0, manifest);
224
- const allArticles = groups.flatMap((g) => g.articles);
225
- const { query, setQuery, filtered } = useHelpFilter(allArticles);
204
+ const [articles, setArticles] = _react.useState.call(void 0, []);
205
+ _react.useEffect.call(void 0, () => {
206
+ let active = true;
207
+ _chunkU2HR57MYjs.HowToService.findPublished().then((list) => active && setArticles(list)).catch(() => active && setArticles([]));
208
+ return () => {
209
+ active = false;
210
+ };
211
+ }, []);
212
+ const indexable = _react.useMemo.call(void 0,
213
+ () => articles.map((a) => ({
214
+ id: a.id,
215
+ title: a.name,
216
+ summary: _nullishCoalesce(a.summary, () => ( "")),
217
+ tags: a.tags,
218
+ mode: _nullishCoalesce(a.howToType, () => ( "")),
219
+ slug: _nullishCoalesce(a.slug, () => ( ""))
220
+ })),
221
+ [articles]
222
+ );
223
+ const { query, setQuery, filtered } = useHelpFilter(indexable);
226
224
  const filtering = query.trim().length > 0;
225
+ const groups = _react.useMemo.call(void 0,
226
+ () => _chunkYBZVWLPHjs.HELP_MODES.map((mode) => ({
227
+ mode,
228
+ articles: articles.filter((a) => a.howToType === mode && !a.draft).sort((x, y) => (_nullishCoalesce(x.order, () => ( 0))) - (_nullishCoalesce(y.order, () => ( 0))))
229
+ })),
230
+ [articles]
231
+ );
232
+ const isActive = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (mode, slug) => pathname.endsWith(`/help/${mode}/${slug}`), "isActive");
227
233
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { "aria-label": "Help navigation", className: "flex h-full flex-col gap-3 overflow-y-auto p-4", children: [
228
234
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
229
235
  "input",
@@ -238,31 +244,30 @@ function HelpSideNav() {
238
244
  filtering ? filtered.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("help.sideNav.noMatches") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "space-y-1", children: filtered.map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
239
245
  _link2.default,
240
246
  {
241
- href: articleUrl(generateUrl, a),
242
- className: "hover:bg-muted block rounded px-2 py-1 text-sm " + (pathname.endsWith(`/help/${a.mode}/${a.slug}`) ? "bg-muted font-medium" : ""),
247
+ href: generateUrl({ page: `/help/${a.mode}/${a.slug}` }),
248
+ className: "hover:bg-muted block rounded px-2 py-1 text-sm " + (isActive(a.mode, a.slug) ? "bg-muted font-medium" : ""),
243
249
  children: a.title
244
250
  }
245
- ) }, a.id)) }) : _chunk3J7RQBF3js.HELP_MODES.map((mode) => {
246
- const group = groups.find((g) => g.mode === mode);
251
+ ) }, a.id)) }) : groups.map((group) => {
247
252
  if (group.articles.length === 0) return null;
248
253
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
249
254
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
250
255
  _link2.default,
251
256
  {
252
- href: modeUrl(generateUrl, mode),
257
+ href: generateUrl({ page: `/help/${group.mode}` }),
253
258
  className: "text-muted-foreground hover:text-foreground mb-1 block text-xs font-semibold tracking-wider uppercase",
254
- children: t(`help.modes.${mode}`)
259
+ children: t(`help.modes.${group.mode}`)
255
260
  }
256
261
  ),
257
262
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "space-y-0.5", children: group.articles.map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
258
263
  _link2.default,
259
264
  {
260
- href: articleUrl(generateUrl, a),
261
- className: "hover:bg-muted block rounded px-2 py-1 text-sm " + (pathname.endsWith(`/help/${a.mode}/${a.slug}`) ? "bg-muted font-medium" : ""),
262
- children: a.title
265
+ href: generateUrl({ page: `/help/${a.howToType}/${a.slug}` }),
266
+ className: "hover:bg-muted block rounded px-2 py-1 text-sm " + (isActive(_nullishCoalesce(a.howToType, () => ( "")), _nullishCoalesce(a.slug, () => ( ""))) ? "bg-muted font-medium" : ""),
267
+ children: a.name
263
268
  }
264
269
  ) }, a.id)) })
265
- ] }, mode);
270
+ ] }, group.mode);
266
271
  })
267
272
  ] });
268
273
  }
@@ -272,33 +277,32 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpSideNav, "HelpSideNav");
272
277
 
273
278
 
274
279
 
275
- function HelpArticleBody({ article, children }) {
280
+ function HelpArticleBody(props) {
276
281
  const t = _nextintl.useTranslations.call(void 0, );
277
282
  const format = _nextintl.useFormatter.call(void 0, );
278
- const generateUrl = _chunkUHO3KUUHjs.usePageUrlGenerator.call(void 0, );
279
- const { manifest } = useHelp();
280
- const { prev, next } = _chunk3J7RQBF3js.prevNextWithinMode.call(void 0, manifest, article);
283
+ const generateUrl = _chunkAKXUNE3Ajs.usePageUrlGenerator.call(void 0, );
284
+ const { howToType, title, summary, updatedAt, prev, next, children } = props;
281
285
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: "prose dark:prose-invert max-w-none", children: [
282
286
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: "text-muted-foreground mb-2 text-xs", children: [
283
287
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: generateUrl({ page: "/help" }), children: "Help" }),
284
288
  " \xB7 ",
285
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: generateUrl({ page: `/help/${article.mode}` }), children: t(`help.modes.${article.mode}`) })
289
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: generateUrl({ page: `/help/${howToType}` }), children: t(`help.modes.${howToType}`) })
286
290
  ] }),
287
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { children: article.title }),
288
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground !mt-0 text-base", children: article.summary }),
291
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { children: title }),
292
+ summary ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground !mt-0 text-base", children: summary }) : null,
289
293
  children,
290
294
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", { className: "my-6" }),
291
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground text-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("help.article.lastUpdated", {
292
- date: format.dateTime(new Date(article.lastUpdated), { dateStyle: "short" })
293
- }) }) }),
295
+ updatedAt ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground text-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("help.article.lastUpdated", {
296
+ date: format.dateTime(new Date(updatedAt), { dateStyle: "short" })
297
+ }) }) }) : null,
294
298
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-4 flex justify-between text-sm", children: [
295
- prev ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: articleUrl(generateUrl, prev), className: "hover:underline", children: [
299
+ prev ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: generateUrl({ page: `/help/${prev.howToType}/${prev.slug}` }), className: "hover:underline", children: [
296
300
  "\u2190 ",
297
301
  t("help.article.previous"),
298
302
  ": ",
299
303
  prev.title
300
304
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", {}),
301
- next ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: articleUrl(generateUrl, next), className: "hover:underline", children: [
305
+ next ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: generateUrl({ page: `/help/${next.howToType}/${next.slug}` }), className: "hover:underline", children: [
302
306
  t("help.article.next"),
303
307
  ": ",
304
308
  next.title,
@@ -354,18 +358,25 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpTOC, "HelpTOC");
354
358
 
355
359
  function HelpHint({ contextKey }) {
356
360
  const t = _nextintl.useTranslations.call(void 0, );
357
- const generateUrl = _chunkUHO3KUUHjs.usePageUrlGenerator.call(void 0, );
358
- const { manifest } = useHelp();
361
+ const generateUrl = _chunkAKXUNE3Ajs.usePageUrlGenerator.call(void 0, );
359
362
  const [open, setOpen] = _react.useState.call(void 0, false);
360
363
  const [picked, setPicked] = _react.useState.call(void 0, null);
364
+ const [articles, setArticles] = _react.useState.call(void 0, []);
365
+ _react.useEffect.call(void 0, () => {
366
+ let active2 = true;
367
+ _chunkU2HR57MYjs.HowToService.findPublished().then((list) => active2 && setArticles(list)).catch(() => active2 && setArticles([]));
368
+ return () => {
369
+ active2 = false;
370
+ };
371
+ }, []);
361
372
  const matches = _react.useMemo.call(void 0,
362
- () => manifest.filter((a) => a.contextualKeys.includes(contextKey) && !a.draft),
363
- [manifest, contextKey]
373
+ () => articles.filter((a) => a.contextualKeys.includes(contextKey) && !a.draft),
374
+ [articles, contextKey]
364
375
  );
365
376
  if (matches.length === 0) return null;
366
377
  const active = _nullishCoalesce(picked, () => ( (matches.length === 1 ? matches[0] : null)));
367
378
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
368
- _chunkUHO3KUUHjs.Sheet,
379
+ _chunkAKXUNE3Ajs.Sheet,
369
380
  {
370
381
  open,
371
382
  onOpenChange: (o) => {
@@ -373,15 +384,15 @@ function HelpHint({ contextKey }) {
373
384
  if (!o) setPicked(null);
374
385
  },
375
386
  children: [
376
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.SheetTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.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" }) }),
377
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUHO3KUUHjs.SheetContent, { side: "right", className: "w-full max-w-md sm:max-w-lg", children: [
378
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUHO3KUUHjs.SheetHeader, { children: [
379
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.SheetTitle, { children: active ? active.title : t("help.hint.pickArticle") }),
380
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.SheetDescription, { children: _nullishCoalesce(_optionalChain([active, 'optionalAccess', _4 => _4.summary]), () => ( "")) })
387
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.SheetTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.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" }) }),
388
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAKXUNE3Ajs.SheetContent, { side: "right", className: "w-full max-w-md sm:max-w-lg", children: [
389
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAKXUNE3Ajs.SheetHeader, { children: [
390
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.SheetTitle, { children: active ? active.name : t("help.hint.pickArticle") }),
391
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.SheetDescription, { children: _nullishCoalesce(_optionalChain([active, 'optionalAccess', _4 => _4.summary]), () => ( "")) })
381
392
  ] }),
382
393
  active ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-4 space-y-3", children: [
383
394
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: active.summary }),
384
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: articleUrl(generateUrl, active), className: "text-sm", children: t("help.hint.viewArticle") })
395
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: generateUrl({ page: `/help/${active.howToType}/${active.slug}` }), className: "text-sm", children: t("help.hint.viewArticle") })
385
396
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "mt-4 space-y-1", children: matches.map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
386
397
  "button",
387
398
  {
@@ -389,7 +400,7 @@ function HelpHint({ contextKey }) {
389
400
  onClick: () => setPicked(a),
390
401
  className: "hover:bg-muted block w-full rounded px-2 py-1 text-left text-sm",
391
402
  children: [
392
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: a.title }),
403
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: a.name }),
393
404
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground text-xs", children: a.summary })
394
405
  ]
395
406
  }
@@ -406,14 +417,21 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpHint, "HelpHint");
406
417
 
407
418
 
408
419
 
420
+
409
421
  function HelpSearchResultRow({ result, onSelect }) {
410
422
  const t = _nextintl.useTranslations.call(void 0, );
411
- const generateUrl = _chunkUHO3KUUHjs.usePageUrlGenerator.call(void 0, );
412
- const { manifest } = useHelp();
413
- const article = manifest.find((a) => a.id === result.id);
423
+ const generateUrl = _chunkAKXUNE3Ajs.usePageUrlGenerator.call(void 0, );
424
+ const [article, setArticle] = _react.useState.call(void 0, null);
425
+ _react.useEffect.call(void 0, () => {
426
+ let active = true;
427
+ _chunkU2HR57MYjs.HowToService.findOne({ id: result.id }).then((a) => active && setArticle(a)).catch(() => active && setArticle(null));
428
+ return () => {
429
+ active = false;
430
+ };
431
+ }, [result.id]);
414
432
  if (!article) {
415
433
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
416
- _chunkUHO3KUUHjs.CommandItem,
434
+ _chunkAKXUNE3Ajs.CommandItem,
417
435
  {
418
436
  value: result.id,
419
437
  disabled: true,
@@ -422,17 +440,17 @@ function HelpSearchResultRow({ result, onSelect }) {
422
440
  }
423
441
  );
424
442
  }
425
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHO3KUUHjs.CommandItem, { value: result.id, onSelect, className: "cursor-pointer p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
443
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKXUNE3Ajs.CommandItem, { value: result.id, onSelect, className: "cursor-pointer p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
426
444
  _link2.default,
427
445
  {
428
- href: generateUrl({ page: `/help/${article.mode}/${article.slug}` }),
446
+ href: generateUrl({ page: `/help/${article.howToType}/${article.slug}` }),
429
447
  className: "hover:bg-muted flex w-full items-center gap-3 rounded px-3 py-2",
430
448
  children: [
431
449
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-muted text-muted-foreground flex h-10 w-10 shrink-0 items-center justify-center rounded-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.LifeBuoyIcon, { className: "h-5 w-5" }) }),
432
450
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
433
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground truncate text-sm font-semibold", children: article.title }),
451
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground truncate text-sm font-semibold", children: article.name }),
434
452
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-muted-foreground truncate text-xs", children: [
435
- t(`help.modes.${article.mode}`),
453
+ t(`help.modes.${article.howToType}`),
436
454
  " \xB7 ",
437
455
  article.summary
438
456
  ] })
@@ -444,40 +462,15 @@ function HelpSearchResultRow({ result, onSelect }) {
444
462
  }
445
463
  _chunk7QVYU63Ejs.__name.call(void 0, HelpSearchResultRow, "HelpSearchResultRow");
446
464
 
447
- // src/features/help/components/mdx/Related.tsx
448
-
449
-
450
-
451
- function Related({ slugs }) {
452
- const t = _nextintl.useTranslations.call(void 0, );
453
- const generateUrl = _chunkUHO3KUUHjs.usePageUrlGenerator.call(void 0, );
454
- const { manifest } = useHelp();
455
- const items = slugs.map((s) => manifest.find((a) => `${a.mode}/${a.slug}` === s)).filter((a) => Boolean(a));
456
- if (items.length === 0) return null;
457
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "aside", { className: "my-6", children: [
458
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-muted-foreground mb-2 text-xs font-semibold tracking-wider uppercase", children: t("help.article.related") }),
459
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "grid gap-2 sm:grid-cols-2", children: items.map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: articleUrl(generateUrl, a), className: "hover:bg-muted block rounded border p-3", children: [
460
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: a.title }),
461
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground text-xs", children: a.summary })
462
- ] }) }, a.id)) })
463
- ] });
464
- }
465
- _chunk7QVYU63Ejs.__name.call(void 0, Related, "Related");
466
-
467
- // src/features/help/components/mdx/mdxComponents.ts
468
- var MDX_COMPONENTS = { Callout: _chunk3J7RQBF3js.Callout, Steps: _chunk3J7RQBF3js.Steps, Step: _chunk3J7RQBF3js.Step, Screenshot: _chunk3J7RQBF3js.Screenshot, EntityRef: _chunk3J7RQBF3js.EntityRef, KeyBinding: _chunk3J7RQBF3js.KeyBinding, Video: _chunk3J7RQBF3js.Video, Related };
469
-
470
- // src/features/help/hooks/useHelpManifest.ts
471
- function useHelpManifest() {
472
- return useHelp().manifest;
465
+ // src/features/help/utils/articleUrl.ts
466
+ function articleUrl(generateUrl, article) {
467
+ return generateUrl({ page: `/help/${article.mode}/${article.slug}` });
473
468
  }
474
- _chunk7QVYU63Ejs.__name.call(void 0, useHelpManifest, "useHelpManifest");
475
-
476
- // src/features/help/hooks/useHelpArticle.ts
477
- function useHelpArticle(mode, slug) {
478
- return _chunk3J7RQBF3js.findHelpArticle.call(void 0, useHelp().manifest, mode, slug);
469
+ _chunk7QVYU63Ejs.__name.call(void 0, articleUrl, "articleUrl");
470
+ function modeUrl(generateUrl, mode) {
471
+ return generateUrl({ page: `/help/${mode}` });
479
472
  }
480
- _chunk7QVYU63Ejs.__name.call(void 0, useHelpArticle, "useHelpArticle");
473
+ _chunk7QVYU63Ejs.__name.call(void 0, modeUrl, "modeUrl");
481
474
 
482
475
  // src/features/help/i18n-keys.ts
483
476
  var HELP_I18N_KEYS = [
@@ -525,8 +518,5 @@ var HELP_I18N_KEYS = [
525
518
 
526
519
 
527
520
 
528
-
529
-
530
-
531
- exports.HELP_I18N_KEYS = HELP_I18N_KEYS; exports.HELP_MODES = _chunk3J7RQBF3js.HELP_MODES; exports.HelpArticleBody = HelpArticleBody; exports.HelpAskAi = HelpAskAi; exports.HelpHeader = HelpHeader; exports.HelpHint = HelpHint; exports.HelpProvider = HelpProvider; exports.HelpSearchResultRow = HelpSearchResultRow; exports.HelpSideNav = HelpSideNav; exports.HelpTOC = HelpTOC; exports.MDX_COMPONENTS = MDX_COMPONENTS; exports.articleUrl = articleUrl; exports.modeUrl = modeUrl; exports.useHelp = useHelp; exports.useHelpArticle = useHelpArticle; exports.useHelpFilter = useHelpFilter; exports.useHelpManifest = useHelpManifest;
521
+ exports.HELP_I18N_KEYS = HELP_I18N_KEYS; exports.HELP_MODES = _chunkYBZVWLPHjs.HELP_MODES; exports.HelpArticleBody = HelpArticleBody; exports.HelpAskAi = HelpAskAi; exports.HelpHeader = HelpHeader; exports.HelpHint = HelpHint; exports.HelpProvider = HelpProvider; exports.HelpSearchResultRow = HelpSearchResultRow; exports.HelpSideNav = HelpSideNav; exports.HelpTOC = HelpTOC; exports.articleUrl = articleUrl; exports.modeUrl = modeUrl; exports.useHelp = useHelp; exports.useHelpFilter = useHelpFilter;
532
522
  //# sourceMappingURL=index.js.map