UNPKG

drizzle-cube

Version:

Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.

47 lines (46 loc) 5.79 kB
export { default as AnalyticsPortlet } from './components/AnalyticsPortlet'; export { default as AnalyticsDashboard } from './components/AnalyticsDashboard'; export { default as LoadingIndicator } from './components/LoadingIndicator'; export type { LoadingIndicatorProps } from './components/LoadingIndicator'; export { LazyChart, preloadChart, preloadCharts, isValidChartType, getAvailableChartTypes } from './charts/ChartLoader'; export type { LazyChartProps } from './charts/ChartLoader'; export { default as DashboardGrid } from './components/DashboardGrid'; export { default as PortletContainer } from './components/PortletContainer'; export { default as PortletAnalysisModal } from './components/PortletAnalysisModal'; export { default as DashboardEditModal } from './components/DashboardEditModal'; export { default as Modal } from './components/Modal'; export { default as ConfirmModal } from './components/ConfirmModal'; export { default as QueryBuilder } from './components/QueryBuilderShim'; export { default as AnalysisBuilder } from './components/AnalysisBuilder'; export { CubeProvider, useCubeContext, useCubeApi, // Only re-renders on API/auth changes useCubeMeta, // Only re-renders on metadata changes useCubeFeatures } from './providers/CubeProvider'; export { ScrollContainerProvider, useScrollContainer } from './providers/ScrollContainerContext'; export { useCubeFieldLabel } from './hooks/useCubeFieldLabel'; export { createCubeClient } from './client/CubeClient'; export { useCubeMetaQuery, useCubeLoadQuery, useCubeQuery, useMultiCubeLoadQuery, useDryRunQuery, useMultiDryRunQueries, useDryRunQueries, useFunnelQuery, createFunnelQueryKey, useFlowQuery, createFlowQueryKey, } from './hooks/queries'; export type { UseCubeMetaQueryOptions, UseCubeMetaQueryResult, UseCubeLoadQueryOptions, UseCubeLoadQueryResult, UseMultiCubeLoadQueryOptions, UseMultiCubeLoadQueryResult, DebugDataEntry, UseFlowQueryOptions, UseFlowQueryResult, } from './hooks/queries'; export { useAnalysisBuilder } from './hooks/useAnalysisBuilderHook'; export type { UseAnalysisBuilderOptions, UseAnalysisBuilderResult, } from './hooks/useAnalysisBuilderHook'; export { useDashboard } from './hooks/useDashboardHook'; export type { UseDashboardOptions, UseDashboardResult, UseDashboardActions, } from './hooks/useDashboardHook'; export { useAnalysisBuilderStore, selectCurrentState, selectMetrics, selectBreakdowns, selectFilters, selectChartConfig, selectUIState, selectMultiQueryState, selectFunnelState, } from './stores/analysisBuilderStore'; export type { AnalysisBuilderStore, AnalysisBuilderStoreState, AnalysisBuilderStoreActions, FieldModalMode, } from './stores/analysisBuilderStore'; export { DashboardStoreProvider, useDashboardStore, useDashboardStoreApi, useDashboardStoreOptional, createDashboardStore, selectEditModeState, selectModalState, selectLayoutState, selectDebugData, selectPortletDebugData, selectEditModeActions, selectModalActions, selectLayoutActions, selectDebugDataActions, selectAllActions, } from './stores/dashboardStore'; export type { DashboardStore, DashboardStoreState, DashboardStoreActions, PortletDebugDataEntry, DragState, CreateDashboardStoreOptions, DashboardStoreProviderProps, } from './stores/dashboardStore'; export { validateMultiQueryConfig, validateTimeDimensionAlignment, validateMergeKeys, detectMeasureCollisions, detectAsymmetricDateRanges, isMultiQueryValid, getValidationSummary } from './utils/multiQueryValidation'; export type { MultiQueryValidationError, MultiQueryValidationWarning, MultiQueryValidationResult } from './utils/multiQueryValidation'; export { useTheme } from './hooks/useTheme'; export { useScrollDetection } from './hooks/useScrollDetection'; export { useElementVisibility } from './hooks/useElementVisibility'; export type { PortletConfig, ChartType, ChartAxisConfig, ChartDisplayConfig, CubeQuery, CubeQueryOptions, CubeApiOptions, DashboardConfig, MultiQueryConfig, QueryMergeStrategy, FunnelBindingKey, FunnelBindingKeyMapping, FunnelStep, FunnelConfig, FunnelStepResult, FunnelExecutionResult, FunnelChartData, FunnelValidationError, FunnelValidationResult, UseFunnelQueryOptions, UseFunnelQueryResult, ServerFlowQuery, FlowQueryConfig, FlowChartData, FlowSliceState, SankeyNode, SankeyLink, FlowStartingStep, FlowResultRow, } from './types'; export { isMultiQueryConfig, isServerFunnelQuery, isServerFlowQuery, isSankeyData } from './types'; export type { ChartTypeConfig, DisplayOptionConfig, AxisDropZoneConfig } from './charts/chartConfigs'; export { createDashboardLayout, formatChartData, highlightCodeBlocks } from './utils/index'; export { isMultiQueryData, mergeQueryResults, mergeResultsConcat, mergeResultsByKey, getCombinedFields, getQueryLabels, getQueryIndices, generateQueryLabel, validateMergeKey } from './utils/multiQueryUtils'; export { validateFunnelConfig, validateBindingKeyExists, validateStepQueries, validateBindingKeyForSteps, isMinimumFunnelConfigValid, getAvailableBindingKeyDimensions, getBindingKeyLabel, } from './utils/funnelValidation'; export { getBindingKeyField, getCubeNameFromQuery, formatDuration, transformServerFunnelResult, buildServerFunnelQuery, isFunnelData, buildFunnelConfigFromQueries, } from './utils/funnelExecution'; export { getThemeVariable, setThemeVariable, applyTheme, resetTheme, getTheme, setTheme, isDarkMode, watchThemeChanges, THEME_PRESETS } from './theme'; export type { ThemeColorTokens, ThemeConfig, Theme } from './theme'; export { getIcon, getIconData, setIcon, registerIcons, resetIcons, getIconRegistry, getIconsByCategory, getMeasureTypeIcon, getChartTypeIcon, getFieldTypeIcon, DEFAULT_ICONS } from './icons'; export type { IconCategory, IconProps, IconComponent, IconDefinition, IconRegistry, IconName, PartialIconRegistry } from './icons';