@quillsql/react 2.16.54 → 2.16.55

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.cjs CHANGED
@@ -60775,7 +60775,7 @@ function buildAggregationLabel(aggregation, report) {
60775
60775
  return report?.pivot?.columnField ? "Count" : `Count ${snakeAndCamelCaseToTitleCase(tableNames[0] ?? "table")}`;
60776
60776
  }
60777
60777
  const rawTarget = aggregation.valueField ?? (tableNames.length > 0 ? tableNames.join(", ") : "table");
60778
- const target = report ? aggregation.valueField ? resolveValueFieldDisplayLabel(report, aggregation.valueField) : rawTarget : rawTarget;
60778
+ const target = aggregation.valueField && report ? resolveValueFieldDisplayLabel(report, aggregation.valueField) : toTitleCaseLabel(rawTarget);
60779
60779
  if (String(aggregationType).toLowerCase() === "percentage") {
60780
60780
  const valueField2 = String(
60781
60781
  aggregation.valueField2 ?? ""
@@ -61925,6 +61925,20 @@ function coerceTableColumnFormatToAxisValue(raw) {
61925
61925
  if (byLabel) return byLabel.value;
61926
61926
  return t;
61927
61927
  }
61928
+ function resolveTableColumnDefaultFormat({
61929
+ selectedFormat,
61930
+ sourceFormat,
61931
+ isDateColumn,
61932
+ preserveStringFormat = false
61933
+ }) {
61934
+ const explicitFormat = String(selectedFormat ?? "").trim();
61935
+ if (explicitFormat) return explicitFormat;
61936
+ const currentFormat = String(sourceFormat ?? "").trim() || "string";
61937
+ if (isDateColumn && currentFormat === "string" && !preserveStringFormat) {
61938
+ return "MMM_dd_yyyy";
61939
+ }
61940
+ return currentFormat;
61941
+ }
61928
61942
  function mergeDisplayAndSourceForTableFormats(args) {
61929
61943
  const {
61930
61944
  effectiveReportBuilderTableNames,
@@ -62048,10 +62062,26 @@ function mergeDisplayAndSourceForTableFormats(args) {
62048
62062
  ).trim()}`;
62049
62063
  if (!seenKey || seenColumnsByTableAndField.has(seenKey)) continue;
62050
62064
  seenColumnsByTableAndField.add(seenKey);
62065
+ const matchedTable = String(
62066
+ selection.table || matchedColumn.table || ""
62067
+ ).trim();
62068
+ const schemaColumn = scopedSchemaColumns.find((column) => {
62069
+ const sameField = String(column.field ?? "").trim() === matchedColumn.field;
62070
+ const sameTable = !matchedTable || String(column.table ?? "").trim() === matchedTable;
62071
+ return sameField && sameTable;
62072
+ });
62073
+ const isDateColumn = isDateType(String(schemaColumn?.fieldType ?? "").trim()) || String(schemaColumn?.jsType ?? "").trim().toLowerCase() === "date";
62074
+ const pivotRowField = String(sourceReport?.pivot?.rowField ?? "").trim();
62075
+ const isPivotDateBucketString = isDateColumn && matchedColumn.field === pivotRowField && String(sourceReport?.xAxisFormat ?? "").trim() === "string";
62051
62076
  const merged = {
62052
62077
  ...matchedColumn,
62053
62078
  ...selection.alias ? { label: selection.alias } : {},
62054
- ...selection.format ? { format: selection.format } : {}
62079
+ format: resolveTableColumnDefaultFormat({
62080
+ selectedFormat: selection.format,
62081
+ sourceFormat: matchedColumn.format,
62082
+ isDateColumn,
62083
+ preserveStringFormat: isPivotDateBucketString
62084
+ })
62055
62085
  };
62056
62086
  selectedColumnsForTable.push(merged);
62057
62087
  const id = encodeColumnOptionValue(selection.table, selection.field);
@@ -62124,6 +62154,7 @@ var CHART_TYPES2 = [
62124
62154
  "US map",
62125
62155
  "World map"
62126
62156
  ];
62157
+ var DEFAULT_CHART_TYPE = "table";
62127
62158
  function getChartTypeOptions2(formData) {
62128
62159
  const viableCharts = CHART_TYPES2;
62129
62160
  if (formData.pivot && !formData.pivot.rowField) {
@@ -64749,6 +64780,7 @@ function useReport(reportIdArg, options = {}) {
64749
64780
  effectiveReportId,
64750
64781
  chartPivotHydrationEpoch
64751
64782
  ]);
64783
+ const hasDatePivotRow = Boolean(String(pivotState?.rowField ?? "").trim()) && isDateType(String(pivotState?.rowFieldType ?? ""));
64752
64784
  (0, import_react61.useEffect)(() => {
64753
64785
  const previous = prevPivotStateForColumnExpansionRef.current;
64754
64786
  if (previous && !pivotState) {
@@ -65232,6 +65264,7 @@ function useReport(reportIdArg, options = {}) {
65232
65264
  const chartTypes = (0, import_react61.useMemo)(() => {
65233
65265
  return getChartTypeOptions2({ pivot: pivotState });
65234
65266
  }, [pivotState]);
65267
+ const resolvedChartType = chartTypes.find((option) => option.value === chartType)?.value ?? chartTypes.find((option) => option.value === sourceReport?.chartType)?.value ?? chartTypes.find((option) => option.value === DEFAULT_CHART_TYPE)?.value ?? chartTypes[0]?.value ?? DEFAULT_CHART_TYPE;
65235
65268
  (0, import_react61.useEffect)(() => {
65236
65269
  if (!sourceReport) {
65237
65270
  return;
@@ -66068,7 +66101,8 @@ function useReport(reportIdArg, options = {}) {
66068
66101
  const registerOption = (fieldRaw, labelRaw, formatRaw) => {
66069
66102
  const field = String(fieldRaw ?? "").trim();
66070
66103
  if (!field || optionsByField.has(field)) return;
66071
- const label = String(labelRaw ?? "").trim() || field;
66104
+ const rawLabel = String(labelRaw ?? "").trim();
66105
+ const label = !rawLabel || rawLabel === field ? toTitleCaseLabel(field) : rawLabel;
66072
66106
  const format9 = toAxisFormat(formatRaw, "string");
66073
66107
  optionsByField.set(field, {
66074
66108
  value: field,
@@ -66187,7 +66221,8 @@ function useReport(reportIdArg, options = {}) {
66187
66221
  if (!field) return null;
66188
66222
  const option = chartAxisOptionByField.get(field);
66189
66223
  if (!option) return null;
66190
- const label = String(yAxisFieldRaw?.label ?? "").trim() || option.label;
66224
+ const rawLabel = String(yAxisFieldRaw?.label ?? "").trim() || option.label;
66225
+ const label = rawLabel === field ? toTitleCaseLabel(field) : rawLabel;
66191
66226
  const format9 = toAxisFormat(yAxisFieldRaw?.format, option.format);
66192
66227
  return {
66193
66228
  field,
@@ -66290,7 +66325,7 @@ function useReport(reportIdArg, options = {}) {
66290
66325
  if (chartAxisEdits.xAxisLabel !== void 0) {
66291
66326
  return String(chartAxisEdits.xAxisLabel).trim();
66292
66327
  }
66293
- return defaultXLabel;
66328
+ return !defaultXLabel || defaultXLabel === resolvedXAxisField ? toTitleCaseLabel(resolvedXAxisField) : defaultXLabel;
66294
66329
  }, [
66295
66330
  chartAxesBaseChart?.xAxisLabel,
66296
66331
  chartAxisEdits.xAxisLabel,
@@ -67723,7 +67758,7 @@ function useReport(reportIdArg, options = {}) {
67723
67758
  if (effectiveNextState.limit !== void 0)
67724
67759
  next.limit = effectiveNextState.limit;
67725
67760
  if (effectiveNextState.chartType !== void 0)
67726
- next.chartType = effectiveNextState.chartType || void 0;
67761
+ next.chartType = effectiveNextState.chartType;
67727
67762
  const normalizedNext = processPivotState(next, {
67728
67763
  nextState: effectiveNextState,
67729
67764
  promoteColumnToRow: false,
@@ -67885,7 +67920,7 @@ function useReport(reportIdArg, options = {}) {
67885
67920
  String(effectiveReportBuilderState.tables[0].name)
67886
67921
  ) : "New report",
67887
67922
  // Match chart rendering (`chartData`): form `chartType` wins over stale `sourceReport`.
67888
- chartType: chartType ?? sourceRest.chartType ?? "table",
67923
+ chartType: resolvedChartType,
67889
67924
  dashboardName: dashboardNameForNewReport,
67890
67925
  reportBuilderState: effectiveReportBuilderState,
67891
67926
  pivot: effectiveReportBuilderState.pivot ?? null,
@@ -67907,7 +67942,6 @@ function useReport(reportIdArg, options = {}) {
67907
67942
  });
67908
67943
  return resp;
67909
67944
  }, [
67910
- chartType,
67911
67945
  client,
67912
67946
  dashboardNameForNewReport,
67913
67947
  draftSessionId,
@@ -67918,6 +67952,7 @@ function useReport(reportIdArg, options = {}) {
67918
67952
  resolvedXAxisField,
67919
67953
  resolvedXAxisFormat,
67920
67954
  resolvedXAxisLabel,
67955
+ resolvedChartType,
67921
67956
  resolvedYAxisFields,
67922
67957
  sourceReport,
67923
67958
  setDraftSessionId,
@@ -67945,7 +67980,7 @@ function useReport(reportIdArg, options = {}) {
67945
67980
  groupColumnsBy,
67946
67981
  groupColumnsByOptions,
67947
67982
  dateBucket,
67948
- dateBucketOptions: PIVOT_DATE_BUCKET_OPTIONS,
67983
+ dateBucketOptions: hasDatePivotRow ? PIVOT_DATE_BUCKET_OPTIONS : [],
67949
67984
  /** Encoded selection per aggregation slot (`'sum:transactions::amount'`, `'count:transactions'`, `''` = placeholder). Update via `setReport({ aggregations: nextStringArray })`. */
67950
67985
  aggregations: aggregationValues,
67951
67986
  /** Flat aggregation pick list shared by all slots; always contains every non-empty `aggregations` entry. */
@@ -67953,7 +67988,7 @@ function useReport(reportIdArg, options = {}) {
67953
67988
  aggregationDescriptionOptions: cleanedAggregations,
67954
67989
  sort: cleanedSort,
67955
67990
  sortOptions,
67956
- chartType,
67991
+ chartType: resolvedChartType,
67957
67992
  chartTypeOptions: chartTypes,
67958
67993
  /** Selected tabular columns in display order. */
67959
67994
  columns: tableColumnValues,
@@ -68169,7 +68204,7 @@ function ChatChartCard({
68169
68204
  label: "Chart type",
68170
68205
  width: 200,
68171
68206
  options: chartTypeOptions,
68172
- onChange: (e) => setReport({ chartType: e.target.value ?? "" })
68207
+ onChange: (e) => setReport({ chartType: e.target.value })
68173
68208
  }
68174
68209
  )
68175
68210
  ]
@@ -68859,12 +68894,10 @@ function useReportFilterDraft(args) {
68859
68894
  const [draftQuery, setDraftQuery] = (0, import_react64.useState)(committed);
68860
68895
  const [hasUnappliedFilterChanges, setHasUnappliedFilterChanges] = (0, import_react64.useState)(false);
68861
68896
  const draftResetKey = `${reportId}|${committedSignature}|${resetEpoch}`;
68862
- const prevDraftResetKeyRef = (0, import_react64.useRef)(draftResetKey);
68863
- if (prevDraftResetKeyRef.current !== draftResetKey) {
68864
- prevDraftResetKeyRef.current = draftResetKey;
68865
- setDraftQuery(committed);
68866
- if (hasUnappliedFilterChanges) setHasUnappliedFilterChanges(false);
68867
- }
68897
+ (0, import_react64.useEffect)(() => {
68898
+ setDraftQuery(committedRef.current);
68899
+ setHasUnappliedFilterChanges(false);
68900
+ }, [draftResetKey]);
68868
68901
  const filterDraftKey = `${draftResetKey}|${fieldsSignature}`;
68869
68902
  const handleQueryChange = (0, import_react64.useCallback)((next) => {
68870
68903
  if (!isQueryBuilderDisplayGroup(next)) return;
package/dist/index.d.cts CHANGED
@@ -2982,6 +2982,12 @@ type FilterFieldOptions = {
2982
2982
  type SetFiltersInput = QueryBuilderRuleGroup | ((prev: QueryBuilderRuleGroup) => QueryBuilderRuleGroup);
2983
2983
  /** Maps table column format dropdown values to persisted report column `format` (used by `columnActions.update`). */
2984
2984
  declare function tableColumnFormatFromUiSelection(raw: string): string;
2985
+ declare const CHART_TYPES: readonly ["column", "stacked", "line", "table", "metric", "gauge", "bar", "pie", "US map", "World map"];
2986
+ type ChartType = (typeof CHART_TYPES)[number];
2987
+ type ChartTypeOption = {
2988
+ label: string;
2989
+ value: ChartType;
2990
+ };
2985
2991
  type SetReportChartAxesInput = {
2986
2992
  xAxis?: Partial<{
2987
2993
  field: string;
@@ -3023,7 +3029,7 @@ interface SetReportBuilderInput {
3023
3029
  aggregations?: string[] | AggregationStateItem[] | string;
3024
3030
  sort?: ReportBuilderSort[] | string;
3025
3031
  limit?: ReportBuilderLimit | null;
3026
- chartType?: string;
3032
+ chartType?: ChartType;
3027
3033
  /** When set, updates chart legend visibility (same source as `showLegend` from `useReport`). */
3028
3034
  showLegend?: boolean;
3029
3035
  /** Update the X-axis value returned by `useReport`. */
@@ -3208,11 +3214,8 @@ declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
3208
3214
  label: string;
3209
3215
  value: string;
3210
3216
  }[];
3211
- chartType: string | undefined;
3212
- chartTypeOptions: {
3213
- label: string;
3214
- value: string;
3215
- }[];
3217
+ chartType: "table" | "column" | "metric" | "gauge" | "stacked" | "line" | "bar" | "pie" | "US map" | "World map";
3218
+ chartTypeOptions: ChartTypeOption[];
3216
3219
  /** Selected tabular columns in display order. */
3217
3220
  columns: ReportColumnValue[];
3218
3221
  /** Pivot table columns only allow label and format changes. */
@@ -3267,10 +3270,7 @@ declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
3267
3270
  /** True while `report-builder-unique-values` runs for filter value options (not chart/table load). */
3268
3271
  filterUniqueValuesLoading: boolean;
3269
3272
  limit: ReportBuilderLimit | null;
3270
- chartTypes: {
3271
- label: string;
3272
- value: string;
3273
- }[];
3273
+ chartTypes: ChartTypeOption[];
3274
3274
  columnsOptions: ColumnSelectionOption[];
3275
3275
  tableColumnOptions: ColumnSelectionOption[];
3276
3276
  setReport: (nextState: SetReportBuilderInput) => void;
@@ -4452,4 +4452,4 @@ interface ReportTableProps {
4452
4452
  }
4453
4453
  declare const ReportTable: ({ reportBuilder, TableComponent, }: ReportTableProps) => react_jsx_runtime.JSX.Element;
4454
4454
 
4455
- export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat$1 as AxisFormat, type BarChartInteraction, 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 ColumnActions, type ColumnSelectionOption, type ContainerComponentProps, DEFAULT_PAGE_SIZE, DEFAULT_USE_REPORT_ROWS_PER_REQUEST, 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 FilterFieldOptions, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type OnChangeFn, type Option, type PaginationState, type Pivot, type PivotAggregation, type PivotDateBucket, type PivotDimensionFilter, 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, type ReportColumnInput, type ReportColumnValue, ReportDetail, type ReportDetailProps, type ReportDetailTable, ReportTable, type ReportXAxisValue, type ReportYAxisFieldValue, type ReportYAxisValue, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SetFiltersInput, type SetReportBuilderInput, type SetReportChartAxesInput, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, type Updater, type UseDashboardReload, type UseFormQueryBuilderField, type UseFormQueryBuilderProps, type UseReportFilterDraft, type UseReportQueryBuilder, areQueryBuilderFilterDraftsDirty, countFilterRules, defaultFilterRuleValueForOperator, downloadCSV, quillFormat as format, isQueryBuilderDisplayGroup, isQueryBuilderDisplayRule, normalizeRelativeDateRules, prepareQueryBuilderFiltersForSet, queryBuilderFiltersForEditor, quillFetch, stripQueryBuilderTransientFields, tableColumnFormatFromUiSelection, useAllReports, useAskQuill, useChangelogRefresh, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReport, useReportBuilder, useReportQueryBuilder, useReports, useTenants, useVirtualTables };
4455
+ export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat$1 as AxisFormat, type BarChartInteraction, type ButtonComponentProps, Calculation, type ChangelogEntry, Chart, ChartDisplay, ChartEditor, type ChartEditorProps, type ChartProps, type ChartType, type ChartTypeOption, Chat, type ChatModelId, type ChatProps, type CheckboxComponentProps, type ColorMapType, type Column$1 as Column, type ColumnActions, type ColumnSelectionOption, type ContainerComponentProps, DEFAULT_PAGE_SIZE, DEFAULT_USE_REPORT_ROWS_PER_REQUEST, 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 FilterFieldOptions, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type OnChangeFn, type Option, type PaginationState, type Pivot, type PivotAggregation, type PivotDateBucket, type PivotDimensionFilter, 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, type ReportColumnInput, type ReportColumnValue, ReportDetail, type ReportDetailProps, type ReportDetailTable, ReportTable, type ReportXAxisValue, type ReportYAxisFieldValue, type ReportYAxisValue, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SetFiltersInput, type SetReportBuilderInput, type SetReportChartAxesInput, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, type Updater, type UseDashboardReload, type UseFormQueryBuilderField, type UseFormQueryBuilderProps, type UseReportFilterDraft, type UseReportQueryBuilder, areQueryBuilderFilterDraftsDirty, countFilterRules, defaultFilterRuleValueForOperator, downloadCSV, quillFormat as format, isQueryBuilderDisplayGroup, isQueryBuilderDisplayRule, normalizeRelativeDateRules, prepareQueryBuilderFiltersForSet, queryBuilderFiltersForEditor, quillFetch, stripQueryBuilderTransientFields, tableColumnFormatFromUiSelection, useAllReports, useAskQuill, useChangelogRefresh, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReport, useReportBuilder, useReportQueryBuilder, useReports, useTenants, useVirtualTables };
package/dist/index.d.ts CHANGED
@@ -2982,6 +2982,12 @@ type FilterFieldOptions = {
2982
2982
  type SetFiltersInput = QueryBuilderRuleGroup | ((prev: QueryBuilderRuleGroup) => QueryBuilderRuleGroup);
2983
2983
  /** Maps table column format dropdown values to persisted report column `format` (used by `columnActions.update`). */
2984
2984
  declare function tableColumnFormatFromUiSelection(raw: string): string;
2985
+ declare const CHART_TYPES: readonly ["column", "stacked", "line", "table", "metric", "gauge", "bar", "pie", "US map", "World map"];
2986
+ type ChartType = (typeof CHART_TYPES)[number];
2987
+ type ChartTypeOption = {
2988
+ label: string;
2989
+ value: ChartType;
2990
+ };
2985
2991
  type SetReportChartAxesInput = {
2986
2992
  xAxis?: Partial<{
2987
2993
  field: string;
@@ -3023,7 +3029,7 @@ interface SetReportBuilderInput {
3023
3029
  aggregations?: string[] | AggregationStateItem[] | string;
3024
3030
  sort?: ReportBuilderSort[] | string;
3025
3031
  limit?: ReportBuilderLimit | null;
3026
- chartType?: string;
3032
+ chartType?: ChartType;
3027
3033
  /** When set, updates chart legend visibility (same source as `showLegend` from `useReport`). */
3028
3034
  showLegend?: boolean;
3029
3035
  /** Update the X-axis value returned by `useReport`. */
@@ -3208,11 +3214,8 @@ declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
3208
3214
  label: string;
3209
3215
  value: string;
3210
3216
  }[];
3211
- chartType: string | undefined;
3212
- chartTypeOptions: {
3213
- label: string;
3214
- value: string;
3215
- }[];
3217
+ chartType: "table" | "column" | "metric" | "gauge" | "stacked" | "line" | "bar" | "pie" | "US map" | "World map";
3218
+ chartTypeOptions: ChartTypeOption[];
3216
3219
  /** Selected tabular columns in display order. */
3217
3220
  columns: ReportColumnValue[];
3218
3221
  /** Pivot table columns only allow label and format changes. */
@@ -3267,10 +3270,7 @@ declare function useReport(reportIdArg?: string, options?: UseReportOptions): {
3267
3270
  /** True while `report-builder-unique-values` runs for filter value options (not chart/table load). */
3268
3271
  filterUniqueValuesLoading: boolean;
3269
3272
  limit: ReportBuilderLimit | null;
3270
- chartTypes: {
3271
- label: string;
3272
- value: string;
3273
- }[];
3273
+ chartTypes: ChartTypeOption[];
3274
3274
  columnsOptions: ColumnSelectionOption[];
3275
3275
  tableColumnOptions: ColumnSelectionOption[];
3276
3276
  setReport: (nextState: SetReportBuilderInput) => void;
@@ -4452,4 +4452,4 @@ interface ReportTableProps {
4452
4452
  }
4453
4453
  declare const ReportTable: ({ reportBuilder, TableComponent, }: ReportTableProps) => react_jsx_runtime.JSX.Element;
4454
4454
 
4455
- export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat$1 as AxisFormat, type BarChartInteraction, 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 ColumnActions, type ColumnSelectionOption, type ContainerComponentProps, DEFAULT_PAGE_SIZE, DEFAULT_USE_REPORT_ROWS_PER_REQUEST, 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 FilterFieldOptions, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type OnChangeFn, type Option, type PaginationState, type Pivot, type PivotAggregation, type PivotDateBucket, type PivotDimensionFilter, 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, type ReportColumnInput, type ReportColumnValue, ReportDetail, type ReportDetailProps, type ReportDetailTable, ReportTable, type ReportXAxisValue, type ReportYAxisFieldValue, type ReportYAxisValue, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SetFiltersInput, type SetReportBuilderInput, type SetReportChartAxesInput, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, type Updater, type UseDashboardReload, type UseFormQueryBuilderField, type UseFormQueryBuilderProps, type UseReportFilterDraft, type UseReportQueryBuilder, areQueryBuilderFilterDraftsDirty, countFilterRules, defaultFilterRuleValueForOperator, downloadCSV, quillFormat as format, isQueryBuilderDisplayGroup, isQueryBuilderDisplayRule, normalizeRelativeDateRules, prepareQueryBuilderFiltersForSet, queryBuilderFiltersForEditor, quillFetch, stripQueryBuilderTransientFields, tableColumnFormatFromUiSelection, useAllReports, useAskQuill, useChangelogRefresh, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReport, useReportBuilder, useReportQueryBuilder, useReports, useTenants, useVirtualTables };
4455
+ export { ALL_TENANTS, AddColumns, AddFilters, AddLimit, AddPivot, AddSort, type AxisFormat$1 as AxisFormat, type BarChartInteraction, type ButtonComponentProps, Calculation, type ChangelogEntry, Chart, ChartDisplay, ChartEditor, type ChartEditorProps, type ChartProps, type ChartType, type ChartTypeOption, Chat, type ChatModelId, type ChatProps, type CheckboxComponentProps, type ColorMapType, type Column$1 as Column, type ColumnActions, type ColumnSelectionOption, type ContainerComponentProps, DEFAULT_PAGE_SIZE, DEFAULT_USE_REPORT_ROWS_PER_REQUEST, 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 FilterFieldOptions, type FilterPopoverComponentProps, FilterType, type HeaderComponentProps, type HeaderProps, type InternalDashboardDateFilter, type InternalDashboardTenantFilter, type InternalFilter, type LabelComponentProps, type LimitPopoverComponentProps, type ModalComponentProps, NullOperator, NumberOperator, type OnChangeFn, type Option, type PaginationState, type Pivot, type PivotAggregation, type PivotDateBucket, type PivotDimensionFilter, 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, type ReportColumnInput, type ReportColumnValue, ReportDetail, type ReportDetailProps, type ReportDetailTable, ReportTable, type ReportXAxisValue, type ReportYAxisFieldValue, type ReportYAxisValue, SINGLE_TENANT, SQLEditor, type SQLEditorProps, SaveReport, SchemaListComponent, type SelectColumnComponentProps, type SelectComponentProps, type SetFiltersInput, type SetReportBuilderInput, type SetReportChartAxesInput, type SidebarComponentProps, type SidebarHeadingComponentProps, type SortPopoverComponentProps, StaticChart, type StaticChartProps, StringOperator, Table, type TableComponentProps, type TableProps, type TabsComponentProps, type TextComponentProps, type TextInputComponentProps, ThemeContext, type Updater, type UseDashboardReload, type UseFormQueryBuilderField, type UseFormQueryBuilderProps, type UseReportFilterDraft, type UseReportQueryBuilder, areQueryBuilderFilterDraftsDirty, countFilterRules, defaultFilterRuleValueForOperator, downloadCSV, quillFormat as format, isQueryBuilderDisplayGroup, isQueryBuilderDisplayRule, normalizeRelativeDateRules, prepareQueryBuilderFiltersForSet, queryBuilderFiltersForEditor, quillFetch, stripQueryBuilderTransientFields, tableColumnFormatFromUiSelection, useAllReports, useAskQuill, useChangelogRefresh, useDashboard, useDashboardInternal, useDashboardReport, useDashboardReports, useDashboards, useExport, useMemoizedRows, useQuill, useReport, useReportBuilder, useReportQueryBuilder, useReports, useTenants, useVirtualTables };
package/dist/index.js CHANGED
@@ -60987,7 +60987,7 @@ function buildAggregationLabel(aggregation, report) {
60987
60987
  return report?.pivot?.columnField ? "Count" : `Count ${snakeAndCamelCaseToTitleCase(tableNames[0] ?? "table")}`;
60988
60988
  }
60989
60989
  const rawTarget = aggregation.valueField ?? (tableNames.length > 0 ? tableNames.join(", ") : "table");
60990
- const target = report ? aggregation.valueField ? resolveValueFieldDisplayLabel(report, aggregation.valueField) : rawTarget : rawTarget;
60990
+ const target = aggregation.valueField && report ? resolveValueFieldDisplayLabel(report, aggregation.valueField) : toTitleCaseLabel(rawTarget);
60991
60991
  if (String(aggregationType).toLowerCase() === "percentage") {
60992
60992
  const valueField2 = String(
60993
60993
  aggregation.valueField2 ?? ""
@@ -62137,6 +62137,20 @@ function coerceTableColumnFormatToAxisValue(raw) {
62137
62137
  if (byLabel) return byLabel.value;
62138
62138
  return t;
62139
62139
  }
62140
+ function resolveTableColumnDefaultFormat({
62141
+ selectedFormat,
62142
+ sourceFormat,
62143
+ isDateColumn,
62144
+ preserveStringFormat = false
62145
+ }) {
62146
+ const explicitFormat = String(selectedFormat ?? "").trim();
62147
+ if (explicitFormat) return explicitFormat;
62148
+ const currentFormat = String(sourceFormat ?? "").trim() || "string";
62149
+ if (isDateColumn && currentFormat === "string" && !preserveStringFormat) {
62150
+ return "MMM_dd_yyyy";
62151
+ }
62152
+ return currentFormat;
62153
+ }
62140
62154
  function mergeDisplayAndSourceForTableFormats(args) {
62141
62155
  const {
62142
62156
  effectiveReportBuilderTableNames,
@@ -62260,10 +62274,26 @@ function mergeDisplayAndSourceForTableFormats(args) {
62260
62274
  ).trim()}`;
62261
62275
  if (!seenKey || seenColumnsByTableAndField.has(seenKey)) continue;
62262
62276
  seenColumnsByTableAndField.add(seenKey);
62277
+ const matchedTable = String(
62278
+ selection.table || matchedColumn.table || ""
62279
+ ).trim();
62280
+ const schemaColumn = scopedSchemaColumns.find((column) => {
62281
+ const sameField = String(column.field ?? "").trim() === matchedColumn.field;
62282
+ const sameTable = !matchedTable || String(column.table ?? "").trim() === matchedTable;
62283
+ return sameField && sameTable;
62284
+ });
62285
+ const isDateColumn = isDateType(String(schemaColumn?.fieldType ?? "").trim()) || String(schemaColumn?.jsType ?? "").trim().toLowerCase() === "date";
62286
+ const pivotRowField = String(sourceReport?.pivot?.rowField ?? "").trim();
62287
+ const isPivotDateBucketString = isDateColumn && matchedColumn.field === pivotRowField && String(sourceReport?.xAxisFormat ?? "").trim() === "string";
62263
62288
  const merged = {
62264
62289
  ...matchedColumn,
62265
62290
  ...selection.alias ? { label: selection.alias } : {},
62266
- ...selection.format ? { format: selection.format } : {}
62291
+ format: resolveTableColumnDefaultFormat({
62292
+ selectedFormat: selection.format,
62293
+ sourceFormat: matchedColumn.format,
62294
+ isDateColumn,
62295
+ preserveStringFormat: isPivotDateBucketString
62296
+ })
62267
62297
  };
62268
62298
  selectedColumnsForTable.push(merged);
62269
62299
  const id = encodeColumnOptionValue(selection.table, selection.field);
@@ -62336,6 +62366,7 @@ var CHART_TYPES2 = [
62336
62366
  "US map",
62337
62367
  "World map"
62338
62368
  ];
62369
+ var DEFAULT_CHART_TYPE = "table";
62339
62370
  function getChartTypeOptions2(formData) {
62340
62371
  const viableCharts = CHART_TYPES2;
62341
62372
  if (formData.pivot && !formData.pivot.rowField) {
@@ -64961,6 +64992,7 @@ function useReport(reportIdArg, options = {}) {
64961
64992
  effectiveReportId,
64962
64993
  chartPivotHydrationEpoch
64963
64994
  ]);
64995
+ const hasDatePivotRow = Boolean(String(pivotState?.rowField ?? "").trim()) && isDateType(String(pivotState?.rowFieldType ?? ""));
64964
64996
  useEffect31(() => {
64965
64997
  const previous = prevPivotStateForColumnExpansionRef.current;
64966
64998
  if (previous && !pivotState) {
@@ -65444,6 +65476,7 @@ function useReport(reportIdArg, options = {}) {
65444
65476
  const chartTypes = useMemo32(() => {
65445
65477
  return getChartTypeOptions2({ pivot: pivotState });
65446
65478
  }, [pivotState]);
65479
+ const resolvedChartType = chartTypes.find((option) => option.value === chartType)?.value ?? chartTypes.find((option) => option.value === sourceReport?.chartType)?.value ?? chartTypes.find((option) => option.value === DEFAULT_CHART_TYPE)?.value ?? chartTypes[0]?.value ?? DEFAULT_CHART_TYPE;
65447
65480
  useEffect31(() => {
65448
65481
  if (!sourceReport) {
65449
65482
  return;
@@ -66280,7 +66313,8 @@ function useReport(reportIdArg, options = {}) {
66280
66313
  const registerOption = (fieldRaw, labelRaw, formatRaw) => {
66281
66314
  const field = String(fieldRaw ?? "").trim();
66282
66315
  if (!field || optionsByField.has(field)) return;
66283
- const label = String(labelRaw ?? "").trim() || field;
66316
+ const rawLabel = String(labelRaw ?? "").trim();
66317
+ const label = !rawLabel || rawLabel === field ? toTitleCaseLabel(field) : rawLabel;
66284
66318
  const format9 = toAxisFormat(formatRaw, "string");
66285
66319
  optionsByField.set(field, {
66286
66320
  value: field,
@@ -66399,7 +66433,8 @@ function useReport(reportIdArg, options = {}) {
66399
66433
  if (!field) return null;
66400
66434
  const option = chartAxisOptionByField.get(field);
66401
66435
  if (!option) return null;
66402
- const label = String(yAxisFieldRaw?.label ?? "").trim() || option.label;
66436
+ const rawLabel = String(yAxisFieldRaw?.label ?? "").trim() || option.label;
66437
+ const label = rawLabel === field ? toTitleCaseLabel(field) : rawLabel;
66403
66438
  const format9 = toAxisFormat(yAxisFieldRaw?.format, option.format);
66404
66439
  return {
66405
66440
  field,
@@ -66502,7 +66537,7 @@ function useReport(reportIdArg, options = {}) {
66502
66537
  if (chartAxisEdits.xAxisLabel !== void 0) {
66503
66538
  return String(chartAxisEdits.xAxisLabel).trim();
66504
66539
  }
66505
- return defaultXLabel;
66540
+ return !defaultXLabel || defaultXLabel === resolvedXAxisField ? toTitleCaseLabel(resolvedXAxisField) : defaultXLabel;
66506
66541
  }, [
66507
66542
  chartAxesBaseChart?.xAxisLabel,
66508
66543
  chartAxisEdits.xAxisLabel,
@@ -67935,7 +67970,7 @@ function useReport(reportIdArg, options = {}) {
67935
67970
  if (effectiveNextState.limit !== void 0)
67936
67971
  next.limit = effectiveNextState.limit;
67937
67972
  if (effectiveNextState.chartType !== void 0)
67938
- next.chartType = effectiveNextState.chartType || void 0;
67973
+ next.chartType = effectiveNextState.chartType;
67939
67974
  const normalizedNext = processPivotState(next, {
67940
67975
  nextState: effectiveNextState,
67941
67976
  promoteColumnToRow: false,
@@ -68097,7 +68132,7 @@ function useReport(reportIdArg, options = {}) {
68097
68132
  String(effectiveReportBuilderState.tables[0].name)
68098
68133
  ) : "New report",
68099
68134
  // Match chart rendering (`chartData`): form `chartType` wins over stale `sourceReport`.
68100
- chartType: chartType ?? sourceRest.chartType ?? "table",
68135
+ chartType: resolvedChartType,
68101
68136
  dashboardName: dashboardNameForNewReport,
68102
68137
  reportBuilderState: effectiveReportBuilderState,
68103
68138
  pivot: effectiveReportBuilderState.pivot ?? null,
@@ -68119,7 +68154,6 @@ function useReport(reportIdArg, options = {}) {
68119
68154
  });
68120
68155
  return resp;
68121
68156
  }, [
68122
- chartType,
68123
68157
  client,
68124
68158
  dashboardNameForNewReport,
68125
68159
  draftSessionId,
@@ -68130,6 +68164,7 @@ function useReport(reportIdArg, options = {}) {
68130
68164
  resolvedXAxisField,
68131
68165
  resolvedXAxisFormat,
68132
68166
  resolvedXAxisLabel,
68167
+ resolvedChartType,
68133
68168
  resolvedYAxisFields,
68134
68169
  sourceReport,
68135
68170
  setDraftSessionId,
@@ -68157,7 +68192,7 @@ function useReport(reportIdArg, options = {}) {
68157
68192
  groupColumnsBy,
68158
68193
  groupColumnsByOptions,
68159
68194
  dateBucket,
68160
- dateBucketOptions: PIVOT_DATE_BUCKET_OPTIONS,
68195
+ dateBucketOptions: hasDatePivotRow ? PIVOT_DATE_BUCKET_OPTIONS : [],
68161
68196
  /** Encoded selection per aggregation slot (`'sum:transactions::amount'`, `'count:transactions'`, `''` = placeholder). Update via `setReport({ aggregations: nextStringArray })`. */
68162
68197
  aggregations: aggregationValues,
68163
68198
  /** Flat aggregation pick list shared by all slots; always contains every non-empty `aggregations` entry. */
@@ -68165,7 +68200,7 @@ function useReport(reportIdArg, options = {}) {
68165
68200
  aggregationDescriptionOptions: cleanedAggregations,
68166
68201
  sort: cleanedSort,
68167
68202
  sortOptions,
68168
- chartType,
68203
+ chartType: resolvedChartType,
68169
68204
  chartTypeOptions: chartTypes,
68170
68205
  /** Selected tabular columns in display order. */
68171
68206
  columns: tableColumnValues,
@@ -68381,7 +68416,7 @@ function ChatChartCard({
68381
68416
  label: "Chart type",
68382
68417
  width: 200,
68383
68418
  options: chartTypeOptions,
68384
- onChange: (e) => setReport({ chartType: e.target.value ?? "" })
68419
+ onChange: (e) => setReport({ chartType: e.target.value })
68385
68420
  }
68386
68421
  )
68387
68422
  ]
@@ -69005,7 +69040,7 @@ function Chat({
69005
69040
  }
69006
69041
 
69007
69042
  // src/hooks/useReportFilterDraft.ts
69008
- import { useCallback as useCallback6, useMemo as useMemo34, useRef as useRef26, useState as useState43 } from "react";
69043
+ import { useCallback as useCallback6, useEffect as useEffect33, useMemo as useMemo34, useRef as useRef26, useState as useState43 } from "react";
69009
69044
  var normalizeOperatorKey = (operator) => String(operator ?? "").trim().toLowerCase().replace(/[_\s]+/g, "");
69010
69045
  var defaultFilterRuleValueForOperator = (operator) => {
69011
69046
  const key = normalizeOperatorKey(operator);
@@ -69071,12 +69106,10 @@ function useReportFilterDraft(args) {
69071
69106
  const [draftQuery, setDraftQuery] = useState43(committed);
69072
69107
  const [hasUnappliedFilterChanges, setHasUnappliedFilterChanges] = useState43(false);
69073
69108
  const draftResetKey = `${reportId}|${committedSignature}|${resetEpoch}`;
69074
- const prevDraftResetKeyRef = useRef26(draftResetKey);
69075
- if (prevDraftResetKeyRef.current !== draftResetKey) {
69076
- prevDraftResetKeyRef.current = draftResetKey;
69077
- setDraftQuery(committed);
69078
- if (hasUnappliedFilterChanges) setHasUnappliedFilterChanges(false);
69079
- }
69109
+ useEffect33(() => {
69110
+ setDraftQuery(committedRef.current);
69111
+ setHasUnappliedFilterChanges(false);
69112
+ }, [draftResetKey]);
69080
69113
  const filterDraftKey = `${draftResetKey}|${fieldsSignature}`;
69081
69114
  const handleQueryChange = useCallback6((next) => {
69082
69115
  if (!isQueryBuilderDisplayGroup(next)) return;
@@ -69391,7 +69424,7 @@ function ReportDetail({
69391
69424
  init_valueFormatter();
69392
69425
 
69393
69426
  // src/hooks/useTenants.ts
69394
- import { useContext as useContext39, useEffect as useEffect33 } from "react";
69427
+ import { useContext as useContext39, useEffect as useEffect34 } from "react";
69395
69428
  var useTenants = (dashboardName) => {
69396
69429
  const {
69397
69430
  tenants,
@@ -69405,12 +69438,12 @@ var useTenants = (dashboardName) => {
69405
69438
  getMappedTenantsForDashboard,
69406
69439
  getViewerTenantsByOwner
69407
69440
  } = useContext39(TenantContext);
69408
- useEffect33(() => {
69441
+ useEffect34(() => {
69409
69442
  if (dashboardName) {
69410
69443
  fetchViewerTenantsForDashboard(dashboardName);
69411
69444
  }
69412
69445
  }, [dashboardName, fetchViewerTenantsForDashboard]);
69413
- useEffect33(() => {
69446
+ useEffect34(() => {
69414
69447
  if (dashboardName) {
69415
69448
  fetchMappedTenantsForDashboard(dashboardName);
69416
69449
  }
@@ -69429,7 +69462,7 @@ var useTenants = (dashboardName) => {
69429
69462
  };
69430
69463
 
69431
69464
  // src/hooks/useQuill.ts
69432
- import { useContext as useContext40, useEffect as useEffect34, useMemo as useMemo35, useState as useState45 } from "react";
69465
+ import { useContext as useContext40, useEffect as useEffect35, useMemo as useMemo35, useState as useState45 } from "react";
69433
69466
  init_paginationProcessing();
69434
69467
  init_tableProcessing();
69435
69468
  init_dataProcessing();
@@ -69612,7 +69645,7 @@ var useQuill = (reportId, pagination) => {
69612
69645
  setLoading(false);
69613
69646
  }
69614
69647
  };
69615
- useEffect34(() => {
69648
+ useEffect35(() => {
69616
69649
  if (isClientLoading) return;
69617
69650
  if (reportId && specificReportFilters) {
69618
69651
  fetchReportHelper(reportId, {
@@ -69679,7 +69712,7 @@ var useMemoizedRows = (reportId) => {
69679
69712
  };
69680
69713
 
69681
69714
  // src/hooks/useAskQuill.tsx
69682
- import { useContext as useContext41, useEffect as useEffect35, useState as useState46 } from "react";
69715
+ import { useContext as useContext41, useEffect as useEffect36, useState as useState46 } from "react";
69683
69716
  init_astProcessing();
69684
69717
  init_astFilterProcessing();
69685
69718
  init_pivotProcessing();
@@ -69925,7 +69958,7 @@ var useAskQuill = (dashboardName) => {
69925
69958
  });
69926
69959
  setLoading(false);
69927
69960
  };
69928
- useEffect35(() => {
69961
+ useEffect36(() => {
69929
69962
  setAsk(() => askHelper);
69930
69963
  }, [schemaData.schema]);
69931
69964
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.16.54",
3
+ "version": "2.16.55",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {