@carlonicora/nextjs-jsonapi 1.141.2 → 1.142.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.
- package/dist/{AssistantMessageInterface-DH1QwtC_.d.mts → AssistantMessageInterface-Ce8FcllX.d.mts} +1 -1
- package/dist/{AssistantMessageInterface-giWvsOrX.d.ts → AssistantMessageInterface-Dh0BpbP2.d.ts} +1 -1
- package/dist/{BlockNoteEditor-3V7LHCFY.mjs → BlockNoteEditor-35DDJH3M.mjs} +4 -4
- package/dist/{BlockNoteEditor-S6LWQDMF.js → BlockNoteEditor-XXTBZ7DD.js} +19 -19
- package/dist/{BlockNoteEditor-S6LWQDMF.js.map → BlockNoteEditor-XXTBZ7DD.js.map} +1 -1
- package/dist/{auth.interface-yivTb46w.d.ts → auth.interface-COmBjh89.d.ts} +1 -1
- package/dist/{auth.interface-r3XKYOrQ.d.mts → auth.interface-CkmZqat3.d.mts} +1 -1
- package/dist/billing/index.js +357 -357
- package/dist/billing/index.mjs +3 -3
- package/dist/{chunk-AGKZCRG2.js → chunk-5SFFHIEE.js} +18 -18
- package/dist/{chunk-AGKZCRG2.js.map → chunk-5SFFHIEE.js.map} +1 -1
- package/dist/{chunk-S4G7IXZZ.js → chunk-7CR4YB7Y.js} +753 -753
- package/dist/chunk-7CR4YB7Y.js.map +1 -0
- package/dist/{chunk-SE2YSAER.js → chunk-C6UXEPNY.js} +7 -7
- package/dist/{chunk-SE2YSAER.js.map → chunk-C6UXEPNY.js.map} +1 -1
- package/dist/{chunk-7ZEETAQV.mjs → chunk-FZ5SPJEU.mjs} +29 -29
- package/dist/chunk-FZ5SPJEU.mjs.map +1 -0
- package/dist/{chunk-5GVY2M5X.mjs → chunk-KZHHKPQZ.mjs} +18 -18
- package/dist/chunk-KZHHKPQZ.mjs.map +1 -0
- package/dist/{chunk-KXTTYXJ6.mjs → chunk-ZV2GZKFR.mjs} +2 -2
- package/dist/client/index.d.mts +2 -2
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/components/index.d.mts +3 -3
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +4 -4
- package/dist/components/index.mjs +3 -3
- package/dist/contexts/index.d.mts +3 -3
- package/dist/contexts/index.d.ts +3 -3
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.d.mts +13 -13
- package/dist/core/index.d.ts +13 -13
- package/dist/core/index.js +2 -2
- package/dist/core/index.mjs +1 -1
- package/dist/features/help/index.js +38 -37
- package/dist/features/help/index.js.map +1 -1
- package/dist/features/help/index.mjs +5 -4
- package/dist/features/help/index.mjs.map +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/dist/{notification.interface-LKFmZndR.d.ts → notification.interface--27exGde.d.ts} +6 -6
- package/dist/{notification.interface-B3kNUTZs.d.mts → notification.interface-CG1vqoxg.d.mts} +6 -6
- package/dist/{s3.service-CXKV_OT-.d.mts → s3.service-DYflLXCt.d.mts} +2 -2
- package/dist/{s3.service-BrmeMjtk.d.ts → s3.service-Dmfxpn-k.d.ts} +2 -2
- package/dist/server/index.d.mts +3 -3
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +1 -1
- package/dist/{useSocket-BsbaGPqE.d.ts → useSocket-DgGAQW6h.d.ts} +1 -1
- package/dist/{useSocket-BSjn1Rlb.d.mts → useSocket-M3YY0aTS.d.mts} +1 -1
- package/package.json +1 -1
- package/src/features/company/components/details/TokenStatusIndicator.tsx +9 -9
- package/src/features/company/components/forms/CompanyEditor.tsx +1 -1
- package/src/features/company/data/company.interface.ts +6 -6
- package/src/features/company/data/company.ts +17 -17
- package/src/features/help/components/HelpHeader.tsx +10 -5
- package/src/features/help/components/__tests__/HelpHeader.spec.tsx +59 -0
- package/src/features/user/contexts/CurrentUserContext.tsx +18 -18
- package/src/features/user/contexts/__tests__/CurrentUserContext.spec.tsx +21 -21
- package/dist/chunk-5GVY2M5X.mjs.map +0 -1
- package/dist/chunk-7ZEETAQV.mjs.map +0 -1
- package/dist/chunk-S4G7IXZZ.js.map +0 -1
- /package/dist/{BlockNoteEditor-3V7LHCFY.mjs.map → BlockNoteEditor-35DDJH3M.mjs.map} +0 -0
- /package/dist/{chunk-KXTTYXJ6.mjs.map → chunk-ZV2GZKFR.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"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 { Button } 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 {currentUser ? (\n <Button render={<Link href={appHref} />} nativeButton={false} variant=\"outline\" size=\"sm\">\n {t(\"help.header.openApp\")}\n </Button>\n ) : (\n <Button render={<Link href=\"/login\" />} nativeButton={false} variant=\"outline\" size=\"sm\">\n {t(\"help.header.login\")}\n </Button>\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"]}
|
|
1
|
+
{"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"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -4,16 +4,16 @@ export { A as ApiRequestDataTypeInterface, F as FieldSelector, G as GetterKeys,
|
|
|
4
4
|
export { A as ApiResponseInterface } from './ApiResponseInterface-rsXRL_Hn.mjs';
|
|
5
5
|
import { AbstractApiData } from './core/index.mjs';
|
|
6
6
|
export { AppModuleDefinitions, Assistant, AssistantMessage, AssistantMessageModule, AssistantMessageService, AssistantModule, AssistantService, AuditLog, AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthModule, AuthorModule, BackupCodeVerify, BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, Chunk, ChunkInput, ChunkModule, ClientAbstractService, ClientHttpMethod, ClientNextRef, ClientPreviousRef, ClientSelfRef, ClientTotalRef, CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyModule, Content, ContentModule, DataClass, DataClass as DataClassRegistry, DiffBlock, DiffResult, EndpointCreator, EndpointQuery, EntityObject, Feature, FeatureModule, FormatOption, FoundationModuleDefinitions, HowTo, HowToFields, HowToModule, HowToService, InviteValidation, JsonApiDataFactory, MOBILE_BREAKPOINT, Module, ModuleDefinitions, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, Modules, Notification, NotificationFields, NotificationModule, OAuthClient, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, PasskeyAuthenticationOptionsInput, PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyModule, PasskeyRegistrationOptions, PasskeyRegistrationOptionsInput, PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PermissionMappingModule, Push, PushInput, PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, Role, RoleModule, S3, S3Module, SearchResultInterface, StripeCustomer, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceModule, StripePriceService, StripeProduct, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageModule, StripeUsageService, TableOptions, ToastOptions, TotpAuthenticator, TotpAuthenticatorModule, TotpSetup, TotpSetupInput, TotpSetupInterface, TotpSetupModule, TotpVerify, TotpVerifyInput, TotpVerifyLogin, TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, TwoFactorChallengeInput, TwoFactorChallengeModule, TwoFactorEnable, TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, TwoFactorStatusInterface, TwoFactorStatusModule, User, UserModule, UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistInput, WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, WaitlistStatsInterface, WaitlistStatsModule, WaitlistStatus, WordDiff, checkPermissions, checkPermissionsFromServer, cn, composeRefs, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getTableComponents, getTableOptions, getValueFromPath, hasBootstrapper, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva } from './core/index.mjs';
|
|
7
|
-
import { b as AbstractService } from './s3.service-
|
|
8
|
-
export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, H as HttpMethod, c as NextRef, N as NotificationService, d as PreviousRef, P as PushService, R as RoleService, l as S3Input, m as S3Interface, S as S3Service, e as SelfRef, T as TotalRef, k as TwoFactorChallengeInterface, U as UserService, i as clearLastApiMeta, f as clearLastApiTotal, j as getGlobalErrorHandler, h as getLastApiMeta, g as getLastApiTotal, s as setGlobalErrorHandler } from './s3.service-
|
|
9
|
-
export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-
|
|
7
|
+
import { b as AbstractService } from './s3.service-DYflLXCt.mjs';
|
|
8
|
+
export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, H as HttpMethod, c as NextRef, N as NotificationService, d as PreviousRef, P as PushService, R as RoleService, l as S3Input, m as S3Interface, S as S3Service, e as SelfRef, T as TotalRef, k as TwoFactorChallengeInterface, U as UserService, i as clearLastApiMeta, f as clearLastApiTotal, j as getGlobalErrorHandler, h as getLastApiMeta, g as getLastApiTotal, s as setGlobalErrorHandler } from './s3.service-DYflLXCt.mjs';
|
|
9
|
+
export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-Ce8FcllX.mjs';
|
|
10
10
|
export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-xH3TGvVk.mjs';
|
|
11
11
|
export { ClassValue } from 'clsx';
|
|
12
12
|
export { A as AuthComponent, P as PasskeyInterface, T as TotpAuthenticatorInterface, b as getIcon, a as getIconByModule, c as getIconByModuleName, g as getInitials, d as getLucideIcon, e as getLucideIconByModule, f as getLucideIconByModuleName } from './AuthComponent-DdxCFgUZ.mjs';
|
|
13
13
|
export { A as Action, c as ModuleDefinition, g as ModuleFactory, b as ModulePermissionDefinition, M as ModuleWithPermissions, P as PageUrl, a as PermissionCheck, d as PermissionConfig, e as PermissionModule, f as PermissionUser } from './types-CQSjy7et.mjs';
|
|
14
|
-
export { A as AuthInput, b as AuthInterface, a as AuthQuery } from './auth.interface-
|
|
14
|
+
export { A as AuthInput, b as AuthInterface, a as AuthQuery } from './auth.interface-CkmZqat3.mjs';
|
|
15
15
|
export { I as InvoiceStatus, M as MeterInterface, o as MeterSummaryInterface, P as PaymentMethodInterface, e as PriceRecurring, q as PromotionCodeValidationResult, c as ProrationLineItem, b as ProrationPreviewInterface, R as ReportUsageInput, S as StripeCustomerInterface, a as StripeInvoiceInterface, f as StripePriceInput, d as StripePriceInterface, h as StripeProductInput, g as StripeProductInterface, l as StripeSubscriptionCreateMeta, m as StripeSubscriptionCreateResponse, k as StripeSubscriptionInput, j as StripeSubscriptionInterface, n as StripeUsageInterface, i as SubscriptionStatus, p as UsageRecordInterface, U as UsageSummaryInterface } from './stripe-promotion-code.interface-ClZ7DxS9.mjs';
|
|
16
|
-
export { b as CompanyInput, c as CompanyInterface, a as ContentInput, C as ContentInterface, d as NotificationInput, N as NotificationInterface, R as RoleInput, e as RoleInterface, f as UserInput, U as UserInterface } from './notification.interface-
|
|
16
|
+
export { b as CompanyInput, c as CompanyInterface, a as ContentInput, C as ContentInterface, d as NotificationInput, N as NotificationInterface, R as RoleInput, e as RoleInterface, f as UserInput, U as UserInterface } from './notification.interface-CG1vqoxg.mjs';
|
|
17
17
|
export { A as AssistantInput, a as AssistantInterface } from './AssistantInterface-B56qznuH.mjs';
|
|
18
18
|
export { F as FeatureInterface, M as ModuleInterface } from './feature.interface-CXb1-vNq.mjs';
|
|
19
19
|
export { A as AVAILABLE_OAUTH_SCOPES, D as DEFAULT_GRANT_TYPES, g as OAUTH_SCOPE_DISPLAY, b as OAuthClientCreateRequest, c as OAuthClientCreateResponse, a as OAuthClientInput, O as OAuthClientInterface, f as OAuthConsentInfo, d as OAuthConsentRequest, e as OAuthScopeInfo } from './oauth.interface-DRE3NAKc.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -4,16 +4,16 @@ export { A as ApiRequestDataTypeInterface, F as FieldSelector, G as GetterKeys,
|
|
|
4
4
|
export { A as ApiResponseInterface } from './ApiResponseInterface-CWLvSCvS.js';
|
|
5
5
|
import { AbstractApiData } from './core/index.js';
|
|
6
6
|
export { AppModuleDefinitions, Assistant, AssistantMessage, AssistantMessageModule, AssistantMessageService, AssistantModule, AssistantService, AuditLog, AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthModule, AuthorModule, BackupCodeVerify, BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, Chunk, ChunkInput, ChunkModule, ClientAbstractService, ClientHttpMethod, ClientNextRef, ClientPreviousRef, ClientSelfRef, ClientTotalRef, CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyModule, Content, ContentModule, DataClass, DataClass as DataClassRegistry, DiffBlock, DiffResult, EndpointCreator, EndpointQuery, EntityObject, Feature, FeatureModule, FormatOption, FoundationModuleDefinitions, HowTo, HowToFields, HowToModule, HowToService, InviteValidation, JsonApiDataFactory, MOBILE_BREAKPOINT, Module, ModuleDefinitions, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, Modules, Notification, NotificationFields, NotificationModule, OAuthClient, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, PasskeyAuthenticationOptionsInput, PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyModule, PasskeyRegistrationOptions, PasskeyRegistrationOptionsInput, PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PermissionMappingModule, Push, PushInput, PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, Role, RoleModule, S3, S3Module, SearchResultInterface, StripeCustomer, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceModule, StripePriceService, StripeProduct, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageModule, StripeUsageService, TableOptions, ToastOptions, TotpAuthenticator, TotpAuthenticatorModule, TotpSetup, TotpSetupInput, TotpSetupInterface, TotpSetupModule, TotpVerify, TotpVerifyInput, TotpVerifyLogin, TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, TwoFactorChallengeInput, TwoFactorChallengeModule, TwoFactorEnable, TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, TwoFactorStatusInterface, TwoFactorStatusModule, User, UserModule, UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistInput, WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, WaitlistStatsInterface, WaitlistStatsModule, WaitlistStatus, WordDiff, checkPermissions, checkPermissionsFromServer, cn, composeRefs, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getTableComponents, getTableOptions, getValueFromPath, hasBootstrapper, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva } from './core/index.js';
|
|
7
|
-
import { b as AbstractService } from './s3.service-
|
|
8
|
-
export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, H as HttpMethod, c as NextRef, N as NotificationService, d as PreviousRef, P as PushService, R as RoleService, l as S3Input, m as S3Interface, S as S3Service, e as SelfRef, T as TotalRef, k as TwoFactorChallengeInterface, U as UserService, i as clearLastApiMeta, f as clearLastApiTotal, j as getGlobalErrorHandler, h as getLastApiMeta, g as getLastApiTotal, s as setGlobalErrorHandler } from './s3.service-
|
|
9
|
-
export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-
|
|
7
|
+
import { b as AbstractService } from './s3.service-Dmfxpn-k.js';
|
|
8
|
+
export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, H as HttpMethod, c as NextRef, N as NotificationService, d as PreviousRef, P as PushService, R as RoleService, l as S3Input, m as S3Interface, S as S3Service, e as SelfRef, T as TotalRef, k as TwoFactorChallengeInterface, U as UserService, i as clearLastApiMeta, f as clearLastApiTotal, j as getGlobalErrorHandler, h as getLastApiMeta, g as getLastApiTotal, s as setGlobalErrorHandler } from './s3.service-Dmfxpn-k.js';
|
|
9
|
+
export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-Dh0BpbP2.js';
|
|
10
10
|
export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-xH3TGvVk.js';
|
|
11
11
|
export { ClassValue } from 'clsx';
|
|
12
12
|
export { A as AuthComponent, P as PasskeyInterface, T as TotpAuthenticatorInterface, b as getIcon, a as getIconByModule, c as getIconByModuleName, g as getInitials, d as getLucideIcon, e as getLucideIconByModule, f as getLucideIconByModuleName } from './AuthComponent-Cd7lcYif.js';
|
|
13
13
|
export { A as Action, c as ModuleDefinition, g as ModuleFactory, b as ModulePermissionDefinition, M as ModuleWithPermissions, P as PageUrl, a as PermissionCheck, d as PermissionConfig, e as PermissionModule, f as PermissionUser } from './types-DHOxe8rc.js';
|
|
14
|
-
export { A as AuthInput, b as AuthInterface, a as AuthQuery } from './auth.interface-
|
|
14
|
+
export { A as AuthInput, b as AuthInterface, a as AuthQuery } from './auth.interface-COmBjh89.js';
|
|
15
15
|
export { I as InvoiceStatus, M as MeterInterface, o as MeterSummaryInterface, P as PaymentMethodInterface, e as PriceRecurring, q as PromotionCodeValidationResult, c as ProrationLineItem, b as ProrationPreviewInterface, R as ReportUsageInput, S as StripeCustomerInterface, a as StripeInvoiceInterface, f as StripePriceInput, d as StripePriceInterface, h as StripeProductInput, g as StripeProductInterface, l as StripeSubscriptionCreateMeta, m as StripeSubscriptionCreateResponse, k as StripeSubscriptionInput, j as StripeSubscriptionInterface, n as StripeUsageInterface, i as SubscriptionStatus, p as UsageRecordInterface, U as UsageSummaryInterface } from './stripe-promotion-code.interface-C3qqh3mi.js';
|
|
16
|
-
export { b as CompanyInput, c as CompanyInterface, a as ContentInput, C as ContentInterface, d as NotificationInput, N as NotificationInterface, R as RoleInput, e as RoleInterface, f as UserInput, U as UserInterface } from './notification.interface
|
|
16
|
+
export { b as CompanyInput, c as CompanyInterface, a as ContentInput, C as ContentInterface, d as NotificationInput, N as NotificationInterface, R as RoleInput, e as RoleInterface, f as UserInput, U as UserInterface } from './notification.interface--27exGde.js';
|
|
17
17
|
export { A as AssistantInput, a as AssistantInterface } from './AssistantInterface-CHiJIYDY.js';
|
|
18
18
|
export { F as FeatureInterface, M as ModuleInterface } from './feature.interface-BO25VLlx.js';
|
|
19
19
|
export { A as AVAILABLE_OAUTH_SCOPES, D as DEFAULT_GRANT_TYPES, g as OAUTH_SCOPE_DISPLAY, b as OAuthClientCreateRequest, c as OAuthClientCreateResponse, a as OAuthClientInput, O as OAuthClientInterface, f as OAuthConsentInfo, d as OAuthConsentRequest, e as OAuthScopeInfo } from './oauth.interface-CD90ycYz.js';
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkC6UXEPNYjs = require('./chunk-C6UXEPNY.js');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -208,7 +208,7 @@ var _chunkSE2YSAERjs = require('./chunk-SE2YSAER.js');
|
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
|
|
211
|
-
var
|
|
211
|
+
var _chunk5SFFHIEEjs = require('./chunk-5SFFHIEE.js');
|
|
212
212
|
require('./chunk-LXKSUWAV.js');
|
|
213
213
|
require('./chunk-IBS6NI7D.js');
|
|
214
214
|
|
|
@@ -441,5 +441,5 @@ require('./chunk-7QVYU63E.js');
|
|
|
441
441
|
|
|
442
442
|
|
|
443
443
|
|
|
444
|
-
exports.ACTION_TYPES = _chunkSE2YSAERjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkAGKZCRG2js.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkAGKZCRG2js.AbstractApiData; exports.AbstractService = _chunkAGKZCRG2js.AbstractService; exports.Action = _chunkAGKZCRG2js.Action; exports.Assistant = _chunkAGKZCRG2js.Assistant; exports.AssistantMessage = _chunkAGKZCRG2js.AssistantMessage; exports.AssistantMessageModule = _chunkAGKZCRG2js.AssistantMessageModule; exports.AssistantMessageService = _chunkAGKZCRG2js.AssistantMessageService; exports.AssistantModule = _chunkAGKZCRG2js.AssistantModule; exports.AssistantService = _chunkAGKZCRG2js.AssistantService; exports.AuditLog = _chunkAGKZCRG2js.AuditLog; exports.AuditLogModule = _chunkAGKZCRG2js.AuditLogModule; exports.AuditLogService = _chunkAGKZCRG2js.AuditLogService; exports.Auth = _chunkAGKZCRG2js.Auth; exports.AuthComponent = _chunkAGKZCRG2js.AuthComponent; exports.AuthModule = _chunkAGKZCRG2js.AuthModule; exports.AuthService = _chunkAGKZCRG2js.AuthService; exports.AuthorModule = _chunkAGKZCRG2js.AuthorModule; exports.BackupCodeVerify = _chunkAGKZCRG2js.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkAGKZCRG2js.BackupCodeVerifyModule; exports.Billing = _chunkAGKZCRG2js.Billing; exports.BillingModule = _chunkAGKZCRG2js.BillingModule; exports.BillingService = _chunkAGKZCRG2js.BillingService; exports.BlockNoteDiffUtil = _chunkAGKZCRG2js.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkAGKZCRG2js.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkSE2YSAERjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.Chunk = _chunkAGKZCRG2js.Chunk; exports.ChunkModule = _chunkAGKZCRG2js.ChunkModule; exports.ClientAbstractService = _chunkAGKZCRG2js.ClientAbstractService; exports.ClientHttpMethod = _chunkAGKZCRG2js.ClientHttpMethod; exports.Company = _chunkAGKZCRG2js.Company; exports.CompanyFields = _chunkAGKZCRG2js.CompanyFields; exports.CompanyModule = _chunkAGKZCRG2js.CompanyModule; exports.CompanyService = _chunkAGKZCRG2js.CompanyService; exports.Content = _chunkAGKZCRG2js.Content; exports.ContentFields = _chunkAGKZCRG2js.ContentFields; exports.ContentModule = _chunkAGKZCRG2js.ContentModule; exports.ContentService = _chunkAGKZCRG2js.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkAGKZCRG2js.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkQWCAOLBDjs.DataClassRegistry; exports.DataClassRegistry = _chunkQWCAOLBDjs.DataClassRegistry; exports.EndpointCreator = _chunkAGKZCRG2js.EndpointCreator; exports.Feature = _chunkAGKZCRG2js.Feature; exports.FeatureModule = _chunkAGKZCRG2js.FeatureModule; exports.FeatureService = _chunkAGKZCRG2js.FeatureService; exports.HowTo = _chunkAGKZCRG2js.HowTo; exports.HowToFields = _chunkAGKZCRG2js.HowToFields; exports.HowToModule = _chunkAGKZCRG2js.HowToModule; exports.HowToService = _chunkAGKZCRG2js.HowToService; exports.HttpMethod = _chunkAGKZCRG2js.HttpMethod; exports.InvoiceStatus = _chunkAGKZCRG2js.InvoiceStatus; exports.JsonApiDataFactory = _chunkQWCAOLBDjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkAGKZCRG2js.MOBILE_BREAKPOINT; exports.Module = _chunkAGKZCRG2js.Module; exports.ModuleModule = _chunkAGKZCRG2js.ModuleModule; exports.ModulePaths = _chunkAGKZCRG2js.ModulePaths; exports.ModulePathsModule = _chunkAGKZCRG2js.ModulePathsModule; exports.ModuleRegistrar = _chunkAGKZCRG2js.ModuleRegistrar; exports.ModuleRegistry = _chunkAGKZCRG2js.ModuleRegistry; exports.Modules = _chunkAGKZCRG2js.Modules; exports.Notification = _chunkAGKZCRG2js.Notification; exports.NotificationFields = _chunkAGKZCRG2js.NotificationFields; exports.NotificationModule = _chunkAGKZCRG2js.NotificationModule; exports.NotificationService = _chunkAGKZCRG2js.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkAGKZCRG2js.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkAGKZCRG2js.OAuthClient; exports.OAuthModule = _chunkAGKZCRG2js.OAuthModule; exports.OAuthService = _chunkAGKZCRG2js.OAuthService; exports.Passkey = _chunkAGKZCRG2js.Passkey; exports.PasskeyAuthenticationOptions = _chunkAGKZCRG2js.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkAGKZCRG2js.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkAGKZCRG2js.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkAGKZCRG2js.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkAGKZCRG2js.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkAGKZCRG2js.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkAGKZCRG2js.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkAGKZCRG2js.PasskeyRename; exports.PasskeyRenameModule = _chunkAGKZCRG2js.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkAGKZCRG2js.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkAGKZCRG2js.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkAGKZCRG2js.PaymentMethod; exports.PermissionMapping = _chunkAGKZCRG2js.PermissionMapping; exports.PermissionMappingModule = _chunkAGKZCRG2js.PermissionMappingModule; exports.Push = _chunkAGKZCRG2js.Push; exports.PushModule = _chunkAGKZCRG2js.PushModule; exports.PushService = _chunkAGKZCRG2js.PushService; exports.RbacMatrixModel = _chunkAGKZCRG2js.RbacMatrixModel; exports.RbacMatrixModule = _chunkAGKZCRG2js.RbacMatrixModule; exports.RbacService = _chunkSE2YSAERjs.RbacService; exports.ReferralModule = _chunkAGKZCRG2js.ReferralModule; exports.ReferralService = _chunkAGKZCRG2js.ReferralService; exports.ReferralStats = _chunkAGKZCRG2js.ReferralStats; exports.ReferralStatsModule = _chunkAGKZCRG2js.ReferralStatsModule; exports.RehydrationFactory = _chunkAGKZCRG2js.RehydrationFactory; exports.Role = _chunkAGKZCRG2js.Role; exports.RoleFields = _chunkAGKZCRG2js.RoleFields; exports.RoleModule = _chunkAGKZCRG2js.RoleModule; exports.RoleService = _chunkAGKZCRG2js.RoleService; exports.S3 = _chunkAGKZCRG2js.S3; exports.S3Module = _chunkAGKZCRG2js.S3Module; exports.S3Service = _chunkAGKZCRG2js.S3Service; exports.StripeCustomer = _chunkAGKZCRG2js.StripeCustomer; exports.StripeCustomerModule = _chunkAGKZCRG2js.StripeCustomerModule; exports.StripeCustomerService = _chunkAGKZCRG2js.StripeCustomerService; exports.StripeInvoice = _chunkAGKZCRG2js.StripeInvoice; exports.StripeInvoiceModule = _chunkAGKZCRG2js.StripeInvoiceModule; exports.StripeInvoiceService = _chunkAGKZCRG2js.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkAGKZCRG2js.StripePaymentMethodModule; exports.StripePrice = _chunkAGKZCRG2js.StripePrice; exports.StripePriceModule = _chunkAGKZCRG2js.StripePriceModule; exports.StripePriceService = _chunkAGKZCRG2js.StripePriceService; exports.StripeProduct = _chunkAGKZCRG2js.StripeProduct; exports.StripeProductModule = _chunkAGKZCRG2js.StripeProductModule; exports.StripeProductService = _chunkAGKZCRG2js.StripeProductService; exports.StripePromotionCode = _chunkAGKZCRG2js.StripePromotionCode; exports.StripePromotionCodeModule = _chunkAGKZCRG2js.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkAGKZCRG2js.StripePromotionCodeService; exports.StripeSubscription = _chunkAGKZCRG2js.StripeSubscription; exports.StripeSubscriptionModule = _chunkAGKZCRG2js.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkAGKZCRG2js.StripeSubscriptionService; exports.StripeUsage = _chunkAGKZCRG2js.StripeUsage; exports.StripeUsageModule = _chunkAGKZCRG2js.StripeUsageModule; exports.StripeUsageService = _chunkAGKZCRG2js.StripeUsageService; exports.SubscriptionStatus = _chunkAGKZCRG2js.SubscriptionStatus; exports.TableOptions = _chunkAGKZCRG2js.TableOptions; exports.TotpAuthenticator = _chunkAGKZCRG2js.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkAGKZCRG2js.TotpAuthenticatorModule; exports.TotpSetup = _chunkAGKZCRG2js.TotpSetup; exports.TotpSetupModule = _chunkAGKZCRG2js.TotpSetupModule; exports.TotpVerify = _chunkAGKZCRG2js.TotpVerify; exports.TotpVerifyLogin = _chunkAGKZCRG2js.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkAGKZCRG2js.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkAGKZCRG2js.TotpVerifyModule; exports.TwoFactorChallenge = _chunkAGKZCRG2js.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkAGKZCRG2js.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkAGKZCRG2js.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkAGKZCRG2js.TwoFactorEnableModule; exports.TwoFactorService = _chunkAGKZCRG2js.TwoFactorService; exports.TwoFactorStatus = _chunkAGKZCRG2js.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkAGKZCRG2js.TwoFactorStatusModule; exports.User = _chunkAGKZCRG2js.User; exports.UserFields = _chunkAGKZCRG2js.UserFields; exports.UserModule = _chunkAGKZCRG2js.UserModule; exports.UserService = _chunkAGKZCRG2js.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkAGKZCRG2js.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkAGKZCRG2js.Waitlist; exports.WaitlistModule = _chunkAGKZCRG2js.WaitlistModule; exports.WaitlistService = _chunkAGKZCRG2js.WaitlistService; exports.WaitlistStats = _chunkAGKZCRG2js.WaitlistStats; exports.WaitlistStatsModule = _chunkAGKZCRG2js.WaitlistStatsModule; exports.checkPermissions = _chunkAGKZCRG2js.checkPermissions; exports.checkPermissionsFromServer = _chunkAGKZCRG2js.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkAGKZCRG2js.clearLastApiMeta; exports.clearLastApiTotal = _chunkAGKZCRG2js.clearLastApiTotal; exports.cn = _chunkAGKZCRG2js.cn; exports.composeRefs = _chunkAGKZCRG2js.composeRefs; exports.configureAuth = _chunkAGKZCRG2js.configureAuth; exports.configureI18n = _chunkSE2YSAERjs.configureI18n; exports.configureJsonApi = _chunkSE2YSAERjs.configureJsonApi; exports.configureLogin = _chunkSE2YSAERjs.configureLogin; exports.configureReferral = _chunkSE2YSAERjs.configureReferral; exports.configureRoles = _chunkSE2YSAERjs.configureRoles; exports.configureWaitlist = _chunkSE2YSAERjs.configureWaitlist; exports.createJsonApiInclusion = _chunkAGKZCRG2js.createJsonApiInclusion; exports.dismissToast = _chunkAGKZCRG2js.dismissToast; exports.entityObjectSchema = _chunkAGKZCRG2js.entityObjectSchema; exports.exists = _chunkAGKZCRG2js.exists; exports.formatCodiceFiscale = _chunkAGKZCRG2js.formatCodiceFiscale; exports.formatDate = _chunkAGKZCRG2js.formatDate; exports.formatLocalDate = _chunkAGKZCRG2js.formatLocalDate; exports.formatPartitaIva = _chunkAGKZCRG2js.formatPartitaIva; exports.getApiUrl = _chunkSE2YSAERjs.getApiUrl; exports.getAppUrl = _chunkSE2YSAERjs.getAppUrl; exports.getBootstrapper = _chunkQWCAOLBDjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkAGKZCRG2js.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkAGKZCRG2js.getGlobalErrorHandler; exports.getIcon = _chunkAGKZCRG2js.getIcon; exports.getIconByModule = _chunkAGKZCRG2js.getIconByModule; exports.getIconByModuleName = _chunkAGKZCRG2js.getIconByModuleName; exports.getInitials = _chunkAGKZCRG2js.getInitials; exports.getLastApiMeta = _chunkAGKZCRG2js.getLastApiMeta; exports.getLastApiTotal = _chunkAGKZCRG2js.getLastApiTotal; exports.getLucideIcon = _chunkAGKZCRG2js.getLucideIcon; exports.getLucideIconByModule = _chunkAGKZCRG2js.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkAGKZCRG2js.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkSE2YSAERjs.getPublicApiUrl; exports.getReferralConfig = _chunkSE2YSAERjs.getReferralConfig; exports.getRoleId = _chunkSE2YSAERjs.getRoleId; exports.getStripePublishableKey = _chunkSE2YSAERjs.getStripePublishableKey; exports.getTableComponents = _chunkAGKZCRG2js.getTableComponents; exports.getTableOptions = _chunkAGKZCRG2js.getTableOptions; exports.getTokenHandler = _chunkAGKZCRG2js.getTokenHandler; exports.getTrackablePages = _chunkSE2YSAERjs.getTrackablePages; exports.getValueFromPath = _chunkAGKZCRG2js.getValueFromPath; exports.getWaitlistConfig = _chunkSE2YSAERjs.getWaitlistConfig; exports.hasBootstrapper = _chunkQWCAOLBDjs.hasBootstrapper; exports.isReferralEnabled = _chunkSE2YSAERjs.isReferralEnabled; exports.isRolesConfigured = _chunkSE2YSAERjs.isRolesConfigured; exports.rehydrate = _chunkAGKZCRG2js.rehydrate; exports.rehydrateList = _chunkAGKZCRG2js.rehydrateList; exports.resetBootstrapStore = _chunkQWCAOLBDjs.resetBootstrapStore; exports.setBootstrapper = _chunkQWCAOLBDjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkAGKZCRG2js.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkAGKZCRG2js.setGlobalErrorHandler; exports.showCustomToast = _chunkAGKZCRG2js.showCustomToast; exports.showError = _chunkAGKZCRG2js.showError; exports.showToast = _chunkAGKZCRG2js.showToast; exports.translateData = _chunkQWCAOLBDjs.translateData; exports.translateResponse = _chunkQWCAOLBDjs.translateResponse; exports.tryBootstrap = _chunkQWCAOLBDjs.tryBootstrap; exports.useComposedRefs = _chunkAGKZCRG2js.useComposedRefs; exports.useIsMobile = _chunkAGKZCRG2js.useIsMobile; exports.userObjectSchema = _chunkAGKZCRG2js.userObjectSchema; exports.validateCodiceFiscale = _chunkAGKZCRG2js.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkAGKZCRG2js.validateItalianTaxCode; exports.validatePartitaIva = _chunkAGKZCRG2js.validatePartitaIva;
|
|
444
|
+
exports.ACTION_TYPES = _chunkC6UXEPNYjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunk5SFFHIEEjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunk5SFFHIEEjs.AbstractApiData; exports.AbstractService = _chunk5SFFHIEEjs.AbstractService; exports.Action = _chunk5SFFHIEEjs.Action; exports.Assistant = _chunk5SFFHIEEjs.Assistant; exports.AssistantMessage = _chunk5SFFHIEEjs.AssistantMessage; exports.AssistantMessageModule = _chunk5SFFHIEEjs.AssistantMessageModule; exports.AssistantMessageService = _chunk5SFFHIEEjs.AssistantMessageService; exports.AssistantModule = _chunk5SFFHIEEjs.AssistantModule; exports.AssistantService = _chunk5SFFHIEEjs.AssistantService; exports.AuditLog = _chunk5SFFHIEEjs.AuditLog; exports.AuditLogModule = _chunk5SFFHIEEjs.AuditLogModule; exports.AuditLogService = _chunk5SFFHIEEjs.AuditLogService; exports.Auth = _chunk5SFFHIEEjs.Auth; exports.AuthComponent = _chunk5SFFHIEEjs.AuthComponent; exports.AuthModule = _chunk5SFFHIEEjs.AuthModule; exports.AuthService = _chunk5SFFHIEEjs.AuthService; exports.AuthorModule = _chunk5SFFHIEEjs.AuthorModule; exports.BackupCodeVerify = _chunk5SFFHIEEjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunk5SFFHIEEjs.BackupCodeVerifyModule; exports.Billing = _chunk5SFFHIEEjs.Billing; exports.BillingModule = _chunk5SFFHIEEjs.BillingModule; exports.BillingService = _chunk5SFFHIEEjs.BillingService; exports.BlockNoteDiffUtil = _chunk5SFFHIEEjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunk5SFFHIEEjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkC6UXEPNYjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.Chunk = _chunk5SFFHIEEjs.Chunk; exports.ChunkModule = _chunk5SFFHIEEjs.ChunkModule; exports.ClientAbstractService = _chunk5SFFHIEEjs.ClientAbstractService; exports.ClientHttpMethod = _chunk5SFFHIEEjs.ClientHttpMethod; exports.Company = _chunk5SFFHIEEjs.Company; exports.CompanyFields = _chunk5SFFHIEEjs.CompanyFields; exports.CompanyModule = _chunk5SFFHIEEjs.CompanyModule; exports.CompanyService = _chunk5SFFHIEEjs.CompanyService; exports.Content = _chunk5SFFHIEEjs.Content; exports.ContentFields = _chunk5SFFHIEEjs.ContentFields; exports.ContentModule = _chunk5SFFHIEEjs.ContentModule; exports.ContentService = _chunk5SFFHIEEjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunk5SFFHIEEjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkQWCAOLBDjs.DataClassRegistry; exports.DataClassRegistry = _chunkQWCAOLBDjs.DataClassRegistry; exports.EndpointCreator = _chunk5SFFHIEEjs.EndpointCreator; exports.Feature = _chunk5SFFHIEEjs.Feature; exports.FeatureModule = _chunk5SFFHIEEjs.FeatureModule; exports.FeatureService = _chunk5SFFHIEEjs.FeatureService; exports.HowTo = _chunk5SFFHIEEjs.HowTo; exports.HowToFields = _chunk5SFFHIEEjs.HowToFields; exports.HowToModule = _chunk5SFFHIEEjs.HowToModule; exports.HowToService = _chunk5SFFHIEEjs.HowToService; exports.HttpMethod = _chunk5SFFHIEEjs.HttpMethod; exports.InvoiceStatus = _chunk5SFFHIEEjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkQWCAOLBDjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunk5SFFHIEEjs.MOBILE_BREAKPOINT; exports.Module = _chunk5SFFHIEEjs.Module; exports.ModuleModule = _chunk5SFFHIEEjs.ModuleModule; exports.ModulePaths = _chunk5SFFHIEEjs.ModulePaths; exports.ModulePathsModule = _chunk5SFFHIEEjs.ModulePathsModule; exports.ModuleRegistrar = _chunk5SFFHIEEjs.ModuleRegistrar; exports.ModuleRegistry = _chunk5SFFHIEEjs.ModuleRegistry; exports.Modules = _chunk5SFFHIEEjs.Modules; exports.Notification = _chunk5SFFHIEEjs.Notification; exports.NotificationFields = _chunk5SFFHIEEjs.NotificationFields; exports.NotificationModule = _chunk5SFFHIEEjs.NotificationModule; exports.NotificationService = _chunk5SFFHIEEjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunk5SFFHIEEjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunk5SFFHIEEjs.OAuthClient; exports.OAuthModule = _chunk5SFFHIEEjs.OAuthModule; exports.OAuthService = _chunk5SFFHIEEjs.OAuthService; exports.Passkey = _chunk5SFFHIEEjs.Passkey; exports.PasskeyAuthenticationOptions = _chunk5SFFHIEEjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunk5SFFHIEEjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunk5SFFHIEEjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunk5SFFHIEEjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunk5SFFHIEEjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunk5SFFHIEEjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunk5SFFHIEEjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunk5SFFHIEEjs.PasskeyRename; exports.PasskeyRenameModule = _chunk5SFFHIEEjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunk5SFFHIEEjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunk5SFFHIEEjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunk5SFFHIEEjs.PaymentMethod; exports.PermissionMapping = _chunk5SFFHIEEjs.PermissionMapping; exports.PermissionMappingModule = _chunk5SFFHIEEjs.PermissionMappingModule; exports.Push = _chunk5SFFHIEEjs.Push; exports.PushModule = _chunk5SFFHIEEjs.PushModule; exports.PushService = _chunk5SFFHIEEjs.PushService; exports.RbacMatrixModel = _chunk5SFFHIEEjs.RbacMatrixModel; exports.RbacMatrixModule = _chunk5SFFHIEEjs.RbacMatrixModule; exports.RbacService = _chunkC6UXEPNYjs.RbacService; exports.ReferralModule = _chunk5SFFHIEEjs.ReferralModule; exports.ReferralService = _chunk5SFFHIEEjs.ReferralService; exports.ReferralStats = _chunk5SFFHIEEjs.ReferralStats; exports.ReferralStatsModule = _chunk5SFFHIEEjs.ReferralStatsModule; exports.RehydrationFactory = _chunk5SFFHIEEjs.RehydrationFactory; exports.Role = _chunk5SFFHIEEjs.Role; exports.RoleFields = _chunk5SFFHIEEjs.RoleFields; exports.RoleModule = _chunk5SFFHIEEjs.RoleModule; exports.RoleService = _chunk5SFFHIEEjs.RoleService; exports.S3 = _chunk5SFFHIEEjs.S3; exports.S3Module = _chunk5SFFHIEEjs.S3Module; exports.S3Service = _chunk5SFFHIEEjs.S3Service; exports.StripeCustomer = _chunk5SFFHIEEjs.StripeCustomer; exports.StripeCustomerModule = _chunk5SFFHIEEjs.StripeCustomerModule; exports.StripeCustomerService = _chunk5SFFHIEEjs.StripeCustomerService; exports.StripeInvoice = _chunk5SFFHIEEjs.StripeInvoice; exports.StripeInvoiceModule = _chunk5SFFHIEEjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunk5SFFHIEEjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunk5SFFHIEEjs.StripePaymentMethodModule; exports.StripePrice = _chunk5SFFHIEEjs.StripePrice; exports.StripePriceModule = _chunk5SFFHIEEjs.StripePriceModule; exports.StripePriceService = _chunk5SFFHIEEjs.StripePriceService; exports.StripeProduct = _chunk5SFFHIEEjs.StripeProduct; exports.StripeProductModule = _chunk5SFFHIEEjs.StripeProductModule; exports.StripeProductService = _chunk5SFFHIEEjs.StripeProductService; exports.StripePromotionCode = _chunk5SFFHIEEjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunk5SFFHIEEjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunk5SFFHIEEjs.StripePromotionCodeService; exports.StripeSubscription = _chunk5SFFHIEEjs.StripeSubscription; exports.StripeSubscriptionModule = _chunk5SFFHIEEjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunk5SFFHIEEjs.StripeSubscriptionService; exports.StripeUsage = _chunk5SFFHIEEjs.StripeUsage; exports.StripeUsageModule = _chunk5SFFHIEEjs.StripeUsageModule; exports.StripeUsageService = _chunk5SFFHIEEjs.StripeUsageService; exports.SubscriptionStatus = _chunk5SFFHIEEjs.SubscriptionStatus; exports.TableOptions = _chunk5SFFHIEEjs.TableOptions; exports.TotpAuthenticator = _chunk5SFFHIEEjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunk5SFFHIEEjs.TotpAuthenticatorModule; exports.TotpSetup = _chunk5SFFHIEEjs.TotpSetup; exports.TotpSetupModule = _chunk5SFFHIEEjs.TotpSetupModule; exports.TotpVerify = _chunk5SFFHIEEjs.TotpVerify; exports.TotpVerifyLogin = _chunk5SFFHIEEjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunk5SFFHIEEjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunk5SFFHIEEjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunk5SFFHIEEjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunk5SFFHIEEjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunk5SFFHIEEjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunk5SFFHIEEjs.TwoFactorEnableModule; exports.TwoFactorService = _chunk5SFFHIEEjs.TwoFactorService; exports.TwoFactorStatus = _chunk5SFFHIEEjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunk5SFFHIEEjs.TwoFactorStatusModule; exports.User = _chunk5SFFHIEEjs.User; exports.UserFields = _chunk5SFFHIEEjs.UserFields; exports.UserModule = _chunk5SFFHIEEjs.UserModule; exports.UserService = _chunk5SFFHIEEjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunk5SFFHIEEjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunk5SFFHIEEjs.Waitlist; exports.WaitlistModule = _chunk5SFFHIEEjs.WaitlistModule; exports.WaitlistService = _chunk5SFFHIEEjs.WaitlistService; exports.WaitlistStats = _chunk5SFFHIEEjs.WaitlistStats; exports.WaitlistStatsModule = _chunk5SFFHIEEjs.WaitlistStatsModule; exports.checkPermissions = _chunk5SFFHIEEjs.checkPermissions; exports.checkPermissionsFromServer = _chunk5SFFHIEEjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunk5SFFHIEEjs.clearLastApiMeta; exports.clearLastApiTotal = _chunk5SFFHIEEjs.clearLastApiTotal; exports.cn = _chunk5SFFHIEEjs.cn; exports.composeRefs = _chunk5SFFHIEEjs.composeRefs; exports.configureAuth = _chunk5SFFHIEEjs.configureAuth; exports.configureI18n = _chunkC6UXEPNYjs.configureI18n; exports.configureJsonApi = _chunkC6UXEPNYjs.configureJsonApi; exports.configureLogin = _chunkC6UXEPNYjs.configureLogin; exports.configureReferral = _chunkC6UXEPNYjs.configureReferral; exports.configureRoles = _chunkC6UXEPNYjs.configureRoles; exports.configureWaitlist = _chunkC6UXEPNYjs.configureWaitlist; exports.createJsonApiInclusion = _chunk5SFFHIEEjs.createJsonApiInclusion; exports.dismissToast = _chunk5SFFHIEEjs.dismissToast; exports.entityObjectSchema = _chunk5SFFHIEEjs.entityObjectSchema; exports.exists = _chunk5SFFHIEEjs.exists; exports.formatCodiceFiscale = _chunk5SFFHIEEjs.formatCodiceFiscale; exports.formatDate = _chunk5SFFHIEEjs.formatDate; exports.formatLocalDate = _chunk5SFFHIEEjs.formatLocalDate; exports.formatPartitaIva = _chunk5SFFHIEEjs.formatPartitaIva; exports.getApiUrl = _chunkC6UXEPNYjs.getApiUrl; exports.getAppUrl = _chunkC6UXEPNYjs.getAppUrl; exports.getBootstrapper = _chunkQWCAOLBDjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunk5SFFHIEEjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunk5SFFHIEEjs.getGlobalErrorHandler; exports.getIcon = _chunk5SFFHIEEjs.getIcon; exports.getIconByModule = _chunk5SFFHIEEjs.getIconByModule; exports.getIconByModuleName = _chunk5SFFHIEEjs.getIconByModuleName; exports.getInitials = _chunk5SFFHIEEjs.getInitials; exports.getLastApiMeta = _chunk5SFFHIEEjs.getLastApiMeta; exports.getLastApiTotal = _chunk5SFFHIEEjs.getLastApiTotal; exports.getLucideIcon = _chunk5SFFHIEEjs.getLucideIcon; exports.getLucideIconByModule = _chunk5SFFHIEEjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunk5SFFHIEEjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkC6UXEPNYjs.getPublicApiUrl; exports.getReferralConfig = _chunkC6UXEPNYjs.getReferralConfig; exports.getRoleId = _chunkC6UXEPNYjs.getRoleId; exports.getStripePublishableKey = _chunkC6UXEPNYjs.getStripePublishableKey; exports.getTableComponents = _chunk5SFFHIEEjs.getTableComponents; exports.getTableOptions = _chunk5SFFHIEEjs.getTableOptions; exports.getTokenHandler = _chunk5SFFHIEEjs.getTokenHandler; exports.getTrackablePages = _chunkC6UXEPNYjs.getTrackablePages; exports.getValueFromPath = _chunk5SFFHIEEjs.getValueFromPath; exports.getWaitlistConfig = _chunkC6UXEPNYjs.getWaitlistConfig; exports.hasBootstrapper = _chunkQWCAOLBDjs.hasBootstrapper; exports.isReferralEnabled = _chunkC6UXEPNYjs.isReferralEnabled; exports.isRolesConfigured = _chunkC6UXEPNYjs.isRolesConfigured; exports.rehydrate = _chunk5SFFHIEEjs.rehydrate; exports.rehydrateList = _chunk5SFFHIEEjs.rehydrateList; exports.resetBootstrapStore = _chunkQWCAOLBDjs.resetBootstrapStore; exports.setBootstrapper = _chunkQWCAOLBDjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunk5SFFHIEEjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunk5SFFHIEEjs.setGlobalErrorHandler; exports.showCustomToast = _chunk5SFFHIEEjs.showCustomToast; exports.showError = _chunk5SFFHIEEjs.showError; exports.showToast = _chunk5SFFHIEEjs.showToast; exports.translateData = _chunkQWCAOLBDjs.translateData; exports.translateResponse = _chunkQWCAOLBDjs.translateResponse; exports.tryBootstrap = _chunkQWCAOLBDjs.tryBootstrap; exports.useComposedRefs = _chunk5SFFHIEEjs.useComposedRefs; exports.useIsMobile = _chunk5SFFHIEEjs.useIsMobile; exports.userObjectSchema = _chunk5SFFHIEEjs.userObjectSchema; exports.validateCodiceFiscale = _chunk5SFFHIEEjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunk5SFFHIEEjs.validateItalianTaxCode; exports.validatePartitaIva = _chunk5SFFHIEEjs.validatePartitaIva;
|
|
445
445
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
getWaitlistConfig,
|
|
19
19
|
isReferralEnabled,
|
|
20
20
|
isRolesConfigured
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ZV2GZKFR.mjs";
|
|
22
22
|
import {
|
|
23
23
|
AVAILABLE_OAUTH_SCOPES,
|
|
24
24
|
AbstractApiData,
|
|
@@ -208,7 +208,7 @@ import {
|
|
|
208
208
|
validateCodiceFiscale,
|
|
209
209
|
validateItalianTaxCode,
|
|
210
210
|
validatePartitaIva
|
|
211
|
-
} from "./chunk-
|
|
211
|
+
} from "./chunk-KZHHKPQZ.mjs";
|
|
212
212
|
import "./chunk-AUXK7QSA.mjs";
|
|
213
213
|
import "./chunk-C7C7VY4F.mjs";
|
|
214
214
|
import {
|
|
@@ -6,9 +6,9 @@ type CompanyInput = {
|
|
|
6
6
|
name?: string;
|
|
7
7
|
logo?: string;
|
|
8
8
|
configurations?: any;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
monthlyCredits?: number;
|
|
10
|
+
availableMonthlyCredits?: number;
|
|
11
|
+
availableExtraCredits?: number;
|
|
12
12
|
featureIds?: string[];
|
|
13
13
|
moduleIds?: string[];
|
|
14
14
|
legal_address?: string;
|
|
@@ -28,9 +28,9 @@ interface CompanyInterface extends ApiDataInterface {
|
|
|
28
28
|
get logo(): string | undefined;
|
|
29
29
|
get logoUrl(): string | undefined;
|
|
30
30
|
get isActiveSubscription(): boolean;
|
|
31
|
-
get
|
|
32
|
-
get
|
|
33
|
-
get
|
|
31
|
+
get monthlyCredits(): number;
|
|
32
|
+
get availableMonthlyCredits(): number;
|
|
33
|
+
get availableExtraCredits(): number;
|
|
34
34
|
get features(): FeatureInterface[];
|
|
35
35
|
get modules(): ModuleInterface[];
|
|
36
36
|
get legal_address(): string | undefined;
|
package/dist/{notification.interface-B3kNUTZs.d.mts → notification.interface-CG1vqoxg.d.mts}
RENAMED
|
@@ -6,9 +6,9 @@ type CompanyInput = {
|
|
|
6
6
|
name?: string;
|
|
7
7
|
logo?: string;
|
|
8
8
|
configurations?: any;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
monthlyCredits?: number;
|
|
10
|
+
availableMonthlyCredits?: number;
|
|
11
|
+
availableExtraCredits?: number;
|
|
12
12
|
featureIds?: string[];
|
|
13
13
|
moduleIds?: string[];
|
|
14
14
|
legal_address?: string;
|
|
@@ -28,9 +28,9 @@ interface CompanyInterface extends ApiDataInterface {
|
|
|
28
28
|
get logo(): string | undefined;
|
|
29
29
|
get logoUrl(): string | undefined;
|
|
30
30
|
get isActiveSubscription(): boolean;
|
|
31
|
-
get
|
|
32
|
-
get
|
|
33
|
-
get
|
|
31
|
+
get monthlyCredits(): number;
|
|
32
|
+
get availableMonthlyCredits(): number;
|
|
33
|
+
get availableExtraCredits(): number;
|
|
34
34
|
get features(): FeatureInterface[];
|
|
35
35
|
get modules(): ModuleInterface[];
|
|
36
36
|
get legal_address(): string | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { F as FeatureInterface } from './feature.interface-CXb1-vNq.mjs';
|
|
2
|
-
import { e as RoleInterface, U as UserInterface, f as UserInput, c as CompanyInterface, b as CompanyInput, C as ContentInterface, N as NotificationInterface } from './notification.interface-
|
|
2
|
+
import { e as RoleInterface, U as UserInterface, f as UserInput, c as CompanyInterface, b as CompanyInput, C as ContentInterface, N as NotificationInterface } from './notification.interface-CG1vqoxg.mjs';
|
|
3
3
|
import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from './ApiDataInterface-BcZeXy5X.mjs';
|
|
4
|
-
import { A as AuthInput, b as AuthInterface } from './auth.interface-
|
|
4
|
+
import { A as AuthInput, b as AuthInterface } from './auth.interface-CkmZqat3.mjs';
|
|
5
5
|
import { A as ApiRequestDataTypeInterface } from './ApiRequestDataTypeInterface-CYEcRUrh.mjs';
|
|
6
6
|
|
|
7
7
|
declare enum HttpMethod {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { F as FeatureInterface } from './feature.interface-BO25VLlx.js';
|
|
2
|
-
import { e as RoleInterface, U as UserInterface, f as UserInput, c as CompanyInterface, b as CompanyInput, C as ContentInterface, N as NotificationInterface } from './notification.interface
|
|
2
|
+
import { e as RoleInterface, U as UserInterface, f as UserInput, c as CompanyInterface, b as CompanyInput, C as ContentInterface, N as NotificationInterface } from './notification.interface--27exGde.js';
|
|
3
3
|
import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from './ApiDataInterface-BcZeXy5X.js';
|
|
4
|
-
import { A as AuthInput, b as AuthInterface } from './auth.interface-
|
|
4
|
+
import { A as AuthInput, b as AuthInterface } from './auth.interface-COmBjh89.js';
|
|
5
5
|
import { A as ApiRequestDataTypeInterface } from './ApiRequestDataTypeInterface-CYEcRUrh.js';
|
|
6
6
|
|
|
7
7
|
declare enum HttpMethod {
|
package/dist/server/index.d.mts
CHANGED
|
@@ -2,12 +2,12 @@ import { A as ApiData } from '../ApiData-DPKNfY-9.mjs';
|
|
|
2
2
|
import { M as ModuleWithPermissions, A as Action } from '../types-CQSjy7et.mjs';
|
|
3
3
|
import { A as ApiRequestDataTypeInterface } from '../ApiRequestDataTypeInterface-CYEcRUrh.mjs';
|
|
4
4
|
import { A as ApiResponseInterface } from '../ApiResponseInterface-rsXRL_Hn.mjs';
|
|
5
|
-
export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-
|
|
5
|
+
export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-DYflLXCt.mjs';
|
|
6
6
|
import 'lucide-react';
|
|
7
7
|
import '../ApiDataInterface-BcZeXy5X.mjs';
|
|
8
8
|
import '../feature.interface-CXb1-vNq.mjs';
|
|
9
|
-
import '../notification.interface-
|
|
10
|
-
import '../auth.interface-
|
|
9
|
+
import '../notification.interface-CG1vqoxg.mjs';
|
|
10
|
+
import '../auth.interface-CkmZqat3.mjs';
|
|
11
11
|
|
|
12
12
|
type CacheProfile = "seconds" | "minutes" | "hours" | "days" | "weeks" | "max" | "default";
|
|
13
13
|
/**
|
package/dist/server/index.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ import { A as ApiData } from '../ApiData-DPKNfY-9.js';
|
|
|
2
2
|
import { M as ModuleWithPermissions, A as Action } from '../types-DHOxe8rc.js';
|
|
3
3
|
import { A as ApiRequestDataTypeInterface } from '../ApiRequestDataTypeInterface-CYEcRUrh.js';
|
|
4
4
|
import { A as ApiResponseInterface } from '../ApiResponseInterface-CWLvSCvS.js';
|
|
5
|
-
export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-
|
|
5
|
+
export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-Dmfxpn-k.js';
|
|
6
6
|
import 'lucide-react';
|
|
7
7
|
import '../ApiDataInterface-BcZeXy5X.js';
|
|
8
8
|
import '../feature.interface-BO25VLlx.js';
|
|
9
|
-
import '../notification.interface
|
|
10
|
-
import '../auth.interface-
|
|
9
|
+
import '../notification.interface--27exGde.js';
|
|
10
|
+
import '../auth.interface-COmBjh89.js';
|
|
11
11
|
|
|
12
12
|
type CacheProfile = "seconds" | "minutes" | "hours" | "days" | "weeks" | "max" | "default";
|
|
13
13
|
/**
|
package/dist/server/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var _chunkIOLU4ASDjs = require('../chunk-IOLU4ASD.js');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunk5SFFHIEEjs = require('../chunk-5SFFHIEE.js');
|
|
19
19
|
require('../chunk-LXKSUWAV.js');
|
|
20
20
|
require('../chunk-IBS6NI7D.js');
|
|
21
21
|
|
|
@@ -86,7 +86,7 @@ var ServerSession = class {
|
|
|
86
86
|
if (!rawModules) return false;
|
|
87
87
|
const modules = JSON.parse(_pako.ungzip.call(void 0, Buffer.from(rawModules, "base64"), { toText: true }));
|
|
88
88
|
const selectedModule = modules.find((module) => module.id === params.module.moduleId);
|
|
89
|
-
return
|
|
89
|
+
return _chunk5SFFHIEEjs.checkPermissionsFromServer.call(void 0, {
|
|
90
90
|
module: params.module,
|
|
91
91
|
action: params.action,
|
|
92
92
|
data: params.data,
|
|
@@ -296,5 +296,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiDelete, "ServerJsonApiDelete")
|
|
|
296
296
|
|
|
297
297
|
|
|
298
298
|
|
|
299
|
-
exports.ServerAuthService =
|
|
299
|
+
exports.ServerAuthService = _chunk5SFFHIEEjs.AuthService; exports.ServerCompanyService = _chunk5SFFHIEEjs.CompanyService; exports.ServerContentService = _chunk5SFFHIEEjs.ContentService; exports.ServerFeatureService = _chunk5SFFHIEEjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunk5SFFHIEEjs.NotificationService; exports.ServerPushService = _chunk5SFFHIEEjs.PushService; exports.ServerRoleService = _chunk5SFFHIEEjs.RoleService; exports.ServerS3Service = _chunk5SFFHIEEjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunk5SFFHIEEjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunkIOLU4ASDjs.serverRequest;
|
|
300
300
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -31,12 +31,12 @@ export function TokenStatusIndicator({ className, size = "md", showExtraPages =
|
|
|
31
31
|
// Don't render if no company data
|
|
32
32
|
if (!company) return null;
|
|
33
33
|
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
34
|
+
const monthlyCredits = company.monthlyCredits;
|
|
35
|
+
const availableMonthlyCredits = company.availableMonthlyCredits;
|
|
36
|
+
const availableExtraCredits = company.availableExtraCredits;
|
|
37
37
|
|
|
38
38
|
// Calculate percentage of available monthly pages
|
|
39
|
-
const percentage =
|
|
39
|
+
const percentage = monthlyCredits > 0 ? (availableMonthlyCredits / monthlyCredits) * 100 : 0;
|
|
40
40
|
|
|
41
41
|
const sizeClasses = {
|
|
42
42
|
sm: "h-4 w-4",
|
|
@@ -91,7 +91,7 @@ export function TokenStatusIndicator({ className, size = "md", showExtraPages =
|
|
|
91
91
|
{t("billing.tokens.monthly", { defaultValue: "Monthly Pages" })}:
|
|
92
92
|
</span>
|
|
93
93
|
<span className={cn("font-medium", getStatusColor())}>
|
|
94
|
-
{
|
|
94
|
+
{availableMonthlyCredits} / {monthlyCredits}
|
|
95
95
|
</span>
|
|
96
96
|
</div>
|
|
97
97
|
<div className="flex items-center justify-between gap-4">
|
|
@@ -108,7 +108,7 @@ export function TokenStatusIndicator({ className, size = "md", showExtraPages =
|
|
|
108
108
|
<span className="text-muted-foreground">
|
|
109
109
|
{t("billing.tokens.available_extra", { defaultValue: "Extra Pages" })}:
|
|
110
110
|
</span>
|
|
111
|
-
<span className="font-medium text-blue-500">{
|
|
111
|
+
<span className="font-medium text-blue-500">{availableExtraCredits}</span>
|
|
112
112
|
</div>
|
|
113
113
|
<Link href="/settings/billing?action=subscribe" className="w-full flex justify-end my-4">
|
|
114
114
|
<Button variant="outline" size="sm">
|
|
@@ -127,11 +127,11 @@ export function TokenStatusIndicator({ className, size = "md", showExtraPages =
|
|
|
127
127
|
aria-label={t("billing.tokens.status", { defaultValue: "Page Status" })}
|
|
128
128
|
>
|
|
129
129
|
{getBatteryIcon()}
|
|
130
|
-
<span className={cn(textSize, "text-muted-foreground font-medium")}>{
|
|
131
|
-
{showExtraPages &&
|
|
130
|
+
<span className={cn(textSize, "text-muted-foreground font-medium")}>{availableMonthlyCredits}</span>
|
|
131
|
+
{showExtraPages && availableExtraCredits > 0 && (
|
|
132
132
|
<div className="inline-flex items-center gap-0.5">
|
|
133
133
|
<PlusCircle className={cn(smallIconSize, "text-blue-500")} />
|
|
134
|
-
<span className={cn(textSize, "text-blue-500 font-medium")}>{
|
|
134
|
+
<span className={cn(textSize, "text-blue-500 font-medium")}>{availableExtraCredits}</span>
|
|
135
135
|
</div>
|
|
136
136
|
)}
|
|
137
137
|
</div>
|
|
@@ -224,7 +224,7 @@ function CompanyEditorInternal({
|
|
|
224
224
|
<div className="flex w-full items-start justify-between gap-x-4">
|
|
225
225
|
<div className="flex w-96 flex-col justify-start gap-y-4">
|
|
226
226
|
<FileUploader value={files} onValueChange={setFiles} dropzoneOptions={dropzone} className="w-full p-4">
|
|
227
|
-
<FileInput className="text-muted-foreground/50 outline-dashed">
|
|
227
|
+
<FileInput className="text-muted-foreground/50 rounded-lg outline-1 outline-dashed">
|
|
228
228
|
<div className="flex w-full flex-col items-center justify-center pt-3 pb-4">
|
|
229
229
|
<div className="flex w-full flex-col items-center justify-center pt-3 pb-4">
|
|
230
230
|
{file || company?.logo ? (
|