React SDK for embedding Cube analytics
React SDK for embedding Cube analytics into your applications.
``bash`
yarn add @cube-dev/embed-sdk
This package requires the following peer dependencies:
`bash`
yarn add react react-dom @tanstack/react-query
`tsx
import { useState } from 'react';
import { EmbedProvider, createDefaultReport, useReportContext } from '@cube-dev/embed-sdk';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
const queryClient = new QueryClient();
function App() {
const [report, setReport] = useState(() => createDefaultReport({ title: 'My Report' }));
return (
apiUrl={cubeApiUrl}
report={report}
onReportUpdate={(updates) => setReport((prev) => ({ ...prev, ...updates }))}
>
);
}
`
- EmbedProvider - Combined provider wrapping all contextsCubeApiContextProvider
- - Cube API client contextDataAssetsContextProvider
- - Data assets and semantic views contextReportProvider
- - Report state management contextChartBuilderProvider
- - Chart building utilities context
- useReportContext - Access report state and actionsuseChartBuilderContext
- - Access chart builder utilitiesuseDataAssetsContext
- - Access data assets and semantic viewsuseActiveCubeApi
- - Access the Cube API clientuseReport
- - Standalone report management hook
- createDefaultReport - Create a new default report with optional title and SQL queryparseSemanticSql
- - Parse semantic SQL queriesgenerateSemanticSql
- - Generate semantic SQL from logical queriesprepareTableData
- - Prepare data for table renderingprepareChartColumns` - Prepare columns for chart rendering
-
MIT