{"version":3,"sources":["../../../src/features/help/contexts/HelpContext.tsx","../../../src/features/help/components/HelpHeader.tsx","../../../src/features/help/components/HelpAskAi.tsx","../../../src/features/help/components/HelpAssistantSheet.tsx","../../../src/features/help/components/HelpSideNav.tsx","../../../src/features/help/hooks/useHelpFilter.ts","../../../src/features/help/components/HelpArticleBody.tsx","../../../src/features/help/components/HelpTOC.tsx","../../../src/features/help/components/HelpHint.tsx","../../../src/features/help/components/HelpSearchResultRow.tsx","../../../src/features/help/utils/articleUrl.ts","../../../src/features/help/i18n-keys.ts"],"sourcesContent":["\"use client\";\nimport { createContext, useContext, ReactNode } from \"react\";\nimport { _getStaticHelpContent } from \"../../../core/registry/helpStore\";\nimport type { HelpContentConfig } from \"../interfaces/help-content-config.interface\";\n\nconst HelpContext = createContext<HelpContentConfig | null>(null);\n\nexport function HelpProvider({ children }: { children: ReactNode }) {\n  const cfg = _getStaticHelpContent<HelpContentConfig>();\n  if (!cfg) {\n    throw new Error(\n      \"Help content not configured — call configureJsonApi({ helpContent: {...} }) before importing help components.\",\n    );\n  }\n  return <HelpContext.Provider value={cfg}>{children}</HelpContext.Provider>;\n}\n\nexport function useHelp(): HelpContentConfig {\n  const ctx = useContext(HelpContext);\n  if (!ctx) {\n    throw new Error(\"useHelp() called outside <HelpProvider>. Wrap your help route group with <HelpProvider>.\");\n  }\n  return ctx;\n}\n","\"use client\";\nimport Link from \"next/link\";\nimport Image from \"next/image\";\nimport { useTranslations } from \"next-intl\";\nimport { useCurrentUserContext } from \"../../user/contexts/CurrentUserContext\";\nimport { buttonVariants } from \"../../../shadcnui\";\nimport { useHelp } from \"../contexts/HelpContext\";\nimport { HelpAskAi } from \"./HelpAskAi\";\n\nexport function HelpHeader() {\n  const t = useTranslations();\n  const { currentUser } = useCurrentUserContext();\n  const { brand } = useHelp();\n  const logo = brand?.logo;\n  const label = brand?.label ?? \"Help\";\n  const appHref = brand?.appHref ?? \"/\";\n\n  return (\n    <header className=\"border-border bg-background flex items-center justify-between border-b px-4 py-3\">\n      <Link href=\"/help\" className=\"flex items-center gap-2\">\n        {logo ? <Image src={logo} alt={label} width={28} height={28} /> : null}\n        <span className=\"text-base font-semibold\">\n          {label} · {t(\"help.footerLink\")}\n        </span>\n      </Link>\n      <div className=\"flex items-center gap-2\">\n        <HelpAskAi />\n        {/* Styled Links, not <Button render={<Link/>} nativeButton={false}>. Base UI's\n            Button primitive warns when rendered as a non-button, and nativeButton={false}\n            silences that by stamping role=\"button\" onto the anchor — so a control that\n            navigates would announce as a button. Both of these navigate, so they stay\n            real links and only borrow the button styling. */}\n        {currentUser ? (\n          <Link href={appHref} className={buttonVariants({ variant: \"outline\", size: \"sm\" })}>\n            {t(\"help.header.openApp\")}\n          </Link>\n        ) : (\n          <Link href=\"/login\" className={buttonVariants({ variant: \"outline\", size: \"sm\" })}>\n            {t(\"help.header.login\")}\n          </Link>\n        )}\n      </div>\n    </header>\n  );\n}\n","\"use client\";\nimport { useState } from \"react\";\nimport { SparklesIcon } from \"lucide-react\";\nimport { useTranslations } from \"next-intl\";\nimport { useCurrentUserContext } from \"../../user/contexts/CurrentUserContext\";\nimport { Button, Tooltip, TooltipTrigger, TooltipContent } from \"../../../shadcnui\";\nimport { HelpAssistantSheet } from \"./HelpAssistantSheet\";\n\nexport function HelpAskAi() {\n  const t = useTranslations();\n  const { currentUser } = useCurrentUserContext();\n  const [open, setOpen] = useState(false);\n  const disabled = !currentUser;\n\n  if (disabled) {\n    return (\n      <Tooltip>\n        <TooltipTrigger render={<Button variant=\"outline\" size=\"sm\" disabled />}>\n          <SparklesIcon className=\"h-4 w-4\" />\n          {t(\"help.askAi.button\")}\n        </TooltipTrigger>\n        <TooltipContent>{t(\"help.askAi.loginTooltip\")}</TooltipContent>\n      </Tooltip>\n    );\n  }\n\n  return (\n    <>\n      <Button variant=\"outline\" size=\"sm\" onClick={() => setOpen(true)}>\n        <SparklesIcon className=\"h-4 w-4\" />\n        {t(\"help.askAi.button\")}\n      </Button>\n      <HelpAssistantSheet open={open} onOpenChange={setOpen} />\n    </>\n  );\n}\n","\"use client\";\nimport { useTranslations } from \"next-intl\";\nimport { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from \"../../../shadcnui\";\nimport { AssistantProvider, useAssistantContext } from \"../../assistant/contexts/AssistantContext\";\nimport { AssistantThread } from \"../../assistant/components/parts/AssistantThread\";\nimport { AssistantComposer } from \"../../assistant/components/parts/AssistantComposer\";\nimport { AssistantEmptyState } from \"../../assistant/components/parts/AssistantEmptyState\";\n\nexport function HelpAssistantSheet({ open, onOpenChange }: { open: boolean; onOpenChange: (o: boolean) => void }) {\n  return (\n    <Sheet open={open} onOpenChange={onOpenChange}>\n      <SheetContent\n        side=\"right\"\n        className=\"flex w-full flex-col data-[side=right]:sm:max-w-2xl data-[side=right]:lg:max-w-3xl\"\n      >\n        <AssistantProvider manageUrl={false}>\n          <HelpAssistantSheetBody />\n        </AssistantProvider>\n      </SheetContent>\n    </Sheet>\n  );\n}\n\nfunction HelpAssistantSheetBody() {\n  const t = useTranslations();\n  const ctx = useAssistantContext();\n  const showThread = !!ctx.assistant || ctx.sending || ctx.messages.length > 0;\n  const send = (content: string) => ctx.sendMessage(content, { howToMode: true });\n\n  return (\n    <>\n      <SheetHeader>\n        <SheetTitle>{t(\"help.askAi.sheet.title\")}</SheetTitle>\n        <SheetDescription>{t(\"help.askAi.sheet.subtitle\")}</SheetDescription>\n      </SheetHeader>\n      {!showThread ? (\n        <AssistantEmptyState onSend={send} />\n      ) : (\n        <>\n          <AssistantThread\n            messages={ctx.messages}\n            sending={ctx.sending}\n            status={ctx.status}\n            onSelectFollowUp={send}\n            failedMessageIds={ctx.failedMessageIds}\n            onRetry={ctx.retrySend}\n          />\n          <AssistantComposer onSend={send} disabled={ctx.sending} />\n        </>\n      )}\n    </>\n  );\n}\n","\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useTranslations } from \"next-intl\";\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport { HELP_MODES } from \"../types/help-article.types\";\nimport { usePageUrlGenerator } from \"../../../client\";\nimport { useHelpFilter } from \"../hooks/useHelpFilter\";\nimport { HowToService } from \"../../how-to/data/HowToService\";\nimport type { HowToInterface } from \"../../how-to/data/HowToInterface\";\n\nexport function HelpSideNav() {\n  const t = useTranslations();\n  const generateUrl = usePageUrlGenerator();\n  const pathname = usePathname();\n  const [articles, setArticles] = useState<HowToInterface[]>([]);\n\n  useEffect(() => {\n    let active = true;\n    HowToService.findPublished()\n      .then((list) => active && setArticles(list))\n      .catch(() => active && setArticles([]));\n    return () => {\n      active = false;\n    };\n  }, []);\n\n  // useHelpFilter indexes by title/summary/tags — map HowTo getters into the shape it expects.\n  const indexable = useMemo(\n    () =>\n      articles.map((a) => ({\n        id: a.id,\n        title: a.name,\n        summary: a.summary ?? \"\",\n        tags: a.tags,\n        mode: a.howToType ?? \"\",\n        slug: a.slug ?? \"\",\n      })),\n    [articles],\n  );\n  const { query, setQuery, filtered } = useHelpFilter(indexable as any);\n  const filtering = query.trim().length > 0;\n\n  const groups = useMemo(\n    () =>\n      HELP_MODES.map((mode) => ({\n        mode,\n        articles: articles\n          .filter((a) => a.howToType === mode && !a.draft)\n          .sort((x, y) => (x.order ?? 0) - (y.order ?? 0)),\n      })),\n    [articles],\n  );\n\n  const isActive = (mode: string, slug: string) => pathname.endsWith(`/help/${mode}/${slug}`);\n\n  return (\n    <nav aria-label=\"Help navigation\" className=\"flex h-full flex-col gap-3 overflow-y-auto p-4\">\n      <input\n        type=\"search\"\n        value={query}\n        onChange={(e) => setQuery(e.target.value)}\n        placeholder={t(\"help.sideNav.filterPlaceholder\")}\n        className=\"border-input bg-background w-full rounded-md border px-3 py-2 text-sm\"\n      />\n      {filtering ? (\n        (filtered as any[]).length === 0 ? (\n          <p className=\"text-muted-foreground text-sm\">{t(\"help.sideNav.noMatches\")}</p>\n        ) : (\n          <ul className=\"space-y-1\">\n            {(filtered as any[]).map((a) => (\n              <li key={a.id}>\n                <Link\n                  href={generateUrl({ page: `/help/${a.mode}/${a.slug}` })}\n                  className={\n                    \"hover:bg-muted block rounded px-2 py-1 text-sm \" +\n                    (isActive(a.mode, a.slug) ? \"bg-muted font-medium\" : \"\")\n                  }\n                >\n                  {a.title}\n                </Link>\n              </li>\n            ))}\n          </ul>\n        )\n      ) : (\n        groups.map((group) => {\n          if (group.articles.length === 0) return null;\n          return (\n            <div key={group.mode}>\n              <Link\n                href={generateUrl({ page: `/help/${group.mode}` })}\n                className=\"text-muted-foreground hover:text-foreground mb-1 block text-xs font-semibold tracking-wider uppercase\"\n              >\n                {t(`help.modes.${group.mode}`)}\n              </Link>\n              <ul className=\"space-y-0.5\">\n                {group.articles.map((a) => (\n                  <li key={a.id}>\n                    <Link\n                      href={generateUrl({ page: `/help/${a.howToType}/${a.slug}` })}\n                      className={\n                        \"hover:bg-muted block rounded px-2 py-1 text-sm \" +\n                        (isActive(a.howToType ?? \"\", a.slug ?? \"\") ? \"bg-muted font-medium\" : \"\")\n                      }\n                    >\n                      {a.name}\n                    </Link>\n                  </li>\n                ))}\n              </ul>\n            </div>\n          );\n        })\n      )}\n    </nav>\n  );\n}\n","\"use client\";\nimport { useMemo, useState } from \"react\";\nimport Fuse from \"fuse.js\";\nimport type { HelpArticle } from \"../types/help-article.types\";\n\nexport function useHelpFilter(articles: readonly HelpArticle[]) {\n  const [query, setQuery] = useState(\"\");\n  const fuse = useMemo(\n    () =>\n      new Fuse([...articles], {\n        keys: [\n          { name: \"title\", weight: 0.5 },\n          { name: \"summary\", weight: 0.3 },\n          { name: \"tags\", weight: 0.1 },\n          { name: \"headings.text\", weight: 0.1 },\n        ],\n        threshold: 0.4,\n        ignoreLocation: true,\n      }),\n    [articles],\n  );\n  const filtered = useMemo(() => {\n    if (!query.trim()) return [...articles];\n    return fuse.search(query).map((r) => r.item);\n  }, [query, articles, fuse]);\n  return { query, setQuery, filtered };\n}\n","\"use client\";\n\nimport { ReactNode } from \"react\";\nimport Link from \"next/link\";\nimport { useFormatter, useTranslations } from \"next-intl\";\nimport { usePageUrlGenerator } from \"../../../client\";\n\ntype Sibling = { howToType: string; slug: string; title: string };\n\nexport function HelpArticleBody(props: {\n  howToType: string;\n  title: string;\n  summary?: string;\n  updatedAt?: string;\n  prev?: Sibling | null;\n  next?: Sibling | null;\n  children: ReactNode;\n}) {\n  const t = useTranslations();\n  const format = useFormatter();\n  const generateUrl = usePageUrlGenerator();\n  const { howToType, title, summary, updatedAt, prev, next, children } = props;\n\n  return (\n    <article className=\"prose dark:prose-invert max-w-none\">\n      <nav className=\"text-muted-foreground mb-2 text-xs\">\n        <Link href={generateUrl({ page: \"/help\" })}>Help</Link>\n        {\" · \"}\n        <Link href={generateUrl({ page: `/help/${howToType}` })}>{t(`help.modes.${howToType}`)}</Link>\n      </nav>\n      <h1>{title}</h1>\n      {summary ? <p className=\"text-muted-foreground !mt-0 text-base\">{summary}</p> : null}\n      {children}\n      <hr className=\"my-6\" />\n      {updatedAt ? (\n        <div className=\"text-muted-foreground text-xs\">\n          <span>\n            {t(\"help.article.lastUpdated\", {\n              date: format.dateTime(new Date(updatedAt), { dateStyle: \"short\" }),\n            })}\n          </span>\n        </div>\n      ) : null}\n      <div className=\"mt-4 flex justify-between text-sm\">\n        {prev ? (\n          <Link href={generateUrl({ page: `/help/${prev.howToType}/${prev.slug}` })}>\n            ← {t(\"help.article.previous\")}: {prev.title}\n          </Link>\n        ) : (\n          <span />\n        )}\n        {next ? (\n          <Link href={generateUrl({ page: `/help/${next.howToType}/${next.slug}` })}>\n            {t(\"help.article.next\")}: {next.title} →\n          </Link>\n        ) : (\n          <span />\n        )}\n      </div>\n    </article>\n  );\n}\n","\"use client\";\nimport { useEffect, useState } from \"react\";\nimport { useTranslations } from \"next-intl\";\nimport type { HelpHeading } from \"../types/help-article.types\";\nimport { MicroLabel } from \"../../../components/typography\";\n\nexport function HelpTOC({ headings }: { headings: readonly HelpHeading[] }) {\n  const t = useTranslations();\n  const [active, setActive] = useState<string | null>(null);\n\n  useEffect(() => {\n    const observer = new IntersectionObserver(\n      (entries) => {\n        for (const e of entries) {\n          if (e.isIntersecting) setActive(e.target.id);\n        }\n      },\n      { rootMargin: \"0px 0px -70% 0px\", threshold: 0 },\n    );\n    headings.forEach((h) => {\n      const el = document.getElementById(h.slug);\n      if (el) observer.observe(el);\n    });\n    return () => observer.disconnect();\n  }, [headings]);\n\n  if (headings.length === 0) return null;\n  return (\n    <nav aria-label={t(\"help.toc.title\")} className=\"hidden lg:block\">\n      <MicroLabel className=\"mb-2\">{t(\"help.toc.title\")}</MicroLabel>\n      <ul className=\"space-y-1 text-sm\">\n        {headings.map((h) => (\n          <li key={h.slug} style={{ paddingLeft: `${(h.depth - 2) * 0.75}rem` }}>\n            <a\n              href={`#${h.slug}`}\n              className={\n                \"block truncate hover:text-foreground \" +\n                (active === h.slug ? \"text-foreground font-medium\" : \"text-muted-foreground\")\n              }\n            >\n              {h.text}\n            </a>\n          </li>\n        ))}\n      </ul>\n    </nav>\n  );\n}\n","\"use client\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useTranslations } from \"next-intl\";\nimport Link from \"next/link\";\nimport { HelpCircleIcon } from \"lucide-react\";\nimport {\n  Button,\n  Sheet,\n  SheetContent,\n  SheetTrigger,\n  SheetHeader,\n  SheetTitle,\n  SheetDescription,\n} from \"../../../shadcnui\";\nimport { usePageUrlGenerator } from \"../../../client\";\nimport { HowToService } from \"../../how-to/data/HowToService\";\nimport type { HowToInterface } from \"../../how-to/data/HowToInterface\";\n\nexport function HelpHint({ contextKey }: { contextKey: string }) {\n  const t = useTranslations();\n  const generateUrl = usePageUrlGenerator();\n  const [open, setOpen] = useState(false);\n  const [picked, setPicked] = useState<HowToInterface | null>(null);\n\n  const [articles, setArticles] = useState<HowToInterface[]>([]);\n  useEffect(() => {\n    let active = true;\n    HowToService.findPublished()\n      .then((list) => active && setArticles(list))\n      .catch(() => active && setArticles([]));\n    return () => {\n      active = false;\n    };\n  }, []);\n\n  const matches = useMemo(\n    () => articles.filter((a) => a.contextualKeys.includes(contextKey) && !a.draft),\n    [articles, contextKey],\n  );\n\n  if (matches.length === 0) return null;\n  const active = picked ?? (matches.length === 1 ? matches[0] : null);\n\n  return (\n    <Sheet\n      open={open}\n      onOpenChange={(o) => {\n        setOpen(o);\n        if (!o) setPicked(null);\n      }}\n    >\n      <SheetTrigger render={<Button variant=\"ghost\" size=\"icon-sm\" aria-label={t(\"help.hint.trigger\")} />}>\n        <HelpCircleIcon className=\"h-4 w-4\" />\n      </SheetTrigger>\n      <SheetContent side=\"right\" className=\"w-full max-w-md sm:max-w-lg\">\n        <SheetHeader>\n          <SheetTitle>{active ? active.name : t(\"help.hint.pickArticle\")}</SheetTitle>\n          <SheetDescription>{active?.summary ?? \"\"}</SheetDescription>\n        </SheetHeader>\n        {active ? (\n          <div className=\"mt-4 space-y-3\">\n            <p className=\"text-muted-foreground text-sm\">{active.summary}</p>\n            <Link href={generateUrl({ page: `/help/${active.howToType}/${active.slug}` })} className=\"text-sm\">\n              {t(\"help.hint.viewArticle\")}\n            </Link>\n          </div>\n        ) : (\n          <ul className=\"mt-4 space-y-1\">\n            {matches.map((a) => (\n              <li key={a.id}>\n                <button\n                  type=\"button\"\n                  onClick={() => setPicked(a)}\n                  className=\"hover:bg-muted block w-full rounded px-2 py-1 text-left text-sm\"\n                >\n                  <div className=\"font-medium\">{a.name}</div>\n                  <div className=\"text-muted-foreground text-xs\">{a.summary}</div>\n                </button>\n              </li>\n            ))}\n          </ul>\n        )}\n      </SheetContent>\n    </Sheet>\n  );\n}\n","\"use client\";\nimport Link from \"next/link\";\nimport { useTranslations } from \"next-intl\";\nimport { useEffect, useState } from \"react\";\nimport { LifeBuoyIcon, ArrowUpRightIcon } from \"lucide-react\";\nimport { CommandItem } from \"../../../shadcnui\";\nimport { usePageUrlGenerator } from \"../../../client\";\nimport { HowToService } from \"../../how-to/data/HowToService\";\nimport type { HowToInterface } from \"../../how-to/data/HowToInterface\";\n\nexport interface HelpSearchResultRowProps {\n  result: { id: string; name: string; entityType: string };\n  onSelect?: () => void;\n}\n\nexport function HelpSearchResultRow({ result, onSelect }: HelpSearchResultRowProps) {\n  const t = useTranslations();\n  const generateUrl = usePageUrlGenerator();\n  const [article, setArticle] = useState<HowToInterface | null>(null);\n  useEffect(() => {\n    let active = true;\n    HowToService.findOne({ id: result.id })\n      .then((a) => active && setArticle(a))\n      .catch(() => active && setArticle(null));\n    return () => {\n      active = false;\n    };\n  }, [result.id]);\n\n  if (!article) {\n    return (\n      <CommandItem\n        value={result.id}\n        disabled\n        className=\"text-muted-foreground cursor-not-allowed px-3 py-1.5 text-sm italic\"\n      >\n        {t(\"help.search.removed\")}\n      </CommandItem>\n    );\n  }\n\n  return (\n    <CommandItem value={result.id} onSelect={onSelect} className=\"cursor-pointer p-0\">\n      <Link\n        href={generateUrl({ page: `/help/${article.howToType}/${article.slug}` })}\n        className=\"hover:bg-muted flex w-full items-center gap-3 rounded px-3 py-2\"\n      >\n        <div className=\"bg-muted text-muted-foreground flex h-10 w-10 shrink-0 items-center justify-center rounded-full\">\n          <LifeBuoyIcon className=\"h-5 w-5\" />\n        </div>\n        <div className=\"flex min-w-0 flex-1 flex-col\">\n          <span className=\"text-foreground truncate text-sm font-semibold\">{article.name}</span>\n          <span className=\"text-muted-foreground truncate text-xs\">\n            {t(`help.modes.${article.howToType}`)} · {article.summary}\n          </span>\n        </div>\n        <ArrowUpRightIcon className=\"text-muted-foreground h-5 w-5 shrink-0\" />\n      </Link>\n    </CommandItem>\n  );\n}\n","import type { HelpMode } from \"../types/help-article.types\";\nimport type { usePageUrlGenerator } from \"../../../client\";\n\nexport function articleUrl(\n  generateUrl: ReturnType<typeof usePageUrlGenerator>,\n  article: { mode: HelpMode; slug: string },\n): string {\n  return generateUrl({ page: `/help/${article.mode}/${article.slug}` });\n}\n\nexport function modeUrl(generateUrl: ReturnType<typeof usePageUrlGenerator>, mode: HelpMode): string {\n  return generateUrl({ page: `/help/${mode}` });\n}\n","/**\n * The fixed namespace of i18n keys this feature reads via useTranslations/getTranslations.\n * Consuming apps must define each entry in their messages/<locale>.json.\n */\nexport const HELP_I18N_KEYS = [\n  \"help.modes.tutorial\",\n  \"help.modes.how-to\",\n  \"help.modes.reference\",\n  \"help.modes.explanation\",\n  \"help.sideNav.filterPlaceholder\",\n  \"help.sideNav.noMatches\",\n  \"help.toc.title\",\n  \"help.article.lastUpdated\",\n  \"help.article.previous\",\n  \"help.article.next\",\n  \"help.article.related\",\n  \"help.askAi.button\",\n  \"help.askAi.loginTooltip\",\n  \"help.askAi.sheet.title\",\n  \"help.askAi.sheet.subtitle\",\n  \"help.header.search\",\n  \"help.header.login\",\n  \"help.header.openApp\",\n  \"help.hint.trigger\",\n  \"help.hint.viewArticle\",\n  \"help.hint.pickArticle\",\n  \"help.landing.heading\",\n  \"help.landing.subheading\",\n  \"help.landing.featuredTutorials\",\n  \"help.landing.browseByMode\",\n  \"help.modeIndex.empty\",\n  \"help.search.removed\",\n  \"help.footerLink\",\n] as const;\n"],"mappings":"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","names":["useTranslations","useTranslations","jsx","Fragment","jsx","jsxs","useTranslations","jsx","jsxs","useTranslations","useMemo","useState","useTranslations","Link","useState","useState","jsx","jsxs","useTranslations","useState","useMemo","Link","Link","useTranslations","jsx","jsxs","useTranslations","Link","useEffect","useState","useTranslations","jsx","jsxs","useTranslations","useState","useEffect","useEffect","useMemo","useState","useTranslations","Link","jsx","jsxs","useTranslations","useState","useEffect","active","useMemo","Link","Link","useTranslations","useEffect","useState","jsx","jsxs","useTranslations","useState","useEffect","Link"]}