@carlonicora/nextjs-jsonapi 3.12.0 → 3.13.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/{AssistantInterface-DwdBzS9f.d.ts → AssistantInterface-RvZzlcA_.d.ts} +2 -0
- package/dist/{AssistantInterface-DMh-zApr.d.mts → AssistantInterface-jL56dyNc.d.mts} +2 -0
- package/dist/{AssistantMessageInterface-0zyVingf.d.ts → AssistantMessageInterface-CuaMDs2i.d.ts} +1 -1
- package/dist/{AssistantMessageInterface-ddyG114R.d.mts → AssistantMessageInterface-Du3ShThp.d.mts} +1 -1
- package/dist/{BlockNoteEditor-6G27S6P3.js → BlockNoteEditor-CFVSHS46.js} +19 -19
- package/dist/{BlockNoteEditor-6G27S6P3.js.map → BlockNoteEditor-CFVSHS46.js.map} +1 -1
- package/dist/{BlockNoteEditor-CR5KH4AI.mjs → BlockNoteEditor-SERY337S.mjs} +4 -4
- package/dist/{BlockNoteViewer-5MITJ7AD.js → BlockNoteViewer-CWFPYYIU.js} +3 -3
- package/dist/{BlockNoteViewer-5MITJ7AD.js.map → BlockNoteViewer-CWFPYYIU.js.map} +1 -1
- package/dist/{BlockNoteViewer-NJKFUNXP.mjs → BlockNoteViewer-P2VKEFRN.mjs} +2 -2
- package/dist/{ai-connection.module-28f-hux0.d.mts → HandbookSectionInterface-BOxIdBdd.d.mts} +54 -1
- package/dist/{ai-connection.module-Bqwh_DnR.d.ts → HandbookSectionInterface-CAXxbDw0.d.ts} +54 -1
- package/dist/{auth.interface-B6ZQLGjS.d.ts → auth.interface-BC1jp_ni.d.ts} +1 -1
- package/dist/{auth.interface-jYD8Gc4P.d.mts → auth.interface-dR2-6gPM.d.mts} +1 -1
- package/dist/billing/index.js +401 -401
- package/dist/billing/index.mjs +3 -3
- package/dist/{chunk-L7DZSTFU.js → chunk-IB7DTXWG.js} +846 -129
- package/dist/chunk-IB7DTXWG.js.map +1 -0
- package/dist/{chunk-OKGGYCO5.js → chunk-LVE3BJ6K.js} +2088 -1134
- package/dist/chunk-LVE3BJ6K.js.map +1 -0
- package/dist/{chunk-Q2BREXH3.mjs → chunk-OSFYCSTW.mjs} +724 -7
- package/dist/chunk-OSFYCSTW.mjs.map +1 -0
- package/dist/{chunk-JEGL7KHK.mjs → chunk-UQXE3SME.mjs} +2081 -1127
- package/dist/chunk-UQXE3SME.mjs.map +1 -0
- package/dist/{chunk-HVNEWDRF.mjs → chunk-VZKJIAND.mjs} +2 -2
- package/dist/{chunk-4ETVCRQD.js → chunk-XH4IURUD.js} +7 -7
- package/dist/{chunk-4ETVCRQD.js.map → chunk-XH4IURUD.js.map} +1 -1
- 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 +258 -7
- package/dist/components/index.d.ts +258 -7
- package/dist/components/index.js +30 -4
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +29 -3
- package/dist/contexts/index.d.mts +17 -5
- package/dist/contexts/index.d.ts +17 -5
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.d.mts +491 -11
- package/dist/core/index.d.ts +491 -11
- package/dist/core/index.js +38 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +37 -1
- package/dist/features/help/index.js +37 -37
- package/dist/features/help/index.mjs +3 -3
- package/dist/features/tokenusage/index.js +101 -101
- package/dist/features/tokenusage/index.mjs +3 -3
- package/dist/index.d.mts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +39 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +38 -2
- package/dist/{notification.interface-DYF56CtE.d.ts → notification.interface-CjzV_KII.d.ts} +1 -1
- package/dist/{notification.interface-BWOCvKRP.d.mts → notification.interface-MnRt1Tjm.d.mts} +1 -1
- package/dist/{s3.service-D_dswjgz.d.mts → s3.service-C0Yq2Sx3.d.mts} +2 -2
- package/dist/{s3.service-DserU9VK.d.ts → s3.service-CUGarZs3.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-BZG9oX-L.d.mts → useSocket-BcH7l7B8.d.mts} +1 -1
- package/dist/{useSocket-CiyTtYFj.d.ts → useSocket-DCZd_eJk.d.ts} +1 -1
- package/package.json +1 -1
- package/src/components/containers/ReactMarkdownContainer.tsx +61 -11
- package/src/components/index.ts +1 -0
- package/src/core/index.ts +5 -0
- package/src/core/registry/ModuleRegistry.ts +4 -0
- package/src/features/assistant/components/parts/AssistantComposer.tsx +22 -3
- package/src/features/assistant/components/parts/AssistantSidebar.tsx +13 -3
- package/src/features/assistant/components/parts/AssistantThreadHeader.tsx +10 -3
- package/src/features/assistant/contexts/AssistantContext.tsx +30 -3
- package/src/features/assistant/contexts/__tests__/AssistantContext.spec.tsx +32 -0
- package/src/features/assistant/data/Assistant.ts +2 -0
- package/src/features/assistant/data/AssistantInterface.ts +2 -0
- package/src/features/assistant/data/AssistantService.ts +4 -0
- package/src/features/assistant-message/components/parts/MessageSourcesContainer.tsx +5 -1
- package/src/features/assistant-message/data/AssistantMessage.ts +27 -2
- package/src/features/content/data/content.interface.ts +1 -1
- package/src/features/handbook/HandbookPageModule.ts +41 -0
- package/src/features/handbook/HandbookSectionModule.ts +35 -0
- package/src/features/handbook/HandbookThreadMessageModule.ts +21 -0
- package/src/features/handbook/HandbookThreadModule.ts +29 -0
- package/src/features/handbook/components/containers/HandbookAdminContainer.tsx +17 -0
- package/src/features/handbook/components/containers/HandbookAskContainer.tsx +142 -0
- package/src/features/handbook/components/containers/HandbookAskSheet.tsx +149 -0
- package/src/features/handbook/components/containers/HandbookPageContainer.tsx +143 -0
- package/src/features/handbook/components/containers/__tests__/HandbookAskContainer.spec.tsx +268 -0
- package/src/features/handbook/components/containers/__tests__/HandbookAskSheet.spec.tsx +143 -0
- package/src/features/handbook/components/containers/__tests__/HandbookPageContainer.spec.tsx +288 -0
- package/src/features/handbook/components/details/HandbookPageDetails.tsx +27 -0
- package/src/features/handbook/components/details/HandbookPageNeighbours.tsx +72 -0
- package/src/features/handbook/components/details/HandbookPageToc.tsx +165 -0
- package/src/features/handbook/components/forms/HandbookSyncButton.tsx +43 -0
- package/src/features/handbook/components/forms/__tests__/HandbookSyncButton.spec.tsx +42 -0
- package/src/features/handbook/components/index.ts +12 -0
- package/src/features/handbook/components/lists/HandbookContents.tsx +196 -0
- package/src/features/handbook/components/lists/HandbookSectionGroup.tsx +153 -0
- package/src/features/handbook/components/lists/__tests__/HandbookContents.spec.tsx +247 -0
- package/src/features/handbook/components/parts/HandbookIndexStatus.tsx +62 -0
- package/src/features/handbook/components/parts/HandbookPageNavigator.tsx +143 -0
- package/src/features/handbook/contexts/HandbookContext.tsx +109 -0
- package/src/features/handbook/contexts/__tests__/HandbookContext.spec.tsx +131 -0
- package/src/features/handbook/data/HandbookPage.spec.ts +136 -0
- package/src/features/handbook/data/HandbookPage.ts +99 -0
- package/src/features/handbook/data/HandbookPageFields.ts +31 -0
- package/src/features/handbook/data/HandbookPageInput.ts +8 -0
- package/src/features/handbook/data/HandbookPageInterface.ts +29 -0
- package/src/features/handbook/data/HandbookPageService.ts +60 -0
- package/src/features/handbook/data/HandbookSection.spec.ts +58 -0
- package/src/features/handbook/data/HandbookSection.ts +73 -0
- package/src/features/handbook/data/HandbookSectionInput.ts +12 -0
- package/src/features/handbook/data/HandbookSectionInterface.ts +26 -0
- package/src/features/handbook/data/HandbookSectionService.ts +26 -0
- package/src/features/handbook/data/HandbookThread.ts +114 -0
- package/src/features/handbook/data/HandbookThreadInterface.ts +31 -0
- package/src/features/handbook/data/HandbookThreadMessage.ts +144 -0
- package/src/features/handbook/data/HandbookThreadMessageInterface.ts +35 -0
- package/src/features/handbook/data/HandbookThreadMessageService.ts +30 -0
- package/src/features/handbook/data/HandbookThreadService.ts +86 -0
- package/src/features/handbook/data/__tests__/HandbookThreadService.spec.ts +112 -0
- package/src/features/handbook/data/handbookDisplay.spec.ts +92 -0
- package/src/features/handbook/data/handbookDisplay.ts +55 -0
- package/src/features/handbook/data/index.ts +16 -0
- package/src/features/handbook/hooks/__tests__/useHandbookAsk.spec.ts +198 -0
- package/src/features/handbook/hooks/useHandbookAsk.ts +213 -0
- package/src/features/handbook/i18n-keys.ts +46 -0
- package/src/features/handbook/index.ts +7 -0
- package/src/features/how-to/components/forms/HowToEditor.tsx +0 -1
- package/src/features/how-to/components/forms/HowToReindexButton.spec.tsx +84 -0
- package/src/features/how-to/components/forms/HowToReindexButton.tsx +46 -0
- package/src/features/how-to/components/index.ts +1 -0
- package/src/features/how-to/components/lists/HowToList.tsx +5 -1
- package/src/features/how-to/data/HowTo.spec.ts +61 -1
- package/src/features/how-to/data/HowToService.ts +13 -0
- package/dist/chunk-JEGL7KHK.mjs.map +0 -1
- package/dist/chunk-L7DZSTFU.js.map +0 -1
- package/dist/chunk-OKGGYCO5.js.map +0 -1
- package/dist/chunk-Q2BREXH3.mjs.map +0 -1
- /package/dist/{BlockNoteEditor-CR5KH4AI.mjs.map → BlockNoteEditor-SERY337S.mjs.map} +0 -0
- /package/dist/{BlockNoteViewer-NJKFUNXP.mjs.map → BlockNoteViewer-P2VKEFRN.mjs.map} +0 -0
- /package/dist/{chunk-HVNEWDRF.mjs.map → chunk-VZKJIAND.mjs.map} +0 -0
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
AbstractService,
|
|
3
3
|
EndpointCreator,
|
|
4
4
|
Modules
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OSFYCSTW.mjs";
|
|
6
6
|
import {
|
|
7
7
|
ENV,
|
|
8
8
|
setBootstrapper
|
|
@@ -291,4 +291,4 @@ export {
|
|
|
291
291
|
ACTION_TYPES,
|
|
292
292
|
RbacService
|
|
293
293
|
};
|
|
294
|
-
//# sourceMappingURL=chunk-
|
|
294
|
+
//# sourceMappingURL=chunk-VZKJIAND.mjs.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkIB7DTXWGjs = require('./chunk-IB7DTXWG.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -211,7 +211,7 @@ var COMPANY_ADMINISTRATOR_ROLE_ID = "2e1eee00-6cba-4506-9059-ccd24e4ea5b0";
|
|
|
211
211
|
var ACTION_TYPES = ["read", "create", "update", "delete"];
|
|
212
212
|
|
|
213
213
|
// src/features/rbac/data/RbacService.ts
|
|
214
|
-
var RbacService = class extends
|
|
214
|
+
var RbacService = class extends _chunkIB7DTXWGjs.AbstractService {
|
|
215
215
|
static {
|
|
216
216
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "RbacService");
|
|
217
217
|
}
|
|
@@ -222,9 +222,9 @@ var RbacService = class extends _chunkL7DZSTFUjs.AbstractService {
|
|
|
222
222
|
* Dev-only endpoint — see class header.
|
|
223
223
|
*/
|
|
224
224
|
static async fetchMatrix() {
|
|
225
|
-
const endpoint = new (0,
|
|
225
|
+
const endpoint = new (0, _chunkIB7DTXWGjs.EndpointCreator)({ endpoint: _chunkIB7DTXWGjs.Modules.RbacMatrix }).generate();
|
|
226
226
|
const model = await this.callApi({
|
|
227
|
-
type:
|
|
227
|
+
type: _chunkIB7DTXWGjs.Modules.RbacMatrix,
|
|
228
228
|
method: "GET" /* GET */,
|
|
229
229
|
endpoint
|
|
230
230
|
});
|
|
@@ -244,9 +244,9 @@ var RbacService = class extends _chunkL7DZSTFUjs.AbstractService {
|
|
|
244
244
|
* Dev-only endpoint — see class header.
|
|
245
245
|
*/
|
|
246
246
|
static async saveMatrix(args) {
|
|
247
|
-
const endpoint = new (0,
|
|
247
|
+
const endpoint = new (0, _chunkIB7DTXWGjs.EndpointCreator)({ endpoint: _chunkIB7DTXWGjs.Modules.RbacMatrix }).generate();
|
|
248
248
|
const model = await this.callApi({
|
|
249
|
-
type:
|
|
249
|
+
type: _chunkIB7DTXWGjs.Modules.RbacMatrix,
|
|
250
250
|
method: "PUT" /* PUT */,
|
|
251
251
|
endpoint,
|
|
252
252
|
input: args
|
|
@@ -291,4 +291,4 @@ var RbacService = class extends _chunkL7DZSTFUjs.AbstractService {
|
|
|
291
291
|
|
|
292
292
|
|
|
293
293
|
exports._getStaticHelpContent = _getStaticHelpContent; exports.configureJsonApi = configureJsonApi; exports.configureClientConfig = configureClientConfig; exports.getApiUrl = getApiUrl; exports.getPublicApiUrl = getPublicApiUrl; exports.getAppUrl = getAppUrl; exports.getTrackablePages = getTrackablePages; exports.getStripePublishableKey = getStripePublishableKey; exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.configureLogin = configureLogin; exports.isDiscordAuthEnabled = isDiscordAuthEnabled; exports.isGoogleAuthEnabled = isGoogleAuthEnabled; exports.isInternalAuthEnabled = isInternalAuthEnabled; exports.isRegistrationAllowed = isRegistrationAllowed; exports.getRegistrationMode = getRegistrationMode; exports.configureRoles = configureRoles; exports.getRoleId = getRoleId; exports.isRolesConfigured = isRolesConfigured; exports.configureWaitlist = configureWaitlist; exports.getWaitlistConfig = getWaitlistConfig; exports.configureReferral = configureReferral; exports.getReferralConfig = getReferralConfig; exports.isReferralEnabled = isReferralEnabled; exports.COMPANY_ADMINISTRATOR_ROLE_ID = COMPANY_ADMINISTRATOR_ROLE_ID; exports.ACTION_TYPES = ACTION_TYPES; exports.RbacService = RbacService;
|
|
294
|
-
//# sourceMappingURL=chunk-
|
|
294
|
+
//# sourceMappingURL=chunk-XH4IURUD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-4ETVCRQD.js","../src/core/registry/helpStore.ts","../src/client/config.ts","../src/i18n/config.ts","../src/login/config.ts","../src/roles/config.ts","../src/features/waitlist/config/waitlist.config.ts","../src/features/referral/config.ts","../src/features/rbac/data/RbacTypes.ts","../src/features/rbac/data/RbacService.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-4ETVCRQD.js","sourcesContent":[null,"/**\n * Centralized help-content store accessible from client and server contexts.\n * Uses a globalThis Symbol key to persist across HMR/Turbopack reloads and to\n * bridge between the client-side `configureJsonApi` (in `client/config.ts`)\n * and the HelpProvider context. Holds the brand-only HelpContentConfig.\n *\n * NO external dependencies to avoid circular imports.\n *\n * Pattern mirrors `bootstrapStore.ts`.\n */\n\nconst HELP_CONTENT_KEY = Symbol.for(\"nextjs-jsonapi:helpContent\");\n\nconst globalStore = globalThis as unknown as {\n [HELP_CONTENT_KEY]?: unknown | null;\n};\n\nif (globalStore[HELP_CONTENT_KEY] === undefined) {\n globalStore[HELP_CONTENT_KEY] = null;\n}\n\nexport function _setStaticHelpContent(cfg: unknown | null): void {\n globalStore[HELP_CONTENT_KEY] = cfg;\n}\n\nexport function _getStaticHelpContent<T = unknown>(): T | null {\n return (globalStore[HELP_CONTENT_KEY] as T | null) ?? null;\n}\n","\"use client\";\n\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { ENV } from \"../core/env\";\nimport { setBootstrapper } from \"../core/registry/bootstrapStore\";\nimport { _setStaticHelpContent } from \"../core/registry/helpStore\";\nimport type { HelpContentConfig } from \"../features/help/interfaces/help-content-config.interface\";\n\n// Config storage for client-side contexts\nlet _clientConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n} | null = null;\n\n/**\n * Configure the JSON:API client. This is the main configuration function.\n * This is typically called during app initialization.\n * @param config.helpContent - Optional help-content config (brand only). Forwarded to the help feature's globalThis-backed store; not stored on the client config.\n */\nexport function configureJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n helpContent?: HelpContentConfig;\n}): void {\n const { helpContent, ...rest } = config;\n _clientConfig = rest;\n if (helpContent) {\n _setStaticHelpContent(helpContent);\n }\n // Register and call bootstrapper to register all modules\n if (config.bootstrapper) {\n setBootstrapper(config.bootstrapper);\n config.bootstrapper();\n }\n}\n\n/**\n * Configure the client config. This is typically called during app initialization.\n * @deprecated Use configureJsonApi instead\n */\nexport function configureClientConfig(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n}): void {\n _clientConfig = config;\n}\n\n/**\n * Get the configured API URL.\n *\n * This may resolve to an internal/private host (e.g. a docker-network\n * hostname) when configured to do so for SSR fetches. Do NOT use this for\n * URLs that are rendered into HTML and followed by the browser — use\n * `getPublicApiUrl()` instead.\n */\nexport function getApiUrl(): string {\n if (_clientConfig?.apiUrl) {\n return _clientConfig.apiUrl;\n }\n return ENV.API_URL;\n}\n\n/**\n * Get the public-facing API URL.\n *\n * Always sourced from `NEXT_PUBLIC_API_URL` so it is identical on server\n * and client, and reachable from the user's browser. Use for any URL that\n * gets rendered into HTML the browser will navigate to (links, redirects,\n * OAuth hrefs).\n */\nexport function getPublicApiUrl(): string {\n return ENV.API_URL;\n}\n\n/**\n * Get the configured app URL.\n */\nexport function getAppUrl(): string {\n if (_clientConfig?.appUrl) {\n return _clientConfig.appUrl;\n }\n if (ENV.APP_URL_ALTERNATE) {\n return ENV.APP_URL_ALTERNATE;\n }\n if (typeof window !== \"undefined\") {\n return window.location.origin;\n }\n return \"\";\n}\n\n/**\n * Get the configured trackable pages.\n */\nexport function getTrackablePages(): ModuleWithPermissions[] {\n return _clientConfig?.trackablePages ?? [];\n}\n\n/**\n * Get the configured Stripe publishable key.\n */\nexport function getStripePublishableKey(): string | undefined {\n return _clientConfig?.stripePublishableKey;\n}\n","import { ComponentType } from \"react\";\n\n// Types for injected hooks\nexport interface I18nRouter {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n}\n\nexport type UseRouterHook = () => I18nRouter;\nexport type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record<string, any>) => string;\nexport type UseLocaleHook = () => string;\n\nexport type UseDateFnsLocaleHook = () => any; // date-fns Locale type\nexport type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any }>;\n\nexport interface I18nConfig {\n useRouter: UseRouterHook;\n useTranslations: UseTranslationsHook;\n useLocale?: UseLocaleHook;\n useDateFnsLocale?: UseDateFnsLocaleHook;\n Link: LinkComponent;\n usePathname: () => string;\n}\n\n// Private storage\nlet _config: I18nConfig | null = null;\n\n// Configuration function (called by app at startup)\nexport function configureI18n(config: I18nConfig): void {\n _config = config;\n}\n\n// Hooks for library components to use\nexport function useI18nRouter(): I18nRouter {\n if (!_config?.useRouter) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.useRouter();\n}\n\nexport function useI18nTranslations(namespace?: string): (key: string, values?: Record<string, any>) => string {\n if (!_config?.useTranslations) {\n // Fallback: return key as-is (safe for server/client)\n return (key: string) => key;\n }\n return _config.useTranslations(namespace);\n}\n\nexport function getI18nLink(): LinkComponent {\n if (!_config?.Link) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.Link;\n}\n\nexport function useI18nLocale(): string {\n if (_config?.useLocale) {\n return _config.useLocale();\n }\n // Fallback to English (safe for server/client)\n return \"en\";\n}\n\nexport function useI18nDateFnsLocale(): any {\n if (_config?.useDateFnsLocale) {\n return _config.useDateFnsLocale();\n }\n // Fallback to undefined (Calendar will use default)\n return undefined;\n}\n","let _useDiscordAuth: boolean = false;\nlet _useGoogleAuth: boolean = false;\nlet _useInternalAuth: boolean = true;\nlet _allowRegistration: boolean = true;\nlet _registrationMode: \"open\" | \"closed\" | \"waitlist\" = \"open\";\n\nexport type RegistrationMode = \"open\" | \"closed\" | \"waitlist\";\n\nexport interface LoginConfig {\n discordClientId?: string;\n googleClientId?: string;\n useInternalAuth?: boolean;\n allowRegistration?: boolean;\n registrationMode?: RegistrationMode;\n}\n\nexport function configureLogin(params: LoginConfig): void {\n _useDiscordAuth = !!params.discordClientId;\n _useGoogleAuth = !!params.googleClientId;\n _useInternalAuth = params.useInternalAuth ?? true;\n _allowRegistration = params.allowRegistration ?? true;\n _registrationMode = params.registrationMode ?? \"open\";\n}\n\nexport function isDiscordAuthEnabled(): boolean {\n return _useDiscordAuth;\n}\n\nexport function isGoogleAuthEnabled(): boolean {\n return _useGoogleAuth;\n}\n\nexport function isInternalAuthEnabled(): boolean {\n return _useInternalAuth;\n}\n\nexport function isRegistrationAllowed(): boolean {\n return _allowRegistration;\n}\n\nexport function getRegistrationMode(): RegistrationMode {\n return _registrationMode;\n}\n","/**\n * Role ID configuration interface\n * Apps provide their role IDs via configureRoles()\n */\nexport interface RoleIdConfig {\n Administrator: string;\n CompanyAdministrator: string;\n [key: string]: string; // Allow additional roles\n}\n\n// Private storage for the injected role IDs\nlet _roleId: RoleIdConfig | null = null;\n\n/**\n * Configure role IDs for the library\n * Call this at app startup to provide role ID constants\n *\n * @example\n * ```typescript\n * import { configureRoles } from \"@carlonicora/nextjs-jsonapi\";\n * import { RoleId } from \"@phlow/shared\";\n *\n * configureRoles(RoleId);\n * ```\n */\nexport function configureRoles(roleId: RoleIdConfig): void {\n _roleId = roleId;\n}\n\n/**\n * Get configured role IDs\n * @throws Error if roles not configured\n */\nexport function getRoleId(): RoleIdConfig {\n if (!_roleId) {\n throw new Error(\"Roles not configured. Call configureRoles() at app startup.\");\n }\n return _roleId;\n}\n\n/**\n * Check if roles have been configured\n */\nexport function isRolesConfigured(): boolean {\n return _roleId !== null;\n}\n","export type QuestionnaireFieldType = \"text\" | \"textarea\" | \"select\" | \"checkbox\";\n\nexport interface QuestionnaireOption {\n value: string;\n label: string;\n description?: string;\n}\n\nexport interface QuestionnaireField {\n id: string;\n type: QuestionnaireFieldType;\n label: string;\n description?: string;\n placeholder?: string;\n required?: boolean;\n options?: QuestionnaireOption[];\n}\n\nexport interface WaitlistConfig {\n questionnaire?: QuestionnaireField[];\n heroTitle?: string;\n heroSubtitle?: string;\n heroDescription?: string;\n benefits?: string[];\n}\n\nlet _waitlistConfig: WaitlistConfig = {};\n\nexport function configureWaitlist(config: WaitlistConfig): void {\n _waitlistConfig = config;\n}\n\nexport function getWaitlistConfig(): WaitlistConfig {\n return _waitlistConfig;\n}\n","/**\n * Configuration interface for frontend referral feature.\n */\nexport interface ReferralConfig {\n /**\n * Whether the referral feature is enabled.\n * When false, components render nothing and hooks return null.\n * @default false\n */\n enabled?: boolean;\n\n /**\n * Name of the cookie used to store referral codes.\n * @default \"referral_code\"\n */\n cookieName?: string;\n\n /**\n * Number of days the referral cookie is valid.\n * @default 30\n */\n cookieDays?: number;\n\n /**\n * Query parameter name for referral code in URL.\n * @default \"ref\"\n */\n urlParamName?: string;\n\n /**\n * Base URL for referral links.\n * @default window.location.origin (client-side only)\n */\n referralUrlBase?: string;\n\n /**\n * Path to append to base URL for referral links.\n * @default \"/\"\n */\n referralPath?: string;\n}\n\n/**\n * Default configuration values\n */\nexport const DEFAULT_REFERRAL_CONFIG: Required<ReferralConfig> = {\n enabled: false,\n cookieName: \"referral_code\",\n cookieDays: 30,\n urlParamName: \"ref\",\n referralUrlBase: \"\",\n referralPath: \"/\",\n};\n\n// Private storage for configuration\nlet _referralConfig: Required<ReferralConfig> = { ...DEFAULT_REFERRAL_CONFIG };\n\n/**\n * Configure referral feature settings.\n * Call this at app startup to enable and configure referral functionality.\n *\n * @example\n * ```typescript\n * import { configureReferral } from \"@carlonicora/nextjs-jsonapi\";\n *\n * configureReferral({\n * enabled: process.env.NEXT_PUBLIC_REFERRAL_ENABLED === 'true',\n * cookieDays: 30,\n * });\n * ```\n */\nexport function configureReferral(config: ReferralConfig): void {\n _referralConfig = { ...DEFAULT_REFERRAL_CONFIG, ...config };\n}\n\n/**\n * Get the current referral configuration.\n * @internal\n */\nexport function getReferralConfig(): Required<ReferralConfig> {\n return _referralConfig;\n}\n\n/**\n * Check if referral feature is enabled.\n */\nexport function isReferralEnabled(): boolean {\n return _referralConfig.enabled;\n}\n","export const COMPANY_ADMINISTRATOR_ROLE_ID = \"2e1eee00-6cba-4506-9059-ccd24e4ea5b0\";\n\nexport type PermissionValue = boolean | string;\n\nexport type ActionType = \"read\" | \"create\" | \"update\" | \"delete\";\n\nexport const ACTION_TYPES: ActionType[] = [\"read\", \"create\", \"update\", \"delete\"];\n\n/** The permissions object shape used by both Module and PermissionMapping entities */\nexport type PermissionsMap = {\n create?: PermissionValue;\n read?: PermissionValue;\n update?: PermissionValue;\n delete?: PermissionValue;\n};\n\n/**\n * Declarative-RBAC matrix types.\n *\n * Mirror of the library types defined in\n * `packages/nestjs-neo4jsonapi/src/foundations/rbac/dsl/types.ts`.\n * Frontend does not import from backend, so the shape is redefined here.\n *\n * A `PermToken` represents a single permission entry:\n * - `scope: true` → unconditional (e.g. full read of the module)\n * - `scope: false` → nothing (rarely used, mostly a placeholder)\n * - `scope: \"path\"` → scoped by relationship path (e.g. \"orders.account\")\n */\nexport type PermToken = { action: string; scope: boolean | string };\n\n/**\n * A per-module block of the matrix. Always has a `default` row (permissions\n * granted to every role). Additional keys are role IDs → role-specific\n * permission tokens that are unioned with `default` to produce the effective\n * permissions for that role in that module.\n */\nexport type RbacModuleBlock = { default: PermToken[] } & Record<string, PermToken[]>;\n\n/**\n * The full RBAC matrix as served by the dev endpoint `GET /_dev/rbac/matrix`.\n * Keys are module IDs; values are module blocks.\n */\nexport type RbacMatrix = Record<string, RbacModuleBlock>;\n","import { AbstractService, EndpointCreator, HttpMethod, Modules } from \"../../../core\";\nimport type { RbacMatrixModel } from \"./RbacMatrixModel\";\nimport type { RbacMatrix } from \"./RbacTypes\";\n\n/**\n * RbacService — fetches RBAC configuration for the admin UI.\n *\n * Declarative-matrix methods (`fetchMatrix`, `saveMatrix`) talk to the\n * dev-only endpoints added in\n * `packages/nestjs-neo4jsonapi/.../rbac-dev.controller.ts`. The controller\n * speaks JSON:API (singleton resource with `type: \"rbac-matrix\"`, `id:\n * \"singleton\"`), so these methods go through the standard `callApi()`\n * pipeline like every other service in the codebase.\n *\n * The backend only registers these routes when `devMode` is enabled on\n * `RbacModule.register` (see `apps/api/src/features/features.modules.ts`).\n * In production the routes return 404; callers should guard with a dev-mode\n * check.\n */\nexport class RbacService extends AbstractService {\n /**\n * Fetch the current RBAC matrix plus each module's known BFS relationship\n * paths (used by the permission picker as scope suggestions).\n *\n * Dev-only endpoint — see class header.\n */\n static async fetchMatrix(): Promise<{\n matrix: RbacMatrix;\n modulePaths: Record<string, readonly string[]>;\n }> {\n const endpoint = new EndpointCreator({ endpoint: Modules.RbacMatrix }).generate();\n\n const model = await this.callApi<RbacMatrixModel>({\n type: Modules.RbacMatrix,\n method: HttpMethod.GET,\n endpoint,\n });\n\n return {\n matrix: model.matrix ?? {},\n modulePaths: model.modulePaths ?? {},\n };\n }\n\n /**\n * Persist a matrix back to the declarative `permissions.ts` file.\n *\n * The backend serializes the matrix to formatted TypeScript using the\n * provided `roleNames` / `moduleNames` lookup tables (so the emitted file\n * references `RoleId.X` / `ModuleId.X` rather than raw UUIDs) and writes\n * it to `outputPath` (absolute, or relative to the repo root).\n *\n * Dev-only endpoint — see class header.\n */\n static async saveMatrix(args: {\n matrix: RbacMatrix;\n roleNames: Record<string, string>;\n moduleNames: Record<string, string>;\n outputPath: string;\n }): Promise<{ bytesWritten: number; path: string }> {\n const endpoint = new EndpointCreator({ endpoint: Modules.RbacMatrix }).generate();\n\n const model = await this.callApi<RbacMatrixModel>({\n type: Modules.RbacMatrix,\n method: HttpMethod.PUT,\n endpoint,\n input: args,\n });\n\n return {\n bytesWritten: model.bytesWritten ?? 0,\n path: model.path ?? \"\",\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-XH4IURUD.js","../src/core/registry/helpStore.ts","../src/client/config.ts","../src/i18n/config.ts","../src/login/config.ts","../src/roles/config.ts","../src/features/waitlist/config/waitlist.config.ts","../src/features/referral/config.ts","../src/features/rbac/data/RbacTypes.ts","../src/features/rbac/data/RbacService.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-XH4IURUD.js","sourcesContent":[null,"/**\n * Centralized help-content store accessible from client and server contexts.\n * Uses a globalThis Symbol key to persist across HMR/Turbopack reloads and to\n * bridge between the client-side `configureJsonApi` (in `client/config.ts`)\n * and the HelpProvider context. Holds the brand-only HelpContentConfig.\n *\n * NO external dependencies to avoid circular imports.\n *\n * Pattern mirrors `bootstrapStore.ts`.\n */\n\nconst HELP_CONTENT_KEY = Symbol.for(\"nextjs-jsonapi:helpContent\");\n\nconst globalStore = globalThis as unknown as {\n [HELP_CONTENT_KEY]?: unknown | null;\n};\n\nif (globalStore[HELP_CONTENT_KEY] === undefined) {\n globalStore[HELP_CONTENT_KEY] = null;\n}\n\nexport function _setStaticHelpContent(cfg: unknown | null): void {\n globalStore[HELP_CONTENT_KEY] = cfg;\n}\n\nexport function _getStaticHelpContent<T = unknown>(): T | null {\n return (globalStore[HELP_CONTENT_KEY] as T | null) ?? null;\n}\n","\"use client\";\n\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { ENV } from \"../core/env\";\nimport { setBootstrapper } from \"../core/registry/bootstrapStore\";\nimport { _setStaticHelpContent } from \"../core/registry/helpStore\";\nimport type { HelpContentConfig } from \"../features/help/interfaces/help-content-config.interface\";\n\n// Config storage for client-side contexts\nlet _clientConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n} | null = null;\n\n/**\n * Configure the JSON:API client. This is the main configuration function.\n * This is typically called during app initialization.\n * @param config.helpContent - Optional help-content config (brand only). Forwarded to the help feature's globalThis-backed store; not stored on the client config.\n */\nexport function configureJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n helpContent?: HelpContentConfig;\n}): void {\n const { helpContent, ...rest } = config;\n _clientConfig = rest;\n if (helpContent) {\n _setStaticHelpContent(helpContent);\n }\n // Register and call bootstrapper to register all modules\n if (config.bootstrapper) {\n setBootstrapper(config.bootstrapper);\n config.bootstrapper();\n }\n}\n\n/**\n * Configure the client config. This is typically called during app initialization.\n * @deprecated Use configureJsonApi instead\n */\nexport function configureClientConfig(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n}): void {\n _clientConfig = config;\n}\n\n/**\n * Get the configured API URL.\n *\n * This may resolve to an internal/private host (e.g. a docker-network\n * hostname) when configured to do so for SSR fetches. Do NOT use this for\n * URLs that are rendered into HTML and followed by the browser — use\n * `getPublicApiUrl()` instead.\n */\nexport function getApiUrl(): string {\n if (_clientConfig?.apiUrl) {\n return _clientConfig.apiUrl;\n }\n return ENV.API_URL;\n}\n\n/**\n * Get the public-facing API URL.\n *\n * Always sourced from `NEXT_PUBLIC_API_URL` so it is identical on server\n * and client, and reachable from the user's browser. Use for any URL that\n * gets rendered into HTML the browser will navigate to (links, redirects,\n * OAuth hrefs).\n */\nexport function getPublicApiUrl(): string {\n return ENV.API_URL;\n}\n\n/**\n * Get the configured app URL.\n */\nexport function getAppUrl(): string {\n if (_clientConfig?.appUrl) {\n return _clientConfig.appUrl;\n }\n if (ENV.APP_URL_ALTERNATE) {\n return ENV.APP_URL_ALTERNATE;\n }\n if (typeof window !== \"undefined\") {\n return window.location.origin;\n }\n return \"\";\n}\n\n/**\n * Get the configured trackable pages.\n */\nexport function getTrackablePages(): ModuleWithPermissions[] {\n return _clientConfig?.trackablePages ?? [];\n}\n\n/**\n * Get the configured Stripe publishable key.\n */\nexport function getStripePublishableKey(): string | undefined {\n return _clientConfig?.stripePublishableKey;\n}\n","import { ComponentType } from \"react\";\n\n// Types for injected hooks\nexport interface I18nRouter {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n}\n\nexport type UseRouterHook = () => I18nRouter;\nexport type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record<string, any>) => string;\nexport type UseLocaleHook = () => string;\n\nexport type UseDateFnsLocaleHook = () => any; // date-fns Locale type\nexport type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any }>;\n\nexport interface I18nConfig {\n useRouter: UseRouterHook;\n useTranslations: UseTranslationsHook;\n useLocale?: UseLocaleHook;\n useDateFnsLocale?: UseDateFnsLocaleHook;\n Link: LinkComponent;\n usePathname: () => string;\n}\n\n// Private storage\nlet _config: I18nConfig | null = null;\n\n// Configuration function (called by app at startup)\nexport function configureI18n(config: I18nConfig): void {\n _config = config;\n}\n\n// Hooks for library components to use\nexport function useI18nRouter(): I18nRouter {\n if (!_config?.useRouter) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.useRouter();\n}\n\nexport function useI18nTranslations(namespace?: string): (key: string, values?: Record<string, any>) => string {\n if (!_config?.useTranslations) {\n // Fallback: return key as-is (safe for server/client)\n return (key: string) => key;\n }\n return _config.useTranslations(namespace);\n}\n\nexport function getI18nLink(): LinkComponent {\n if (!_config?.Link) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.Link;\n}\n\nexport function useI18nLocale(): string {\n if (_config?.useLocale) {\n return _config.useLocale();\n }\n // Fallback to English (safe for server/client)\n return \"en\";\n}\n\nexport function useI18nDateFnsLocale(): any {\n if (_config?.useDateFnsLocale) {\n return _config.useDateFnsLocale();\n }\n // Fallback to undefined (Calendar will use default)\n return undefined;\n}\n","let _useDiscordAuth: boolean = false;\nlet _useGoogleAuth: boolean = false;\nlet _useInternalAuth: boolean = true;\nlet _allowRegistration: boolean = true;\nlet _registrationMode: \"open\" | \"closed\" | \"waitlist\" = \"open\";\n\nexport type RegistrationMode = \"open\" | \"closed\" | \"waitlist\";\n\nexport interface LoginConfig {\n discordClientId?: string;\n googleClientId?: string;\n useInternalAuth?: boolean;\n allowRegistration?: boolean;\n registrationMode?: RegistrationMode;\n}\n\nexport function configureLogin(params: LoginConfig): void {\n _useDiscordAuth = !!params.discordClientId;\n _useGoogleAuth = !!params.googleClientId;\n _useInternalAuth = params.useInternalAuth ?? true;\n _allowRegistration = params.allowRegistration ?? true;\n _registrationMode = params.registrationMode ?? \"open\";\n}\n\nexport function isDiscordAuthEnabled(): boolean {\n return _useDiscordAuth;\n}\n\nexport function isGoogleAuthEnabled(): boolean {\n return _useGoogleAuth;\n}\n\nexport function isInternalAuthEnabled(): boolean {\n return _useInternalAuth;\n}\n\nexport function isRegistrationAllowed(): boolean {\n return _allowRegistration;\n}\n\nexport function getRegistrationMode(): RegistrationMode {\n return _registrationMode;\n}\n","/**\n * Role ID configuration interface\n * Apps provide their role IDs via configureRoles()\n */\nexport interface RoleIdConfig {\n Administrator: string;\n CompanyAdministrator: string;\n [key: string]: string; // Allow additional roles\n}\n\n// Private storage for the injected role IDs\nlet _roleId: RoleIdConfig | null = null;\n\n/**\n * Configure role IDs for the library\n * Call this at app startup to provide role ID constants\n *\n * @example\n * ```typescript\n * import { configureRoles } from \"@carlonicora/nextjs-jsonapi\";\n * import { RoleId } from \"@phlow/shared\";\n *\n * configureRoles(RoleId);\n * ```\n */\nexport function configureRoles(roleId: RoleIdConfig): void {\n _roleId = roleId;\n}\n\n/**\n * Get configured role IDs\n * @throws Error if roles not configured\n */\nexport function getRoleId(): RoleIdConfig {\n if (!_roleId) {\n throw new Error(\"Roles not configured. Call configureRoles() at app startup.\");\n }\n return _roleId;\n}\n\n/**\n * Check if roles have been configured\n */\nexport function isRolesConfigured(): boolean {\n return _roleId !== null;\n}\n","export type QuestionnaireFieldType = \"text\" | \"textarea\" | \"select\" | \"checkbox\";\n\nexport interface QuestionnaireOption {\n value: string;\n label: string;\n description?: string;\n}\n\nexport interface QuestionnaireField {\n id: string;\n type: QuestionnaireFieldType;\n label: string;\n description?: string;\n placeholder?: string;\n required?: boolean;\n options?: QuestionnaireOption[];\n}\n\nexport interface WaitlistConfig {\n questionnaire?: QuestionnaireField[];\n heroTitle?: string;\n heroSubtitle?: string;\n heroDescription?: string;\n benefits?: string[];\n}\n\nlet _waitlistConfig: WaitlistConfig = {};\n\nexport function configureWaitlist(config: WaitlistConfig): void {\n _waitlistConfig = config;\n}\n\nexport function getWaitlistConfig(): WaitlistConfig {\n return _waitlistConfig;\n}\n","/**\n * Configuration interface for frontend referral feature.\n */\nexport interface ReferralConfig {\n /**\n * Whether the referral feature is enabled.\n * When false, components render nothing and hooks return null.\n * @default false\n */\n enabled?: boolean;\n\n /**\n * Name of the cookie used to store referral codes.\n * @default \"referral_code\"\n */\n cookieName?: string;\n\n /**\n * Number of days the referral cookie is valid.\n * @default 30\n */\n cookieDays?: number;\n\n /**\n * Query parameter name for referral code in URL.\n * @default \"ref\"\n */\n urlParamName?: string;\n\n /**\n * Base URL for referral links.\n * @default window.location.origin (client-side only)\n */\n referralUrlBase?: string;\n\n /**\n * Path to append to base URL for referral links.\n * @default \"/\"\n */\n referralPath?: string;\n}\n\n/**\n * Default configuration values\n */\nexport const DEFAULT_REFERRAL_CONFIG: Required<ReferralConfig> = {\n enabled: false,\n cookieName: \"referral_code\",\n cookieDays: 30,\n urlParamName: \"ref\",\n referralUrlBase: \"\",\n referralPath: \"/\",\n};\n\n// Private storage for configuration\nlet _referralConfig: Required<ReferralConfig> = { ...DEFAULT_REFERRAL_CONFIG };\n\n/**\n * Configure referral feature settings.\n * Call this at app startup to enable and configure referral functionality.\n *\n * @example\n * ```typescript\n * import { configureReferral } from \"@carlonicora/nextjs-jsonapi\";\n *\n * configureReferral({\n * enabled: process.env.NEXT_PUBLIC_REFERRAL_ENABLED === 'true',\n * cookieDays: 30,\n * });\n * ```\n */\nexport function configureReferral(config: ReferralConfig): void {\n _referralConfig = { ...DEFAULT_REFERRAL_CONFIG, ...config };\n}\n\n/**\n * Get the current referral configuration.\n * @internal\n */\nexport function getReferralConfig(): Required<ReferralConfig> {\n return _referralConfig;\n}\n\n/**\n * Check if referral feature is enabled.\n */\nexport function isReferralEnabled(): boolean {\n return _referralConfig.enabled;\n}\n","export const COMPANY_ADMINISTRATOR_ROLE_ID = \"2e1eee00-6cba-4506-9059-ccd24e4ea5b0\";\n\nexport type PermissionValue = boolean | string;\n\nexport type ActionType = \"read\" | \"create\" | \"update\" | \"delete\";\n\nexport const ACTION_TYPES: ActionType[] = [\"read\", \"create\", \"update\", \"delete\"];\n\n/** The permissions object shape used by both Module and PermissionMapping entities */\nexport type PermissionsMap = {\n create?: PermissionValue;\n read?: PermissionValue;\n update?: PermissionValue;\n delete?: PermissionValue;\n};\n\n/**\n * Declarative-RBAC matrix types.\n *\n * Mirror of the library types defined in\n * `packages/nestjs-neo4jsonapi/src/foundations/rbac/dsl/types.ts`.\n * Frontend does not import from backend, so the shape is redefined here.\n *\n * A `PermToken` represents a single permission entry:\n * - `scope: true` → unconditional (e.g. full read of the module)\n * - `scope: false` → nothing (rarely used, mostly a placeholder)\n * - `scope: \"path\"` → scoped by relationship path (e.g. \"orders.account\")\n */\nexport type PermToken = { action: string; scope: boolean | string };\n\n/**\n * A per-module block of the matrix. Always has a `default` row (permissions\n * granted to every role). Additional keys are role IDs → role-specific\n * permission tokens that are unioned with `default` to produce the effective\n * permissions for that role in that module.\n */\nexport type RbacModuleBlock = { default: PermToken[] } & Record<string, PermToken[]>;\n\n/**\n * The full RBAC matrix as served by the dev endpoint `GET /_dev/rbac/matrix`.\n * Keys are module IDs; values are module blocks.\n */\nexport type RbacMatrix = Record<string, RbacModuleBlock>;\n","import { AbstractService, EndpointCreator, HttpMethod, Modules } from \"../../../core\";\nimport type { RbacMatrixModel } from \"./RbacMatrixModel\";\nimport type { RbacMatrix } from \"./RbacTypes\";\n\n/**\n * RbacService — fetches RBAC configuration for the admin UI.\n *\n * Declarative-matrix methods (`fetchMatrix`, `saveMatrix`) talk to the\n * dev-only endpoints added in\n * `packages/nestjs-neo4jsonapi/.../rbac-dev.controller.ts`. The controller\n * speaks JSON:API (singleton resource with `type: \"rbac-matrix\"`, `id:\n * \"singleton\"`), so these methods go through the standard `callApi()`\n * pipeline like every other service in the codebase.\n *\n * The backend only registers these routes when `devMode` is enabled on\n * `RbacModule.register` (see `apps/api/src/features/features.modules.ts`).\n * In production the routes return 404; callers should guard with a dev-mode\n * check.\n */\nexport class RbacService extends AbstractService {\n /**\n * Fetch the current RBAC matrix plus each module's known BFS relationship\n * paths (used by the permission picker as scope suggestions).\n *\n * Dev-only endpoint — see class header.\n */\n static async fetchMatrix(): Promise<{\n matrix: RbacMatrix;\n modulePaths: Record<string, readonly string[]>;\n }> {\n const endpoint = new EndpointCreator({ endpoint: Modules.RbacMatrix }).generate();\n\n const model = await this.callApi<RbacMatrixModel>({\n type: Modules.RbacMatrix,\n method: HttpMethod.GET,\n endpoint,\n });\n\n return {\n matrix: model.matrix ?? {},\n modulePaths: model.modulePaths ?? {},\n };\n }\n\n /**\n * Persist a matrix back to the declarative `permissions.ts` file.\n *\n * The backend serializes the matrix to formatted TypeScript using the\n * provided `roleNames` / `moduleNames` lookup tables (so the emitted file\n * references `RoleId.X` / `ModuleId.X` rather than raw UUIDs) and writes\n * it to `outputPath` (absolute, or relative to the repo root).\n *\n * Dev-only endpoint — see class header.\n */\n static async saveMatrix(args: {\n matrix: RbacMatrix;\n roleNames: Record<string, string>;\n moduleNames: Record<string, string>;\n outputPath: string;\n }): Promise<{ bytesWritten: number; path: string }> {\n const endpoint = new EndpointCreator({ endpoint: Modules.RbacMatrix }).generate();\n\n const model = await this.callApi<RbacMatrixModel>({\n type: Modules.RbacMatrix,\n method: HttpMethod.PUT,\n endpoint,\n input: args,\n });\n\n return {\n bytesWritten: model.bytesWritten ?? 0,\n path: model.path ?? \"\",\n };\n }\n}\n"]}
|
package/dist/client/index.d.mts
CHANGED
|
@@ -13,8 +13,8 @@ import { D as DataListRetriever } from '../useDataListRetriever-WEXL4bqB.mjs';
|
|
|
13
13
|
export { u as useDataListRetriever } from '../useDataListRetriever-WEXL4bqB.mjs';
|
|
14
14
|
export { u as usePageUrlGenerator } from '../usePageUrlGenerator-uKBjAKqC.mjs';
|
|
15
15
|
import { a as D3Node, D as D3Link, C as ContentFields, R as RoleFields, U as UserFields } from '../content.fields-1AlHDtDb.mjs';
|
|
16
|
-
export { u as useSocket } from '../useSocket-
|
|
17
|
-
import { C as ContentInterface, e as RoleInterface, U as UserInterface } from '../notification.interface-
|
|
16
|
+
export { u as useSocket } from '../useSocket-BcH7l7B8.mjs';
|
|
17
|
+
import { C as ContentInterface, e as RoleInterface, U as UserInterface } from '../notification.interface-MnRt1Tjm.mjs';
|
|
18
18
|
import { O as OAuthClientInterface, b as OAuthClientCreateRequest, c as OAuthClientCreateResponse, a as OAuthClientInput, f as OAuthConsentInfo, d as OAuthConsentRequest } from '../oauth.interface-DRE3NAKc.mjs';
|
|
19
19
|
import 'lucide-react';
|
|
20
20
|
import '../help-content-config.interface-C5ESIod9.mjs';
|
package/dist/client/index.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ import { D as DataListRetriever } from '../useDataListRetriever-WEXL4bqB.js';
|
|
|
13
13
|
export { u as useDataListRetriever } from '../useDataListRetriever-WEXL4bqB.js';
|
|
14
14
|
export { u as usePageUrlGenerator } from '../usePageUrlGenerator-J_ECv-oQ.js';
|
|
15
15
|
import { a as D3Node, D as D3Link, C as ContentFields, R as RoleFields, U as UserFields } from '../content.fields-1AlHDtDb.js';
|
|
16
|
-
export { u as useSocket } from '../useSocket-
|
|
17
|
-
import { C as ContentInterface, e as RoleInterface, U as UserInterface } from '../notification.interface-
|
|
16
|
+
export { u as useSocket } from '../useSocket-DCZd_eJk.js';
|
|
17
|
+
import { C as ContentInterface, e as RoleInterface, U as UserInterface } from '../notification.interface-CjzV_KII.js';
|
|
18
18
|
import { O as OAuthClientInterface, b as OAuthClientCreateRequest, c as OAuthClientCreateResponse, a as OAuthClientInput, f as OAuthConsentInfo, d as OAuthConsentRequest } from '../oauth.interface-CD90ycYz.js';
|
|
19
19
|
import 'lucide-react';
|
|
20
20
|
import '../help-content-config.interface-C5ESIod9.js';
|
package/dist/client/index.js
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
var
|
|
31
|
+
var _chunkLVE3BJ6Kjs = require('../chunk-LVE3BJ6K.js');
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
@@ -43,7 +43,7 @@ var _chunkOKGGYCO5js = require('../chunk-OKGGYCO5.js');
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var _chunkXH4IURUDjs = require('../chunk-XH4IURUD.js');
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
@@ -55,7 +55,7 @@ var _chunk4ETVCRQDjs = require('../chunk-4ETVCRQD.js');
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
var
|
|
58
|
+
var _chunkIB7DTXWGjs = require('../chunk-IB7DTXWG.js');
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
var _chunkLXKSUWAVjs = require('../chunk-LXKSUWAV.js');
|
|
@@ -125,5 +125,5 @@ require('../chunk-7QVYU63E.js');
|
|
|
125
125
|
|
|
126
126
|
|
|
127
127
|
|
|
128
|
-
exports.ClientJsonApiDelete =
|
|
128
|
+
exports.ClientJsonApiDelete = _chunkIB7DTXWGjs.ClientJsonApiDelete; exports.ClientJsonApiGet = _chunkIB7DTXWGjs.ClientJsonApiGet; exports.ClientJsonApiPatch = _chunkIB7DTXWGjs.ClientJsonApiPatch; exports.ClientJsonApiPost = _chunkIB7DTXWGjs.ClientJsonApiPost; exports.ClientJsonApiPut = _chunkIB7DTXWGjs.ClientJsonApiPut; exports.JsonApiContext = _chunk3EPNHTMHjs.JsonApiContext; exports.JsonApiProvider = _chunkLVE3BJ6Kjs.JsonApiProvider; exports.TableGeneratorRegistry = _chunkLVE3BJ6Kjs.TableGeneratorRegistry; exports.buildClientUrl = _chunkIB7DTXWGjs.buildClientUrl; exports.computeLayeredLayout = _chunkLVE3BJ6Kjs.computeLayeredLayout; exports.configureClientConfig = _chunkXH4IURUDjs.configureClientConfig; exports.configureClientJsonApi = _chunkIB7DTXWGjs.configureClientJsonApi; exports.configureI18n = _chunkXH4IURUDjs.configureI18n; exports.configureJsonApi = _chunkXH4IURUDjs.configureJsonApi; exports.directFetch = _chunkIBS6NI7Djs.directFetch; exports.fitLayeredLayoutToAspectRatio = _chunkLVE3BJ6Kjs.fitLayeredLayoutToAspectRatio; exports.getApiUrl = _chunkXH4IURUDjs.getApiUrl; exports.getAppUrl = _chunkXH4IURUDjs.getAppUrl; exports.getClientApiUrl = _chunkIB7DTXWGjs.getClientApiUrl; exports.getClientAppUrl = _chunkIB7DTXWGjs.getClientAppUrl; exports.getClientToken = _chunkLXKSUWAVjs.getClientToken; exports.getClientTrackablePages = _chunkIB7DTXWGjs.getClientTrackablePages; exports.getI18nLink = _chunkXH4IURUDjs.getI18nLink; exports.getPublicApiUrl = _chunkXH4IURUDjs.getPublicApiUrl; exports.getStripePublishableKey = _chunkXH4IURUDjs.getStripePublishableKey; exports.getTrackablePages = _chunkXH4IURUDjs.getTrackablePages; exports.registerTableGenerator = _chunkLVE3BJ6Kjs.registerTableGenerator; exports.tableGeneratorRegistry = _chunkLVE3BJ6Kjs.tableGeneratorRegistry; exports.useContentTableStructure = _chunkLVE3BJ6Kjs.useContentTableStructure; exports.useCustomD3Graph = _chunkLVE3BJ6Kjs.useCustomD3Graph; exports.useDataListRetriever = _chunkLVE3BJ6Kjs.useDataListRetriever; exports.useDebounce = _chunkLVE3BJ6Kjs.useDebounce; exports.useI18nDateFnsLocale = _chunkXH4IURUDjs.useI18nDateFnsLocale; exports.useI18nLocale = _chunkXH4IURUDjs.useI18nLocale; exports.useI18nRouter = _chunkXH4IURUDjs.useI18nRouter; exports.useI18nTranslations = _chunkXH4IURUDjs.useI18nTranslations; exports.useJsonApiConfig = _chunk3EPNHTMHjs.useJsonApiConfig; exports.useJsonApiConfigOptional = _chunk3EPNHTMHjs.useJsonApiConfigOptional; exports.useJsonApiGet = _chunkLVE3BJ6Kjs.useJsonApiGet; exports.useJsonApiMutation = _chunkLVE3BJ6Kjs.useJsonApiMutation; exports.useNotificationSync = _chunkLVE3BJ6Kjs.useNotificationSync; exports.useOAuthClient = _chunkLVE3BJ6Kjs.useOAuthClient; exports.useOAuthClients = _chunkLVE3BJ6Kjs.useOAuthClients; exports.useOAuthConsent = _chunkLVE3BJ6Kjs.useOAuthConsent; exports.usePageTracker = _chunkLVE3BJ6Kjs.usePageTracker; exports.usePageUrlGenerator = _chunkLVE3BJ6Kjs.usePageUrlGenerator; exports.useRehydration = _chunkLVE3BJ6Kjs.useRehydration; exports.useRehydrationList = _chunkLVE3BJ6Kjs.useRehydrationList; exports.useRoleTableStructure = _chunkLVE3BJ6Kjs.useRoleTableStructure; exports.useSocket = _chunkLVE3BJ6Kjs.useSocket; exports.useSubscriptionStatus = _chunkLVE3BJ6Kjs.useSubscriptionStatus; exports.useTableGenerator = _chunkLVE3BJ6Kjs.useTableGenerator; exports.useUrlRewriter = _chunkLVE3BJ6Kjs.useUrlRewriter; exports.useUserSearch = _chunkLVE3BJ6Kjs.useUserSearch; exports.useUserTableStructure = _chunkLVE3BJ6Kjs.useUserTableStructure;
|
|
129
129
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.mjs
CHANGED
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
useUrlRewriter,
|
|
28
28
|
useUserSearch,
|
|
29
29
|
useUserTableStructure
|
|
30
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-UQXE3SME.mjs";
|
|
31
31
|
import {
|
|
32
32
|
configureClientConfig,
|
|
33
33
|
configureI18n,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
useI18nLocale,
|
|
43
43
|
useI18nRouter,
|
|
44
44
|
useI18nTranslations
|
|
45
|
-
} from "../chunk-
|
|
45
|
+
} from "../chunk-VZKJIAND.mjs";
|
|
46
46
|
import {
|
|
47
47
|
ClientJsonApiDelete,
|
|
48
48
|
ClientJsonApiGet,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
getClientApiUrl,
|
|
55
55
|
getClientAppUrl,
|
|
56
56
|
getClientTrackablePages
|
|
57
|
-
} from "../chunk-
|
|
57
|
+
} from "../chunk-OSFYCSTW.mjs";
|
|
58
58
|
import {
|
|
59
59
|
getClientToken
|
|
60
60
|
} from "../chunk-AUXK7QSA.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
2
|
import React__default, { ReactNode, ReactElement, Dispatch, SetStateAction, ComponentType, FC, Component, JSX, ComponentPropsWithoutRef } from 'react';
|
|
3
3
|
import { M as ModuleWithPermissions, A as Action } from '../types-Bq_UA8Lg.mjs';
|
|
4
|
-
import { A as AuthComponent, P as PasskeyInterface, T as TotpAuthenticatorInterface, m as AiConnectionInterface, k as AiProviderRegistry, l as AiConnectionEnvDefaults } from '../
|
|
5
|
-
export { h as AiConnection, i as AiConnectionFields, n as AiConnectionInput, p as AiConnectionModule, o as AiConnectionService, j as AiProviderFieldDescriptor, b as getIcon, a as getIconByModule, c as getIconByModuleName, g as getInitials } from '../
|
|
6
|
-
import { e as RoleInterface, U as UserInterface, C as ContentInterface, c as CompanyInterface, b as CompanyInput, N as NotificationInterface } from '../notification.interface-
|
|
4
|
+
import { A as AuthComponent, P as PasskeyInterface, T as TotpAuthenticatorInterface, m as AiConnectionInterface, k as AiProviderRegistry, l as AiConnectionEnvDefaults, H as HandbookPageInterface, q as HandbookSectionInterface } from '../HandbookSectionInterface-BOxIdBdd.mjs';
|
|
5
|
+
export { h as AiConnection, i as AiConnectionFields, n as AiConnectionInput, p as AiConnectionModule, o as AiConnectionService, j as AiProviderFieldDescriptor, b as getIcon, a as getIconByModule, c as getIconByModuleName, g as getInitials } from '../HandbookSectionInterface-BOxIdBdd.mjs';
|
|
6
|
+
import { e as RoleInterface, U as UserInterface, C as ContentInterface, c as CompanyInterface, b as CompanyInput, N as NotificationInterface } from '../notification.interface-MnRt1Tjm.mjs';
|
|
7
7
|
import * as _blocknote_core from '@blocknote/core';
|
|
8
8
|
import { BlockNoteEditor, PartialBlock } from '@blocknote/core';
|
|
9
9
|
import { DefaultReactSuggestionItem, SuggestionMenuProps } from '@blocknote/react';
|
|
@@ -19,10 +19,10 @@ import * as react_hook_form from 'react-hook-form';
|
|
|
19
19
|
import { FieldValues, UseFormReturn, Path, ControllerRenderProps, ControllerFieldState } from 'react-hook-form';
|
|
20
20
|
import { DropzoneState, DropzoneOptions, FileRejection } from 'react-dropzone';
|
|
21
21
|
export { DropzoneOptions } from 'react-dropzone';
|
|
22
|
-
import { B as BreadcrumbItemData, a as HowToInterface, d as AssistantMessageInterface } from '../AssistantMessageInterface-
|
|
22
|
+
import { B as BreadcrumbItemData, a as HowToInterface, d as AssistantMessageInterface } from '../AssistantMessageInterface-Du3ShThp.mjs';
|
|
23
23
|
import { ColumnDef, ExpandedState } from '@tanstack/react-table';
|
|
24
24
|
import { J as JsonApiHydratedDataInterface, A as ApiDataInterface } from '../ApiDataInterface-BcZeXy5X.mjs';
|
|
25
|
-
import { b as AuthInterface } from '../auth.interface-
|
|
25
|
+
import { b as AuthInterface } from '../auth.interface-dR2-6gPM.mjs';
|
|
26
26
|
import { LucideIcon, Loader2Icon } from 'lucide-react';
|
|
27
27
|
import z from 'zod';
|
|
28
28
|
import { h as OnboardingCardRenderProps } from '../onboarding.interface-DVUOUC4y.mjs';
|
|
@@ -1841,6 +1841,21 @@ type HowToMultiSelectorProps = {
|
|
|
1841
1841
|
};
|
|
1842
1842
|
declare function HowToMultiSelector({ id, form, currentHowTo, label, placeholder, onChange, isRequired, }: HowToMultiSelectorProps): React$1.JSX.Element;
|
|
1843
1843
|
|
|
1844
|
+
type HowToReindexButtonProps = {
|
|
1845
|
+
refresh: () => Promise<void>;
|
|
1846
|
+
};
|
|
1847
|
+
/**
|
|
1848
|
+
* Re-queues every guide for chunking.
|
|
1849
|
+
*
|
|
1850
|
+
* Guides are chunked on create and update only, so one written before chunking
|
|
1851
|
+
* existed — or one whose chunks were dropped — is invisible to the help chat
|
|
1852
|
+
* with no way back in. This is the way back in.
|
|
1853
|
+
*
|
|
1854
|
+
* The control is a plain Button, not a trigger: it opens nothing, so the
|
|
1855
|
+
* render-prop composition rule for Base UI triggers does not apply here.
|
|
1856
|
+
*/
|
|
1857
|
+
declare function HowToReindexButton({ refresh }: HowToReindexButtonProps): React$1.JSX.Element;
|
|
1858
|
+
|
|
1844
1859
|
type HowToSelectorProps = {
|
|
1845
1860
|
id: string;
|
|
1846
1861
|
form: any;
|
|
@@ -1856,6 +1871,230 @@ type HowToListProps = {
|
|
|
1856
1871
|
};
|
|
1857
1872
|
declare function HowToList({ fullWidth }: HowToListProps): React$1.JSX.Element;
|
|
1858
1873
|
|
|
1874
|
+
/**
|
|
1875
|
+
* The administration route's entry point for the manual.
|
|
1876
|
+
*
|
|
1877
|
+
* `RoundPageContainer` moved down into `HandbookContents`, which is the only
|
|
1878
|
+
* component that can supply it: the container's title bar reads its heading
|
|
1879
|
+
* from `useSharedContext()`, so `HandbookProvider` has to wrap it, and the
|
|
1880
|
+
* provider's `functions` (the ask launcher, Sincronizza and the status line)
|
|
1881
|
+
* are built from the state `HandbookContents` holds. `HandbookAskContainer`
|
|
1882
|
+
* composes its own surface the same way.
|
|
1883
|
+
*/
|
|
1884
|
+
declare function HandbookAdminContainer(): React$1.JSX.Element;
|
|
1885
|
+
|
|
1886
|
+
type HandbookPageContainerProps = {
|
|
1887
|
+
handbookPageId: string;
|
|
1888
|
+
};
|
|
1889
|
+
/**
|
|
1890
|
+
* Fetches one page client-side from its id.
|
|
1891
|
+
*
|
|
1892
|
+
* The sibling how-to detail uses a server page that dehydrates into a provider.
|
|
1893
|
+
* This one does not, for the same reason the ask surface does not: a handbook
|
|
1894
|
+
* page is read-only and never edited, so there is no shared mutable state for a
|
|
1895
|
+
* provider to hold, and an id string crosses the server/client boundary without
|
|
1896
|
+
* any dehydrate/rehydrate ceremony.
|
|
1897
|
+
*
|
|
1898
|
+
* Three loads, deliberately separate: the page itself, the whole ordered page
|
|
1899
|
+
* list (the navigator and the prev/next pair need it) and the sections. The
|
|
1900
|
+
* section load has its own `try` — a failing sections endpoint degrades the
|
|
1901
|
+
* navigator to raw keys, and must never take the page being read down with it.
|
|
1902
|
+
*/
|
|
1903
|
+
declare function HandbookPageContainer({ handbookPageId }: HandbookPageContainerProps): React$1.JSX.Element;
|
|
1904
|
+
|
|
1905
|
+
/**
|
|
1906
|
+
* The handbook ask surface.
|
|
1907
|
+
*
|
|
1908
|
+
* Composition is copied from `AssistantPageContainer` — the full-page assistant
|
|
1909
|
+
* — top to bottom: the thread list lives in the page's details panel (which
|
|
1910
|
+
* renders it on the trailing side) and the conversation fills the card. The
|
|
1911
|
+
* transcript is rendered by the SAME components as every other chat in the
|
|
1912
|
+
* product (`AssistantSidebar`, `AssistantThread`),
|
|
1913
|
+
* which take their data as plain props and are typed against the structural
|
|
1914
|
+
* `AssistantInterface` / `AssistantMessageInterface` that `HandbookThread` and
|
|
1915
|
+
* `HandbookThreadMessage` implement.
|
|
1916
|
+
*
|
|
1917
|
+
* Two deliberate deviations from that reference, both forced by the data source:
|
|
1918
|
+
*
|
|
1919
|
+
* 1. It cannot MOUNT `AssistantPageContainer`, which reads
|
|
1920
|
+
* `useAssistantContext()`. That provider is bound to the `Assistant` entity,
|
|
1921
|
+
* which is company scoped, and a platform administrator has no company — so
|
|
1922
|
+
* the handbook owns its own threads, and the state that provider would hold
|
|
1923
|
+
* lives in `useHandbookAsk` — shared with the ask sheet, which is the same
|
|
1924
|
+
* conversation on a different surface.
|
|
1925
|
+
* 2. The composer is the plain `AssistantComposer`, not the BlockNote one. The
|
|
1926
|
+
* BlockNote composer exists so a first message can carry `@`-mentions of
|
|
1927
|
+
* product entities; the handbook agent answers from documentation pages and
|
|
1928
|
+
* has no entities to mention, so that machinery would be dead weight.
|
|
1929
|
+
*
|
|
1930
|
+
* Every label is passed in from the `handbook.*` namespace. The assistant's own
|
|
1931
|
+
* copy ("New assistant", "no assistants yet", "ask me about a matter, a client,
|
|
1932
|
+
* a document…") is wrong on this surface, so the shared parts take optional
|
|
1933
|
+
* label props that default to their existing text.
|
|
1934
|
+
*/
|
|
1935
|
+
type HandbookAskContainerProps = {
|
|
1936
|
+
/** Thread to open on mount, when the route carries one. */
|
|
1937
|
+
handbookThreadId?: string;
|
|
1938
|
+
};
|
|
1939
|
+
declare function HandbookAskContainer({ handbookThreadId }?: HandbookAskContainerProps): React$1.JSX.Element;
|
|
1940
|
+
|
|
1941
|
+
/**
|
|
1942
|
+
* The ask, reachable from every handbook surface.
|
|
1943
|
+
*
|
|
1944
|
+
* It is the same conversation as `/administration/handbook/chat`, not a second
|
|
1945
|
+
* one: both mount `useHandbookAsk`, so the threads listed here are the threads
|
|
1946
|
+
* listed there and a question asked in the sheet is readable on the route. Only
|
|
1947
|
+
* two things differ.
|
|
1948
|
+
*
|
|
1949
|
+
* 1. No url sync. A sheet floats over the page a reader is on; rewriting the
|
|
1950
|
+
* address under it would send them somewhere else the moment they close it.
|
|
1951
|
+
* `syncUrl: false` is exactly that difference.
|
|
1952
|
+
* 2. No thread sidebar. The full list belongs to the route — the sheet carries
|
|
1953
|
+
* the five most recent threads in a menu and a link to the rest, which is
|
|
1954
|
+
* what a side panel has room for.
|
|
1955
|
+
*
|
|
1956
|
+
* On the reader the sheet also knows which page is open, and offers to confine
|
|
1957
|
+
* the answer to it. The chip is off by default: a reader asking from inside a
|
|
1958
|
+
* page usually still wants the whole manual to answer, and the narrow search is
|
|
1959
|
+
* the deliberate choice.
|
|
1960
|
+
*/
|
|
1961
|
+
declare function HandbookAskSheet({ handbookPageId }?: HandbookAskSheetProps): React$1.JSX.Element;
|
|
1962
|
+
type HandbookAskSheetProps = {
|
|
1963
|
+
/**
|
|
1964
|
+
* The page the reader has open. Present only on the reader; when set, the
|
|
1965
|
+
* sheet offers to confine the next question to that page.
|
|
1966
|
+
*/
|
|
1967
|
+
handbookPageId?: string;
|
|
1968
|
+
};
|
|
1969
|
+
|
|
1970
|
+
type HandbookPageDetailsProps = {
|
|
1971
|
+
handbookPage: HandbookPageInterface;
|
|
1972
|
+
};
|
|
1973
|
+
/**
|
|
1974
|
+
* `content` is markdown read from a file and rendered read-only. It is NOT a
|
|
1975
|
+
* BlockNote field: nothing edits it in the app, so no editor and no
|
|
1976
|
+
* blocks-to-text conversion is involved.
|
|
1977
|
+
*
|
|
1978
|
+
* The title and the file path are NOT rendered here. The reader's header owns
|
|
1979
|
+
* both — it names the section and the page — and repeating them above the
|
|
1980
|
+
* markdown's own H1 printed the title twice on every page.
|
|
1981
|
+
*
|
|
1982
|
+
* The body comes from `handbookPageContent`, so a page whose translation the
|
|
1983
|
+
* ingest matched renders in the reader's language and one without it falls back
|
|
1984
|
+
* to the English file. This is the detail read, which is the only read that
|
|
1985
|
+
* carries `displayContent` at all.
|
|
1986
|
+
*/
|
|
1987
|
+
declare function HandbookPageDetails({ handbookPage }: HandbookPageDetailsProps): React$1.JSX.Element;
|
|
1988
|
+
|
|
1989
|
+
type HandbookPageNeighboursProps = {
|
|
1990
|
+
pages: HandbookPageInterface[];
|
|
1991
|
+
currentId: string;
|
|
1992
|
+
};
|
|
1993
|
+
/**
|
|
1994
|
+
* Previous and next, at the foot of the page.
|
|
1995
|
+
*
|
|
1996
|
+
* Walks the same ordering the navigator renders — section key, then `order`,
|
|
1997
|
+
* which is the repo-relative path — so reading straight through the manual with
|
|
1998
|
+
* these two links reproduces the contents page from top to bottom. Below `md`
|
|
1999
|
+
* the navigator is hidden and this pair is the only way forward that is not the
|
|
2000
|
+
* breadcrumb.
|
|
2001
|
+
*
|
|
2002
|
+
* Nothing renders at either end of the list: no disabled control, no empty slot.
|
|
2003
|
+
*
|
|
2004
|
+
* The ordering is read off `section` and `order`, which stay English; only the
|
|
2005
|
+
* two labels are translated.
|
|
2006
|
+
*/
|
|
2007
|
+
declare function HandbookPageNeighbours({ pages, currentId }: HandbookPageNeighboursProps): React$1.JSX.Element | null;
|
|
2008
|
+
|
|
2009
|
+
type HandbookPageTocProps = {
|
|
2010
|
+
/** The `id` of the element holding the rendered markdown. */
|
|
2011
|
+
containerId: string;
|
|
2012
|
+
};
|
|
2013
|
+
/**
|
|
2014
|
+
* The heading index of the page being read.
|
|
2015
|
+
*
|
|
2016
|
+
* Follows `HowToTableOfContents` (apps/web how-to detail): the same
|
|
2017
|
+
* IntersectionObserver tracking, the same rootMargin, the same
|
|
2018
|
+
* topmost-visible-wins rule and the same smooth scroll on click. Only the
|
|
2019
|
+
* heading SOURCE differs — the how-to reads BlockNote blocks and assigns the
|
|
2020
|
+
* ids itself, this one reads the ids `rehype-slug` already put on the rendered
|
|
2021
|
+
* markdown, so the entries are anchors with a real `href` rather than buttons.
|
|
2022
|
+
*/
|
|
2023
|
+
declare function HandbookPageToc({ containerId }: HandbookPageTocProps): React$1.JSX.Element | null;
|
|
2024
|
+
|
|
2025
|
+
type HandbookPageNavigatorProps = {
|
|
2026
|
+
pages: HandbookPageInterface[];
|
|
2027
|
+
sections: HandbookSectionInterface[];
|
|
2028
|
+
currentId: string;
|
|
2029
|
+
};
|
|
2030
|
+
/**
|
|
2031
|
+
* The manual's section tree, beside the page being read.
|
|
2032
|
+
*
|
|
2033
|
+
* A list of links, NOT `RoundPageContainer`'s `layout="rail"`: the rail renders
|
|
2034
|
+
* a `TabsContent` per tab, so 120 pages would mean 120 content nodes and a
|
|
2035
|
+
* client-side tab switch. A manual wants 120 real, shareable URLs and a working
|
|
2036
|
+
* back button, which is what an anchor gives and a tab does not.
|
|
2037
|
+
*
|
|
2038
|
+
* Degrades the same way the contents surface does: a page whose `section`
|
|
2039
|
+
* matches no loaded section — or has none at all — lands in a trailing group,
|
|
2040
|
+
* and if no sections loaded at all the distinct page keys are used as written.
|
|
2041
|
+
*/
|
|
2042
|
+
declare function HandbookPageNavigator({ pages, sections, currentId }: HandbookPageNavigatorProps): React$1.JSX.Element | null;
|
|
2043
|
+
|
|
2044
|
+
type HandbookSyncButtonProps = {
|
|
2045
|
+
refresh: () => Promise<void>;
|
|
2046
|
+
};
|
|
2047
|
+
/**
|
|
2048
|
+
* The sync control is a plain Button, not a trigger: it opens nothing, so the
|
|
2049
|
+
* render-prop composition rule for Base UI triggers does not apply here.
|
|
2050
|
+
*/
|
|
2051
|
+
declare function HandbookSyncButton({ refresh }: HandbookSyncButtonProps): React$1.JSX.Element;
|
|
2052
|
+
|
|
2053
|
+
/**
|
|
2054
|
+
* The contents surface: the manual's table of contents, replacing the four
|
|
2055
|
+
* column table of indexed files.
|
|
2056
|
+
*
|
|
2057
|
+
* It owns `RoundPageContainer` rather than being handed one, because
|
|
2058
|
+
* `RoundPageContainerTitle` reads its heading from `useSharedContext()` and the
|
|
2059
|
+
* provider that supplies it therefore has to be an ANCESTOR of the container —
|
|
2060
|
+
* exactly the composition `HandbookAskContainer` already uses. See the
|
|
2061
|
+
* hand-off note: the plan put the provider inside the container, which throws.
|
|
2062
|
+
*/
|
|
2063
|
+
declare function HandbookContents(): React$1.JSX.Element;
|
|
2064
|
+
|
|
2065
|
+
type HandbookSectionGroupProps = {
|
|
2066
|
+
/** Rendered as the section's `h2`. Already prettified and translated by the caller. */
|
|
2067
|
+
title: string;
|
|
2068
|
+
/** The README blurb for the section, already translated by the caller. */
|
|
2069
|
+
summary?: string;
|
|
2070
|
+
/** The section's pages, already sorted by `order` by the caller. */
|
|
2071
|
+
pages: HandbookPageInterface[];
|
|
2072
|
+
};
|
|
2073
|
+
/**
|
|
2074
|
+
* One section of the contents page: a heading, its blurb, and its pages.
|
|
2075
|
+
*
|
|
2076
|
+
* A page whose path nests below the section's own directory
|
|
2077
|
+
* (`02-framework/rulebook/frontend/01-models.md` inside `02-framework`) is not
|
|
2078
|
+
* a peer of the section's direct pages, so it renders under a micro-label
|
|
2079
|
+
* naming the intermediate directories. The nesting is read off the path rather
|
|
2080
|
+
* than stored, because the filesystem is the only place it is declared.
|
|
2081
|
+
*/
|
|
2082
|
+
declare function HandbookSectionGroup({ title, summary, pages }: HandbookSectionGroupProps): React$1.JSX.Element;
|
|
2083
|
+
|
|
2084
|
+
type HandbookIndexStatusProps = {
|
|
2085
|
+
pages: HandbookPageInterface[];
|
|
2086
|
+
};
|
|
2087
|
+
/**
|
|
2088
|
+
* The one line of index bookkeeping the reading surface keeps.
|
|
2089
|
+
*
|
|
2090
|
+
* Word counts and per-page AI badges left the contents page; how many pages
|
|
2091
|
+
* there are and when they were last synced did not, because that is the one
|
|
2092
|
+
* question the administrator who pressed Sincronizza actually has. Both values
|
|
2093
|
+
* are derived from the loaded pages — nothing new is stored for either, and
|
|
2094
|
+
* `updatedAt` is framework-managed.
|
|
2095
|
+
*/
|
|
2096
|
+
declare function HandbookIndexStatus({ pages }: HandbookIndexStatusProps): React$1.JSX.Element;
|
|
2097
|
+
|
|
1859
2098
|
/**
|
|
1860
2099
|
* Render slot for `approval-request` messages. The approval card lives in the
|
|
1861
2100
|
* consuming app (it depends on the app-registered AssistantAction module), so
|
|
@@ -1961,8 +2200,20 @@ interface Props$5 {
|
|
|
1961
2200
|
disabled?: boolean;
|
|
1962
2201
|
value?: string;
|
|
1963
2202
|
onValueChange?: (v: string) => void;
|
|
2203
|
+
/**
|
|
2204
|
+
* Textarea placeholder. Defaults to the assistant's own copy ("ask me about a
|
|
2205
|
+
* matter, a client, a document…"), which is wrong on any surface that is not
|
|
2206
|
+
* the law-firm assistant.
|
|
2207
|
+
*/
|
|
2208
|
+
placeholder?: string;
|
|
2209
|
+
/**
|
|
2210
|
+
* Label of the send button. Defaults to `ui.buttons.save`, which reads
|
|
2211
|
+
* "Salva" — correct nowhere in a chat, kept only so existing callers do not
|
|
2212
|
+
* move.
|
|
2213
|
+
*/
|
|
2214
|
+
sendLabel?: string;
|
|
1964
2215
|
}
|
|
1965
|
-
declare function AssistantComposer({ onSend, disabled, value: controlled, onValueChange }: Props$5): React$1.JSX.Element;
|
|
2216
|
+
declare function AssistantComposer({ onSend, disabled, value: controlled, onValueChange, placeholder, sendLabel, }: Props$5): React$1.JSX.Element;
|
|
1966
2217
|
|
|
1967
2218
|
interface Props$4 {
|
|
1968
2219
|
messages: AssistantMessageInterface[];
|
|
@@ -3492,4 +3743,4 @@ interface MultipleSelectorRef {
|
|
|
3492
3743
|
declare function useDebounce<T>(value: T, delay?: number): T;
|
|
3493
3744
|
declare const MultipleSelector: React$1.ForwardRefExoticComponent<MultipleSelectorProps & React$1.RefAttributes<MultipleSelectorRef>>;
|
|
3494
3745
|
|
|
3495
|
-
export { ADMINISTRATION_I18N_KEYS, AI_CONNECTIONS_ADMIN_PAGE_URL, AI_CONNECTIONS_I18N_KEYS, AI_CONNECTION_TYPE_ORDER, AcceptInvitation, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivateAccount, AddUserToRole, AdminCompanyContainer, type AdminGroup, AdminIndexContainer, AdminIndexGrid, type AdminSection, AdminUsersList, AiConnectionDeleter, type AiConnectionDeleterProps, AiConnectionEditor, type AiConnectionEditorProps, AiConnectionEnvDefaults, AiConnectionInterface, AiConnectionTypeCard, type AiConnectionTypeCardProps, AiConnectionsContainer, type AiConnectionsContextType, AiConnectionsProvider, type AiConnectionsProviderProps, AiProviderRegistry, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AllUsersListContainer, AllowedUsersDetails, ApprovalActionCard, type ApprovalActionRenderer, AssistantBlockNoteComposer, AssistantComposer, AssistantContainer, AssistantContainerWithApprovals, AssistantPageContainer, AssistantThread, AttributeElement, AuthContainer, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, BackupCodesDialog, Badge, type BadgeProps, type BlockNoteAiConfig, BlockNoteEditorContainer, BlockNoteEditorMentionHoverCard, BlockNoteEditorMentionSuggestionMenu, type BlockNoteEditorProps, BlockNoteViewerContainer, KanbanBoard as Board, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbNavigation, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, KanbanColumn as Column, KanbanColumnHandle as ColumnHandle, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommonAddTrigger, CommonAssociationCommandDialog, CommonAssociationTrigger, CommonDeleter, CommonEditorButtons, CommonEditorDiscardDialog, CommonEditorHeader, CommonEditorTrigger, CompaniesList, CompaniesListContainer, CompanyConfigurationEditor, CompanyContainer, CompanyContent, CompanyDeleter, CompanyDetails, CompanyEditor, CompanyUsersList, ConfirmDialog, type ConfirmDialogProps, ContentListGrid, type ContentListGridProps, ContentListTable, ContentTableSearch, ContentTitle, ContentsList, ContentsListById, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContributorsList, Cookies, CurrencyInput, type CurrencyInputProps, DatePickerPopover, DateRangeSelector, DetailField, type DetailFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisableTwoFactorDialog, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableAvatar, EditorSheet, type EditorSheetProps, EmptyState, EntityAvatar, EntityHero, EntityHeroAvatar, EntityHeroLayout, EntityHeroMetaRow, EntityMultiSelector, EntitySection, EntitySelector, ErrorDetails, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileInput, FileUploader, FileUploaderContent, FileUploaderItem, FiscalDataDisplay, type FiscalDataHandle, ForgotPassword, Form, FormBlockNote, FormBody, FormCheckbox, FormCol, FormDate, FormDateTime, FormFeatures, FormFieldWrapper, FormInput, FormPassword, FormPlaceAutocomplete, FormRoles, FormRow, FormSection, FormSelect, FormSlider, FormSwitch, FormTextarea, GdprConsentCheckbox, GdprConsentSection, type GenerateTableStructureParams, HEADER_ROW_MIN_H, Header, HoverCard, HoverCardContent, HoverCardTrigger, HowToCommand, HowToCommandViewer, HowToContainer, HowToContent, HowToDeleter, HowToDetails, HowToEditor, HowToList, HowToListContainer, HowToMultiSelector, HowToSelector, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, ItalianFiscalData, ItalianFiscalDataDisplay, type ItalianFiscalDataProps, KanbanItem as Item, KanbanItemHandle as ItemHandle, KanbanRoot as Kanban, KanbanBoard, KanbanColumn, KanbanColumnHandle, KanbanItem, KanbanItemHandle, KanbanOverlay, Label, LandingComponent, Link, type LinkProps, Login, Logout, type MentionHoverCardProps, type MentionInsertFn, type MentionItem, type MentionNameResolver, type MentionRenderProps, type MentionRenderer, type MentionResolveFn, type MentionResolveResult, type MentionSearchFn, type MentionSuggestionItem, MessageItem, MessageList, MessageSourcesPanel, MicroLabel, type MicroLabelProps, MobileNavigationBar, ModeToggleSwitch, MultiFileUploader, MultiSelect, MultipleSelector, type MultipleSelectorProps, type MultipleSelectorRef, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NotificationErrorBoundary, NotificationMenuItem, NotificationModal, NotificationToast, NotificationsList, NotificationsListContainer, OAuthClientCard, type OAuthClientCardProps, OAuthClientDetail, type OAuthClientDetailProps, OAuthClientForm, type OAuthClientFormProps, OAuthClientList, type OAuthClientListProps, OAuthClientSecretDisplay, type OAuthClientSecretDisplayProps, OAuthConsentActions, type OAuthConsentActionsProps, OAuthConsentHeader, type OAuthConsentHeaderProps, OAuthConsentScreen, type OAuthConsentScreenProps, OAuthRedirectUriInput, type OAuthRedirectUriInputProps, OAuthScopeList, type OAuthScopeListProps, OAuthScopeSelector, type OAuthScopeSelectorProps, OnboardingCard, type Option, KanbanOverlay as Overlay, PageContainer, PageContainerContentDetails, type PageContainerItems, PageContentContainer, PageSection, type PartitionedTabs, PasskeyButton, PasskeyList, PasskeySetupDialog, PasswordInput, type PasswordInputProps, type PlaceAddressComponents, type PlaceSuggestion, PlatformUsersContainer, PlatformUsersList, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, PushNotificationProvider, RadioGroup, RadioGroupItem, RbacByRoleContainer, RbacContainer, RbacPermissionCell, RbacPermissionPicker, ReactMarkdownContainer, RecentPagesNavigator, ReferralCodeCapture, ReferralDialog, type ReferralDialogProps, type ReferralDialogTranslations, ReferralWidget, type ReferralWidgetProps, type ReferralWidgetTranslations, RefreshUser, RelevantContentsList, RelevantUsersList, RemoveUserFromRole, ResetPassword, ResizableHandle, ResizablePanel, ResizablePanelGroup, RoleContainer, RoleDetails, RoleUsersList, RolesList, KanbanRoot as Root, RoundPageContainer, RoundPageContainerTitle, ScrollArea, ScrollBar, SectionHeader, type SectionHeaderProps, SecurityContainer, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, type Tab, Table, TableBody, TableCaption, TableCell, TableCellAvatar, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContainer, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, TokenStatusIndicator, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TotpAuthenticatorList, TotpInput, TotpSetupDialog, TwoFactorChallenge, TwoFactorSettings, UserAvatar, UserAvatarEditor, UserAvatarList, UserContainer, UserContent, UserDeleter, UserEditor, UserIndexContainer, UserIndexDetails, UserListInAdd, UserMultiSelect, UserReactivator, UserResentInvitationEmail, UserRoleAdd, UserRolesList, UserSearchPopover, UserSelector, UserStanadaloneDetails, UsersList, UsersListByContentIds, UsersListContainer, WaitlistConfirmation, WaitlistForm, WaitlistHeroSection, WaitlistList, WaitlistQuestionnaireRenderer, WaitlistSuccessState, badgeVariants, buttonVariants, cellComponent, cellDate, cellDateTime, cellId, cellLink, cellUrl, createMentionInlineContentSpec, errorToast, generateNotificationData, mentionDataAttrs, navigationMenuTriggerStyle, nextDateRange, parseFiscalData, parseMentionElement, partitionTabs, spinnerVariants, tabsListVariants, toggleVariants, triggerAssociationToast, useAiConnections, useCarousel, useComboboxAnchor, useDebounce, useEditorDialog, useFileUpload, useMentionInsert, useSidebar };
|
|
3746
|
+
export { ADMINISTRATION_I18N_KEYS, AI_CONNECTIONS_ADMIN_PAGE_URL, AI_CONNECTIONS_I18N_KEYS, AI_CONNECTION_TYPE_ORDER, AcceptInvitation, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivateAccount, AddUserToRole, AdminCompanyContainer, type AdminGroup, AdminIndexContainer, AdminIndexGrid, type AdminSection, AdminUsersList, AiConnectionDeleter, type AiConnectionDeleterProps, AiConnectionEditor, type AiConnectionEditorProps, AiConnectionEnvDefaults, AiConnectionInterface, AiConnectionTypeCard, type AiConnectionTypeCardProps, AiConnectionsContainer, type AiConnectionsContextType, AiConnectionsProvider, type AiConnectionsProviderProps, AiProviderRegistry, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AllUsersListContainer, AllowedUsersDetails, ApprovalActionCard, type ApprovalActionRenderer, AssistantBlockNoteComposer, AssistantComposer, AssistantContainer, AssistantContainerWithApprovals, AssistantPageContainer, AssistantThread, AttributeElement, AuthContainer, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, BackupCodesDialog, Badge, type BadgeProps, type BlockNoteAiConfig, BlockNoteEditorContainer, BlockNoteEditorMentionHoverCard, BlockNoteEditorMentionSuggestionMenu, type BlockNoteEditorProps, BlockNoteViewerContainer, KanbanBoard as Board, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbNavigation, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, KanbanColumn as Column, KanbanColumnHandle as ColumnHandle, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommonAddTrigger, CommonAssociationCommandDialog, CommonAssociationTrigger, CommonDeleter, CommonEditorButtons, CommonEditorDiscardDialog, CommonEditorHeader, CommonEditorTrigger, CompaniesList, CompaniesListContainer, CompanyConfigurationEditor, CompanyContainer, CompanyContent, CompanyDeleter, CompanyDetails, CompanyEditor, CompanyUsersList, ConfirmDialog, type ConfirmDialogProps, ContentListGrid, type ContentListGridProps, ContentListTable, ContentTableSearch, ContentTitle, ContentsList, ContentsListById, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContributorsList, Cookies, CurrencyInput, type CurrencyInputProps, DatePickerPopover, DateRangeSelector, DetailField, type DetailFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisableTwoFactorDialog, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableAvatar, EditorSheet, type EditorSheetProps, EmptyState, EntityAvatar, EntityHero, EntityHeroAvatar, EntityHeroLayout, EntityHeroMetaRow, EntityMultiSelector, EntitySection, EntitySelector, ErrorDetails, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileInput, FileUploader, FileUploaderContent, FileUploaderItem, FiscalDataDisplay, type FiscalDataHandle, ForgotPassword, Form, FormBlockNote, FormBody, FormCheckbox, FormCol, FormDate, FormDateTime, FormFeatures, FormFieldWrapper, FormInput, FormPassword, FormPlaceAutocomplete, FormRoles, FormRow, FormSection, FormSelect, FormSlider, FormSwitch, FormTextarea, GdprConsentCheckbox, GdprConsentSection, type GenerateTableStructureParams, HEADER_ROW_MIN_H, HandbookAdminContainer, HandbookAskContainer, HandbookAskSheet, HandbookContents, HandbookIndexStatus, HandbookPageContainer, HandbookPageDetails, HandbookPageNavigator, HandbookPageNeighbours, HandbookPageToc, HandbookSectionGroup, HandbookSyncButton, Header, HoverCard, HoverCardContent, HoverCardTrigger, HowToCommand, HowToCommandViewer, HowToContainer, HowToContent, HowToDeleter, HowToDetails, HowToEditor, HowToList, HowToListContainer, HowToMultiSelector, HowToReindexButton, HowToSelector, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, ItalianFiscalData, ItalianFiscalDataDisplay, type ItalianFiscalDataProps, KanbanItem as Item, KanbanItemHandle as ItemHandle, KanbanRoot as Kanban, KanbanBoard, KanbanColumn, KanbanColumnHandle, KanbanItem, KanbanItemHandle, KanbanOverlay, Label, LandingComponent, Link, type LinkProps, Login, Logout, type MentionHoverCardProps, type MentionInsertFn, type MentionItem, type MentionNameResolver, type MentionRenderProps, type MentionRenderer, type MentionResolveFn, type MentionResolveResult, type MentionSearchFn, type MentionSuggestionItem, MessageItem, MessageList, MessageSourcesPanel, MicroLabel, type MicroLabelProps, MobileNavigationBar, ModeToggleSwitch, MultiFileUploader, MultiSelect, MultipleSelector, type MultipleSelectorProps, type MultipleSelectorRef, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NotificationErrorBoundary, NotificationMenuItem, NotificationModal, NotificationToast, NotificationsList, NotificationsListContainer, OAuthClientCard, type OAuthClientCardProps, OAuthClientDetail, type OAuthClientDetailProps, OAuthClientForm, type OAuthClientFormProps, OAuthClientList, type OAuthClientListProps, OAuthClientSecretDisplay, type OAuthClientSecretDisplayProps, OAuthConsentActions, type OAuthConsentActionsProps, OAuthConsentHeader, type OAuthConsentHeaderProps, OAuthConsentScreen, type OAuthConsentScreenProps, OAuthRedirectUriInput, type OAuthRedirectUriInputProps, OAuthScopeList, type OAuthScopeListProps, OAuthScopeSelector, type OAuthScopeSelectorProps, OnboardingCard, type Option, KanbanOverlay as Overlay, PageContainer, PageContainerContentDetails, type PageContainerItems, PageContentContainer, PageSection, type PartitionedTabs, PasskeyButton, PasskeyList, PasskeySetupDialog, PasswordInput, type PasswordInputProps, type PlaceAddressComponents, type PlaceSuggestion, PlatformUsersContainer, PlatformUsersList, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, PushNotificationProvider, RadioGroup, RadioGroupItem, RbacByRoleContainer, RbacContainer, RbacPermissionCell, RbacPermissionPicker, ReactMarkdownContainer, RecentPagesNavigator, ReferralCodeCapture, ReferralDialog, type ReferralDialogProps, type ReferralDialogTranslations, ReferralWidget, type ReferralWidgetProps, type ReferralWidgetTranslations, RefreshUser, RelevantContentsList, RelevantUsersList, RemoveUserFromRole, ResetPassword, ResizableHandle, ResizablePanel, ResizablePanelGroup, RoleContainer, RoleDetails, RoleUsersList, RolesList, KanbanRoot as Root, RoundPageContainer, RoundPageContainerTitle, ScrollArea, ScrollBar, SectionHeader, type SectionHeaderProps, SecurityContainer, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, type Tab, Table, TableBody, TableCaption, TableCell, TableCellAvatar, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContainer, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, TokenStatusIndicator, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TotpAuthenticatorList, TotpInput, TotpSetupDialog, TwoFactorChallenge, TwoFactorSettings, UserAvatar, UserAvatarEditor, UserAvatarList, UserContainer, UserContent, UserDeleter, UserEditor, UserIndexContainer, UserIndexDetails, UserListInAdd, UserMultiSelect, UserReactivator, UserResentInvitationEmail, UserRoleAdd, UserRolesList, UserSearchPopover, UserSelector, UserStanadaloneDetails, UsersList, UsersListByContentIds, UsersListContainer, WaitlistConfirmation, WaitlistForm, WaitlistHeroSection, WaitlistList, WaitlistQuestionnaireRenderer, WaitlistSuccessState, badgeVariants, buttonVariants, cellComponent, cellDate, cellDateTime, cellId, cellLink, cellUrl, createMentionInlineContentSpec, errorToast, generateNotificationData, mentionDataAttrs, navigationMenuTriggerStyle, nextDateRange, parseFiscalData, parseMentionElement, partitionTabs, spinnerVariants, tabsListVariants, toggleVariants, triggerAssociationToast, useAiConnections, useCarousel, useComboboxAnchor, useDebounce, useEditorDialog, useFileUpload, useMentionInsert, useSidebar };
|