@quillsql/react 2.13.2 → 2.13.3

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.
Files changed (105) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +3 -13
  3. package/dist/cjs/ChartBuilder.d.ts +1 -1
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +2 -2
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +1 -3
  8. package/dist/cjs/Context.d.ts +51 -15
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +30 -23
  11. package/dist/cjs/Dashboard.d.ts +1 -1
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +39 -39
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +1 -1
  15. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  16. package/dist/cjs/ReportBuilder.js +179 -114
  17. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  18. package/dist/cjs/SQLEditor.js +18 -11
  19. package/dist/cjs/Table.js +1 -1
  20. package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
  21. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  22. package/dist/cjs/components/Dashboard/DataLoader.js +4 -3
  23. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  24. package/dist/cjs/components/Dashboard/MetricComponent.js +14 -3
  25. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
  26. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  27. package/dist/cjs/components/QuillMultiSelectWithCombo.js +6 -2
  28. package/dist/cjs/components/QuillSelect.js +3 -3
  29. package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
  30. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  31. package/dist/cjs/components/QuillSelectWithCombo.js +13 -3
  32. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +33 -0
  33. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  34. package/dist/cjs/components/ReportBuilder/FilterStack.js +121 -0
  35. package/dist/cjs/components/UiComponents.d.ts +1 -0
  36. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  37. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  38. package/dist/cjs/hooks/useDashboard.js +41 -46
  39. package/dist/cjs/hooks/useExport.d.ts +14 -1
  40. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  41. package/dist/cjs/hooks/useExport.js +120 -38
  42. package/dist/cjs/models/Client.d.ts +2 -0
  43. package/dist/cjs/models/Client.d.ts.map +1 -1
  44. package/dist/cjs/models/Filter.d.ts +1 -1
  45. package/dist/cjs/models/Filter.d.ts.map +1 -1
  46. package/dist/cjs/utils/client.d.ts.map +1 -1
  47. package/dist/cjs/utils/client.js +1 -0
  48. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  49. package/dist/cjs/utils/dashboard.js +3 -1
  50. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  51. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  52. package/dist/cjs/utils/filterProcessing.js +3 -3
  53. package/dist/esm/Chart.d.ts.map +1 -1
  54. package/dist/esm/Chart.js +3 -13
  55. package/dist/esm/ChartBuilder.d.ts +1 -1
  56. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  57. package/dist/esm/ChartBuilder.js +2 -2
  58. package/dist/esm/ChartEditor.d.ts.map +1 -1
  59. package/dist/esm/ChartEditor.js +1 -3
  60. package/dist/esm/Context.d.ts +51 -15
  61. package/dist/esm/Context.d.ts.map +1 -1
  62. package/dist/esm/Context.js +29 -22
  63. package/dist/esm/Dashboard.d.ts +1 -1
  64. package/dist/esm/Dashboard.d.ts.map +1 -1
  65. package/dist/esm/Dashboard.js +41 -41
  66. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +1 -1
  67. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  68. package/dist/esm/ReportBuilder.js +182 -117
  69. package/dist/esm/SQLEditor.d.ts.map +1 -1
  70. package/dist/esm/SQLEditor.js +18 -11
  71. package/dist/esm/Table.js +1 -1
  72. package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
  73. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  74. package/dist/esm/components/Dashboard/DataLoader.js +4 -3
  75. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  76. package/dist/esm/components/Dashboard/MetricComponent.js +14 -3
  77. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
  78. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  79. package/dist/esm/components/QuillMultiSelectWithCombo.js +6 -2
  80. package/dist/esm/components/QuillSelect.js +3 -3
  81. package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
  82. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  83. package/dist/esm/components/QuillSelectWithCombo.js +13 -3
  84. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +33 -0
  85. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  86. package/dist/esm/components/ReportBuilder/FilterStack.js +118 -0
  87. package/dist/esm/components/UiComponents.d.ts +1 -0
  88. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  89. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  90. package/dist/esm/hooks/useDashboard.js +41 -46
  91. package/dist/esm/hooks/useExport.d.ts +14 -1
  92. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  93. package/dist/esm/hooks/useExport.js +122 -40
  94. package/dist/esm/models/Client.d.ts +2 -0
  95. package/dist/esm/models/Client.d.ts.map +1 -1
  96. package/dist/esm/models/Filter.d.ts +1 -1
  97. package/dist/esm/models/Filter.d.ts.map +1 -1
  98. package/dist/esm/utils/client.d.ts.map +1 -1
  99. package/dist/esm/utils/client.js +1 -0
  100. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  101. package/dist/esm/utils/dashboard.js +3 -1
  102. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  103. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  104. package/dist/esm/utils/filterProcessing.js +3 -3
  105. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
- import { DEFAULT_TAB_OPTIONS, MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedSecondaryButton, MemoizedText, MemoizedPopover, QuillTabs, MemoizedModal, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillColumnSearchEmptyState, QuillChartBuilderFormContainer, QuillLoadingComponent, QuillTableSQLEditorComponent, } from './components/UiComponents';
3
+ import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedSecondaryButton, MemoizedText, MemoizedPopover, QuillTabs, MemoizedModal, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillColumnSearchEmptyState, QuillChartBuilderFormContainer, QuillLoadingComponent, QuillTableSQLEditorComponent, } from './components/UiComponents';
4
4
  import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
5
5
  import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, useSortable, } from '@dnd-kit/sortable';
6
6
  import { CSS as DND_CSS } from '@dnd-kit/utilities';
@@ -8,7 +8,7 @@ import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataCon
8
8
  import { getTableNames, isNumericColumnType, } from './components/ReportBuilder/ast';
9
9
  import { ChartBuilderWithModal } from './ChartBuilder';
10
10
  import { QuillTextInput } from './components/UiComponents';
11
- import { QuillSidebar, CustomContainer, QuillSelectColumn, QuillDraggableColumn, QuillSidebarHeading, QuillFilterPopover, QuillSortPopover, QuillLimitPopover, FilterPopoverWrapper, } from './components/ReportBuilder/ui';
11
+ import { QuillSidebar, CustomContainer, QuillSelectColumn, QuillDraggableColumn, QuillSidebarHeading, QuillFilterPopover, QuillSortPopover, QuillLimitPopover, } from './components/ReportBuilder/ui';
12
12
  import { deepCopy } from './components/ReportBuilder/util';
13
13
  import { hashCode } from './utils/crypto';
14
14
  import { defaultAST, defaultColumn, defaultEntry, defaultNumericComparison, defaultTable, defaultVariant, } from './components/ReportBuilder/constants';
@@ -29,11 +29,12 @@ import { getDateBucketFromRange } from './utils/dates';
29
29
  import FilterModal from './components/ReportBuilder/FilterModal';
30
30
  import { astToFilterTree, filterToAst, filterTreeToAst, } from './utils/astFilterProcessing';
31
31
  import useAstToFilterTree from './hooks/useAstToFilterTree';
32
- import { filterSentence, filterStackToFilterTree, uniqueValuesToStringMap, } from './utils/filterProcessing';
32
+ import { uniqueValuesToStringMap } from './utils/filterProcessing';
33
33
  import { QuillMultiSelectComponentWithCombo } from './components/QuillMultiSelectWithCombo';
34
34
  import { shouldFetchMore, shouldSortInMemory, } from './utils/paginationProcessing';
35
35
  import { EMPTY_INTERNAL_REPORT, fetchReportBuilderDataFromAST, formatRowsFromReport, } from './utils/report';
36
36
  import equal from 'fast-deep-equal';
37
+ import FilterStack from './components/ReportBuilder/FilterStack';
37
38
  export const QUILL_SERVER = (typeof process !== 'undefined' && process?.env?.QUILL_SERVER_HOST) ||
38
39
  'https://quill-344421.uc.r.appspot.com';
39
40
  /**
@@ -790,118 +791,182 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
790
791
  return;
791
792
  }
792
793
  };
793
- const renderFilters = (actionsEnabled = true) => {
794
- // Render filterStack
795
- return (_jsx("div", { style: {
796
- display: 'flex',
797
- flexDirection: 'column',
798
- }, children: filterStack.map((item, index) => {
799
- if (!item.leaf &&
800
- (item.operator === 'and' || item.operator === 'or')) {
801
- return (_jsx("div", { style: {
802
- width: 'fit-content',
803
- marginBottom: '8px',
804
- marginTop: '8px',
805
- }, children: _jsx(TabsComponent, { value: item.operator.toUpperCase(), options: DEFAULT_TAB_OPTIONS, onChange: () => {
806
- if (item.operator === 'and') {
807
- item.operator = 'or';
808
- }
809
- else {
810
- item.operator = 'and';
811
- }
812
- let newFormData = null;
813
- if (filterTree) {
814
- newFormData = filterTreeToAst(filterTree, client.databaseType.toLowerCase());
815
- }
816
- const newAst = deepCopy({
817
- ...defaultAST,
818
- ...baseAst,
819
- ...(!baseAst?.columns && {
820
- columns: getAllPossibleColumns(baseAst, schemaData.schema).map((c) => {
821
- const newColumn = deepCopy(defaultColumn);
822
- newColumn.expr.column = c.field;
823
- return newColumn;
824
- }),
825
- }),
826
- ...(!baseAst?.from && {
827
- from: [{ ...defaultTable, table: initialTableName }],
828
- }),
829
- where: newFormData,
830
- });
831
- setBaseAst(newAst);
832
- setFormData(newFormData);
833
- fetchSqlQuery(newAst, newFormData);
834
- } }) }, index));
835
- }
836
- else if (item.value) {
837
- return (_jsx(FilterPopoverWrapper, { schema: schemaData.schema.find((s) => s.name === currentTable || s.displayName === currentTable) ?? schemaData.schema[0], filter: item.value, filterLabel: item.value ? filterSentence(item.value) : '', index: index, FilterTagComponent: FilterPopoverComponent, FilterModal: FilterModal, fieldValuesMap: globalUniqueValues, fieldValuesMapIsLoading: globalUniqueValuesIsLoading, priorFilters: filterStack.slice(0, index > 0 ? index - 1 : 0), columns: columns, client: client, customFields: schemaData.customFields, baseAst: baseAst, endpoint: QUILL_SERVER, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, handleFilterSave: (filter) => {
838
- item.value = filter;
839
- let newFormData = null;
840
- if (filterTree) {
841
- newFormData = filterTreeToAst(filterTree, client.databaseType.toLowerCase());
842
- }
843
- const newAst = deepCopy({
844
- ...defaultAST,
845
- ...baseAst,
846
- ...(!baseAst?.columns && {
847
- columns: getAllPossibleColumns(baseAst, schemaData.schema).map((c) => {
848
- const newColumn = deepCopy(defaultColumn);
849
- newColumn.expr.column = c.field;
850
- return newColumn;
851
- }),
852
- }),
853
- ...(!baseAst?.from && {
854
- from: [{ ...defaultTable, table: initialTableName }],
855
- }),
856
- where: newFormData,
857
- });
858
- setBaseAst(newAst);
859
- setFormData(newFormData);
860
- fetchSqlQuery(newAst, newFormData);
861
- }, handleFilterDelete: (i) => {
862
- if (!removingFilter) {
863
- setRemovingFilter(true);
864
- const newStack = filterStack;
865
- if (i > 0) {
866
- newStack.splice(i - 1, 2);
867
- }
868
- else {
869
- if (filterStack.length > 1) {
870
- newStack.splice(i, 2);
871
- }
872
- else {
873
- newStack.splice(i, 1);
874
- }
875
- }
876
- const tree = filterStackToFilterTree(newStack);
877
- let newFormData = null;
878
- if (tree) {
879
- newFormData = filterTreeToAst(tree, client.databaseType.toLowerCase());
880
- }
881
- const newAst = deepCopy({
882
- ...defaultAST,
883
- ...baseAst,
884
- ...(!baseAst?.columns && {
885
- columns: getAllPossibleColumns(baseAst, schemaData.schema).map((c) => {
886
- const newColumn = deepCopy(defaultColumn);
887
- newColumn.expr.column = c.field;
888
- return newColumn;
889
- }),
890
- }),
891
- ...(!baseAst?.from && {
892
- from: [{ ...defaultTable, table: initialTableName }],
893
- }),
894
- where: newFormData,
895
- });
896
- setBaseAst(newAst);
897
- setFormData(newFormData);
898
- fetchSqlQuery(newAst, newFormData);
899
- setRemovingFilter(false);
900
- }
901
- }, disabled: !actionsEnabled }, `filter_${index}_${item.value ? filterSentence(item.value) : ''}`));
902
- }
903
- }) }));
904
- };
794
+ // const renderFilters = (actionsEnabled = true) => {
795
+ // // Render filterStack
796
+ // return (
797
+ // <div
798
+ // style={{
799
+ // display: 'flex',
800
+ // flexDirection: 'column',
801
+ // }}
802
+ // >
803
+ // {filterStack.map((item, index) => {
804
+ // if (
805
+ // !item.leaf &&
806
+ // (item.operator === 'and' || item.operator === 'or')
807
+ // ) {
808
+ // return (
809
+ // <div
810
+ // style={{
811
+ // width: 'fit-content',
812
+ // marginBottom: '8px',
813
+ // marginTop: '8px',
814
+ // }}
815
+ // key={index}
816
+ // >
817
+ // <TabsComponent
818
+ // value={item.operator.toUpperCase()}
819
+ // options={DEFAULT_TAB_OPTIONS}
820
+ // onChange={() => {
821
+ // if (item.operator === 'and') {
822
+ // item.operator = 'or';
823
+ // } else {
824
+ // item.operator = 'and';
825
+ // }
826
+ // let newFormData = null;
827
+ // if (filterTree) {
828
+ // newFormData = filterTreeToAst(
829
+ // filterTree,
830
+ // client.databaseType.toLowerCase(),
831
+ // );
832
+ // }
833
+ // const newAst = deepCopy({
834
+ // ...defaultAST,
835
+ // ...baseAst,
836
+ // ...(!baseAst?.columns && {
837
+ // columns: getAllPossibleColumns(
838
+ // baseAst,
839
+ // schemaData.schema,
840
+ // ).map((c) => {
841
+ // const newColumn = deepCopy(defaultColumn);
842
+ // newColumn.expr.column = c.field;
843
+ // return newColumn;
844
+ // }),
845
+ // }),
846
+ // ...(!baseAst?.from && {
847
+ // from: [{ ...defaultTable, table: initialTableName }],
848
+ // }),
849
+ // where: newFormData,
850
+ // });
851
+ // setBaseAst(newAst);
852
+ // setFormData(newFormData);
853
+ // fetchSqlQuery(newAst, newFormData);
854
+ // }}
855
+ // />
856
+ // </div>
857
+ // );
858
+ // } else if (item.value) {
859
+ // return (
860
+ // <FilterPopoverWrapper
861
+ // key={`filter_${index}_${item.value ? filterSentence(item.value) : ''}`}
862
+ // schema={
863
+ // schemaData.schema.find(
864
+ // (s: Table) =>
865
+ // s.name === currentTable || s.displayName === currentTable,
866
+ // ) ?? schemaData.schema[0]
867
+ // }
868
+ // filter={item.value}
869
+ // filterLabel={item.value ? filterSentence(item.value) : ''}
870
+ // index={index}
871
+ // FilterTagComponent={FilterPopoverComponent}
872
+ // FilterModal={FilterModal}
873
+ // fieldValuesMap={globalUniqueValues}
874
+ // fieldValuesMapIsLoading={globalUniqueValuesIsLoading}
875
+ // priorFilters={filterStack.slice(0, index > 0 ? index - 1 : 0)}
876
+ // columns={columns}
877
+ // client={client}
878
+ // customFields={schemaData.customFields}
879
+ // baseAst={baseAst}
880
+ // endpoint={QUILL_SERVER}
881
+ // ButtonComponent={ButtonComponent}
882
+ // SecondaryButtonComponent={SecondaryButtonComponent}
883
+ // SelectComponent={SelectComponent}
884
+ // TextInputComponent={TextInputComponent}
885
+ // MultiSelectComponent={MultiSelectComponent}
886
+ // handleFilterSave={(filter: Filter) => {
887
+ // item.value = filter;
888
+ // let newFormData = null;
889
+ // if (filterTree) {
890
+ // newFormData = filterTreeToAst(
891
+ // filterTree,
892
+ // client.databaseType.toLowerCase(),
893
+ // );
894
+ // }
895
+ // const newAst = deepCopy({
896
+ // ...defaultAST,
897
+ // ...baseAst,
898
+ // ...(!baseAst?.columns && {
899
+ // columns: getAllPossibleColumns(
900
+ // baseAst,
901
+ // schemaData.schema,
902
+ // ).map((c) => {
903
+ // const newColumn = deepCopy(defaultColumn);
904
+ // newColumn.expr.column = c.field;
905
+ // return newColumn;
906
+ // }),
907
+ // }),
908
+ // ...(!baseAst?.from && {
909
+ // from: [{ ...defaultTable, table: initialTableName }],
910
+ // }),
911
+ // where: newFormData,
912
+ // });
913
+ // setBaseAst(newAst);
914
+ // setFormData(newFormData);
915
+ // fetchSqlQuery(newAst, newFormData);
916
+ // }}
917
+ // handleFilterDelete={(i: number) => {
918
+ // if (!removingFilter) {
919
+ // setRemovingFilter(true);
920
+ // const newStack = filterStack;
921
+ // if (i > 0) {
922
+ // newStack.splice(i - 1, 2);
923
+ // } else {
924
+ // if (filterStack.length > 1) {
925
+ // newStack.splice(i, 2);
926
+ // } else {
927
+ // newStack.splice(i, 1);
928
+ // }
929
+ // }
930
+ // const tree = filterStackToFilterTree(newStack);
931
+ // let newFormData = null;
932
+ // if (tree) {
933
+ // newFormData = filterTreeToAst(
934
+ // tree,
935
+ // client.databaseType.toLowerCase(),
936
+ // );
937
+ // }
938
+ // const newAst = deepCopy({
939
+ // ...defaultAST,
940
+ // ...baseAst,
941
+ // ...(!baseAst?.columns && {
942
+ // columns: getAllPossibleColumns(
943
+ // baseAst,
944
+ // schemaData.schema,
945
+ // ).map((c) => {
946
+ // const newColumn = deepCopy(defaultColumn);
947
+ // newColumn.expr.column = c.field;
948
+ // return newColumn;
949
+ // }),
950
+ // }),
951
+ // ...(!baseAst?.from && {
952
+ // from: [{ ...defaultTable, table: initialTableName }],
953
+ // }),
954
+ // where: newFormData,
955
+ // });
956
+ // setBaseAst(newAst);
957
+ // setFormData(newFormData);
958
+ // fetchSqlQuery(newAst, newFormData);
959
+ // setRemovingFilter(false);
960
+ // }
961
+ // }}
962
+ // disabled={!actionsEnabled}
963
+ // />
964
+ // );
965
+ // }
966
+ // })}
967
+ // </div>
968
+ // );
969
+ // };
905
970
  /**
906
971
  * Return whether all columns have been selected (used to hide select all
907
972
  * and show clear button).
@@ -1181,7 +1246,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1181
1246
  flexDirection: 'column',
1182
1247
  gap: 8,
1183
1248
  marginBottom: 12,
1184
- }, children: renderFilters(false) })), _jsxs("div", { style: {
1249
+ }, children: _jsx(FilterStack, { client: client, filterStack: filterStack, filterTree: filterTree, defaultAST: defaultAST, baseAst: baseAst, setBaseAst: setBaseAst, setFormData: setFormData, fetchSqlQuery: fetchSqlQuery, schemaData: schemaData, defaultColumn: defaultColumn, defaultTable: defaultTable, currentTable: currentTable, initialTableName: initialTableName, globalUniqueValues: globalUniqueValues, globalUniqueValuesIsLoading: globalUniqueValuesIsLoading, columns: columns, removingFilter: removingFilter, setRemovingFilter: setRemovingFilter, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, actionsEnabled: false }) })), _jsxs("div", { style: {
1185
1250
  display: 'flex',
1186
1251
  flexDirection: 'column',
1187
1252
  alignItems: 'flex-start',
@@ -1419,7 +1484,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1419
1484
  flexDirection: 'column',
1420
1485
  gap: 8,
1421
1486
  marginBottom: 12,
1422
- }, children: renderFilters() })), _jsxs("div", { style: {
1487
+ }, children: _jsx(FilterStack, { client: client, filterStack: filterStack, filterTree: filterTree, defaultAST: defaultAST, baseAst: baseAst, setBaseAst: setBaseAst, setFormData: setFormData, fetchSqlQuery: fetchSqlQuery, schemaData: schemaData, defaultColumn: defaultColumn, defaultTable: defaultTable, currentTable: currentTable, initialTableName: initialTableName, globalUniqueValues: globalUniqueValues, globalUniqueValuesIsLoading: globalUniqueValuesIsLoading, columns: columns, removingFilter: removingFilter, setRemovingFilter: setRemovingFilter, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, actionsEnabled: true }) })), _jsxs("div", { style: {
1423
1488
  display: 'flex',
1424
1489
  flexDirection: 'column',
1425
1490
  alignItems: 'flex-start',
@@ -1 +1 @@
1
- {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
@@ -100,11 +100,12 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
100
100
  const [isAddLoading, setIsAddLoading] = useState(false);
101
101
  const [isChartBuilderOpen, setIsChartBuilderOpen] = useState(false);
102
102
  const [displayTable, setDisplayTable] = useState(false);
103
+ const [formattedRows, setFormattedRows] = useState([]);
103
104
  const formRef = useRef(null);
104
105
  const sidebarRef = useRef(null);
105
106
  const [searchBarWidth, setSearchBarWidth] = useState(200);
107
+ const [showSearchBar, setShowSearchBar] = useState(false);
106
108
  const [filterBarWidth, setFilterBarWidth] = useState(200);
107
- const [formattedRows, setFormattedRows] = useState([]);
108
109
  const [rowCount, setRowCount] = useState(undefined);
109
110
  const [rowCountIsLoading, setRowCountIsLoading] = useState(false);
110
111
  const [maxPage, setMaxPage] = useState(1);
@@ -114,12 +115,12 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
114
115
  ...EMPTY_INTERNAL_REPORT,
115
116
  ...report,
116
117
  });
117
- const DEFAULT_ROWS_PER_PAGE = 10;
118
+ const tableRef = useRef(null);
119
+ const DEFAULT_ROWS_PER_PAGE = 5;
118
120
  const ROW_HEIGHT = 37;
119
121
  const TABLE_TAB_HEIGHT = 75;
120
- const dynamicHeight = window.innerHeight * 0.8 - 310;
121
- const rowsPerPage = Math.max(DEFAULT_ROWS_PER_PAGE, Math.floor((dynamicHeight - TABLE_TAB_HEIGHT) / ROW_HEIGHT));
122
- const calculatedHeight = TABLE_TAB_HEIGHT + rowsPerPage * ROW_HEIGHT; // height needs to be 75 + rows * rowheight <= window.innerHeight * 0.8 - 330
122
+ const dynamicHeight = tableRef.current ? tableRef.current.clientHeight : 0;
123
+ const rowsPerPage = Math.max(DEFAULT_ROWS_PER_PAGE, Math.ceil((dynamicHeight - TABLE_TAB_HEIGHT) / ROW_HEIGHT));
123
124
  const pagination = {
124
125
  page: 0,
125
126
  rowsPerPage,
@@ -145,6 +146,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
145
146
  function handleResize() {
146
147
  updateFirstChildWidth(formRef, setSearchBarWidth, { gap: 12 });
147
148
  updateFirstChildWidth(sidebarRef, setFilterBarWidth, { gap: 12 });
149
+ setShowSearchBar(true);
148
150
  }
149
151
  handleResize();
150
152
  window.addEventListener('resize', handleResize);
@@ -313,6 +315,9 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
313
315
  onChangeQuery(query || '');
314
316
  }
315
317
  }, [query]);
318
+ if (schemaData.isSchemaLoading) {
319
+ return _jsx(LoadingComponent, {});
320
+ }
316
321
  return (_jsxs("div", { style: { backgroundColor: theme?.backgroundColor, ...containerStyle }, className: className, children: [(!isChartBuilderHorizontalView ||
317
322
  (isChartBuilderHorizontalView && !isChartBuilderOpen)) &&
318
323
  !schemaData.isSchemaLoading && (_jsx("div", { style: {
@@ -360,14 +365,15 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
360
365
  handleRunSqlPrompt();
361
366
  }, style: {
362
367
  display: 'flex',
368
+ visibility: showSearchBar ? 'visible' : 'hidden',
363
369
  flexDirection: 'row',
364
370
  gap: 12,
365
371
  paddingTop: 16,
366
372
  paddingBottom: 16,
367
373
  }, children: [_jsx(TextInputComponent, { id: "ai-search", value: sqlPrompt, width: searchBarWidth, onChange: (e) => setSqlPrompt(e.target.value), placeholder: "Ask a question..." }), _jsx(ButtonComponent, { onClick: handleRunSqlPrompt, label: "Ask AI" })] }), _jsx("div", { style: {
368
- minHeight: Math.max(210, window.innerHeight * 0.2),
374
+ minHeight: 'max(210px, 20vh)',
369
375
  maxHeight: '30%',
370
- height: window.innerHeight * 0.2,
376
+ height: '20vh',
371
377
  }, children: _jsx(SQLEditorComponent, { query: query || '', schema: schemaData.schema, databaseType: client?.databaseType ?? 'postgresql', clientName: client?.publicKey || '', setQuery: setQuery, handleRunQuery: () => {
372
378
  handleRunQuery(currentProcessing, true);
373
379
  }, handleFixWithAI: handleFixWithAI, isNewQueryEnabled: isNewQueryEnabled, runQueryOnMount: runQueryOnMount, handleClearQuery: handleClearQuery, theme: theme, defineEditorTheme: defineEditorTheme, setEditorTheme: setEditorTheme, setEditorMounted: () => { }, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, loading: sqlResponseLoading && schemaData.isSchemaLoading, LoadingComponent: LoadingComponent }) }), _jsx("div", { style: {
@@ -428,10 +434,11 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
428
434
  width: '100%',
429
435
  alignItems: 'center',
430
436
  }, children: [errorMessage, errorMessage !== 'No data found' &&
431
- errorMessage !== 'No query found' && (_jsx(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" }))] }) })), errorMessage || !displayTable ? null : (_jsx(TableComponent, { isLoading: sqlQueryLoading && !isAddLoading, rows: formattedRows, columns: columns, rowCount: rowCount, rowsPerPage: rowsPerPage, rowCountIsLoading: rowCountIsLoading, onPageChange: onPageChange, onSortChange: onSortChange, containerStyle: {
432
- height: calculatedHeight,
433
- maxHeight: calculatedHeight,
434
- }, currentPage: currentPage, setCurrentPage: setCurrentPage }))] })] }) }), isChartBuilderEnabled && (_jsxs("div", { style: {
437
+ errorMessage !== 'No query found' && (_jsx(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" }))] }) })), errorMessage || !displayTable ? null : (_jsx("div", { ref: tableRef, children: _jsx(TableComponent, { isLoading: sqlQueryLoading && !isAddLoading, rows: formattedRows, columns: columns, rowCount: rowCount, rowsPerPage: rowsPerPage, rowCountIsLoading: rowCountIsLoading, onPageChange: onPageChange, onSortChange: onSortChange, containerStyle: {
438
+ height: 'calc(100vh - max(210px, 20vh) - 310px)',
439
+ minHeight: `calc(${DEFAULT_ROWS_PER_PAGE} * ${ROW_HEIGHT}px + ${TABLE_TAB_HEIGHT}px)`, // at least 10 rows tall
440
+ maxHeight: 'calc(100vh - max(210px, 20vh) - 310px)',
441
+ }, currentPage: currentPage, setCurrentPage: setCurrentPage }) }))] })] }) }), isChartBuilderEnabled && (_jsxs("div", { style: {
435
442
  display: 'flex',
436
443
  flexDirection: 'row',
437
444
  alignItems: 'center',
package/dist/esm/Table.js CHANGED
@@ -197,7 +197,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, c
197
197
  if (f.field === filter.field ||
198
198
  (f.filterType === 'date_range' &&
199
199
  filter.filterType === 'date_range')) {
200
- return updateFilter(f, value, comparison);
200
+ return updateFilter(f, value, comparison, f.dashboardName);
201
201
  }
202
202
  return f;
203
203
  });
@@ -83,7 +83,7 @@ export function DashboardFilter({ filter, onChangeFilter, SelectComponent = Quil
83
83
  whiteSpace: 'nowrap',
84
84
  minWidth: 80,
85
85
  justifyContent: 'center',
86
- }, children: "compared to" }), _jsx(SelectComponent, { value: filter.comparisonRange?.value, onChange: (e) => {
86
+ }, children: "compared to" }), _jsx(SelectComponent, { value: filter.comparisonRange?.value ?? 'NO_COMPARISON', onChange: (e) => {
87
87
  onChangeFilter(filter, null, COMPARISON_OPTIONS.find((option) => option.value === e.target.value));
88
88
  }, options: COMPARISON_OPTIONS.map((compareOption) => ({
89
89
  value: compareOption.value,
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AAuBrC,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAkCF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,oBAAoB,EAAE,2BAA2B,GAClD,EAAE;IACD,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAyLd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,WAAW;;mCAGN,WAAW,UACZ,UAAU,KACf,YAAY;0BACK,oBAAoB;aACjC,GAAG,EAAE,GAAG,IAAI;qFAQlB,yBAAyB,KAAK,WAAW;MAC1C,WAmFH,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AAuBrC,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAoCF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,oBAAoB,EAAE,2BAA2B,GAClD,EAAE;IACD,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAwLd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,WAAW;;mCAGN,WAAW,UACZ,UAAU,KACf,YAAY;0BACK,oBAAoB;aACjC,GAAG,EAAE,GAAG,IAAI;qFAQlB,yBAAyB,KAAK,WAAW;MAC1C,WAmFH,CAAC"}
@@ -48,7 +48,9 @@ function filterValuesEquivalent(filters1, filters2) {
48
48
  mappedFilters1[key].table !== mappedFilters2[key]?.table ||
49
49
  mappedFilters1[key].filterType !== mappedFilters2[key]?.filterType ||
50
50
  mappedFilters1[key].startDate !== mappedFilters2[key]?.startDate ||
51
- mappedFilters1[key].endDate !== mappedFilters2[key]?.endDate) {
51
+ mappedFilters1[key].endDate !== mappedFilters2[key]?.endDate ||
52
+ mappedFilters1[key].comparisonRange !==
53
+ mappedFilters2[key]?.comparisonRange) {
52
54
  return false;
53
55
  }
54
56
  }
@@ -176,8 +178,7 @@ export default function DataLoader({ item, children, filters, additionalProcessi
176
178
  fetchReportHelper(additionalProcessing);
177
179
  }, [filters, item.id]);
178
180
  useEffect(() => {
179
- // @ts-ignore
180
- if (dashboard[item.id] && dashboard[item.id].triggerReload) {
181
+ if (dashboard[item.id]?.triggerReload) {
181
182
  fetchReportHelper(additionalProcessing);
182
183
  }
183
184
  }, [dashboard[item.id]]);
@@ -1 +1 @@
1
- {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA+MhC"}
1
+ {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA2NhC"}
@@ -10,8 +10,8 @@ export default function QuillMetricComponent({ report, onClick, error, isLoading
10
10
  const primaryMetricLabel = report?.filtersApplied?.date_range?.preset?.label;
11
11
  const comparisonKey = report?.filtersApplied?.date_range?.comparisonRange?.value;
12
12
  const comparisonLabel = COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
13
- return (_jsx("div", { onClick: () => onClick && !error && onClick(report), style: {
14
- cursor: error || !onClick ? 'default' : 'pointer',
13
+ return (_jsx("div", { onClick: () => onClick && onClick(report), style: {
14
+ cursor: !onClick ? 'default' : 'pointer',
15
15
  boxSizing: 'content-box',
16
16
  borderRadius: 8,
17
17
  paddingBottom: isLoading ? 0 : 30,
@@ -51,7 +51,18 @@ export default function QuillMetricComponent({ report, onClick, error, isLoading
51
51
  }, children: report?.name })) }), isLoading ? (_jsx(ChartSkeleton, { containerStyle: {
52
52
  maxHeight: '78px',
53
53
  height: '100%',
54
- } })) : error ? (_jsx("div", { children: _jsx(ChartError, { errorMessage: error }) })) : report.rows?.length === 0 ||
54
+ } })) : error ? (_jsx(ChartError, { errorMessage: error, containerStyle: {
55
+ display: 'flex',
56
+ flex: '1 0 auto',
57
+ height: '80%',
58
+ margin: 'auto',
59
+ justifyContent: 'center',
60
+ alignItems: 'center',
61
+ fontSize: 13,
62
+ color: theme?.secondaryTextColor,
63
+ maxWidth: '100%',
64
+ width: '100%',
65
+ } })) : report.rows?.length === 0 ||
55
66
  report.rows[0][report.xAxisField] === null ? (_jsx("div", { style: {
56
67
  display: 'flex',
57
68
  flex: '1 0 auto',
@@ -2,7 +2,7 @@ import { MultiSelectComponentProps } from './UiComponents';
2
2
  /**
3
3
  * A robust select component that implements the new minimal Select interface.
4
4
  */
