@quillsql/react 2.16.43 → 2.16.44

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,8 +73,6 @@ 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';
78
76
  }
79
77
  interface MultiSelectComponentProps {
80
78
  label?: string;
@@ -518,12 +516,12 @@ type ColorMapType = {
518
516
  /**
519
517
  * A set of valid format values for the x and y axes of dashboard items.
520
518
  */
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';
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';
522
520
 
523
521
  interface Column$1 {
524
522
  field: string;
525
523
  label: string;
526
- format: AxisFormat$1;
524
+ format: AxisFormat;
527
525
  inferFormat?: boolean;
528
526
  }
529
527
  interface ColumnInternal extends Column$1 {
@@ -548,10 +546,6 @@ interface BasePivot {
548
546
  rowFieldType?: string;
549
547
  columnField?: string;
550
548
  columnFieldType?: string;
551
- /** Source table for rowField (multi-table / disambiguation). */
552
- rowFieldTable?: string;
553
- /** Source table for columnField (multi-table / disambiguation). */
554
- columnFieldTable?: string;
555
549
  sort?: boolean;
556
550
  sortDirection?: 'ASC' | 'DESC';
557
551
  sortField?: string;
@@ -562,14 +556,6 @@ interface BasePivot {
562
556
  columnValues?: string[];
563
557
  dateBucket?: 'day' | 'week' | 'month' | 'year';
564
558
  }
565
- type PivotAggregation = {
566
- aggregationType: AggregationType;
567
- valueField?: string;
568
- valueFieldType?: string;
569
- valueField2?: string;
570
- valueField2Type?: string;
571
- valueFieldTable?: string;
572
- };
573
559
  interface SingleAggregationPivot extends BasePivot {
574
560
  aggregationType: AggregationType;
575
561
  valueField?: string;
@@ -584,7 +570,13 @@ interface MultiAggregationPivot extends BasePivot {
584
570
  valueField2?: never;
585
571
  valueField2Type?: never;
586
572
  valueFieldType?: never;
587
- aggregations: PivotAggregation[];
573
+ aggregations: {
574
+ valueField?: string;
575
+ valueFieldType?: string;
576
+ valueField2?: string;
577
+ valueField2Type?: string;
578
+ aggregationType: AggregationType;
579
+ }[];
588
580
  }
589
581
  type AggregationType = 'sum' | 'average' | 'min' | 'max' | 'count' | 'avg' | 'percentage';
590
582
  type PivotData = {
@@ -638,29 +630,6 @@ type ReportBuilderState = {
638
630
  limit: ReportBuilderLimit | null;
639
631
  };
640
632
 
641
- /**
642
- * Represents a table object returned from /schema2/:id
643
- */
644
- type Table$1 = {
645
- _id: string;
646
- isSelectStar: boolean;
647
- displayName: string;
648
- name: string;
649
- description?: string;
650
- columns: ColumnInternal[];
651
- viewQuery: string;
652
- customFieldInfo: any;
653
- broken?: boolean;
654
- error?: string;
655
- ownerTenantFields?: string[];
656
- };
657
- interface UniqueValuesByTable {
658
- [table: string]: UniqueValuesByColumn;
659
- }
660
- interface UniqueValuesByColumn {
661
- [column: string]: string[];
662
- }
663
-
664
633
  /**
665
634
  * ## QuillReport
666
635
  * Represents an individual item on a dashboard.
@@ -701,7 +670,7 @@ interface QuillReport {
701
670
  /** The field to use for this report's xAxis. */
702
671
  xAxisField: string;
703
672
  /** The format for this report's xAxis. */
704
- xAxisFormat: AxisFormat$1;
673
+ xAxisFormat: AxisFormat;
705
674
  /** The template flag for a report */
706
675
  template?: boolean;
707
676
  /**
@@ -713,7 +682,7 @@ interface QuillReport {
713
682
  /** The label to use for this yAxis. */
714
683
  label: string;
715
684
  /** The format of the data in this yAxis. */
716
- format: AxisFormat$1;
685
+ format: AxisFormat;
717
686
  }[];
718
687
  /**
719
688
  * The relative ordering of this report in relation to its siblings. Ordering
@@ -807,14 +776,6 @@ interface QuillReportInternal extends QuillReport {
807
776
  * When present, backend will generate SQL from this state instead of using queryString.
808
777
  */
809
778
  reportBuilderState?: ReportBuilderState;
810
- /** String unique values grouped by table/column, used by filter builders. */
811
- uniqueStringsByTable?: UniqueValuesByTable;
812
- /** String unique values keyed by column name, used by filter builders. */
813
- uniqueStringsByColumn?: UniqueValuesByColumn;
814
- /** Legacy alias for unique string values keyed by column name. */
815
- columnUniqueValues?: UniqueValuesByColumn;
816
- /** Backward-compatible alias for unique string values keyed by column name. */
817
- uniqueValues?: UniqueValuesByColumn;
818
779
  }
819
780
 
820
781
  /**
@@ -1355,43 +1316,6 @@ type QuillProviderProps = QuillCloudProviderProps | SelfHostedProviderProps;
1355
1316
  */
1356
1317
  declare const QuillProvider: ({ tenants, flags, publicKey, queryEndpoint, streamEndpoint, queryHeaders, children, theme, withCredentials, isAdmin, getAuthorizationToken, eventTracking, onChangelogs, }: QuillProviderProps) => react_jsx_runtime.JSX.Element;
1357
1318
 
1358
- interface TableComponentProps {
1359
- rows: object[];
1360
- rowCount?: number;
1361
- rowCountIsLoading?: boolean;
1362
- columns: {
1363
- label: string;
1364
- field: string;
1365
- format?: string;
1366
- }[];
1367
- currentPage: number;
1368
- sort?: {
1369
- field: string;
1370
- direction: string;
1371
- };
1372
- className?: string;
1373
- containerStyle?: React$1.CSSProperties;
1374
- isLoading?: boolean;
1375
- hideCSVDownloadButton?: boolean;
1376
- downloadCSV?: () => void;
1377
- LoadingComponent?: () => React$1.JSX.Element;
1378
- DownloadCSVButtonComponent?: (props: ButtonComponentProps) => React$1.JSX.Element;
1379
- rowsPerPage?: number;
1380
- emptyStateLabel?: string;
1381
- onPageChange?: (page: number) => void;
1382
- onSortChange?: (sort: {
1383
- field: string;
1384
- direction: string;
1385
- }) => void;
1386
- headerBackgroundColor?: string;
1387
- footerBackgroundColor?: string;
1388
- borderRadius?: string | number;
1389
- borderLeft?: string;
1390
- borderRight?: string;
1391
- borderTop?: string;
1392
- borderBottom?: string;
1393
- }
1394
-
1395
1319
  interface BaseChartProps {
1396
1320
  colors?: string[];
1397
1321
  containerStyle?: React.CSSProperties;
@@ -1600,6 +1524,7 @@ interface ChartDisplayProps extends WithConfig {
1600
1524
  direction: string;
1601
1525
  }) => void;
1602
1526
  onClickChartElement?: (data: any) => void;
1527
+ onClickLegendElement?: (data: any) => void;
1603
1528
  scrollable?: boolean;
1604
1529
  overrideTheme?: QuillTheme;
1605
1530
  referenceLines?: {
@@ -1609,10 +1534,8 @@ interface ChartDisplayProps extends WithConfig {
1609
1534
  showLegend?: boolean;
1610
1535
  tableRowsLoading?: boolean;
1611
1536
  disableTableSort?: boolean;
1612
- /** When `chartType` is `table`, applied to QuillTable's outer frame only (not cell lines). */
1613
- tableChartWrapperBorders?: Pick<TableComponentProps, 'borderRadius' | 'borderLeft' | 'borderRight' | 'borderTop' | 'borderBottom'>;
1614
1537
  }
1615
- 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;
1538
+ 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, onClickLegendElement, overrideTheme, referenceLines, showLegend, tableRowsLoading, }: ChartDisplayProps) => react_jsx_runtime.JSX.Element;
1616
1539
 
1617
1540
  /**
1618
1541
  * Props for the Quill Table component.
@@ -1680,7 +1603,6 @@ interface TableProps {
1680
1603
  columns?: {
1681
1604
  label: string;
1682
1605
  field: string;
1683
- format?: string;
1684
1606
  }[];
1685
1607
  /**
1686
1608
  * The placeholder filename to use when downloading this table as a csv file.
@@ -1756,12 +1678,6 @@ interface TableProps {
1756
1678
  * Styles the top-level container of the Table.
1757
1679
  */
1758
1680
  containerStyle?: React$1.CSSProperties;
1759
- /** Passed through to QuillTable when rendering with `rows` / `columns`. */
1760
- borderRadius?: string | number;
1761
- borderLeft?: string;
1762
- borderRight?: string;
1763
- borderTop?: string;
1764
- borderBottom?: string;
1765
1681
  /** An array of dashboard filters that are indicated by the frontend dev. */
1766
1682
  filters?: Filter[];
1767
1683
  }
@@ -1796,7 +1712,7 @@ interface TableProps {
1796
1712
  * ### Table API
1797
1713
  * @see https://docs.quillsql.com/components/table
1798
1714
  */
1799
- declare const Table: ({ TableComponent, ...props }: TableProps) => react_jsx_runtime.JSX.Element | null;
1715
+ declare const Table$1: ({ TableComponent, ...props }: TableProps) => react_jsx_runtime.JSX.Element | null;
1800
1716
 
1801
1717
  /**
1802
1718
  * Props for the Quill SQLEditor component.
@@ -2675,6 +2591,7 @@ declare function ChartEditor({ isOpen, reportId, isAdmin, chartBuilderTitle, cha
2675
2591
  interface StaticChartBaseProps {
2676
2592
  reportId: string;
2677
2593
  onClickChartElement?: (data: any) => void;
2594
+ onClickLegendElement?: (data: any) => void;
2678
2595
  showLegend?: boolean;
2679
2596
  }
2680
2597
  type StaticChartProps = (StaticChartBaseProps & {
@@ -2697,303 +2614,26 @@ interface ChatProps {
2697
2614
  agentEndpoint?: string;
2698
2615
  suggestions?: string[];
2699
2616
  }
2700
- type ChatModelId = 'gemini-2-flash' | 'gemini-2.5-flash' | 'gemini-3-flash-preview' | 'gpt-5.1' | 'opus-4.5' | 'kimi-k2.5';
2701
2617
  declare function Chat({ selectedDashboard, ChartViewComponent, agentEndpoint, suggestions, }: ChatProps): react_jsx_runtime.JSX.Element;
2702
2618
 
2703
- type QueryBuilderCombinator = 'and' | 'or';
2704
- type QueryBuilderRule = {
2705
- field: string;
2706
- operator: string;
2707
- value: unknown;
2708
- };
2709
- type QueryBuilderRuleGroupEntry = QueryBuilderRule | QueryBuilderRuleGroup | QueryBuilderCombinator;
2710
- type QueryBuilderRuleGroup = {
2711
- combinator?: QueryBuilderCombinator;
2712
- rules: QueryBuilderRuleGroupEntry[];
2713
- };
2714
- type QueryBuilderFieldType = 'string' | 'number' | 'date' | 'boolean' | 'null';
2715
- type QueryBuilderOperatorOption = {
2716
- name: string;
2717
- value: string;
2718
- label: string;
2719
- arity?: 'unary' | 'binary' | number;
2720
- };
2721
-
2722
- /**
2723
- * Default `value` for a new react-querybuilder rule given a Quill operator.
2724
- * List operators (`in` / `notIn`) need `[]` so the multiselect editor works
2725
- * with `listsAsArrays`; everything else starts as an empty string.
2726
- */
2727
- declare const defaultFilterRuleValueForOperator: (operator: unknown) => unknown;
2728
- /**
2729
- * One-rule react-querybuilder tree seeded from the first field in the catalog,
2730
- * using that field's first operator and a matching default value. Used for the
2731
- * "Add filter" empty state, where react-querybuilder's own "+ Rule" button is
2732
- * not rendered yet.
2733
- */
2734
- declare const buildSeededFilterQuery: (queryBuilderProps: Pick<UseFormQueryBuilderProps, "fields" | "getOperators"> | null | undefined) => QueryBuilderRuleGroup;
2735
- type FilterDraftQueryBuilderProps = UseFormQueryBuilderProps & {
2736
- /** Committed-or-draft tree react-querybuilder hydrates from on mount (uncontrolled mode). */
2737
- defaultQuery: QueryBuilderRuleGroup;
2738
- onQueryChange: (next: unknown) => void;
2739
- addRuleToNewGroups: true;
2740
- getDefaultValue: (rule: {
2741
- operator?: unknown;
2742
- }) => unknown;
2743
- };
2744
- type UseReportFilterDraft = {
2745
- /**
2746
- * Pass as `key` on `QueryBuilder` (not inside the spread — React warns on
2747
- * spread `key`). Changes whenever react-querybuilder must rehydrate from
2748
- * `defaultQuery`: report switch, committed filters change, field catalog
2749
- * change, or `resetFilterDraft`.
2750
- */
2751
- filterDraftKey: string;
2752
- /** Spread onto `react-querybuilder`'s `QueryBuilder`: `<QueryBuilder key={filterDraftKey} {...filterDraftQueryBuilderProps} />`. */
2753
- filterDraftQueryBuilderProps: FilterDraftQueryBuilderProps;
2754
- /** Draft differs from committed filters (commit would change the report). */
2755
- isFilterDraftDirty: boolean;
2756
- /** Draft tree has no rules at all; show an "Add filter" affordance instead of the builder. */
2757
- isFilterDraftEmpty: boolean;
2758
- /** Commit the draft via `setFilters` (report/chart refresh follows). */
2759
- commitFilterDraft: () => void;
2760
- /** Drop the draft and rehydrate the builder from committed filters. */
2761
- resetFilterDraft: () => void;
2762
- /** Seed a first rule (field + operator + default value) and leave the empty state. */
2763
- seedFilterDraft: () => void;
2764
- };
2765
-
2766
2619
  type SelectOption = {
2767
2620
  label: string;
2768
2621
  value: string;
2769
2622
  };
2770
- type UseFormTableRow = Record<string, unknown>;
2771
- type UseFormTableColumn = {
2772
- label: string;
2773
- field: string;
2774
- format: string;
2775
- };
2776
- type UseFormTable = {
2777
- rows: UseFormTableRow[];
2778
- columns: UseFormTableColumn[];
2779
- getColumnFormat: (field: string) => string;
2780
- formatCellValue: (field: string, value: unknown) => string;
2781
- getFormattedCellValue: (row: UseFormTableRow, field: string) => string;
2782
- };
2783
- type ColumnSelectionOption = {
2784
- value: string;
2785
- label: string;
2786
- field: string;
2787
- tableName: string;
2788
- type: string;
2789
- };
2790
- type UseFormDisplayColumn = ReportBuilderColumn & {
2791
- format?: string;
2792
- };
2793
- type SetReportBuilderColumnInput = Partial<UseFormDisplayColumn> & {
2794
- field: string;
2795
- label?: string;
2796
- };
2797
- type TableColumnsControllerItem = {
2798
- id: string;
2799
- label: string;
2800
- defaultLabel: string;
2801
- customLabel: string;
2802
- /** Persisted axis format value (e.g. `whole_number`). */
2803
- format: string;
2804
- /** Format preset label (same strings as chart axis / `tableFormatOptions`). */
2805
- formatLabel: string;
2806
- field: string;
2807
- tableName: string;
2808
- };
2809
- type TableColumnListItem = {
2810
- id: string;
2811
- label: string;
2812
- visible: true;
2813
- /** Axis format preset label (matches `tableFormatOptions` / chart axis). */
2814
- format: string;
2815
- /**
2816
- * When set, overrides the shared `formatOptions` for this row (e.g. pivot date bucket).
2817
- */
2818
- formatOptions?: string[];
2819
- };
2820
- /** Selected columns + mutation methods. Pair with `columnOptions` from `useReport` (like `datasources` / `datasourceOptions`). */
2821
- type TableColumnsController = {
2822
- items: TableColumnsControllerItem[];
2823
- /** Schema option per column id (`value` === id) — includes `field`, `tableName`, etc. */
2824
- optionById: ReadonlyMap<string, ColumnSelectionOption>;
2825
- byId: ReadonlyMap<string, TableColumnsControllerItem>;
2826
- /** Ready-made rows for table/column-picker UIs (`id`, `label`, `format` display string). */
2827
- columnList: TableColumnListItem[];
2828
- /** Build the `columns` array for `setReport({ columns })` from ordered ids. */
2829
- getSetReportColumns: (ids: string[]) => SetReportBuilderColumnInput[];
2830
- reorder: (oldIndex: number, newIndex: number) => void;
2831
- /** Reorder to match a full id list (e.g. after drag-and-drop column list UIs). */
2832
- reorderFromOrder: (nextIds: string[]) => void;
2833
- remove: (id: string) => void;
2834
- toggle: (id: string) => void;
2835
- update: (id: string, updates: Partial<{
2836
- fieldId: string;
2837
- label: string;
2838
- format: string;
2839
- }>) => void;
2840
- /**
2841
- * Build `setReport({ columns: { patch } })` for a table column sidebar edit;
2842
- * `setReport` expands it to a full `columns` list and/or `chartAxes`. Returns
2843
- * null only when `id` is empty.
2844
- */
2845
- getColumnSidebarSetReportInput: (id: string, updates: Partial<{
2846
- fieldId: string;
2847
- label: string;
2848
- format: string;
2849
- }>) => SetReportBuilderInput | null;
2850
- /**
2851
- * When true (pivot + chartType table), the list mirrors `chart.columns`; reorder,
2852
- * add, remove, and field swap are disabled — only label/format apply via chart axes.
2853
- */
2854
- structureEditsLocked: boolean;
2855
- };
2856
- type ChartAxisFieldOption = {
2857
- value: string;
2858
- label: string;
2859
- format: AxisFormat;
2860
- };
2861
- type ChartYAxisControllerItem = {
2862
- id: string;
2863
- field: string;
2864
- label: string;
2865
- format: AxisFormat;
2866
- };
2867
- type ChartAxesController = {
2868
- xAxis: {
2869
- field: string;
2870
- format: AxisFormat;
2871
- options: ChartAxisFieldOption[];
2872
- formatOptions: SelectOption[];
2873
- update: (updates: Partial<{
2874
- field: string;
2875
- format: AxisFormat;
2876
- }>) => void;
2877
- };
2878
- yAxis: {
2879
- items: ChartYAxisControllerItem[];
2880
- options: ChartAxisFieldOption[];
2881
- formatOptions: SelectOption[];
2882
- add: (field?: string) => void;
2883
- remove: (id: string) => void;
2884
- reorder: (oldIndex: number, newIndex: number) => void;
2885
- update: (id: string, updates: Partial<{
2886
- field: string;
2887
- label: string;
2888
- format: AxisFormat;
2889
- }>) => void;
2890
- };
2891
- };
2892
2623
  type ColumnSelectorChangeValue = string[];
2893
- /**
2894
- * Table column sidebar edit under {@link SetReportBuilderInput.columns}: expands
2895
- * inside `setReport` to a full `columns` array and/or `chartAxes` (pivot table chart).
2896
- */
2897
- type SetReportTableColumnSidebarPatch = {
2898
- patch: {
2899
- id: string;
2900
- label?: string;
2901
- format?: string;
2902
- fieldId?: string;
2903
- };
2904
- };
2905
2624
  type AggregationStateItem = Partial<{
2906
2625
  valueField: string;
2907
2626
  valueField2?: string;
2908
2627
  aggregationType: AggregationType;
2909
- /** Resolved datasource table for `valueField` (mirrors `aggregationTablesByIndex`). */
2910
- valueFieldTable?: string;
2911
2628
  }>;
2912
2629
  type AggregationOption = {
2913
2630
  key: string;
2914
2631
  label: string;
2915
- value: string;
2632
+ value?: string;
2916
2633
  options: SelectOption[];
2917
2634
  };
2918
- type AxisFormat = QuillReportInternal['yAxisFields'][number]['format'];
2919
- type QueryBuilderFieldValueOption = {
2920
- name: string;
2921
- label: string;
2922
- value: string;
2923
- };
2924
- type UseFormQueryBuilderField = {
2925
- name: string;
2926
- label: string;
2927
- inputType: string;
2928
- quillFieldType: QueryBuilderFieldType;
2929
- values?: QueryBuilderFieldValueOption[];
2930
- };
2931
- type UseFormQueryBuilderProps = {
2932
- fields: UseFormQueryBuilderField[];
2933
- listsAsArrays: true;
2934
- getOperators: (field: string, misc?: {
2935
- fieldData?: Partial<UseFormQueryBuilderField>;
2936
- }) => QueryBuilderOperatorOption[];
2937
- getInputType: (field: string, operator: string, misc?: {
2938
- fieldData?: Partial<UseFormQueryBuilderField>;
2939
- }) => 'text' | 'number' | 'date' | 'checkbox';
2940
- getValueEditorType: (field: string, operator: string, misc?: {
2941
- fieldData?: Partial<UseFormQueryBuilderField>;
2942
- }) => 'multiselect' | undefined;
2943
- getValues: (field: string, operator: string, misc?: {
2944
- fieldData?: Partial<UseFormQueryBuilderField>;
2945
- }) => QueryBuilderFieldValueOption[];
2946
- };
2947
- /** Maps table column format dropdown values to persisted report column `format` (matches `setReport({ columns })` / `update`). */
2948
- declare function tableColumnFormatFromUiSelection(raw: string): string;
2949
- /** Shape expected by chart config sidebars that mirror `AxisConfig` (e.g. Quill Chat ConfigForm). */
2950
- type UseFormAxisConfig = {
2951
- xAxis: {
2952
- field: string;
2953
- label: string;
2954
- format: string;
2955
- show: boolean;
2956
- rotation: number;
2957
- fontSize: number;
2958
- };
2959
- yAxis: {
2960
- fields: Array<{
2961
- field: string;
2962
- label: string;
2963
- format: string;
2964
- color: string;
2965
- }>;
2966
- label: string;
2967
- show: boolean;
2968
- min: string;
2969
- max: string;
2970
- fontSize: number;
2971
- };
2972
- legend: {
2973
- show: boolean;
2974
- };
2975
- };
2976
- type SetReportChartAxesInput = {
2977
- xAxis?: Partial<{
2978
- field: string;
2979
- /** Custom X-axis title; empty string clears the override and restores the report/field default. */
2980
- label: string;
2981
- format: AxisFormat | string;
2982
- }>;
2983
- yAxis?: {
2984
- fields: Array<{
2985
- field: string;
2986
- label?: string;
2987
- format?: AxisFormat | string;
2988
- }>;
2989
- };
2990
- };
2991
2635
  interface SetReportBuilderInput {
2992
- /**
2993
- * Column picker ids, a full column list, or `{ patch: { id, … } }` for sidebar
2994
- * edits (expanded inside `setReport` into a full list and/or `chartAxes`).
2995
- */
2996
- columns?: ColumnSelectorChangeValue | SetReportBuilderColumnInput[] | SetReportTableColumnSidebarPatch;
2636
+ columns?: ColumnSelectorChangeValue | ReportBuilderColumn[];
2997
2637
  filters?: Filter[];
2998
2638
  groupRowsBy?: string;
2999
2639
  groupColumnsBy?: string;
@@ -3001,171 +2641,25 @@ interface SetReportBuilderInput {
3001
2641
  index: number;
3002
2642
  value: string;
3003
2643
  };
3004
- sort?: ReportBuilderSort[] | string;
2644
+ sort?: ReportBuilderSort[];
3005
2645
  limit?: ReportBuilderLimit | null;
3006
2646
  chartType?: string;
3007
- /** When set, updates chart legend visibility (same source as `showLegend` from `useReport`). */
3008
- showLegend?: boolean;
3009
- /** When set, merges into chart axis edits (use with returned `xAxis` / `yAxis` / options). */
3010
- chartAxes?: SetReportChartAxesInput;
3011
- /**
3012
- * Schema table names for datasource / multi-table picker UIs.
3013
- * Empty array clears the override (report base tables apply again).
3014
- */
3015
- datasources?: string[];
3016
2647
  }
3017
- interface UseReportOptions {
2648
+ interface UseFormOptions {
3018
2649
  useInMemoryEngines?: boolean;
3019
- reportOverride?: QuillReportInternal | null;
3020
- initialReportBuilderState?: ReportBuilderState | null;
3021
- /**
3022
- * When the report payload has no `dashboardName` and the client has no
3023
- * `defaultDashboard`, use this for engine tasks that require a dashboard
3024
- * (e.g. filter unique values).
3025
- */
3026
- destinationDashboardName?: string;
3027
- /**
3028
- * When true (default), filter pickers, pivot row/column group-by options,
3029
- * aggregation field dropdowns, and filter-builder field lists only include
3030
- * columns from the selected datasource
3031
- * tables (`setReport({ datasources })` / report base tables)—not other tables that
3032
- * happen to be FK-joinable but were not selected. When false, behaviour matches
3033
- * the prior schema-wide option lists when no table scope applies.
3034
- */
3035
- restrictFieldOptionsToSelectedDatasources?: boolean;
3036
2650
  }
3037
- /**
3038
- * `saveChanges` from `useReport`. Always returns a Promise so UIs can `await`
3039
- * before navigation or feedback. Resolves to `undefined` when persist is skipped
3040
- * (e.g. missing client, dashboard name, or report state).
3041
- */
3042
- type UseReportSaveChangesFn = () => Promise<unknown>;
3043
- /**
3044
- * @param reportIdArg When omitted, the hook can bootstrap a report via `saveReport`
3045
- * (`create-report`) on the first `setReport({ datasources })`, after schema is available.
3046
- * Use `destinationDashboardName` so the server can resolve a dashboard for create-report.
3047
- */
3048
- declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
3049
- /** True while `report-builder-unique-values` runs for filter value options (not chart/table load). */
3050
- filterUniqueValuesLoading: boolean;
3051
- limit: ReportBuilderLimit | null;
3052
- chartTypes: {
3053
- label: string;
3054
- value: string;
3055
- }[];
3056
- columnsOptions: ColumnSelectionOption[];
3057
- tableColumnOptions: ColumnSelectionOption[];
3058
- tableColumns: TableColumnsController;
3059
- setReport: (nextState: SetReportBuilderInput) => void;
3060
- saveChanges: UseReportSaveChangesFn;
3061
- setFilters: (nextFilters: QueryBuilderRuleGroup) => void;
3062
- setReportBuilder: (nextState: SetReportBuilderInput) => void;
3063
- /** Current report-builder slice (tables, columns, filters, pivot, sort); pass to e.g. `Chat` as `reportBuilderState`. */
3064
- reportBuilderState: ReportBuilderState | undefined;
3065
- filterDraftKey: string;
3066
- filterDraftQueryBuilderProps: FilterDraftQueryBuilderProps;
3067
- isFilterDraftDirty: boolean;
3068
- isFilterDraftEmpty: boolean;
3069
- commitFilterDraft: () => void;
3070
- resetFilterDraft: () => void;
3071
- seedFilterDraft: () => void;
3072
- chart: {
3073
- xAxisField: string;
3074
- xAxisFormat: AxisFormat$1;
3075
- xAxisLabel: string;
3076
- yAxisFields: {
3077
- field: string;
3078
- label: string;
3079
- format: AxisFormat$1;
3080
- }[];
3081
- columns: Column$1[];
3082
- pivotQuery?: string;
3083
- comparisonPivotQuery?: string;
3084
- itemQuery?: string[];
3085
- referencedTables?: string[];
3086
- referencedColumns?: {
3087
- [table: string]: string[];
3088
- };
3089
- error?: string;
3090
- adminError?: string;
3091
- triggerReload?: boolean;
3092
- columnInternal: ColumnInternal[];
3093
- loadingRows?: boolean;
3094
- flags?: {
3095
- [tenantField: string]: string[] | "QUILL_ALL_TENANTS";
3096
- };
3097
- reportBuilderState?: ReportBuilderState;
3098
- uniqueStringsByTable?: UniqueValuesByTable;
3099
- uniqueStringsByColumn?: UniqueValuesByColumn;
3100
- columnUniqueValues?: UniqueValuesByColumn;
3101
- uniqueValues?: UniqueValuesByColumn;
2651
+ declare function useForm(reportId: string, options?: UseFormOptions): {
2652
+ columns: ColumnSelectorChangeValue;
2653
+ columnsOptions: {
3102
2654
  id: string;
3103
2655
  name: string;
3104
- dashboardName: string;
3105
- rows: {
3106
- [key: string]: string;
3107
- }[];
3108
- chartType: string;
3109
- showLegend?: boolean;
3110
- dateField?: {
3111
- table: string;
3112
- field: string;
3113
- };
3114
- pivot: Pivot | null;
3115
- template?: boolean;
3116
- order: number;
3117
- compareRows: {
3118
- [key: string]: string;
3119
- }[];
3120
- filtersApplied?: InternalFilter[];
3121
- pagination?: Pagination;
3122
- sort?: {
3123
- field: string;
3124
- direction: string;
3125
- };
3126
- rowCount: number;
3127
- queryString: string;
3128
- filterMap?: {
3129
- [key: string]: {
3130
- table: string;
3131
- field: string;
3132
- };
3133
- };
3134
- referenceLines?: {
3135
- label: string;
3136
- query: [number, number] | string;
3137
- }[];
3138
- referenceLineYValues?: {
3139
- label: string;
3140
- query: [number, number];
3141
- }[];
3142
- includeCustomFields?: boolean;
3143
- columnsWithCustomFields?: Column$1[];
3144
- pivotRows?: {
3145
- [key: string]: string;
2656
+ columns: {
2657
+ id: string;
2658
+ name: string;
2659
+ type: string;
3146
2660
  }[];
3147
- pivotColumns?: ColumnInternal[];
3148
- pivotRowCount?: number;
3149
- } | undefined;
3150
- chartLoading: boolean;
3151
- table: UseFormTable;
3152
- tableLoading: boolean;
3153
- loading: boolean;
3154
- /** Report title: matching `sourceReport.name`, else `report-name` task, else empty. */
3155
- name: string;
3156
- /**
3157
- * Resolved report id: the `reportId` argument when provided, otherwise the id
3158
- * returned from `create-report` after the first datasource selection.
3159
- */
3160
- reportId: string | undefined;
3161
- datasources: {
3162
- id: string;
3163
- label: string;
3164
- }[];
3165
- datasourceOptions: {
3166
- id: string;
3167
- label: string;
3168
2661
  }[];
2662
+ filters: Filter[];
3169
2663
  groupRowsBy: string | undefined;
3170
2664
  groupRowsByOptions: SelectOption[];
3171
2665
  groupColumnsBy: string | undefined;
@@ -3174,162 +2668,53 @@ declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
3174
2668
  valueField: string;
3175
2669
  valueField2?: string;
3176
2670
  aggregationType: AggregationType;
3177
- /** Resolved datasource table for `valueField` (mirrors `aggregationTablesByIndex`). */
3178
- valueFieldTable?: string;
3179
2671
  }>[];
3180
- aggregationOptions: AggregationOption[];
3181
2672
  aggregationDescriptionOptions: {
3182
2673
  label: string;
3183
2674
  value: string;
3184
2675
  }[];
3185
- sort: string;
3186
- sortOptions: {
2676
+ aggregationOptions: AggregationOption[];
2677
+ sort: {
3187
2678
  label: string;
3188
2679
  value: string;
3189
2680
  }[];
3190
- chartType: string | undefined;
3191
- chartTypeOptions: {
2681
+ sortOptions: SelectOption[];
2682
+ chartTypes: {
3192
2683
  label: string;
3193
2684
  value: string;
3194
2685
  }[];
3195
- /** Encoded field keys for the current column selection (for `setReport({ columns })`, etc.). */
3196
- columnIds: ColumnSelectorChangeValue;
3197
- /** Selected columns + `reorder` / `toggle` / `update` / `remove`. */
3198
- columns: TableColumnsController;
3199
- /** Schema columns for current datasources — pool for the table column picker. */
3200
- columnOptions: ColumnSelectionOption[];
3201
- xAxis: {
3202
- field: string;
3203
- format: AxisFormat;
3204
- options: ChartAxisFieldOption[];
3205
- formatOptions: SelectOption[];
3206
- update: (updates: Partial<{
3207
- field: string;
3208
- format: AxisFormat;
3209
- }>) => void;
3210
- };
3211
- xAxisOptions: {
3212
- value: string;
2686
+ chartTypeOptions: {
3213
2687
  label: string;
3214
- format: string;
3215
- }[];
3216
- yAxis: {
3217
- items: ChartYAxisControllerItem[];
3218
- options: ChartAxisFieldOption[];
3219
- formatOptions: SelectOption[];
3220
- add: (field?: string) => void;
3221
- remove: (id: string) => void;
3222
- reorder: (oldIndex: number, newIndex: number) => void;
3223
- update: (id: string, updates: Partial<{
3224
- field: string;
3225
- label: string;
3226
- format: AxisFormat;
3227
- }>) => void;
3228
- };
3229
- yAxisOptions: {
3230
2688
  value: string;
3231
- label: string;
3232
- format: string;
3233
- }[];
3234
- /** Same strings as `axisSelectFormatLabels` (X/Y share chart format presets). */
3235
- xAxisFormatOptions: string[];
3236
- yAxisFormatOptions: string[];
3237
- /** Table column format dropdown labels (same set as chart axis formats). */
3238
- tableFormatOptions: string[];
3239
- showLegend: boolean;
3240
- axisConfig: UseFormAxisConfig;
3241
- availableFields: {
3242
- id: string;
3243
- label: string;
3244
- type: string;
3245
2689
  }[];
3246
- axisSelectFormatLabels: string[];
3247
- /** @deprecated Prefer top-level `xAxis`, `yAxis`, and `showLegend`. */
3248
- chartAxes: ChartAxesController;
3249
- /** @deprecated Prefer top-level `xAxisOptions` / `yAxisOptions`. */
3250
- chartAxisOptions: {
3251
- xAxis: {
3252
- value: string;
3253
- label: string;
3254
- format: string;
3255
- }[];
3256
- yAxis: {
3257
- value: string;
3258
- label: string;
3259
- format: string;
3260
- }[];
3261
- };
3262
- hasTableDrivenColumnOrder: boolean;
3263
- filters: QueryBuilderRuleGroup;
3264
- filterQueryBuilderProps: UseFormQueryBuilderProps;
3265
- };
3266
-
3267
- /** Normalize react-querybuilder filter trees before stack conversion / persistence. */
3268
- type QueryBuilderDisplayRule = {
3269
- id?: unknown;
3270
- field?: unknown;
3271
- operator?: unknown;
3272
- value?: unknown;
3273
- };
3274
- type QueryBuilderDisplayGroup = {
3275
- combinator?: unknown;
3276
- rules: unknown[];
3277
- };
3278
- declare const isQueryBuilderDisplayGroup: (value: unknown) => value is QueryBuilderDisplayGroup;
3279
- declare const isQueryBuilderDisplayRule: (value: unknown) => value is QueryBuilderDisplayRule;
3280
- declare const stripQueryBuilderTransientFields: (value: unknown, seen?: WeakMap<object, unknown>) => unknown;
3281
- /** Merge relative-date rule values against a prior tree (typically last committed filters). */
3282
- declare const normalizeRelativeDateRules: (nextQuery: unknown, previousQuery: unknown) => unknown;
3283
- /** Strip + relative-date normalization used by `useReport` `setFilters` and draft-vs-committed UI. */
3284
- declare function prepareQueryBuilderFiltersForSet(next: unknown, previousCommitted: unknown): unknown;
3285
- /**
3286
- * Whether a react-querybuilder draft differs from committed filters in a way that matters
3287
- * for Apply (ignores transient `id` / `path`, etc.).
3288
- */
3289
- declare function areQueryBuilderFilterDraftsDirty(draft: unknown, committed: unknown): boolean;
3290
- /** Number of leaf filter rules (excludes empty groups). */
3291
- declare function countFilterRules(value: unknown): number;
3292
-
3293
- type ReportDetailProps = {
3294
- /** Display name from the loaded report (e.g. `useReport` `name`). Rendered above the chart when non-empty. */
3295
- reportTitle?: string;
3296
- chart?: any;
3297
- chartLoading: boolean;
3298
- table?: {
3299
- columns?: unknown[];
3300
- rows?: unknown[];
3301
- };
3302
- tableLoading: boolean;
3303
- showLegend?: boolean;
3304
- /** Strip QuillTable's outer frame when chart type is `table` (cell borders unchanged). */
3305
- hideTableChartOuterBorder?: boolean;
2690
+ chartType: string | undefined;
2691
+ chart: QuillReportInternal | undefined;
2692
+ limit: ReportBuilderLimit | null;
2693
+ setReport: (nextState: SetReportBuilderInput) => void;
3306
2694
  };
3307
- declare function ReportDetail({ reportTitle, chart, chartLoading, table, tableLoading, showLegend, hideTableChartOuterBorder, }: ReportDetailProps): react_jsx_runtime.JSX.Element;
3308
2695
 
3309
2696
  declare const quillFormat: ({ value, format, }: {
3310
2697
  value: any;
3311
2698
  format: string;
3312
2699
  }) => string;
3313
2700
 
3314
- /** Refetch dashboard config and filters; optional report upsert/delete and filter overrides. */
3315
- type UseDashboardReload = (overrideDashboardName?: string, fetchFromServer?: boolean, reportAction?: {
3316
- report: QuillReport | {
3317
- id: string;
3318
- };
3319
- action: 'upsert' | 'delete';
3320
- }, overrideFilters?: {
3321
- filters: InternalDashboardFilter[];
3322
- editedFilterLabel?: string;
3323
- refetchReports?: boolean;
3324
- }, options?: {
3325
- preserveExistingDateFilter?: boolean;
3326
- }) => Promise<void>;
3327
2701
  declare const useDashboardInternal: (dashboardName: string | null, customFilters?: InternalFilter[]) => {
3328
2702
  data: DashboardConfig | null;
3329
2703
  dashboardFilters: InternalDashboardFilter[] | null;
3330
2704
  isLoading: boolean | undefined;
3331
2705
  isDashboardFilterLoading: (filterName: string) => boolean | undefined;
3332
- reload: UseDashboardReload;
2706
+ reload: (overrideDashboardName?: string, fetchFromServer?: boolean, reportAction?: {
2707
+ report: QuillReport | {
2708
+ id: string;
2709
+ };
2710
+ action: "upsert" | "delete";
2711
+ }, overrideFilters?: {
2712
+ filters: InternalDashboardFilter[];
2713
+ editedFilterLabel?: string;
2714
+ refetchReports?: boolean;
2715
+ }, options?: {
2716
+ preserveExistingDateFilter?: boolean;
2717
+ }) => Promise<void>;
3333
2718
  setSectionOrder: (sectionOrder: {
3334
2719
  section: string;
3335
2720
  _id?: string;
@@ -3385,12 +2770,6 @@ declare const useDashboards: () => {
3385
2770
  }) => Promise<void>;
3386
2771
  deleteDashboard: (name: string) => Promise<void>;
3387
2772
  };
3388
- /**
3389
- * `reload` is the same reference as `useDashboardInternal(dashboardName).reload`.
3390
- * Use after structural changes or report upsert/delete; use `applyFilters` for
3391
- * filter-value updates; use `forceCacheRefresh` to bypass cached report payloads
3392
- * when cache is on. Calling `reload` every render adds network load.
3393
- */
3394
2773
  declare const useDashboard: (dashboardName: string, config?: {
3395
2774
  pageSize?: number;
3396
2775
  cacheEnabled?: boolean;
@@ -3415,7 +2794,6 @@ declare const useDashboard: (dashboardName: string, config?: {
3415
2794
  } | Filter>) => void;
3416
2795
  lastUpdated: number;
3417
2796
  forceCacheRefresh: () => void;
3418
- reload: UseDashboardReload;
3419
2797
  };
3420
2798
  declare const useDashboardReport: (reportId: string, config?: {
3421
2799
  initialFilters?: Filter[];
@@ -3428,6 +2806,29 @@ declare const useDashboardReport: (reportId: string, config?: {
3428
2806
  fetchNextPage: () => Promise<void>;
3429
2807
  };
3430
2808
 
2809
+ /**
2810
+ * Represents a table object returned from /schema2/:id
2811
+ */
2812
+ type Table = {
2813
+ _id: string;
2814
+ isSelectStar: boolean;
2815
+ displayName: string;
2816
+ name: string;
2817
+ description?: string;
2818
+ columns: ColumnInternal[];
2819
+ viewQuery: string;
2820
+ customFieldInfo: any;
2821
+ broken?: boolean;
2822
+ error?: string;
2823
+ ownerTenantFields?: string[];
2824
+ };
2825
+ interface UniqueValuesByTable {
2826
+ [table: string]: UniqueValuesByColumn;
2827
+ }
2828
+ interface UniqueValuesByColumn {
2829
+ [column: string]: string[];
2830
+ }
2831
+
3431
2832
  type ForeignKeyMap = {
3432
2833
  [table: string]: {
3433
2834
  foreignTable: string;
@@ -3519,7 +2920,7 @@ type ReportBuilder = {
3519
2920
  sortField: string;
3520
2921
  sortDirection: 'ASC' | 'DESC';
3521
2922
  } | undefined, fieldKey: 'rowField' | 'columnField' | 'aggregations' | 'rowLimit' | 'sort') => Promise<void>;
3522
- filteredSchema: Table$1[];
2923
+ filteredSchema: Table[];
3523
2924
  foreignKeyMap: ForeignKeyMap;
3524
2925
  schemaData: any;
3525
2926
  client: any;
@@ -3708,27 +3109,27 @@ type CustomField = {
3708
3109
  };
3709
3110
 
3710
3111
  declare const useVirtualTables: () => {
3711
- data: Table$1[];
3112
+ data: Table[];
3712
3113
  isLoading: boolean;
3713
3114
  loadingTables: {
3714
3115
  [key: string]: boolean;
3715
3116
  };
3716
3117
  reloadAll: (client: any, caller?: string) => Promise<{
3717
- schema: Table$1[];
3118
+ schema: Table[];
3718
3119
  customFields: {
3719
3120
  [tableName: string]: CustomField[];
3720
3121
  } | null;
3721
3122
  isSchemaLoading: boolean;
3722
3123
  }>;
3723
3124
  reloadSome: (client: any, tableIds: string[], caller?: string) => Promise<{
3724
- schema: Table$1[];
3125
+ schema: Table[];
3725
3126
  customFields: {
3726
3127
  [tableName: string]: CustomField[];
3727
3128
  } | null;
3728
3129
  isSchemaLoading: boolean;
3729
3130
  }>;
3730
- refreshSome: (client: any, tables: Table$1[]) => Promise<{
3731
- schema: Table$1[];
3131
+ refreshSome: (client: any, tables: Table[]) => Promise<{
3132
+ schema: Table[];
3732
3133
  customFields: {
3733
3134
  [tableName: string]: CustomField[];
3734
3135
  } | null;
@@ -3742,8 +3143,8 @@ type ClientFeatures = {
3742
3143
  };
3743
3144
  type QuillProviderClient = {
3744
3145
  name: string;
3745
- clientId: string;
3746
- publicKey: string;
3146
+ id?: string;
3147
+ clientId?: string;
3747
3148
  queryEndpoint: string;
3748
3149
  streamEndpoint?: string;
3749
3150
  queryHeaders?: HeadersInit;
@@ -3784,7 +3185,7 @@ type QuillTenant = {
3784
3185
  };
3785
3186
 
3786
3187
  interface QuillFetchOptions {
3787
- client: Pick<QuillProviderClient, 'clientId' | 'queryEndpoint' | 'queryHeaders' | 'withCredentials'>;
3188
+ client: Pick<QuillProviderClient, 'id' | 'clientId' | 'queryEndpoint' | 'queryHeaders' | 'withCredentials'>;
3788
3189
  task: string;
3789
3190
  method?: string;
3790
3191
  metadata: any;
@@ -3862,6 +3263,42 @@ interface LimitPopoverComponentProps {
3862
3263
  disabled?: boolean;
3863
3264
  }
3864
3265
 
3266
+ interface TableComponentProps {
3267
+ rows: object[];
3268
+ rowCount?: number;
3269
+ rowCountIsLoading?: boolean;
3270
+ columns: {
3271
+ label: string;
3272
+ field: string;
3273
+ }[];
3274
+ currentPage: number;
3275
+ sort?: {
3276
+ field: string;
3277
+ direction: string;
3278
+ };
3279
+ className?: string;
3280
+ containerStyle?: React$1.CSSProperties;
3281
+ isLoading?: boolean;
3282
+ hideCSVDownloadButton?: boolean;
3283
+ downloadCSV?: () => void;
3284
+ LoadingComponent?: () => React$1.JSX.Element;
3285
+ DownloadCSVButtonComponent?: (props: ButtonComponentProps) => React$1.JSX.Element;
3286
+ rowsPerPage?: number;
3287
+ emptyStateLabel?: string;
3288
+ onPageChange?: (page: number) => void;
3289
+ onSortChange?: (sort: {
3290
+ field: string;
3291
+ direction: string;
3292
+ }) => void;
3293
+ headerBackgroundColor?: string;
3294
+ footerBackgroundColor?: string;
3295
+ borderRadius?: string | number;
3296
+ borderLeft?: string;
3297
+ borderRight?: string;
3298
+ borderTop?: string;
3299
+ borderBottom?: string;
3300
+ }
3301
+
3865
3302
  interface DateRangePickerComponentProps {
3866
3303
  preset: string;
3867
3304
  label?: string;
@@ -4334,4 +3771,4 @@ interface ReportTableProps {
4334
3771
  }
4335
3772
  declare const ReportTable: ({ reportBuilder, TableComponent, }: ReportTableProps) => react_jsx_runtime.JSX.Element;
4336
3773
 
4337
- export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat$1 as AxisFormat, type ButtonComponentProps, Calculation, type ChangelogEntry, 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 FilterDraftQueryBuilderProps, 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 QuillFetchOptions, type QuillPreviousMonthInterval, type QuillPreviousQuarterInterval, QuillProvider, type QuillProviderProps, type QuillReport, type QuillReportProps, type QuillResults, 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 UseDashboardReload, type UseFormAxisConfig, type UseFormQueryBuilderField, type UseFormQueryBuilderProps, type UseReportFilterDraft, areQueryBuilderFilterDraftsDirty, buildSeededFilterQuery, countFilterRules, defaultFilterRuleValueForOperator, downloadCSV, quillFormat as format, isQueryBuilderDisplayGroup, isQueryBuilderDisplayRule, normalizeRelativeDateRules, prepareQueryBuilderFiltersForSet, quillFetch, stripQueryBuilderTransientFields, tableColumnFormatFromUiSelection, useAllReports, useAskQuill, useChangelogRefresh, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReport, useReportBuilder, useReports, useTenants, useVirtualTables };
3774
+ export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat, type ButtonComponentProps, Calculation, type ChangelogEntry, Chart, ChartDisplay, ChartEditor, type ChartEditorProps, type ChartProps, Chat, type ChatProps, 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 QuillFetchOptions, type QuillPreviousMonthInterval, type QuillPreviousQuarterInterval, QuillProvider, type QuillProviderProps, type QuillReport, type QuillReportProps, type QuillResults, 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, quillFetch, useAllReports, useAskQuill, useChangelogRefresh, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useForm, useMemoizedRows, useQuill, useReportBuilder, useReports, useTenants, useVirtualTables };