@basedash/embed 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/embed.ts","../src/react/index.tsx"],"names":["createContext","useRef","useState","useEffect","useCallback","useMemo","jsx","useContext","forwardRef","BasedashApp","BasedashChat","BasedashDashboards","BasedashInsights","BasedashAutomations","BasedashSharedDashboard","AuthenticatedBasedashFrame","Fragment","BasedashFrame","jsxs"],"mappings":"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","file":"react.cjs","sourcesContent":["export const DEFAULT_BASEDASH_URL = \"https://charts.basedash.com\";\n\nexport const EMBED_QUERY_PARAMS = {\n theme: \"theme\",\n hideOrgName: \"hide_org_name\",\n hideChat: \"hide_chat\",\n hideDashboards: \"hide_dashboards\",\n hideInsights: \"hide_insights\",\n hideAutomations: \"hide_automations\",\n hideSuggestedPrompts: \"hide_suggested_prompts\",\n} as const;\n\nexport type BasedashTheme = \"light\" | \"dark\" | \"auto\";\n\nexport type BasedashRole = \"ADMIN\" | \"MEMBER\";\n\nexport interface EmbedUser {\n email: string;\n firstName?: string;\n lastName?: string;\n role?: BasedashRole;\n /**\n * Reserved for future group synchronization support in Basedash.\n */\n groups?: string[];\n}\n\nexport interface EmbedOptions {\n theme?: BasedashTheme;\n hideOrgName?: boolean;\n hideChat?: boolean;\n hideDashboards?: boolean;\n hideInsights?: boolean;\n hideAutomations?: boolean;\n hideSuggestedPrompts?: boolean;\n}\n\nexport interface BuildEmbedUrlOptions {\n token: string;\n options?: EmbedOptions;\n /**\n * Override this when embedding a self-hosted Basedash instance.\n *\n * @default \"https://charts.basedash.com\"\n */\n instanceUrl?: string;\n}\n\nexport interface BuildSharedDashboardUrlOptions {\n publicSharingLinkId: string;\n /**\n * A token created with `createDashboardFilterToken` from\n * `@basedash/embed/server`.\n */\n filterToken?: string;\n /**\n * Override this when embedding a self-hosted Basedash instance.\n *\n * @default \"https://charts.basedash.com\"\n */\n instanceUrl?: string;\n}\n\nexport const DEFAULT_EMBED_OPTIONS = {\n theme: \"auto\",\n hideOrgName: false,\n hideChat: false,\n hideDashboards: false,\n hideInsights: false,\n hideAutomations: false,\n hideSuggestedPrompts: false,\n} as const satisfies Required<EmbedOptions>;\n\nexport const CHAT_EMBED_OPTIONS = {\n ...DEFAULT_EMBED_OPTIONS,\n hideOrgName: true,\n hideDashboards: true,\n hideInsights: true,\n hideAutomations: true,\n} as const satisfies Required<EmbedOptions>;\n\nexport const DASHBOARDS_EMBED_OPTIONS = {\n ...DEFAULT_EMBED_OPTIONS,\n hideOrgName: true,\n hideChat: true,\n hideInsights: true,\n hideAutomations: true,\n} as const satisfies Required<EmbedOptions>;\n\nexport const INSIGHTS_EMBED_OPTIONS = {\n ...DEFAULT_EMBED_OPTIONS,\n hideOrgName: true,\n hideChat: true,\n hideDashboards: true,\n hideAutomations: true,\n} as const satisfies Required<EmbedOptions>;\n\nexport const AUTOMATIONS_EMBED_OPTIONS = {\n ...DEFAULT_EMBED_OPTIONS,\n hideOrgName: true,\n hideChat: true,\n hideDashboards: true,\n hideInsights: true,\n} as const satisfies Required<EmbedOptions>;\n\nexport function buildEmbedUrl({\n token,\n options,\n instanceUrl = DEFAULT_BASEDASH_URL,\n}: BuildEmbedUrlOptions): string {\n assertNonEmpty(token, \"token\");\n\n const url = createInstanceUrl(instanceUrl, \"api/sso/jwt\");\n const resolvedOptions: Required<EmbedOptions> = {\n theme: options?.theme ?? DEFAULT_EMBED_OPTIONS.theme,\n hideOrgName:\n options?.hideOrgName ?? DEFAULT_EMBED_OPTIONS.hideOrgName,\n hideChat: options?.hideChat ?? DEFAULT_EMBED_OPTIONS.hideChat,\n hideDashboards:\n options?.hideDashboards ?? DEFAULT_EMBED_OPTIONS.hideDashboards,\n hideInsights:\n options?.hideInsights ?? DEFAULT_EMBED_OPTIONS.hideInsights,\n hideAutomations:\n options?.hideAutomations ?? DEFAULT_EMBED_OPTIONS.hideAutomations,\n hideSuggestedPrompts:\n options?.hideSuggestedPrompts ??\n DEFAULT_EMBED_OPTIONS.hideSuggestedPrompts,\n };\n\n url.searchParams.set(\"jwt\", token);\n url.searchParams.set(EMBED_QUERY_PARAMS.theme, resolvedOptions.theme);\n url.searchParams.set(\n EMBED_QUERY_PARAMS.hideOrgName,\n String(resolvedOptions.hideOrgName),\n );\n url.searchParams.set(\n EMBED_QUERY_PARAMS.hideChat,\n String(resolvedOptions.hideChat),\n );\n url.searchParams.set(\n EMBED_QUERY_PARAMS.hideDashboards,\n String(resolvedOptions.hideDashboards),\n );\n url.searchParams.set(\n EMBED_QUERY_PARAMS.hideInsights,\n String(resolvedOptions.hideInsights),\n );\n url.searchParams.set(\n EMBED_QUERY_PARAMS.hideAutomations,\n String(resolvedOptions.hideAutomations),\n );\n url.searchParams.set(\n EMBED_QUERY_PARAMS.hideSuggestedPrompts,\n String(resolvedOptions.hideSuggestedPrompts),\n );\n\n return url.toString();\n}\n\nexport function buildSharedDashboardUrl({\n publicSharingLinkId,\n filterToken,\n instanceUrl = DEFAULT_BASEDASH_URL,\n}: BuildSharedDashboardUrlOptions): string {\n assertNonEmpty(publicSharingLinkId, \"publicSharingLinkId\");\n\n const path = filterToken\n ? `shared/${encodeURIComponent(publicSharingLinkId)}/${encodeURIComponent(\n filterToken,\n )}`\n : `shared/${encodeURIComponent(publicSharingLinkId)}`;\n\n return createInstanceUrl(instanceUrl, path).toString();\n}\n\nfunction createInstanceUrl(instanceUrl: string, path: string): URL {\n let baseUrl: URL;\n\n try {\n baseUrl = new URL(instanceUrl);\n } catch {\n throw new TypeError(`instanceUrl must be a valid URL: ${instanceUrl}`);\n }\n\n if (baseUrl.protocol !== \"https:\" && baseUrl.protocol !== \"http:\") {\n throw new TypeError(\"instanceUrl must use http or https\");\n }\n\n baseUrl.search = \"\";\n baseUrl.hash = \"\";\n if (!baseUrl.pathname.endsWith(\"/\")) {\n baseUrl.pathname += \"/\";\n }\n\n return new URL(path, baseUrl);\n}\n\nfunction assertNonEmpty(value: string, name: string): void {\n if (value.trim().length === 0) {\n throw new TypeError(`${name} must not be empty`);\n }\n}\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n AUTOMATIONS_EMBED_OPTIONS,\n CHAT_EMBED_OPTIONS,\n DASHBOARDS_EMBED_OPTIONS,\n DEFAULT_BASEDASH_URL,\n INSIGHTS_EMBED_OPTIONS,\n buildEmbedUrl,\n buildSharedDashboardUrl,\n} from \"../embed\";\n\nimport type {\n CSSProperties,\n IframeHTMLAttributes,\n ReactNode,\n} from \"react\";\nimport type { BasedashTheme, EmbedOptions } from \"../embed\";\n\nexport type FetchBasedashToken = () => Promise<string>;\n\nexport type BasedashTokenStatus = \"loading\" | \"ready\" | \"error\";\n\ninterface BasedashProviderCommonProps {\n children: ReactNode;\n /**\n * Override this when embedding a self-hosted Basedash instance.\n *\n * @default \"https://charts.basedash.com\"\n */\n instanceUrl?: string;\n /**\n * Default theme for authenticated embeds under this provider.\n *\n * @default \"auto\"\n */\n theme?: BasedashTheme;\n}\n\nexport type BasedashProviderProps = BasedashProviderCommonProps &\n (\n | {\n /**\n * A short-lived token generated on your server.\n */\n token: string;\n fetchToken?: never;\n }\n | {\n token?: never;\n /**\n * Fetch a short-lived token from your backend. The embed secret must\n * never be sent to the browser.\n */\n fetchToken: FetchBasedashToken;\n }\n );\n\nexport interface BasedashContextValue {\n token: string | undefined;\n status: BasedashTokenStatus;\n error: Error | undefined;\n instanceUrl: string;\n theme: BasedashTheme;\n refreshToken: () => Promise<string>;\n}\n\ninterface TokenState {\n token: string | undefined;\n status: BasedashTokenStatus;\n error: Error | undefined;\n}\n\nconst BasedashContext = createContext<BasedashContextValue | null>(null);\n\nexport function BasedashProvider({\n children,\n token: tokenProp,\n fetchToken,\n instanceUrl = DEFAULT_BASEDASH_URL,\n theme = \"auto\",\n}: BasedashProviderProps) {\n const fetchTokenRef = useRef(fetchToken);\n const hasFetchedRef = useRef(false);\n const requestIdRef = useRef(0);\n const [state, setState] = useState<TokenState>(() =>\n tokenProp === undefined\n ? { token: undefined, status: \"loading\", error: undefined }\n : {\n token: validateToken(tokenProp),\n status: \"ready\",\n error: undefined,\n },\n );\n\n useEffect(() => {\n fetchTokenRef.current = fetchToken;\n }, [fetchToken]);\n\n const refreshToken = useCallback(async () => {\n if (tokenProp !== undefined) {\n const token = validateToken(tokenProp);\n setState({ token, status: \"ready\", error: undefined });\n return token;\n }\n\n const tokenLoader = fetchTokenRef.current;\n if (tokenLoader === undefined) {\n throw new Error(\n \"BasedashProvider requires either token or fetchToken to be set\",\n );\n }\n\n const requestId = ++requestIdRef.current;\n setState((current) => ({\n token: current.token,\n status: \"loading\",\n error: undefined,\n }));\n\n try {\n const token = validateToken(await tokenLoader());\n if (requestId === requestIdRef.current) {\n setState({ token, status: \"ready\", error: undefined });\n }\n return token;\n } catch (error) {\n const resolvedError = toError(error);\n if (requestId === requestIdRef.current) {\n setState({\n token: undefined,\n status: \"error\",\n error: resolvedError,\n });\n }\n throw resolvedError;\n }\n }, [tokenProp]);\n\n useEffect(() => {\n if (tokenProp !== undefined) {\n setState({\n token: validateToken(tokenProp),\n status: \"ready\",\n error: undefined,\n });\n hasFetchedRef.current = false;\n return;\n }\n\n if (!hasFetchedRef.current) {\n hasFetchedRef.current = true;\n void refreshToken().catch(() => {\n // The error is exposed through context and rendered by embed components.\n });\n }\n }, [refreshToken, tokenProp]);\n\n const value = useMemo<BasedashContextValue>(\n () => ({\n ...state,\n instanceUrl,\n theme,\n refreshToken,\n }),\n [instanceUrl, refreshToken, state, theme],\n );\n\n return (\n <BasedashContext.Provider value={value}>\n {children}\n </BasedashContext.Provider>\n );\n}\n\nexport function useBasedash(): BasedashContextValue {\n const context = useContext(BasedashContext);\n if (context === null) {\n throw new Error(\"useBasedash must be used inside a BasedashProvider\");\n }\n return context;\n}\n\ntype IframeProps = Omit<\n IframeHTMLAttributes<HTMLIFrameElement>,\n \"children\" | \"src\" | \"title\"\n>;\n\nexport interface BasedashFrameProps {\n /**\n * A class applied to the frame's outer container.\n */\n className?: string;\n /**\n * Styles applied to the frame's outer container.\n */\n style?: CSSProperties;\n /**\n * Props forwarded to the underlying iframe.\n */\n iframeProps?: IframeProps;\n /**\n * Content displayed over the iframe until its load event fires.\n */\n loadingFallback?: ReactNode;\n /**\n * Content displayed if fetching the token fails. A function receives the\n * original error.\n */\n errorFallback?: ReactNode | ((error: Error) => ReactNode);\n title?: string;\n}\n\ninterface AuthenticatedEmbedProps extends BasedashFrameProps {\n /**\n * A token generated on your server. When omitted, the nearest\n * BasedashProvider supplies the token.\n */\n token?: string;\n /**\n * Overrides the provider's instance URL.\n */\n instanceUrl?: string;\n /**\n * Overrides the provider's theme.\n */\n theme?: BasedashTheme;\n}\n\nexport interface BasedashAppProps extends AuthenticatedEmbedProps {\n hideOrgName?: boolean;\n hideChat?: boolean;\n hideDashboards?: boolean;\n hideInsights?: boolean;\n hideAutomations?: boolean;\n hideSuggestedPrompts?: boolean;\n}\n\nexport interface BasedashChatProps extends AuthenticatedEmbedProps {\n /**\n * @default true\n */\n hideOrgName?: boolean;\n hideSuggestedPrompts?: boolean;\n}\n\nexport interface BasedashDashboardsProps extends AuthenticatedEmbedProps {\n /**\n * @default true\n */\n hideOrgName?: boolean;\n}\n\nexport interface BasedashInsightsProps extends AuthenticatedEmbedProps {\n /**\n * @default true\n */\n hideOrgName?: boolean;\n}\n\nexport interface BasedashAutomationsProps extends AuthenticatedEmbedProps {\n /**\n * @default true\n */\n hideOrgName?: boolean;\n}\n\nexport interface BasedashSharedDashboardProps extends BasedashFrameProps {\n publicSharingLinkId: string;\n /**\n * A token created with `createDashboardFilterToken`.\n */\n filterToken?: string;\n instanceUrl?: string;\n}\n\nexport const BasedashApp = forwardRef<HTMLIFrameElement, BasedashAppProps>(\n function BasedashApp(\n {\n token,\n instanceUrl,\n theme,\n hideOrgName,\n hideChat,\n hideDashboards,\n hideInsights,\n hideAutomations,\n hideSuggestedPrompts,\n title = \"Basedash\",\n ...frameProps\n },\n ref,\n ) {\n return (\n <AuthenticatedBasedashFrame\n ref={ref}\n token={token}\n instanceUrl={instanceUrl}\n options={{\n theme,\n hideOrgName,\n hideChat,\n hideDashboards,\n hideInsights,\n hideAutomations,\n hideSuggestedPrompts,\n }}\n title={title}\n {...frameProps}\n />\n );\n },\n);\n\nexport const BasedashChat = forwardRef<HTMLIFrameElement, BasedashChatProps>(\n function BasedashChat(\n {\n token,\n instanceUrl,\n theme,\n hideOrgName,\n hideSuggestedPrompts,\n title = \"Basedash chat\",\n ...frameProps\n },\n ref,\n ) {\n return (\n <AuthenticatedBasedashFrame\n ref={ref}\n token={token}\n instanceUrl={instanceUrl}\n options={{\n ...CHAT_EMBED_OPTIONS,\n theme: theme ?? CHAT_EMBED_OPTIONS.theme,\n hideOrgName: hideOrgName ?? CHAT_EMBED_OPTIONS.hideOrgName,\n hideSuggestedPrompts:\n hideSuggestedPrompts ??\n CHAT_EMBED_OPTIONS.hideSuggestedPrompts,\n }}\n title={title}\n {...frameProps}\n />\n );\n },\n);\n\nexport const BasedashDashboards = forwardRef<\n HTMLIFrameElement,\n BasedashDashboardsProps\n>(function BasedashDashboards(\n {\n token,\n instanceUrl,\n theme,\n hideOrgName,\n title = \"Basedash dashboards\",\n ...frameProps\n },\n ref,\n) {\n return (\n <AuthenticatedBasedashFrame\n ref={ref}\n token={token}\n instanceUrl={instanceUrl}\n options={{\n ...DASHBOARDS_EMBED_OPTIONS,\n theme: theme ?? DASHBOARDS_EMBED_OPTIONS.theme,\n hideOrgName: hideOrgName ?? DASHBOARDS_EMBED_OPTIONS.hideOrgName,\n }}\n title={title}\n {...frameProps}\n />\n );\n});\n\nexport const BasedashInsights = forwardRef<\n HTMLIFrameElement,\n BasedashInsightsProps\n>(function BasedashInsights(\n {\n token,\n instanceUrl,\n theme,\n hideOrgName,\n title = \"Basedash insights\",\n ...frameProps\n },\n ref,\n) {\n return (\n <AuthenticatedBasedashFrame\n ref={ref}\n token={token}\n instanceUrl={instanceUrl}\n options={{\n ...INSIGHTS_EMBED_OPTIONS,\n theme: theme ?? INSIGHTS_EMBED_OPTIONS.theme,\n hideOrgName: hideOrgName ?? INSIGHTS_EMBED_OPTIONS.hideOrgName,\n }}\n title={title}\n {...frameProps}\n />\n );\n});\n\nexport const BasedashAutomations = forwardRef<\n HTMLIFrameElement,\n BasedashAutomationsProps\n>(function BasedashAutomations(\n {\n token,\n instanceUrl,\n theme,\n hideOrgName,\n title = \"Basedash automations\",\n ...frameProps\n },\n ref,\n) {\n return (\n <AuthenticatedBasedashFrame\n ref={ref}\n token={token}\n instanceUrl={instanceUrl}\n options={{\n ...AUTOMATIONS_EMBED_OPTIONS,\n theme: theme ?? AUTOMATIONS_EMBED_OPTIONS.theme,\n hideOrgName:\n hideOrgName ?? AUTOMATIONS_EMBED_OPTIONS.hideOrgName,\n }}\n title={title}\n {...frameProps}\n />\n );\n});\n\nexport const BasedashSharedDashboard = forwardRef<\n HTMLIFrameElement,\n BasedashSharedDashboardProps\n>(function BasedashSharedDashboard(\n {\n publicSharingLinkId,\n filterToken,\n instanceUrl,\n title = \"Basedash dashboard\",\n ...frameProps\n },\n ref,\n) {\n const src = buildSharedDashboardUrl({\n publicSharingLinkId,\n filterToken,\n instanceUrl,\n });\n\n return <BasedashFrame ref={ref} src={src} title={title} {...frameProps} />;\n});\n\ninterface AuthenticatedBasedashFrameProps extends BasedashFrameProps {\n token: string | undefined;\n instanceUrl: string | undefined;\n options: EmbedOptions;\n}\n\nconst AuthenticatedBasedashFrame = forwardRef<\n HTMLIFrameElement,\n AuthenticatedBasedashFrameProps\n>(function AuthenticatedBasedashFrame(\n {\n token: tokenProp,\n instanceUrl: instanceUrlProp,\n options,\n errorFallback,\n ...frameProps\n },\n ref,\n) {\n const context = useContext(BasedashContext);\n const token = tokenProp ?? context?.token;\n const instanceUrl =\n instanceUrlProp ?? context?.instanceUrl ?? DEFAULT_BASEDASH_URL;\n const theme = options.theme ?? context?.theme ?? \"auto\";\n\n if (token === undefined) {\n if (context === null) {\n throw new Error(\n \"Authenticated Basedash embeds require a token prop or BasedashProvider\",\n );\n }\n\n if (context.status === \"error\" && context.error !== undefined) {\n if (errorFallback === undefined) {\n throw context.error;\n }\n\n return (\n <>\n {typeof errorFallback === \"function\"\n ? errorFallback(context.error)\n : errorFallback}\n </>\n );\n }\n\n return <>{frameProps.loadingFallback ?? null}</>;\n }\n\n const src = buildEmbedUrl({\n token,\n instanceUrl,\n options: {\n ...options,\n theme,\n },\n });\n\n return <BasedashFrame ref={ref} src={src} {...frameProps} />;\n});\n\ninterface InternalBasedashFrameProps extends BasedashFrameProps {\n src: string;\n}\n\nconst BasedashFrame = forwardRef<\n HTMLIFrameElement,\n InternalBasedashFrameProps\n>(function BasedashFrame(\n {\n src,\n className,\n style,\n iframeProps,\n loadingFallback,\n title = \"Basedash\",\n },\n ref,\n) {\n const [loaded, setLoaded] = useState(false);\n\n useEffect(() => {\n setLoaded(false);\n }, [src]);\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: \"100%\",\n height: \"100%\",\n ...style,\n }}\n >\n {!loaded && loadingFallback !== undefined ? (\n <div\n aria-hidden=\"true\"\n style={{\n position: \"absolute\",\n inset: 0,\n }}\n >\n {loadingFallback}\n </div>\n ) : null}\n <iframe\n {...iframeProps}\n ref={ref}\n src={src}\n title={title}\n allow={iframeProps?.allow ?? \"clipboard-write\"}\n loading={iframeProps?.loading ?? \"eager\"}\n onLoad={(event) => {\n setLoaded(true);\n iframeProps?.onLoad?.(event);\n }}\n style={{\n width: \"100%\",\n height: \"100%\",\n border: 0,\n ...iframeProps?.style,\n }}\n />\n </div>\n );\n});\n\nfunction validateToken(token: string): string {\n if (token.trim().length === 0) {\n throw new TypeError(\"Basedash token must not be empty\");\n }\n return token;\n}\n\nfunction toError(error: unknown): Error {\n return error instanceof Error ? error : new Error(String(error));\n}\n"]}
@@ -0,0 +1,134 @@
1
+ import * as react from 'react';
2
+ import { CSSProperties, IframeHTMLAttributes, ReactNode } from 'react';
3
+ import { BasedashTheme } from './index.cjs';
4
+
5
+ type FetchBasedashToken = () => Promise<string>;
6
+ type BasedashTokenStatus = "loading" | "ready" | "error";
7
+ interface BasedashProviderCommonProps {
8
+ children: ReactNode;
9
+ /**
10
+ * Override this when embedding a self-hosted Basedash instance.
11
+ *
12
+ * @default "https://charts.basedash.com"
13
+ */
14
+ instanceUrl?: string;
15
+ /**
16
+ * Default theme for authenticated embeds under this provider.
17
+ *
18
+ * @default "auto"
19
+ */
20
+ theme?: BasedashTheme;
21
+ }
22
+ type BasedashProviderProps = BasedashProviderCommonProps & ({
23
+ /**
24
+ * A short-lived token generated on your server.
25
+ */
26
+ token: string;
27
+ fetchToken?: never;
28
+ } | {
29
+ token?: never;
30
+ /**
31
+ * Fetch a short-lived token from your backend. The embed secret must
32
+ * never be sent to the browser.
33
+ */
34
+ fetchToken: FetchBasedashToken;
35
+ });
36
+ interface BasedashContextValue {
37
+ token: string | undefined;
38
+ status: BasedashTokenStatus;
39
+ error: Error | undefined;
40
+ instanceUrl: string;
41
+ theme: BasedashTheme;
42
+ refreshToken: () => Promise<string>;
43
+ }
44
+ declare function BasedashProvider({ children, token: tokenProp, fetchToken, instanceUrl, theme, }: BasedashProviderProps): react.JSX.Element;
45
+ declare function useBasedash(): BasedashContextValue;
46
+ type IframeProps = Omit<IframeHTMLAttributes<HTMLIFrameElement>, "children" | "src" | "title">;
47
+ interface BasedashFrameProps {
48
+ /**
49
+ * A class applied to the frame's outer container.
50
+ */
51
+ className?: string;
52
+ /**
53
+ * Styles applied to the frame's outer container.
54
+ */
55
+ style?: CSSProperties;
56
+ /**
57
+ * Props forwarded to the underlying iframe.
58
+ */
59
+ iframeProps?: IframeProps;
60
+ /**
61
+ * Content displayed over the iframe until its load event fires.
62
+ */
63
+ loadingFallback?: ReactNode;
64
+ /**
65
+ * Content displayed if fetching the token fails. A function receives the
66
+ * original error.
67
+ */
68
+ errorFallback?: ReactNode | ((error: Error) => ReactNode);
69
+ title?: string;
70
+ }
71
+ interface AuthenticatedEmbedProps extends BasedashFrameProps {
72
+ /**
73
+ * A token generated on your server. When omitted, the nearest
74
+ * BasedashProvider supplies the token.
75
+ */
76
+ token?: string;
77
+ /**
78
+ * Overrides the provider's instance URL.
79
+ */
80
+ instanceUrl?: string;
81
+ /**
82
+ * Overrides the provider's theme.
83
+ */
84
+ theme?: BasedashTheme;
85
+ }
86
+ interface BasedashAppProps extends AuthenticatedEmbedProps {
87
+ hideOrgName?: boolean;
88
+ hideChat?: boolean;
89
+ hideDashboards?: boolean;
90
+ hideInsights?: boolean;
91
+ hideAutomations?: boolean;
92
+ hideSuggestedPrompts?: boolean;
93
+ }
94
+ interface BasedashChatProps extends AuthenticatedEmbedProps {
95
+ /**
96
+ * @default true
97
+ */
98
+ hideOrgName?: boolean;
99
+ hideSuggestedPrompts?: boolean;
100
+ }
101
+ interface BasedashDashboardsProps extends AuthenticatedEmbedProps {
102
+ /**
103
+ * @default true
104
+ */
105
+ hideOrgName?: boolean;
106
+ }
107
+ interface BasedashInsightsProps extends AuthenticatedEmbedProps {
108
+ /**
109
+ * @default true
110
+ */
111
+ hideOrgName?: boolean;
112
+ }
113
+ interface BasedashAutomationsProps extends AuthenticatedEmbedProps {
114
+ /**
115
+ * @default true
116
+ */
117
+ hideOrgName?: boolean;
118
+ }
119
+ interface BasedashSharedDashboardProps extends BasedashFrameProps {
120
+ publicSharingLinkId: string;
121
+ /**
122
+ * A token created with `createDashboardFilterToken`.
123
+ */
124
+ filterToken?: string;
125
+ instanceUrl?: string;
126
+ }
127
+ declare const BasedashApp: react.ForwardRefExoticComponent<BasedashAppProps & react.RefAttributes<HTMLIFrameElement>>;
128
+ declare const BasedashChat: react.ForwardRefExoticComponent<BasedashChatProps & react.RefAttributes<HTMLIFrameElement>>;
129
+ declare const BasedashDashboards: react.ForwardRefExoticComponent<BasedashDashboardsProps & react.RefAttributes<HTMLIFrameElement>>;
130
+ declare const BasedashInsights: react.ForwardRefExoticComponent<BasedashInsightsProps & react.RefAttributes<HTMLIFrameElement>>;
131
+ declare const BasedashAutomations: react.ForwardRefExoticComponent<BasedashAutomationsProps & react.RefAttributes<HTMLIFrameElement>>;
132
+ declare const BasedashSharedDashboard: react.ForwardRefExoticComponent<BasedashSharedDashboardProps & react.RefAttributes<HTMLIFrameElement>>;
133
+
134
+ export { BasedashApp, type BasedashAppProps, BasedashAutomations, type BasedashAutomationsProps, BasedashChat, type BasedashChatProps, type BasedashContextValue, BasedashDashboards, type BasedashDashboardsProps, type BasedashFrameProps, BasedashInsights, type BasedashInsightsProps, BasedashProvider, type BasedashProviderProps, BasedashSharedDashboard, type BasedashSharedDashboardProps, type BasedashTokenStatus, type FetchBasedashToken, useBasedash };
@@ -0,0 +1,134 @@
1
+ import * as react from 'react';
2
+ import { CSSProperties, IframeHTMLAttributes, ReactNode } from 'react';
3
+ import { BasedashTheme } from './index.js';
4
+
5
+ type FetchBasedashToken = () => Promise<string>;
6
+ type BasedashTokenStatus = "loading" | "ready" | "error";
7
+ interface BasedashProviderCommonProps {
8
+ children: ReactNode;
9
+ /**
10
+ * Override this when embedding a self-hosted Basedash instance.
11
+ *
12
+ * @default "https://charts.basedash.com"
13
+ */
14
+ instanceUrl?: string;
15
+ /**
16
+ * Default theme for authenticated embeds under this provider.
17
+ *
18
+ * @default "auto"
19
+ */
20
+ theme?: BasedashTheme;
21
+ }
22
+ type BasedashProviderProps = BasedashProviderCommonProps & ({
23
+ /**
24
+ * A short-lived token generated on your server.
25
+ */
26
+ token: string;
27
+ fetchToken?: never;
28
+ } | {
29
+ token?: never;
30
+ /**
31
+ * Fetch a short-lived token from your backend. The embed secret must
32
+ * never be sent to the browser.
33
+ */
34
+ fetchToken: FetchBasedashToken;
35
+ });
36
+ interface BasedashContextValue {
37
+ token: string | undefined;
38
+ status: BasedashTokenStatus;
39
+ error: Error | undefined;
40
+ instanceUrl: string;
41
+ theme: BasedashTheme;
42
+ refreshToken: () => Promise<string>;
43
+ }
44
+ declare function BasedashProvider({ children, token: tokenProp, fetchToken, instanceUrl, theme, }: BasedashProviderProps): react.JSX.Element;
45
+ declare function useBasedash(): BasedashContextValue;
46
+ type IframeProps = Omit<IframeHTMLAttributes<HTMLIFrameElement>, "children" | "src" | "title">;
47
+ interface BasedashFrameProps {
48
+ /**
49
+ * A class applied to the frame's outer container.
50
+ */
51
+ className?: string;
52
+ /**
53
+ * Styles applied to the frame's outer container.
54
+ */
55
+ style?: CSSProperties;
56
+ /**
57
+ * Props forwarded to the underlying iframe.
58
+ */
59
+ iframeProps?: IframeProps;
60
+ /**
61
+ * Content displayed over the iframe until its load event fires.
62
+ */
63
+ loadingFallback?: ReactNode;
64
+ /**
65
+ * Content displayed if fetching the token fails. A function receives the
66
+ * original error.
67
+ */
68
+ errorFallback?: ReactNode | ((error: Error) => ReactNode);
69
+ title?: string;
70
+ }
71
+ interface AuthenticatedEmbedProps extends BasedashFrameProps {
72
+ /**
73
+ * A token generated on your server. When omitted, the nearest
74
+ * BasedashProvider supplies the token.
75
+ */
76
+ token?: string;
77
+ /**
78
+ * Overrides the provider's instance URL.
79
+ */
80
+ instanceUrl?: string;
81
+ /**
82
+ * Overrides the provider's theme.
83
+ */
84
+ theme?: BasedashTheme;
85
+ }
86
+ interface BasedashAppProps extends AuthenticatedEmbedProps {
87
+ hideOrgName?: boolean;
88
+ hideChat?: boolean;
89
+ hideDashboards?: boolean;
90
+ hideInsights?: boolean;
91
+ hideAutomations?: boolean;
92
+ hideSuggestedPrompts?: boolean;
93
+ }
94
+ interface BasedashChatProps extends AuthenticatedEmbedProps {
95
+ /**
96
+ * @default true
97
+ */
98
+ hideOrgName?: boolean;
99
+ hideSuggestedPrompts?: boolean;
100
+ }
101
+ interface BasedashDashboardsProps extends AuthenticatedEmbedProps {
102
+ /**
103
+ * @default true
104
+ */
105
+ hideOrgName?: boolean;
106
+ }
107
+ interface BasedashInsightsProps extends AuthenticatedEmbedProps {
108
+ /**
109
+ * @default true
110
+ */
111
+ hideOrgName?: boolean;
112
+ }
113
+ interface BasedashAutomationsProps extends AuthenticatedEmbedProps {
114
+ /**
115
+ * @default true
116
+ */
117
+ hideOrgName?: boolean;
118
+ }
119
+ interface BasedashSharedDashboardProps extends BasedashFrameProps {
120
+ publicSharingLinkId: string;
121
+ /**
122
+ * A token created with `createDashboardFilterToken`.
123
+ */
124
+ filterToken?: string;
125
+ instanceUrl?: string;
126
+ }
127
+ declare const BasedashApp: react.ForwardRefExoticComponent<BasedashAppProps & react.RefAttributes<HTMLIFrameElement>>;
128
+ declare const BasedashChat: react.ForwardRefExoticComponent<BasedashChatProps & react.RefAttributes<HTMLIFrameElement>>;
129
+ declare const BasedashDashboards: react.ForwardRefExoticComponent<BasedashDashboardsProps & react.RefAttributes<HTMLIFrameElement>>;
130
+ declare const BasedashInsights: react.ForwardRefExoticComponent<BasedashInsightsProps & react.RefAttributes<HTMLIFrameElement>>;
131
+ declare const BasedashAutomations: react.ForwardRefExoticComponent<BasedashAutomationsProps & react.RefAttributes<HTMLIFrameElement>>;
132
+ declare const BasedashSharedDashboard: react.ForwardRefExoticComponent<BasedashSharedDashboardProps & react.RefAttributes<HTMLIFrameElement>>;
133
+
134
+ export { BasedashApp, type BasedashAppProps, BasedashAutomations, type BasedashAutomationsProps, BasedashChat, type BasedashChatProps, type BasedashContextValue, BasedashDashboards, type BasedashDashboardsProps, type BasedashFrameProps, BasedashInsights, type BasedashInsightsProps, BasedashProvider, type BasedashProviderProps, BasedashSharedDashboard, type BasedashSharedDashboardProps, type BasedashTokenStatus, type FetchBasedashToken, useBasedash };