5
- export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
6
6
  export declare const ListboxTextInput: ({ value, onChange, placeholder, }: {
7
7
  value: string;
8
8
  onChange: (e: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,yBAAyB,2CA4U3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAwDpB,CAAC"}
1
+ {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,yBAAyB,2CAiV3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAwDpB,CAAC"}
@@ -21,7 +21,7 @@ function displaySelectedOptionLabels({ options, value, }) {
21
21
  /**
22
22
  * A robust select component that implements the new minimal Select interface.
23
23
  */
24
- export function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, }) {
24
+ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, }) {
25
25
  const [theme] = useContext(ThemeContext);
26
26
  const [selectedOptions, setSelectedOptions] = useState([]);
27
27
  const [showModal, setShowModal] = useState(false);
@@ -124,8 +124,12 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
124
124
  height: 40,
125
125
  minHeight: 40,
126
126
  maxHeight: 40,
127
- }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), children: [_jsx("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
127
+ }, className: 'quill-select-button', onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, children: [_jsx("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
128
128
  .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
129
+ .quill-select-button:disabled {
130
+ cursor: not-allowed;
131
+ background: ${theme?.hoverBackgroundColor};
132
+ }
129
133
  ` }), _jsx("span", { style: {
130
134
  textOverflow: 'ellipsis',
131
135
  whiteSpace: 'nowrap',