@quillsql/react 2.16.28 → 2.16.30

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/index.d.ts CHANGED
@@ -73,6 +73,8 @@ interface SelectComponentProps {
73
73
  isLoading?: boolean;
74
74
  hideEmptyOption?: boolean;
75
75
  disabled?: boolean;
76
+ /** Compact trigger (e.g. chat toolbar). */
77
+ size?: 'default' | 'sm';
76
78
  }
77
79
  interface MultiSelectComponentProps {
78
80
  label?: string;
@@ -516,12 +518,12 @@ type ColorMapType = {
516
518
  /**
517
519
  * A set of valid format values for the x and y axes of dashboard items.
518
520
  */
519
- type AxisFormat = 'percent' | 'dollar_amount' | 'dollar_cents' | 'whole_number' | 'one_decimal_place' | 'two_decimal_places' | 'percentage' | 'string' | 'yyyy' | 'MMM_dd' | 'MMM_yyyy' | 'MMM_dd_yyyy' | 'hh_ap_pm' | 'MMM_dd-MMM_dd' | 'MMM_dd_hh:mm_ap_pm' | 'wo, yyyy';
521
+ type AxisFormat$1 = 'percent' | 'dollar_amount' | 'dollar_cents' | 'whole_number' | 'one_decimal_place' | 'two_decimal_places' | 'percentage' | 'string' | 'yyyy' | 'MMM_dd' | 'MMM_yyyy' | 'MMM_dd_yyyy' | 'hh_ap_pm' | 'MMM_dd-MMM_dd' | 'MMM_dd_hh:mm_ap_pm' | 'wo, yyyy';
520
522
 
521
523
  interface Column$1 {
522
524
  field: string;
523
525
  label: string;
524
- format: AxisFormat;
526
+ format: AxisFormat$1;
525
527
  inferFormat?: boolean;
526
528
  }
527
529
  interface ColumnInternal extends Column$1 {
@@ -546,6 +548,10 @@ interface BasePivot {
546
548
  rowFieldType?: string;
547
549
  columnField?: string;
548
550
  columnFieldType?: string;
551
+ /** Source table for rowField (multi-table / disambiguation). */
552
+ rowFieldTable?: string;
553
+ /** Source table for columnField (multi-table / disambiguation). */
554
+ columnFieldTable?: string;
549
555
  sort?: boolean;
550
556
  sortDirection?: 'ASC' | 'DESC';
551
557
  sortField?: string;
@@ -555,6 +561,14 @@ interface BasePivot {
555
561
  rowLimit?: number;
556
562
  columnValues?: string[];
557
563
  }
564
+ type PivotAggregation = {
565
+ aggregationType: AggregationType;
566
+ valueField?: string;
567
+ valueFieldType?: string;
568
+ valueField2?: string;
569
+ valueField2Type?: string;
570
+ valueFieldTable?: string;
571
+ };
558
572
  interface SingleAggregationPivot extends BasePivot {
559
573
  aggregationType: AggregationType;
560
574
  valueField?: string;
@@ -569,13 +583,7 @@ interface MultiAggregationPivot extends BasePivot {
569
583
  valueField2?: never;
570
584
  valueField2Type?: never;
571
585
  valueFieldType?: never;
572
- aggregations: {
573
- valueField?: string;
574
- valueFieldType?: string;
575
- valueField2?: string;
576
- valueField2Type?: string;
577
- aggregationType: AggregationType;
578
- }[];
586
+ aggregations: PivotAggregation[];
579
587
  }
580
588
  type AggregationType = 'sum' | 'average' | 'min' | 'max' | 'count' | 'avg' | 'percentage';
581
589
  type PivotData = {
@@ -629,6 +637,28 @@ type ReportBuilderState = {
629
637
  limit: ReportBuilderLimit | null;
630
638
  };
631
639
 
640
+ /**
641
+ * Represents a table object returned from /schema2/:id
642
+ */
643
+ type Table$1 = {
644
+ _id: string;
645
+ isSelectStar: boolean;
646
+ displayName: string;
647
+ name: string;
648
+ columns: ColumnInternal[];
649
+ viewQuery: string;
650
+ customFieldInfo: any;
651
+ broken?: boolean;
652
+ error?: string;
653
+ ownerTenantFields?: string[];
654
+ };
655
+ interface UniqueValuesByTable {
656
+ [table: string]: UniqueValuesByColumn;
657
+ }
658
+ interface UniqueValuesByColumn {
659
+ [column: string]: string[];
660
+ }
661
+
632
662
  /**
633
663
  * ## QuillReport
634
664
  * Represents an individual item on a dashboard.
@@ -669,7 +699,7 @@ interface QuillReport {
669
699
  /** The field to use for this report's xAxis. */
670
700
  xAxisField: string;
671
701
  /** The format for this report's xAxis. */
672
- xAxisFormat: AxisFormat;
702
+ xAxisFormat: AxisFormat$1;
673
703
  /** The template flag for a report */
674
704
  template?: boolean;
675
705
  /**
@@ -681,7 +711,7 @@ interface QuillReport {
681
711
  /** The label to use for this yAxis. */
682
712
  label: string;
683
713
  /** The format of the data in this yAxis. */
684
- format: AxisFormat;
714
+ format: AxisFormat$1;
685
715
  }[];
686
716
  /**
687
717
  * The relative ordering of this report in relation to its siblings. Ordering
@@ -770,15 +800,19 @@ interface QuillReportInternal extends QuillReport {
770
800
  flags?: {
771
801
  [tenantField: string]: string[] | 'QUILL_ALL_TENANTS';
772
802
  };
773
- /** Indicates whether this report can be cached. */
774
- isCacheable?: boolean;
775
- /** Reason why this report query cannot be cached. */
776
- isCacheableReason?: string;
777
803
  /**
778
804
  * ReportBuilderState used for ReportBuilder reports.
779
805
  * When present, backend will generate SQL from this state instead of using queryString.
780
806
  */
781
807
  reportBuilderState?: ReportBuilderState;
808
+ /** String unique values grouped by table/column, used by filter builders. */
809
+ uniqueStringsByTable?: UniqueValuesByTable;
810
+ /** String unique values keyed by column name, used by filter builders. */
811
+ uniqueStringsByColumn?: UniqueValuesByColumn;
812
+ /** Legacy alias for unique string values keyed by column name. */
813
+ columnUniqueValues?: UniqueValuesByColumn;
814
+ /** Backward-compatible alias for unique string values keyed by column name. */
815
+ uniqueValues?: UniqueValuesByColumn;
782
816
  }
783
817
 
784
818
  /**
@@ -1216,6 +1250,7 @@ interface BaseQuillProviderProps {
1216
1250
  isAdmin?: boolean;
1217
1251
  getAuthorizationToken?: () => Promise<string>;
1218
1252
  eventTracking?: EventTracking | null;
1253
+ streamEndpoint?: string;
1219
1254
  }
1220
1255
  interface QuillCloudProviderProps extends BaseQuillProviderProps {
1221
1256
  tenants: {
@@ -1304,8 +1339,68 @@ type QuillProviderProps = QuillCloudProviderProps | SelfHostedProviderProps;
1304
1339
  * ### Dashboard API
1305
1340
  * @see https://docs.quillsql.com/components/quill-provider
1306
1341
  */
1307
- declare const QuillProvider: ({ tenants, flags, publicKey, queryEndpoint, queryHeaders, children, theme, withCredentials, isAdmin, getAuthorizationToken, eventTracking, }: QuillProviderProps) => react_jsx_runtime.JSX.Element;
1342
+ declare const QuillProvider: ({ tenants, flags, publicKey, queryEndpoint, streamEndpoint, queryHeaders, children, theme, withCredentials, isAdmin, getAuthorizationToken, eventTracking, }: QuillProviderProps) => react_jsx_runtime.JSX.Element;
1308
1343
 
1344
+ interface TableComponentProps {
1345
+ rows: object[];
1346
+ rowCount?: number;
1347
+ rowCountIsLoading?: boolean;
1348
+ columns: {
1349
+ label: string;
1350
+ field: string;
1351
+ format?: string;
1352
+ }[];
1353
+ currentPage: number;
1354
+ sort?: {
1355
+ field: string;
1356
+ direction: string;
1357
+ };
1358
+ className?: string;
1359
+ containerStyle?: React$1.CSSProperties;
1360
+ isLoading?: boolean;
1361
+ hideCSVDownloadButton?: boolean;
1362
+ downloadCSV?: () => void;
1363
+ LoadingComponent?: () => React$1.JSX.Element;
1364
+ DownloadCSVButtonComponent?: (props: ButtonComponentProps) => React$1.JSX.Element;
1365
+ rowsPerPage?: number;
1366
+ emptyStateLabel?: string;
1367
+ onPageChange?: (page: number) => void;
1368
+ onSortChange?: (sort: {
1369
+ field: string;
1370
+ direction: string;
1371
+ }) => void;
1372
+ headerBackgroundColor?: string;
1373
+ footerBackgroundColor?: string;
1374
+ borderRadius?: string | number;
1375
+ borderLeft?: string;
1376
+ borderRight?: string;
1377
+ borderTop?: string;
1378
+ borderBottom?: string;
1379
+ }
1380
+
1381
+ interface BaseChartProps {
1382
+ colors?: string[];
1383
+ containerStyle?: React.CSSProperties;
1384
+ className?: string;
1385
+ isAnimationActive?: boolean;
1386
+ hideXAxis?: boolean;
1387
+ hideYAxis?: boolean;
1388
+ hideCartesianGrid?: boolean;
1389
+ hideDateRangeFilter?: boolean;
1390
+ hideHorizontalCartesianGrid?: boolean;
1391
+ hideVerticalCartesianGrid?: boolean;
1392
+ hideSubsequentXAxisTicks?: boolean;
1393
+ cartesianGridLineStyle?: 'solid' | 'dashed';
1394
+ cartesianGridLineColor?: string;
1395
+ comparisonLineStyle?: 'solid' | 'dashed';
1396
+ mapColorsToFields?: (_report: QuillReport, _theme: QuillTheme) => ColorMapType;
1397
+ LoadingComponent?: () => React.JSX.Element;
1398
+ filters?: InternalFilter[];
1399
+ onClickChartElement?: (data: any) => void;
1400
+ }
1401
+ interface WithConfig extends BaseChartProps {
1402
+ config?: QuillReport;
1403
+ }
1309
1404
  /**
1310
1405
  * Props for the Quill Chart component.
1311
1406
  */
@@ -1478,6 +1573,32 @@ interface ChartProps {
1478
1573
  isAdmin?: boolean;
1479
1574
  }
1480
1575
  declare function Chart({ colors, reportId, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter, hideFilters, mapColorsToFields, LoadingComponent, SelectComponent, MultiSelectComponent, DateRangePickerComponent, FilterContainerComponent, TableComponent, MetricComponent, filters, onClickChartElement, dateBucket, propagateChanges, isAdmin, }: ChartProps): react_jsx_runtime.JSX.Element;
1576
+ interface ChartDisplayProps extends WithConfig {
1577
+ loading: boolean;
1578
+ ErrorComponent?: ({ errorMessage, }: {
1579
+ errorMessage: string;
1580
+ }) => React.JSX.Element;
1581
+ colorMap?: ColorMapType;
1582
+ reportId?: string;
1583
+ onPageChange?: (page: number) => void;
1584
+ onSortChange?: (sort: {
1585
+ field: string;
1586
+ direction: string;
1587
+ }) => void;
1588
+ onClickChartElement?: (data: any) => void;
1589
+ scrollable?: boolean;
1590
+ overrideTheme?: QuillTheme;
1591
+ referenceLines?: {
1592
+ label: string;
1593
+ query: number[];
1594
+ }[];
1595
+ showLegend?: boolean;
1596
+ tableRowsLoading?: boolean;
1597
+ disableTableSort?: boolean;
1598
+ /** When `chartType` is `table`, applied to QuillTable's outer frame only (not cell lines). */
1599
+ tableChartWrapperBorders?: Pick<TableComponentProps, 'borderRadius' | 'borderLeft' | 'borderRight' | 'borderTop' | 'borderBottom'>;
1600
+ }
1601
+ declare const ChartDisplay: ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, isAnimationActive, scrollable, loading, ErrorComponent, colorMap, LoadingComponent, onPageChange, onSortChange, onClickChartElement, overrideTheme, referenceLines, showLegend, tableRowsLoading, tableChartWrapperBorders, }: ChartDisplayProps) => react_jsx_runtime.JSX.Element;
1481
1602
 
1482
1603
  /**
1483
1604
  * Props for the Quill Table component.
@@ -1545,6 +1666,7 @@ interface TableProps {
1545
1666
  columns?: {
1546
1667
  label: string;
1547
1668
  field: string;
1669
+ format?: string;
1548
1670
  }[];
1549
1671
  /**
1550
1672
  * The placeholder filename to use when downloading this table as a csv file.
@@ -1620,6 +1742,12 @@ interface TableProps {
1620
1742
  * Styles the top-level container of the Table.
1621
1743
  */
1622
1744
  containerStyle?: React$1.CSSProperties;
1745
+ /** Passed through to QuillTable when rendering with `rows` / `columns`. */
1746
+ borderRadius?: string | number;
1747
+ borderLeft?: string;
1748
+ borderRight?: string;
1749
+ borderTop?: string;
1750
+ borderBottom?: string;
1623
1751
  /** An array of dashboard filters that are indicated by the frontend dev. */
1624
1752
  filters?: Filter[];
1625
1753
  }
@@ -1654,7 +1782,7 @@ interface TableProps {
1654
1782
  * ### Table API
1655
1783
  * @see https://docs.quillsql.com/components/table
1656
1784
  */
1657
- declare const Table$1: ({ TableComponent, ...props }: TableProps) => react_jsx_runtime.JSX.Element | null;
1785
+ declare const Table: ({ TableComponent, ...props }: TableProps) => react_jsx_runtime.JSX.Element | null;
1658
1786
 
1659
1787
  /**
1660
1788
  * Props for the Quill SQLEditor component.
@@ -2547,6 +2675,577 @@ type StaticChartProps = (StaticChartBaseProps & {
2547
2675
  });
2548
2676
  declare function StaticChart(props: StaticChartProps): react_jsx_runtime.JSX.Element;
2549
2677
 
2678
+ interface ChatProps {
2679
+ selectedDashboard?: string | null;
2680
+ ChartViewComponent?: (props: {
2681
+ reportId: string;
2682
+ }) => JSX.Element;
2683
+ /** Called when the agent returns a report id (e.g. from `[RB_TOOL_OUTPUT]`). */
2684
+ onReportId?: (reportId: string) => void;
2685
+ /**
2686
+ * Current report builder state (e.g. return value `reportBuilderState` from `useReport`). Sent as `state` in agent-light
2687
+ * metadata on each message. Omit or pass null when not in the report builder.
2688
+ */
2689
+ reportBuilderState?: ReportBuilderState | null;
2690
+ }
2691
+ type ChatModelId = 'gemini-2-flash' | 'gemini-2.5-flash' | 'gemini-3-flash-preview' | 'gpt-5.1' | 'opus-4.5' | 'kimi-k2.5';
2692
+ declare function Chat({ selectedDashboard, ChartViewComponent, onReportId, reportBuilderState, }: ChatProps): react_jsx_runtime.JSX.Element;
2693
+
2694
+ type QueryBuilderCombinator = 'and' | 'or';
2695
+ type QueryBuilderRule = {
2696
+ field: string;
2697
+ operator: string;
2698
+ value: unknown;
2699
+ };
2700
+ type QueryBuilderRuleGroupEntry = QueryBuilderRule | QueryBuilderRuleGroup | QueryBuilderCombinator;
2701
+ type QueryBuilderRuleGroup = {
2702
+ combinator?: QueryBuilderCombinator;
2703
+ rules: QueryBuilderRuleGroupEntry[];
2704
+ };
2705
+ type QueryBuilderFieldType = 'string' | 'number' | 'date' | 'boolean' | 'null';
2706
+ type QueryBuilderOperatorOption = {
2707
+ name: string;
2708
+ value: string;
2709
+ label: string;
2710
+ arity?: 'unary' | 'binary' | number;
2711
+ };
2712
+
2713
+ type SelectOption = {
2714
+ label: string;
2715
+ value: string;
2716
+ };
2717
+ type UseFormTableRow = Record<string, unknown>;
2718
+ type UseFormTableColumn = {
2719
+ label: string;
2720
+ field: string;
2721
+ format: string;
2722
+ };
2723
+ type UseFormTable = {
2724
+ rows: UseFormTableRow[];
2725
+ columns: UseFormTableColumn[];
2726
+ getColumnFormat: (field: string) => string;
2727
+ formatCellValue: (field: string, value: unknown) => string;
2728
+ getFormattedCellValue: (row: UseFormTableRow, field: string) => string;
2729
+ };
2730
+ type ColumnSelectionOption = {
2731
+ value: string;
2732
+ label: string;
2733
+ field: string;
2734
+ tableName: string;
2735
+ type: string;
2736
+ };
2737
+ type UseFormDisplayColumn = ReportBuilderColumn & {
2738
+ format?: string;
2739
+ };
2740
+ type SetReportBuilderColumnInput = Partial<UseFormDisplayColumn> & {
2741
+ field: string;
2742
+ label?: string;
2743
+ };
2744
+ type TableColumnsControllerItem = {
2745
+ id: string;
2746
+ label: string;
2747
+ defaultLabel: string;
2748
+ customLabel: string;
2749
+ /** Persisted axis format value (e.g. `whole_number`). */
2750
+ format: string;
2751
+ /** Format preset label (same strings as chart axis / `tableFormatOptions`). */
2752
+ formatLabel: string;
2753
+ field: string;
2754
+ tableName: string;
2755
+ };
2756
+ type TableColumnListItem = {
2757
+ id: string;
2758
+ label: string;
2759
+ visible: true;
2760
+ /** Axis format preset label (matches `tableFormatOptions` / chart axis). */
2761
+ format: string;
2762
+ /**
2763
+ * When set, overrides the shared `formatOptions` for this row (e.g. pivot date bucket).
2764
+ */
2765
+ formatOptions?: string[];
2766
+ };
2767
+ /** Selected columns + mutation methods. Pair with `columnOptions` from `useReport` (like `datasources` / `datasourceOptions`). */
2768
+ type TableColumnsController = {
2769
+ items: TableColumnsControllerItem[];
2770
+ /** Schema option per column id (`value` === id) — includes `field`, `tableName`, etc. */
2771
+ optionById: ReadonlyMap<string, ColumnSelectionOption>;
2772
+ byId: ReadonlyMap<string, TableColumnsControllerItem>;
2773
+ /** Ready-made rows for table/column-picker UIs (`id`, `label`, `format` display string). */
2774
+ columnList: TableColumnListItem[];
2775
+ /** Build the `columns` array for `setReport({ columns })` from ordered ids. */
2776
+ getSetReportColumns: (ids: string[]) => SetReportBuilderColumnInput[];
2777
+ reorder: (oldIndex: number, newIndex: number) => void;
2778
+ /** Reorder to match a full id list (e.g. after drag-and-drop column list UIs). */
2779
+ reorderFromOrder: (nextIds: string[]) => void;
2780
+ remove: (id: string) => void;
2781
+ toggle: (id: string) => void;
2782
+ update: (id: string, updates: Partial<{
2783
+ fieldId: string;
2784
+ label: string;
2785
+ format: string;
2786
+ }>) => void;
2787
+ /**
2788
+ * Build `setReport({ columns: { patch } })` for a table column sidebar edit;
2789
+ * `setReport` expands it to a full `columns` list and/or `chartAxes`. Returns
2790
+ * null only when `id` is empty.
2791
+ */
2792
+ getColumnSidebarSetReportInput: (id: string, updates: Partial<{
2793
+ fieldId: string;
2794
+ label: string;
2795
+ format: string;
2796
+ }>) => SetReportBuilderInput | null;
2797
+ /**
2798
+ * When true (pivot + chartType table), the list mirrors `chart.columns`; reorder,
2799
+ * add, remove, and field swap are disabled — only label/format apply via chart axes.
2800
+ */
2801
+ structureEditsLocked: boolean;
2802
+ };
2803
+ type ChartAxisFieldOption = {
2804
+ value: string;
2805
+ label: string;
2806
+ format: AxisFormat;
2807
+ };
2808
+ type ChartYAxisControllerItem = {
2809
+ id: string;
2810
+ field: string;
2811
+ label: string;
2812
+ format: AxisFormat;
2813
+ };
2814
+ type ChartAxesController = {
2815
+ xAxis: {
2816
+ field: string;
2817
+ format: AxisFormat;
2818
+ options: ChartAxisFieldOption[];
2819
+ formatOptions: SelectOption[];
2820
+ update: (updates: Partial<{
2821
+ field: string;
2822
+ format: AxisFormat;
2823
+ }>) => void;
2824
+ };
2825
+ yAxis: {
2826
+ items: ChartYAxisControllerItem[];
2827
+ options: ChartAxisFieldOption[];
2828
+ formatOptions: SelectOption[];
2829
+ add: (field?: string) => void;
2830
+ remove: (id: string) => void;
2831
+ reorder: (oldIndex: number, newIndex: number) => void;
2832
+ update: (id: string, updates: Partial<{
2833
+ field: string;
2834
+ label: string;
2835
+ format: AxisFormat;
2836
+ }>) => void;
2837
+ };
2838
+ };
2839
+ type ColumnSelectorChangeValue = string[];
2840
+ /**
2841
+ * Table column sidebar edit under {@link SetReportBuilderInput.columns}: expands
2842
+ * inside `setReport` to a full `columns` array and/or `chartAxes` (pivot table chart).
2843
+ */
2844
+ type SetReportTableColumnSidebarPatch = {
2845
+ patch: {
2846
+ id: string;
2847
+ label?: string;
2848
+ format?: string;
2849
+ fieldId?: string;
2850
+ };
2851
+ };
2852
+ type AggregationStateItem = Partial<{
2853
+ valueField: string;
2854
+ valueField2?: string;
2855
+ aggregationType: AggregationType;
2856
+ /** Resolved datasource table for `valueField` (mirrors `aggregationTablesByIndex`). */
2857
+ valueFieldTable?: string;
2858
+ }>;
2859
+ type AggregationOption = {
2860
+ key: string;
2861
+ label: string;
2862
+ value: string;
2863
+ options: SelectOption[];
2864
+ };
2865
+ type AxisFormat = QuillReportInternal['yAxisFields'][number]['format'];
2866
+ type QueryBuilderFieldValueOption = {
2867
+ name: string;
2868
+ label: string;
2869
+ value: string;
2870
+ };
2871
+ type UseFormQueryBuilderField = {
2872
+ name: string;
2873
+ label: string;
2874
+ inputType: string;
2875
+ quillFieldType: QueryBuilderFieldType;
2876
+ values?: QueryBuilderFieldValueOption[];
2877
+ };
2878
+ type UseFormQueryBuilderProps = {
2879
+ fields: UseFormQueryBuilderField[];
2880
+ listsAsArrays: true;
2881
+ getOperators: (field: string, misc?: {
2882
+ fieldData?: Partial<UseFormQueryBuilderField>;
2883
+ }) => QueryBuilderOperatorOption[];
2884
+ getInputType: (field: string, operator: string, misc?: {
2885
+ fieldData?: Partial<UseFormQueryBuilderField>;
2886
+ }) => 'text' | 'number' | 'date' | 'checkbox';
2887
+ getValueEditorType: (field: string, operator: string, misc?: {
2888
+ fieldData?: Partial<UseFormQueryBuilderField>;
2889
+ }) => 'multiselect' | undefined;
2890
+ getValues: (field: string, operator: string, misc?: {
2891
+ fieldData?: Partial<UseFormQueryBuilderField>;
2892
+ }) => QueryBuilderFieldValueOption[];
2893
+ };
2894
+ /** Maps table column format dropdown values to persisted report column `format` (matches `setReport({ columns })` / `update`). */
2895
+ declare function tableColumnFormatFromUiSelection(raw: string): string;
2896
+ /** Shape expected by chart config sidebars that mirror `AxisConfig` (e.g. Quill Chat ConfigForm). */
2897
+ type UseFormAxisConfig = {
2898
+ xAxis: {
2899
+ field: string;
2900
+ label: string;
2901
+ format: string;
2902
+ show: boolean;
2903
+ rotation: number;
2904
+ fontSize: number;
2905
+ };
2906
+ yAxis: {
2907
+ fields: Array<{
2908
+ field: string;
2909
+ label: string;
2910
+ format: string;
2911
+ color: string;
2912
+ }>;
2913
+ label: string;
2914
+ show: boolean;
2915
+ min: string;
2916
+ max: string;
2917
+ fontSize: number;
2918
+ };
2919
+ legend: {
2920
+ show: boolean;
2921
+ };
2922
+ };
2923
+ type SetReportChartAxesInput = {
2924
+ xAxis?: Partial<{
2925
+ field: string;
2926
+ /** Custom X-axis title; empty string clears the override and restores the report/field default. */
2927
+ label: string;
2928
+ format: AxisFormat | string;
2929
+ }>;
2930
+ yAxis?: {
2931
+ fields: Array<{
2932
+ field: string;
2933
+ label?: string;
2934
+ format?: AxisFormat | string;
2935
+ }>;
2936
+ };
2937
+ };
2938
+ interface SetReportBuilderInput {
2939
+ /**
2940
+ * Column picker ids, a full column list, or `{ patch: { id, … } }` for sidebar
2941
+ * edits (expanded inside `setReport` into a full list and/or `chartAxes`).
2942
+ */
2943
+ columns?: ColumnSelectorChangeValue | SetReportBuilderColumnInput[] | SetReportTableColumnSidebarPatch;
2944
+ filters?: Filter[];
2945
+ groupRowsBy?: string;
2946
+ groupColumnsBy?: string;
2947
+ aggregations?: AggregationStateItem[] | string | {
2948
+ index: number;
2949
+ value: string;
2950
+ };
2951
+ sort?: ReportBuilderSort[] | string;
2952
+ limit?: ReportBuilderLimit | null;
2953
+ chartType?: string;
2954
+ /** When set, updates chart legend visibility (same source as `showLegend` from `useReport`). */
2955
+ showLegend?: boolean;
2956
+ /** When set, merges into chart axis edits (use with returned `xAxis` / `yAxis` / options). */
2957
+ chartAxes?: SetReportChartAxesInput;
2958
+ /**
2959
+ * Schema table names for datasource / multi-table picker UIs.
2960
+ * Empty array clears the override (report base tables apply again).
2961
+ */
2962
+ datasources?: string[];
2963
+ }
2964
+ interface UseReportOptions {
2965
+ useInMemoryEngines?: boolean;
2966
+ reportOverride?: QuillReportInternal | null;
2967
+ initialReportBuilderState?: ReportBuilderState | null;
2968
+ /**
2969
+ * When the report payload has no `dashboardName` and the client has no
2970
+ * `defaultDashboard`, use this for engine tasks that require a dashboard
2971
+ * (e.g. filter unique values).
2972
+ */
2973
+ destinationDashboardName?: string;
2974
+ /**
2975
+ * When true (default), filter pickers, pivot row/column group-by options,
2976
+ * aggregation field dropdowns, and filter-builder field lists only include
2977
+ * columns from the selected datasource
2978
+ * tables (`setReport({ datasources })` / report base tables)—not other tables that
2979
+ * happen to be FK-joinable but were not selected. When false, behaviour matches
2980
+ * the prior schema-wide option lists when no table scope applies.
2981
+ */
2982
+ restrictFieldOptionsToSelectedDatasources?: boolean;
2983
+ }
2984
+ /**
2985
+ * `saveChanges` from `useReport`. Always returns a Promise so UIs can `await`
2986
+ * before navigation or feedback. Resolves to `undefined` when persist is skipped
2987
+ * (e.g. missing client, dashboard name, or report state).
2988
+ */
2989
+ type UseReportSaveChangesFn = () => Promise<unknown>;
2990
+ /**
2991
+ * @param reportIdArg When omitted, the hook can bootstrap a report via `saveReport`
2992
+ * (`create-report`) on the first `setReport({ datasources })`, after schema is available.
2993
+ * Use `destinationDashboardName` so the server can resolve a dashboard for create-report.
2994
+ */
2995
+ declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
2996
+ chart: {
2997
+ xAxisField: string;
2998
+ xAxisFormat: AxisFormat$1;
2999
+ xAxisLabel: string;
3000
+ yAxisFields: {
3001
+ field: string;
3002
+ label: string;
3003
+ format: AxisFormat$1;
3004
+ }[];
3005
+ columns: Column$1[];
3006
+ pivotQuery?: string;
3007
+ comparisonPivotQuery?: string;
3008
+ itemQuery?: string[];
3009
+ referencedTables?: string[];
3010
+ referencedColumns?: {
3011
+ [table: string]: string[];
3012
+ };
3013
+ error?: string;
3014
+ adminError?: string;
3015
+ triggerReload?: boolean;
3016
+ columnInternal: ColumnInternal[];
3017
+ loadingRows?: boolean;
3018
+ flags?: {
3019
+ [tenantField: string]: string[] | "QUILL_ALL_TENANTS";
3020
+ };
3021
+ reportBuilderState?: ReportBuilderState;
3022
+ uniqueStringsByTable?: UniqueValuesByTable;
3023
+ uniqueStringsByColumn?: UniqueValuesByColumn;
3024
+ columnUniqueValues?: UniqueValuesByColumn;
3025
+ uniqueValues?: UniqueValuesByColumn;
3026
+ id: string;
3027
+ name: string;
3028
+ dashboardName: string;
3029
+ rows: {
3030
+ [key: string]: string;
3031
+ }[];
3032
+ chartType: string;
3033
+ showLegend?: boolean;
3034
+ dateField?: {
3035
+ table: string;
3036
+ field: string;
3037
+ };
3038
+ pivot: Pivot | null;
3039
+ template?: boolean;
3040
+ order: number;
3041
+ compareRows: {
3042
+ [key: string]: string;
3043
+ }[];
3044
+ filtersApplied?: InternalFilter[];
3045
+ pagination?: Pagination;
3046
+ sort?: {
3047
+ field: string;
3048
+ direction: string;
3049
+ };
3050
+ rowCount: number;
3051
+ queryString: string;
3052
+ filterMap?: {
3053
+ [key: string]: {
3054
+ table: string;
3055
+ field: string;
3056
+ };
3057
+ };
3058
+ referenceLines?: {
3059
+ label: string;
3060
+ query: [number, number] | string;
3061
+ }[];
3062
+ referenceLineYValues?: {
3063
+ label: string;
3064
+ query: [number, number];
3065
+ }[];
3066
+ includeCustomFields?: boolean;
3067
+ columnsWithCustomFields?: Column$1[];
3068
+ pivotRows?: {
3069
+ [key: string]: string;
3070
+ }[];
3071
+ pivotColumns?: ColumnInternal[];
3072
+ pivotRowCount?: number;
3073
+ } | undefined;
3074
+ chartLoading: boolean;
3075
+ table: UseFormTable;
3076
+ tableLoading: boolean;
3077
+ loading: boolean;
3078
+ /** Report title: matching `sourceReport.name`, else `report-name` task, else empty. */
3079
+ name: string;
3080
+ /**
3081
+ * Resolved report id: the `reportId` argument when provided, otherwise the id
3082
+ * returned from `create-report` after the first datasource selection.
3083
+ */
3084
+ reportId: string | undefined;
3085
+ datasources: {
3086
+ id: string;
3087
+ label: string;
3088
+ }[];
3089
+ datasourceOptions: {
3090
+ id: string;
3091
+ label: string;
3092
+ }[];
3093
+ groupRowsBy: string | undefined;
3094
+ groupRowsByOptions: SelectOption[];
3095
+ groupColumnsBy: string | undefined;
3096
+ groupColumnsByOptions: SelectOption[];
3097
+ aggregations: Partial<{
3098
+ valueField: string;
3099
+ valueField2?: string;
3100
+ aggregationType: AggregationType;
3101
+ /** Resolved datasource table for `valueField` (mirrors `aggregationTablesByIndex`). */
3102
+ valueFieldTable?: string;
3103
+ }>[];
3104
+ aggregationOptions: AggregationOption[];
3105
+ aggregationDescriptionOptions: {
3106
+ label: string;
3107
+ value: string;
3108
+ }[];
3109
+ sort: string;
3110
+ sortOptions: {
3111
+ label: string;
3112
+ value: string;
3113
+ }[];
3114
+ chartType: string | undefined;
3115
+ chartTypeOptions: {
3116
+ label: string;
3117
+ value: string;
3118
+ }[];
3119
+ /** Encoded field keys for the current column selection (for `setReport({ columns })`, etc.). */
3120
+ columnIds: ColumnSelectorChangeValue;
3121
+ /** Selected columns + `reorder` / `toggle` / `update` / `remove`. */
3122
+ columns: TableColumnsController;
3123
+ /** Schema columns for current datasources — pool for the table column picker. */
3124
+ columnOptions: ColumnSelectionOption[];
3125
+ xAxis: {
3126
+ field: string;
3127
+ format: AxisFormat;
3128
+ options: ChartAxisFieldOption[];
3129
+ formatOptions: SelectOption[];
3130
+ update: (updates: Partial<{
3131
+ field: string;
3132
+ format: AxisFormat;
3133
+ }>) => void;
3134
+ };
3135
+ xAxisOptions: {
3136
+ value: string;
3137
+ label: string;
3138
+ format: string;
3139
+ }[];
3140
+ yAxis: {
3141
+ items: ChartYAxisControllerItem[];
3142
+ options: ChartAxisFieldOption[];
3143
+ formatOptions: SelectOption[];
3144
+ add: (field?: string) => void;
3145
+ remove: (id: string) => void;
3146
+ reorder: (oldIndex: number, newIndex: number) => void;
3147
+ update: (id: string, updates: Partial<{
3148
+ field: string;
3149
+ label: string;
3150
+ format: AxisFormat;
3151
+ }>) => void;
3152
+ };
3153
+ yAxisOptions: {
3154
+ value: string;
3155
+ label: string;
3156
+ format: string;
3157
+ }[];
3158
+ /** Same strings as `axisSelectFormatLabels` (X/Y share chart format presets). */
3159
+ xAxisFormatOptions: string[];
3160
+ yAxisFormatOptions: string[];
3161
+ /** Table column format dropdown labels (same set as chart axis formats). */
3162
+ tableFormatOptions: string[];
3163
+ showLegend: boolean;
3164
+ axisConfig: UseFormAxisConfig;
3165
+ availableFields: {
3166
+ id: string;
3167
+ label: string;
3168
+ type: string;
3169
+ }[];
3170
+ axisSelectFormatLabels: string[];
3171
+ /** @deprecated Prefer top-level `xAxis`, `yAxis`, and `showLegend`. */
3172
+ chartAxes: ChartAxesController;
3173
+ /** @deprecated Prefer top-level `xAxisOptions` / `yAxisOptions`. */
3174
+ chartAxisOptions: {
3175
+ xAxis: {
3176
+ value: string;
3177
+ label: string;
3178
+ format: string;
3179
+ }[];
3180
+ yAxis: {
3181
+ value: string;
3182
+ label: string;
3183
+ format: string;
3184
+ }[];
3185
+ };
3186
+ hasTableDrivenColumnOrder: boolean;
3187
+ filters: QueryBuilderRuleGroup;
3188
+ filterQueryBuilderProps: UseFormQueryBuilderProps;
3189
+ /** True while `report-builder-unique-values` runs for filter value options (not chart/table load). */
3190
+ filterUniqueValuesLoading: boolean;
3191
+ limit: ReportBuilderLimit | null;
3192
+ chartTypes: {
3193
+ label: string;
3194
+ value: string;
3195
+ }[];
3196
+ columnsOptions: ColumnSelectionOption[];
3197
+ tableColumnOptions: ColumnSelectionOption[];
3198
+ tableColumns: TableColumnsController;
3199
+ setReport: (nextState: SetReportBuilderInput) => void;
3200
+ saveChanges: UseReportSaveChangesFn;
3201
+ setFilters: (nextFilters: QueryBuilderRuleGroup) => void;
3202
+ setReportBuilder: (nextState: SetReportBuilderInput) => void;
3203
+ /** Current report-builder slice (tables, columns, filters, pivot, sort); pass to e.g. `Chat` as `reportBuilderState`. */
3204
+ reportBuilderState: ReportBuilderState | undefined;
3205
+ };
3206
+
3207
+ /** Normalize react-querybuilder filter trees before stack conversion / persistence. */
3208
+ type QueryBuilderDisplayRule = {
3209
+ id?: unknown;
3210
+ field?: unknown;
3211
+ operator?: unknown;
3212
+ value?: unknown;
3213
+ };
3214
+ type QueryBuilderDisplayGroup = {
3215
+ combinator?: unknown;
3216
+ rules: unknown[];
3217
+ };
3218
+ declare const isQueryBuilderDisplayGroup: (value: unknown) => value is QueryBuilderDisplayGroup;
3219
+ declare const isQueryBuilderDisplayRule: (value: unknown) => value is QueryBuilderDisplayRule;
3220
+ declare const stripQueryBuilderTransientFields: (value: unknown, seen?: WeakMap<object, unknown>) => unknown;
3221
+ /** Merge relative-date rule values against a prior tree (typically last committed filters). */
3222
+ declare const normalizeRelativeDateRules: (nextQuery: unknown, previousQuery: unknown) => unknown;
3223
+ /** Strip + relative-date normalization used by `useReport` `setFilters` and draft-vs-committed UI. */
3224
+ declare function prepareQueryBuilderFiltersForSet(next: unknown, previousCommitted: unknown): unknown;
3225
+ /**
3226
+ * Whether a react-querybuilder draft differs from committed filters in a way that matters
3227
+ * for Apply (ignores transient `id` / `path`, etc.).
3228
+ */
3229
+ declare function areQueryBuilderFilterDraftsDirty(draft: unknown, committed: unknown): boolean;
3230
+ /** Number of leaf filter rules (excludes empty groups). */
3231
+ declare function countFilterRules(value: unknown): number;
3232
+
3233
+ type ReportDetailProps = {
3234
+ /** Display name from the loaded report (e.g. `useReport` `name`). Rendered above the chart when non-empty. */
3235
+ reportTitle?: string;
3236
+ chart?: any;
3237
+ chartLoading: boolean;
3238
+ table?: {
3239
+ columns?: unknown[];
3240
+ rows?: unknown[];
3241
+ };
3242
+ tableLoading: boolean;
3243
+ showLegend?: boolean;
3244
+ /** Strip QuillTable's outer frame when chart type is `table` (cell borders unchanged). */
3245
+ hideTableChartOuterBorder?: boolean;
3246
+ };
3247
+ declare function ReportDetail({ reportTitle, chart, chartLoading, table, tableLoading, showLegend, hideTableChartOuterBorder, }: ReportDetailProps): react_jsx_runtime.JSX.Element;
3248
+
2550
3249
  declare const quillFormat: ({ value, format, }: {
2551
3250
  value: any;
2552
3251
  format: string;
@@ -2624,11 +3323,9 @@ declare const useDashboards: () => {
2624
3323
  };
2625
3324
  declare const useDashboard: (dashboardName: string, config?: {
2626
3325
  pageSize?: number;
2627
- frontendCacheConfig?: {
2628
- cacheType: "memory" | "indexedDB";
2629
- showCacheLogs?: boolean;
2630
- };
2631
- disableBackendCache?: boolean;
3326
+ cacheEnabled?: boolean;
3327
+ cacheType?: "memory" | "idb";
3328
+ showCacheLogs?: boolean;
2632
3329
  }) => {
2633
3330
  isLoading: boolean;
2634
3331
  sections: Record<string, QuillReport[]> | null;
@@ -2660,28 +3357,6 @@ declare const useDashboardReport: (reportId: string, config?: {
2660
3357
  fetchNextPage: () => Promise<void>;
2661
3358
  };
2662
3359
 
2663
- /**
2664
- * Represents a table object returned from /schema2/:id
2665
- */
2666
- type Table = {
2667
- _id: string;
2668
- isSelectStar: boolean;
2669
- displayName: string;
2670
- name: string;
2671
- columns: ColumnInternal[];
2672
- viewQuery: string;
2673
- customFieldInfo: any;
2674
- broken?: boolean;
2675
- error?: string;
2676
- ownerTenantFields?: string[];
2677
- };
2678
- interface UniqueValuesByTable {
2679
- [table: string]: UniqueValuesByColumn;
2680
- }
2681
- interface UniqueValuesByColumn {
2682
- [column: string]: string[];
2683
- }
2684
-
2685
3360
  type ForeignKeyMap = {
2686
3361
  [table: string]: {
2687
3362
  foreignTable: string;
@@ -2771,7 +3446,7 @@ type ReportBuilder = {
2771
3446
  sortField: string;
2772
3447
  sortDirection: 'ASC' | 'DESC';
2773
3448
  } | undefined, fieldKey: 'rowField' | 'columnField' | 'aggregations' | 'rowLimit' | 'sort') => Promise<void>;
2774
- filteredSchema: Table[];
3449
+ filteredSchema: Table$1[];
2775
3450
  foreignKeyMap: ForeignKeyMap;
2776
3451
  schemaData: any;
2777
3452
  client: any;
@@ -2960,20 +3635,20 @@ type CustomField = {
2960
3635
  };
2961
3636
 
2962
3637
  declare const useVirtualTables: () => {
2963
- data: Table[];
3638
+ data: Table$1[];
2964
3639
  isLoading: boolean;
2965
3640
  loadingTables: {
2966
3641
  [key: string]: boolean;
2967
3642
  };
2968
3643
  reloadAll: (client: any, caller?: string) => Promise<{
2969
- schema: Table[];
3644
+ schema: Table$1[];
2970
3645
  customFields: {
2971
3646
  [tableName: string]: CustomField[];
2972
3647
  } | null;
2973
3648
  isSchemaLoading: boolean;
2974
3649
  }>;
2975
- refreshSome: (client: any, tables: Table[]) => Promise<{
2976
- schema: Table[];
3650
+ refreshSome: (client: any, tables: Table$1[]) => Promise<{
3651
+ schema: Table$1[];
2977
3652
  customFields: {
2978
3653
  [tableName: string]: CustomField[];
2979
3654
  } | null;
@@ -3039,42 +3714,6 @@ interface LimitPopoverComponentProps {
3039
3714
  disabled?: boolean;
3040
3715
  }
3041
3716
 
3042
- interface TableComponentProps {
3043
- rows: object[];
3044
- rowCount?: number;
3045
- rowCountIsLoading?: boolean;
3046
- columns: {
3047
- label: string;
3048
- field: string;
3049
- }[];
3050
- currentPage: number;
3051
- sort?: {
3052
- field: string;
3053
- direction: string;
3054
- };
3055
- className?: string;
3056
- containerStyle?: React$1.CSSProperties;
3057
- isLoading?: boolean;
3058
- hideCSVDownloadButton?: boolean;
3059
- downloadCSV?: () => void;
3060
- LoadingComponent?: () => React$1.JSX.Element;
3061
- DownloadCSVButtonComponent?: (props: ButtonComponentProps) => React$1.JSX.Element;
3062
- rowsPerPage?: number;
3063
- emptyStateLabel?: string;
3064
- onPageChange?: (page: number) => void;
3065
- onSortChange?: (sort: {
3066
- field: string;
3067
- direction: string;
3068
- }) => void;
3069
- headerBackgroundColor?: string;
3070
- footerBackgroundColor?: string;
3071
- borderRadius?: string | number;
3072
- borderLeft?: string;
3073
- borderRight?: string;
3074
- borderTop?: string;
3075
- borderBottom?: string;
3076
- }
3077
-
3078
3717
  interface DateRangePickerComponentProps {
3079
3718
  preset: string;
3080
3719
  label?: string;
@@ -3547,4 +4186,4 @@ interface ReportTableProps {
3547
4186
  }
3548
4187
  declare const ReportTable: ({ reportBuilder, TableComponent, }: ReportTableProps) => react_jsx_runtime.JSX.Element;
3549
4188
 
3550
- export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat, type ButtonComponentProps, Calculation, Chart, ChartEditor, type ChartEditorProps, type ChartProps, type CheckboxComponentProps, type ColorMapType, type Column$1 as Column, type ContainerComponentProps, Dashboard, type DashboardDateFilter, type DashboardFilter, DashboardFilterType, DashboardLegacy, type DashboardLegacyProps, type DashboardMultiFilter, type DashboardProps, type DashboardSectionComponentProps, type DashboardSingleFilter, type DashboardTenantFilter, DateOperator, type DateRange, type DateRangePickerComponentProps, type DateRangePickerOption, type DeleteButtonComponentProps, type DraggableColumnComponentProps, type EventBreadcrumb, type EventContext, type EventError, type EventMetadata, type EventTracking, type EventUser, type Filter, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type Option, type Pivot, type PopoverComponentProps, type QuillCustomInterval, type QuillCustomRelativeInterval, type QuillCustomRepeatingInterval, type QuillCustomStaticInterval, type QuillPreviousMonthInterval, type QuillPreviousQuarterInterval, QuillProvider, type QuillProviderProps, type QuillReport, type QuillReportProps, type QuillTheme, type QuillWeekInterval, ReportBuilder$1 as ReportBuilder, type ReportBuilderColumn, type ReportBuilderLimit, type ReportBuilderProps, type ReportBuilderSort, type ReportBuilderState, ReportTable, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table$1 as Table, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, downloadCSV, quillFormat as format, useAllReports, useAskQuill, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReportBuilder, useReports, useTenants, useVirtualTables };
4189
+ export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat$1 as AxisFormat, type ButtonComponentProps, Calculation, Chart, ChartDisplay, ChartEditor, type ChartEditorProps, type ChartProps, Chat, type ChatModelId, type ChatProps, type CheckboxComponentProps, type ColorMapType, type Column$1 as Column, type ColumnSelectionOption, type ContainerComponentProps, Dashboard, type DashboardDateFilter, type DashboardFilter, DashboardFilterType, DashboardLegacy, type DashboardLegacyProps, type DashboardMultiFilter, type DashboardProps, type DashboardSectionComponentProps, type DashboardSingleFilter, type DashboardTenantFilter, DateOperator, type DateRange, type DateRangePickerComponentProps, type DateRangePickerOption, type DeleteButtonComponentProps, type DraggableColumnComponentProps, type EventBreadcrumb, type EventContext, type EventError, type EventMetadata, type EventTracking, type EventUser, type Filter, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type Option, type Pivot, type PivotAggregation, type PopoverComponentProps, type QueryBuilderDisplayGroup, type QueryBuilderDisplayRule, type QuillCustomInterval, type QuillCustomRelativeInterval, type QuillCustomRepeatingInterval, type QuillCustomStaticInterval, type QuillPreviousMonthInterval, type QuillPreviousQuarterInterval, QuillProvider, type QuillProviderProps, type QuillReport, type QuillReportProps, type QuillTheme, type QuillWeekInterval, ReportBuilder$1 as ReportBuilder, type ReportBuilderColumn, type ReportBuilderLimit, type ReportBuilderProps, type ReportBuilderSort, type ReportBuilderState, ReportDetail, type ReportDetailProps, ReportTable, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SetReportBuilderInput, type SetReportChartAxesInput, type SetReportTableColumnSidebarPatch, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table, type TableColumnListItem, type TableColumnsController, type TableColumnsControllerItem, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, type UseFormAxisConfig, areQueryBuilderFilterDraftsDirty, countFilterRules, downloadCSV, quillFormat as format, isQueryBuilderDisplayGroup, isQueryBuilderDisplayRule, normalizeRelativeDateRules, prepareQueryBuilderFiltersForSet, stripQueryBuilderTransientFields, tableColumnFormatFromUiSelection, useAllReports, useAskQuill, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReport, useReportBuilder, useReports, useTenants, useVirtualTables };