@quillsql/react 2.11.19 → 2.11.21

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 (143) hide show
  1. package/dist/cjs/Chart.d.ts +6 -0
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +13 -13
  4. package/dist/cjs/ChartBuilder.d.ts +27 -6
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +86 -57
  7. package/dist/cjs/ChartEditor.d.ts +12 -1
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +3 -3
  10. package/dist/cjs/Dashboard.d.ts +3 -2
  11. package/dist/cjs/Dashboard.d.ts.map +1 -1
  12. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  13. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +1 -1
  14. package/dist/cjs/ReportBuilder.d.ts +9 -1
  15. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  16. package/dist/cjs/ReportBuilder.js +56 -41
  17. package/dist/cjs/SQLEditor.d.ts +7 -1
  18. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  19. package/dist/cjs/SQLEditor.js +3 -6
  20. package/dist/cjs/Table.d.ts +6 -0
  21. package/dist/cjs/Table.d.ts.map +1 -1
  22. package/dist/cjs/Table.js +4 -4
  23. package/dist/cjs/components/Chart/BarChart.d.ts +2 -1
  24. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  25. package/dist/cjs/components/Chart/BarChart.js +6 -4
  26. package/dist/cjs/components/Chart/BarList.d.ts +3 -2
  27. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
  28. package/dist/cjs/components/Chart/BarList.js +3 -3
  29. package/dist/cjs/components/Chart/ChartError.d.ts +1 -1
  30. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/ChartError.js +2 -2
  32. package/dist/cjs/components/Chart/ChartSkeleton.d.ts +2 -1
  33. package/dist/cjs/components/Chart/ChartSkeleton.d.ts.map +1 -1
  34. package/dist/cjs/components/Chart/ChartSkeleton.js +2 -2
  35. package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
  36. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  37. package/dist/cjs/components/Chart/LineChart.js +3 -3
  38. package/dist/cjs/components/Chart/PieChart.d.ts +1 -0
  39. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  40. package/dist/cjs/components/Chart/PieChart.js +4 -100
  41. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +2 -1
  42. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  43. package/dist/cjs/components/Dashboard/DashboardFilter.js +2 -2
  44. package/dist/cjs/components/QuillCard.d.ts +1 -1
  45. package/dist/cjs/components/QuillCard.d.ts.map +1 -1
  46. package/dist/cjs/components/QuillCard.js +1 -1
  47. package/dist/cjs/components/QuillSelect.d.ts +1 -1
  48. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  49. package/dist/cjs/components/QuillSelect.js +5 -3
  50. package/dist/cjs/components/QuillTable.d.ts +2 -1
  51. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  52. package/dist/cjs/components/QuillTable.js +5 -5
  53. package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
  54. package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +2 -9
  55. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  56. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +2 -2
  57. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  58. package/dist/cjs/components/ReportBuilder/ui.js +4 -16
  59. package/dist/cjs/components/UiComponents.d.ts +9 -9
  60. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  61. package/dist/cjs/components/UiComponents.js +32 -17
  62. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +1 -1
  63. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  64. package/dist/cjs/internals/ReportBuilder/PivotList.js +3 -3
  65. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  66. package/dist/cjs/internals/ReportBuilder/PivotModal.js +25 -24
  67. package/dist/cjs/utils/color.d.ts +6 -0
  68. package/dist/cjs/utils/color.d.ts.map +1 -1
  69. package/dist/cjs/utils/color.js +98 -1
  70. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  71. package/dist/cjs/utils/valueFormatter.js +32 -2
  72. package/dist/esm/Chart.d.ts +6 -0
  73. package/dist/esm/Chart.d.ts.map +1 -1
  74. package/dist/esm/Chart.js +13 -13
  75. package/dist/esm/ChartBuilder.d.ts +27 -6
  76. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  77. package/dist/esm/ChartBuilder.js +87 -58
  78. package/dist/esm/ChartEditor.d.ts +12 -1
  79. package/dist/esm/ChartEditor.d.ts.map +1 -1
  80. package/dist/esm/ChartEditor.js +4 -4
  81. package/dist/esm/Dashboard.d.ts +3 -2
  82. package/dist/esm/Dashboard.d.ts.map +1 -1
  83. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  84. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +1 -1
  85. package/dist/esm/ReportBuilder.d.ts +9 -1
  86. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  87. package/dist/esm/ReportBuilder.js +56 -41
  88. package/dist/esm/SQLEditor.d.ts +7 -1
  89. package/dist/esm/SQLEditor.d.ts.map +1 -1
  90. package/dist/esm/SQLEditor.js +3 -6
  91. package/dist/esm/Table.d.ts +6 -0
  92. package/dist/esm/Table.d.ts.map +1 -1
  93. package/dist/esm/Table.js +4 -4
  94. package/dist/esm/components/Chart/BarChart.d.ts +2 -1
  95. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  96. package/dist/esm/components/Chart/BarChart.js +7 -5
  97. package/dist/esm/components/Chart/BarList.d.ts +3 -2
  98. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  99. package/dist/esm/components/Chart/BarList.js +3 -3
  100. package/dist/esm/components/Chart/ChartError.d.ts +1 -1
  101. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  102. package/dist/esm/components/Chart/ChartError.js +2 -2
  103. package/dist/esm/components/Chart/ChartSkeleton.d.ts +2 -1
  104. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -1
  105. package/dist/esm/components/Chart/ChartSkeleton.js +2 -2
  106. package/dist/esm/components/Chart/LineChart.d.ts +2 -1
  107. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  108. package/dist/esm/components/Chart/LineChart.js +3 -3
  109. package/dist/esm/components/Chart/PieChart.d.ts +1 -0
  110. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  111. package/dist/esm/components/Chart/PieChart.js +3 -99
  112. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +2 -1
  113. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  114. package/dist/esm/components/Dashboard/DashboardFilter.js +2 -2
  115. package/dist/esm/components/QuillCard.d.ts +1 -1
  116. package/dist/esm/components/QuillCard.d.ts.map +1 -1
  117. package/dist/esm/components/QuillCard.js +1 -1
  118. package/dist/esm/components/QuillSelect.d.ts +1 -1
  119. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  120. package/dist/esm/components/QuillSelect.js +5 -3
  121. package/dist/esm/components/QuillTable.d.ts +2 -1
  122. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  123. package/dist/esm/components/QuillTable.js +5 -5
  124. package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
  125. package/dist/esm/components/ReportBuilder/AddColumnPopover.js +2 -9
  126. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  127. package/dist/esm/components/ReportBuilder/AddSortPopover.js +2 -2
  128. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  129. package/dist/esm/components/ReportBuilder/ui.js +4 -16
  130. package/dist/esm/components/UiComponents.d.ts +9 -9
  131. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  132. package/dist/esm/components/UiComponents.js +32 -17
  133. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +1 -1
  134. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  135. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  136. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  137. package/dist/esm/internals/ReportBuilder/PivotModal.js +25 -24
  138. package/dist/esm/utils/color.d.ts +6 -0
  139. package/dist/esm/utils/color.d.ts.map +1 -1
  140. package/dist/esm/utils/color.js +96 -0
  141. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  142. package/dist/esm/utils/valueFormatter.js +32 -2
  143. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { useContext, useEffect, useState } from 'react';
3
3
  import { compareValues } from '../utils/valueFormatter';
4
4
  import { ThemeContext } from '../Context';
5
5
  import ChartSkeleton from './Chart/ChartSkeleton';
6
- export default function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => _jsx(ChartSkeleton, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
6
+ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, className, LoadingComponent = () => _jsx(ChartSkeleton, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
7
7
  const [activeRows, setActiveRows] = useState([]);
8
8
  const [page, setPage] = useState(1);
9
9
  const [maxPage, setMaxPage] = useState(1);
@@ -13,7 +13,7 @@ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVBu
13
13
  const [isPaginating, setIsPaginating] = useState(true);
14
14
  useEffect(() => {
15
15
  setIsPaginating(true);
16
- if (rows.length === 0 && isLoading) {
16
+ if (rows?.length === 0 && isLoading) {
17
17
  return;
18
18
  }
19
19
  const sortedRows = [...rows];
@@ -55,7 +55,7 @@ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVBu
55
55
  if (isLoading || isPaginating) {
56
56
  return (_jsx("div", { style: {
57
57
  ...containerStyle,
58
- }, children: _jsx(LoadingComponent, {}) }));
58
+ }, className: className, children: _jsx(LoadingComponent, {}) }));
59
59
  }
60
60
  return (_jsx("div", { style: {
61
61
  width: '100%',
@@ -64,7 +64,7 @@ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVBu
64
64
  display: 'flex',
65
65
  flexDirection: 'column',
66
66
  ...containerStyle,
67
- }, children: _jsx("div", { style: {
67
+ }, className: className, children: _jsx("div", { style: {
68
68
  height: '100%',
69
69
  width: '100%',
70
70
  overflow: 'auto',
@@ -160,7 +160,7 @@ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVBu
160
160
  borderTop: rowIndex > 0
161
161
  ? '1px solid rgb(229, 231, 235)'
162
162
  : undefined,
163
- borderBottom: rowIndex === rows.length - 1
163
+ borderBottom: rowIndex === rows?.length - 1
164
164
  ? '1px solid rgb(229, 231, 235)'
165
165
  : undefined,
166
166
  userSelect: 'none',
@@ -1 +1 @@
1
- {"version":3,"file":"AddColumnPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnPopover.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,kBAAkB,EAAE,GAAG,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;CACb,2CAqNA"}
1
+ {"version":3,"file":"AddColumnPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnPopover.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,kBAAkB,EAAE,GAAG,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;CACb,2CA8MA"}
@@ -5,19 +5,12 @@ import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, us
5
5
  import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, useSortable, } from '@dnd-kit/sortable';
6
6
  import { CSS as DND_CSS } from '@dnd-kit/utilities';
7
7
  import { ThemeContext } from '../../Context';
8
- import { updateFirstChildWidth } from '../../utils/width';
9
8
  import { snakeCaseToTitleCase } from '../../utils/textProcessing';
10
9
  export default function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, }) {
11
10
  const [theme] = useContext(ThemeContext);
12
11
  const [search, setSearch] = useState('');
13
12
  const [searchResults, setSearchResults] = useState(orderedColumnNames);
14
13
  const textInputContainerRef = useRef(null);
15
- const [searchInputWidth, setSearchInputWidth] = useState(200);
16
- useEffect(() => {
17
- // Since the TextInput component takes a required numeric width parameter,
18
- // we dynamically calculate the width of this component onload here.
19
- updateFirstChildWidth(textInputContainerRef, setSearchInputWidth);
20
- }, []);
21
14
  const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
22
15
  coordinateGetter: sortableKeyboardCoordinates,
23
16
  }));
@@ -66,7 +59,7 @@ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrdere
66
59
  alignItems: 'center',
67
60
  marginTop: 2,
68
61
  marginBottom: 6,
69
- }, children: _jsx(TextInput, { id: 'add_column_search_bar', value: search, placeholder: 'Search...', width: searchInputWidth, onChange: (e) => setSearch(e.target.value) }) }), _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: orderedColumnNames, strategy: verticalListSortingStrategy, children: _jsxs("div", { style: {
62
+ }, children: _jsx(TextInput, { id: 'add_column_search_bar', value: search, placeholder: 'Search...', width: 300, onChange: (e) => setSearch(e.target.value) }) }), _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: orderedColumnNames, strategy: verticalListSortingStrategy, children: _jsxs("div", { style: {
70
63
  display: 'flex',
71
64
  flexDirection: 'column',
72
65
  gap: 8,
@@ -142,7 +135,7 @@ const SortableItem = ({ id, label, setSelectedColumns, selectedColumns, SelectCo
142
135
  }
143
136
  });
144
137
  };
145
- return (_jsx("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: _jsx(SelectColumn, { isSelected: selectedColumns?.includes(id), setSelected: handleSelect, label: label, DragHandle: (props) => (_jsx("div", { style: {
138
+ return (_jsx("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: _jsx(SelectColumn, { isSelected: selectedColumns?.includes(id), setSelected: handleSelect, label: snakeCaseToTitleCase(label), DragHandle: (props) => (_jsx("div", { style: {
146
139
  cursor: 'grab',
147
140
  }, ...attributes, ...listeners, children: _jsx(props.dragIcon, {}) })) }) }));
148
141
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,oBAAoB,EAGpB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,MAAM,CAAC;AAOjD,eAAO,MAAM,YAAY;cAkBb,GAAG;aACJ,GAAG;kBACE,GAAG;uBACE,GAAG;uBACH,GAAG;oBACN,GAAG;mBACJ,GAAG;gBACN,GAAG;kBACD,GAAG;YACT,GAAG;;yBAEU,yBAAyB,KAAK,WAAW;iBACjD,GAAG;sBACC,oBAAoB,KAAK,WAAW;sBACpC,oBAAoB,KAAK,WAAW;+BAC3B,oBAAoB,KAAK,WAAW;oDAoD/D,CAAC;AAEF,eAAO,MAAM,cAAc,oFASxB,GAAG,4CA6DL,CAAC"}
1
+ {"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,oBAAoB,EAGpB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,MAAM,CAAC;AAOjD,eAAO,MAAM,YAAY;cAkBb,GAAG;aACJ,GAAG;kBACE,GAAG;uBACE,GAAG;uBACH,GAAG;oBACN,GAAG;mBACJ,GAAG;gBACN,GAAG;kBACD,GAAG;YACT,GAAG;;yBAEU,yBAAyB,KAAK,WAAW;iBACjD,GAAG;sBACC,oBAAoB,KAAK,WAAW;sBACpC,oBAAoB,KAAK,WAAW;+BAC3B,oBAAoB,KAAK,WAAW;oDAoD/D,CAAC;AAEF,eAAO,MAAM,cAAc,oFASxB,GAAG,4CA+DL,CAAC"}
@@ -48,12 +48,12 @@ export const AddSortPopover = ({ onSave, columns, isEdit, onDelete, column, Sele
48
48
  label: snakeCaseToTitleCase(column.split('.')[1] || ''),
49
49
  value: column.split('.')[1],
50
50
  })),
51
- ] }), _jsx(Select, { value: sortDirection, onChange: (e) => {
51
+ ], width: 200 }), _jsx(Select, { value: sortDirection, onChange: (e) => {
52
52
  setSortDirection(e.target.value);
53
53
  }, options: [
54
54
  { label: 'Ascending', value: 'ASC' },
55
55
  { label: 'Descending', value: 'DESC' },
56
- ] })] }), _jsx("div", { style: {
56
+ ], width: 200 })] }), _jsx("div", { style: {
57
57
  display: 'flex',
58
58
  flexDirection: 'row',
59
59
  justifyContent: 'end',
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import MemoizedQuillTable from '../QuillTable';
5
5
  import { ThemeContext } from '../../Context';
6
6
  import { isNodeEmptyCollection, allNumericNodesValidInTree } from './util';
7
7
  import { downloadCSV } from '../../utils/csv';
8
- import { snakeCaseToTitleCase } from '../../utils/textProcessing';
9
8
  /**
10
9
  * This file is a collection of basic UI components that conform to the shape
11
10
  * expected by the Report Builder. Where possible, we use our existing
@@ -178,21 +177,10 @@ export const QuillSelectColumn = ({ label, isSelected, setSelected, DragHandle,
178
177
  display: 'flex',
179
178
  alignItems: 'center',
180
179
  backgroundColor: theme?.backgroundColor || 'white',
181
- }, children: [_jsx(DragHandle, { dragIcon: QuillHandleButton }), _jsxs("label", { style: {
182
- display: 'flex',
183
- gap: 2,
184
- whiteSpace: 'nowrap',
185
- textOverflow: 'ellipsis',
186
- overflow: 'hidden',
187
- }, children: [_jsx(MemoizedCheckbox, { isChecked: isSelected, onChange: () => setSelected() }), _jsx("span", { style: {
188
- marginLeft: 6,
189
- display: 'block',
190
- whiteSpace: 'nowrap',
191
- textOverflow: 'ellipsis',
192
- overflow: 'hidden',
193
- fontFamily: theme?.fontFamily,
194
- color: theme?.primaryTextColor,
195
- }, children: snakeCaseToTitleCase(label) })] })] }));
180
+ whiteSpace: 'nowrap',
181
+ textOverflow: 'ellipsis',
182
+ overflow: 'hidden',
183
+ }, children: [_jsx(DragHandle, { dragIcon: QuillHandleButton }), _jsx(MemoizedCheckbox, { isChecked: isSelected, label: label, onChange: () => setSelected() })] }));
196
184
  };
197
185
  /**
198
186
  * A draggable card with a grab-handle and a column name
@@ -59,19 +59,18 @@ export interface ContainerComponentProps {
59
59
  */
60
60
  export declare const QuillTextInput: ({ id, value, width, placeholder, onChange, }: TextInputComponentProps) => import("react/jsx-runtime").JSX.Element;
61
61
  export declare const MemoizedTextInput: ({ value, onChange, placeholder, id, }: TextInputComponentProps) => import("react/jsx-runtime").JSX.Element;
62
- export declare const MemoizedButton: ({ label, onClick, primary, isLoading, }: {
63
- label: any;
64
- onClick: any;
65
- primary?: boolean | undefined;
66
- isLoading?: boolean | undefined;
62
+ export declare const MemoizedButton: ({ label, onClick, }: {
63
+ label: string;
64
+ onClick: () => void;
67
65
  }) => import("react/jsx-runtime").JSX.Element;
68
- export declare const MemoizedSecondaryButton: ({ label, onClick }: {
69
- label: any;
70
- onClick: any;
66
+ export declare const MemoizedSecondaryButton: ({ label, onClick, }: {
67
+ label: string;
68
+ onClick: () => void;
71
69
  }) => import("react/jsx-runtime").JSX.Element;
72
70
  export interface SelectComponentProps {
73
71
  value: string;
74
72
  label?: string;
73
+ width: number;
75
74
  options: {
76
75
  value: string;
77
76
  label: string;
@@ -88,9 +87,10 @@ export interface LabelComponentProps {
88
87
  export declare const MemoizedLabel: ({ label }: LabelComponentProps) => import("react/jsx-runtime").JSX.Element;
89
88
  export interface CheckboxComponentProps {
90
89
  isChecked: boolean;
90
+ label: string;
91
91
  onChange: (event: ChangeEvent<HTMLInputElement>) => void;
92
92
  }
93
- export declare const MemoizedCheckbox: ({ isChecked, onChange, }: CheckboxComponentProps) => import("react/jsx-runtime").JSX.Element;
93
+ export declare const MemoizedCheckbox: ({ isChecked, label, onChange, }: CheckboxComponentProps) => import("react/jsx-runtime").JSX.Element;
94
94
  export declare const DEFAULT_TAB_OPTIONS: {
95
95
  label: string;
96
96
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { useContext, useEffect, useRef, } from 'react';
4
4
  import { XIcon } from '../assets';
5
5
  import { ThemeContext } from '../Context';
6
+ import { useTheme } from '../hooks';
6
7
  import QuillTable from './QuillTable';
7
8
  /**
8
9
  * The fallback TextInput element for Quill.
@@ -46,7 +47,7 @@ export const MemoizedTextInput = ({ value, onChange, placeholder, id, }) => {
46
47
  box-sizing: border-box;
47
48
  }` }), _jsx("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: onChange, placeholder: placeholder, style: { fontFamily: theme?.fontFamily } })] }));
48
49
  };
49
- export const MemoizedButton = ({ label, onClick, primary = true, isLoading = false, }) => {
50
+ export const MemoizedButton = ({ label, onClick, }) => {
50
51
  const [theme] = useContext(ThemeContext);
51
52
  return (_jsxs("button", { className: "quill-button", onClick: onClick, style: { fontFamily: theme?.fontFamily }, children: [_jsx("style", { children: `
52
53
  .quill-button {
@@ -66,9 +67,9 @@ export const MemoizedButton = ({ label, onClick, primary = true, isLoading = fal
66
67
  .quill-button:hover {
67
68
  background-color: rgba(56, 65, 81, 0.9);
68
69
  border-radius: 6px;
69
- }` }), isLoading ? (_jsx("div", { style: { padding: '0px 16px' }, children: _jsx(LoadingSpinner, {}) })) : (label)] }));
70
+ }` }), label] }));
70
71
  };
71
- export const MemoizedSecondaryButton = ({ label, onClick }) => {
72
+ export const MemoizedSecondaryButton = ({ label, onClick, }) => {
72
73
  const [theme] = useContext(ThemeContext);
73
74
  return (_jsxs("button", { className: "quill-secondary-button", onClick: onClick, style: { fontFamily: theme?.fontFamily }, children: [_jsx("style", { children: `
74
75
  .quill-secondary-button {
@@ -109,11 +110,30 @@ export const MemoizedLabel = ({ label }) => {
109
110
  fontFamily: theme?.fontFamily,
110
111
  color: theme?.secondaryTextColor || '#575E6A',
111
112
  userSelect: 'none',
112
- paddingBottom: 5,
113
113
  margin: 0,
114
114
  }, children: label }));
115
115
  };
116
- export const MemoizedCheckbox = ({ isChecked, onChange, }) => (_jsx("input", { type: "checkbox", checked: isChecked, onChange: onChange, style: { width: '14px', height: '14px', margin: 'auto 0' } }));
116
+ export const MemoizedCheckbox = ({ isChecked, label, onChange, }) => {
117
+ const theme = useTheme();
118
+ return (_jsxs("label", { style: {
119
+ display: 'flex',
120
+ width: '100%',
121
+ whiteSpace: 'nowrap',
122
+ textOverflow: 'ellipsis',
123
+ overflow: 'hidden',
124
+ gap: 4,
125
+ }, children: [_jsx("input", { type: "checkbox", checked: isChecked, onChange: onChange, style: { width: '14px', height: '14px', margin: 'auto 0' } }), _jsx("span", { style: {
126
+ display: 'block',
127
+ marginTop: 'auto',
128
+ marginBottom: 'auto',
129
+ marginLeft: '6px',
130
+ whiteSpace: 'nowrap',
131
+ textOverflow: 'ellipsis',
132
+ overflow: 'hidden',
133
+ fontFamily: theme?.fontFamily,
134
+ color: theme?.primaryTextColor,
135
+ }, children: label })] }));
136
+ };
117
137
  export const DEFAULT_TAB_OPTIONS = [
118
138
  { label: 'or', value: 'OR' },
119
139
  { label: 'and', value: 'AND' },
@@ -134,14 +154,12 @@ export const QuillTabs = ({ options = DEFAULT_TAB_OPTIONS, value, onChange, }) =
134
154
  outlineStyle: 'none',
135
155
  transitionProperty: 'background-color, border-color, color, fill, stroke, opacity, box-shadow, transform',
136
156
  transitionTimingFunction: 'cubic-bezier(0.4, 0, 0.2, 1)',
137
- transitionDuration: ['300ms', '300ms'],
138
- borderColor: '#e7e7e7',
157
+ transitionDuration: '300ms',
139
158
  margin: '0px',
140
159
  paddingTop: '0.375rem',
141
160
  paddingBottom: '0.375rem',
142
161
  paddingLeft: '0.75rem',
143
162
  paddingRight: '0.75rem',
144
- color: '12px',
145
163
  ...(option.value === value
146
164
  ? {
147
165
  fontWeight: 700,
@@ -244,16 +262,10 @@ export function MemoizedModal({ isOpen, setIsOpen, title, children, width, heigh
244
262
  }, children: _jsxs("div", { style: {
245
263
  width: '100%',
246
264
  height: '100%',
247
- maxWidth: 'calc(100vw - 82px)',
248
- maxHeight: 'calc(100vh - 82px)',
249
265
  overflowY: 'scroll',
250
- // maxWidth: "700px",
251
266
  backgroundColor: '#ffffff',
252
- // padding: "20px",
253
- // borderRadius: "8px",
254
267
  display: 'flex',
255
268
  flexDirection: 'column',
256
- // alignItems: 'center',
257
269
  position: 'relative',
258
270
  fontFamily: theme?.fontFamily,
259
271
  }, children: [_jsxs("div", { id: "quill-modal-header", style: {
@@ -262,15 +274,18 @@ export function MemoizedModal({ isOpen, setIsOpen, title, children, width, heigh
262
274
  width: '100%',
263
275
  justifyContent: 'space-between',
264
276
  alignItems: 'center',
277
+ padding: 10,
265
278
  }, children: [_jsx("h2", { style: {
266
279
  fontSize: 18,
267
280
  fontWeight: '600',
268
- marginLeft: 20,
269
281
  // width: '90%',
270
282
  textAlign: 'left',
271
- paddingTop: 18,
283
+ paddingLeft: 10,
272
284
  color: theme?.primaryTextColor,
273
- }, children: title }), _jsx("div", { style: { marginRight: 10, marginTop: 10 }, children: _jsx(MemoizedDeleteButton, { onClick: () => setIsOpen(false) }) })] }), children] }) })] }));
285
+ }, children: title }), _jsx(MemoizedDeleteButton, { onClick: () => setIsOpen(false) })] }), _jsx("div", { style: {
286
+ height: 'calc(100% - 60px)', // full height minus title
287
+ width: '100%', // full width minus margin
288
+ }, children: children })] }) })] }));
274
289
  }
275
290
  export const MemoizedDeleteButton = ({ onClick, }) => (_jsxs("button", { className: "quill-delete-button", type: "button", onClick: onClick, style: {
276
291
  height: 40,
@@ -9,7 +9,7 @@ export declare const PivotCard: ({ pivotTable, theme, index, onSelectPivot, sele
9
9
  ButtonComponent: any;
10
10
  showEdit?: boolean | undefined;
11
11
  clickable?: boolean | undefined;
12
- onClose?: (() => void) | undefined;
12
+ onClose: any;
13
13
  minHeight?: number | undefined;
14
14
  CardComponent?: typeof QuillCard | undefined;
15
15
  LabelComponent: any;
@@ -1 +1 @@
1
- {"version":3,"file":"PivotList.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;6CAiNrB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;6CAqFrB,CAAC"}
1
+ {"version":3,"file":"PivotList.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;6CAmNrB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;6CAqFrB,CAAC"}
@@ -3,9 +3,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { quillFormat } from '../../utils/valueFormatter';
4
4
  import { snakeCaseToTitleCase } from '../../utils/textProcessing';
5
5
  import { QuillCard } from '../../components/QuillCard';
6
- export const PivotCard = ({ pivotTable, theme, index, onSelectPivot, selectedPivotIndex, onEditPivot, ButtonComponent, showEdit = false, clickable = true, onClose = () => { }, minHeight = 0, CardComponent = QuillCard, LabelComponent, TextComponent, HeaderComponent, }) => {
6
+ export const PivotCard = ({ pivotTable, theme, index, onSelectPivot, selectedPivotIndex, onEditPivot, ButtonComponent, showEdit = false, clickable = true, onClose, minHeight = 0, CardComponent = QuillCard, LabelComponent, TextComponent, HeaderComponent, }) => {
7
7
  const maxRowsInPivotPeak = 5;
8
- return (_jsx(CardComponent, { onClick: () => onSelectPivot(pivotTable.pivot, index), onDelete: onClose, children: _jsxs("div", { style: {
8
+ return (_jsx(CardComponent, { onClick: onSelectPivot ? () => onSelectPivot(pivotTable.pivot, index) : undefined, onDelete: onClose, children: _jsxs("div", { style: {
9
9
  fontSize: 14,
10
10
  display: 'flex',
11
11
  flexDirection: 'column',
@@ -84,5 +84,5 @@ export const PivotList = ({ recommendedPivotTables, createdPivotTables, onSelect
84
84
  justifyContent: 'center',
85
85
  alignItems: 'center',
86
86
  width: '100%',
87
- }, children: "Create pivot +" }) }))] }) }));
87
+ }, children: _jsx(LabelComponent, { label: "Create pivot +" }) }) }))] }) }));
88
88
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
@@ -248,11 +248,17 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
248
248
  setPopUpTitle('Add Pivot');
249
249
  }
250
250
  setIsOpen(isOpen);
251
- }, popoverChildren: _jsx("div", { children: showUpdatePivot ? (_jsxs("div", { className: "ref-in-use", ref: editModalRef, style: {
251
+ }, popoverTitle: showUpdatePivot ? popUpTitle : 'Recommended pivots', popoverChildren: _jsx("div", { style: {
252
+ paddingTop: showUpdatePivot ? 0 : 20,
253
+ position: 'relative',
254
+ }, children: showUpdatePivot ? (_jsxs("div", { className: "ref-in-use", ref: editModalRef, style: {
252
255
  backgroundColor: 'rgb(255, 255, 255)',
253
256
  display: 'flex',
254
257
  flexDirection: 'column',
255
- }, children: [_jsx(HeaderComponent, { label: popUpTitle }), _jsx("div", { style: { height: 12 } }), _jsxs("div", { style: {
258
+ }, children: [_jsx("div", { style: { height: 12 } }), _jsx("div", { style: { width: divWidth }, children: samplePivotTable && (_jsx("div", { style: {
259
+ marginBottom: 20,
260
+ minHeight: 160,
261
+ }, children: _jsx(PivotCard, { pivotTable: samplePivotTable, theme: theme, index: 0, selectedPivotIndex: -1, onEditPivot: () => { }, ButtonComponent: ButtonComponent, showEdit: false, clickable: false, minHeight: 140, LabelComponent: LabelComponent, TextComponent: TextComponent, HeaderComponent: HeaderComponent }) })) }), _jsxs("div", { style: {
256
262
  display: 'flex',
257
263
  flexDirection: 'column',
258
264
  gap: 10,
@@ -274,7 +280,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
274
280
  dateFormatOptions.includes(format) ||
275
281
  isIdColumn(option.value));
276
282
  }),
277
- ] })] }), _jsxs("div", { children: [_jsx(LabelComponent, { label: "Column Field" }), _jsx(SelectComponent, { id: "pivot-row-field", value: pivotColumnField, onChange: (e) => {
283
+ ], width: 200 })] }), _jsxs("div", { children: [_jsx(LabelComponent, { label: "Column Field" }), _jsx(SelectComponent, { id: "pivot-row-field", value: pivotColumnField, onChange: (e) => {
278
284
  setPivotColumnField(e.target.value === ''
279
285
  ? undefined
280
286
  : e.target.value);
@@ -282,7 +288,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
282
288
  ...columnSelectOptions.filter((option) => {
283
289
  return (columns.find((col) => col.field === option.value)?.format === 'string');
284
290
  }),
285
- ] })] })] }), _jsxs("div", { style: {
291
+ ], width: 200 })] })] }), _jsxs("div", { style: {
286
292
  display: 'flex',
287
293
  flexDirection: 'row',
288
294
  gap: 20,
@@ -297,7 +303,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
297
303
  numberFormatOptions.includes(columns.find((col) => col.field === option.value)?.format)) &&
298
304
  !isIdColumn(option.value));
299
305
  }),
300
- ] })] }), _jsxs("div", { children: [_jsx(LabelComponent, { label: "Aggregation Type" }), _jsx(SelectComponent, { id: "pivot-row-field", value: pivotAggregation, onChange: (e) => {
306
+ ], width: 200 })] }), _jsxs("div", { children: [_jsx(LabelComponent, { label: "Aggregation Type" }), _jsx(SelectComponent, { id: "pivot-row-field", value: pivotAggregation, onChange: (e) => {
301
307
  if (e.target.value !== 'count' &&
302
308
  pivotValueField &&
303
309
  !numberFormatOptions.includes(columns.find((col) => col.field === pivotValueField)?.format)) {
@@ -310,7 +316,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
310
316
  ...['sum', 'average', 'count', 'max', 'min'].map((option) => {
311
317
  return { label: option, value: option };
312
318
  }),
313
- ] })] })] })] }), _jsx("div", { children: _jsx(ButtonComponent, { id: "custom-button", onClick: () => {
319
+ ], width: 200 })] })] })] }), _jsx("div", { children: _jsx(ButtonComponent, { id: "custom-button", onClick: () => {
314
320
  const errors = [];
315
321
  if (!pivotValueField && pivotAggregation !== 'count') {
316
322
  errors.push("Value field cannot be empty when aggregation is not 'count'");
@@ -366,24 +372,19 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
366
372
  columns: selectedPivotTable?.columns,
367
373
  }, theme: theme, index: 0, onSelectPivot: () => { }, selectedPivotIndex: -1, onEditPivot: () => { }, ButtonComponent: ButtonComponent, showEdit: false, onClose: () => {
368
374
  removePivot();
369
- }, clickable: true, minHeight: 180, CardComponent: CardComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, HeaderComponent: HeaderComponent }) }) })) : (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsxs("div", { style: {
370
- display: 'flex',
371
- flexDirection: 'row',
372
- width: '100%',
373
- alignItems: 'center',
374
- justifyContent: 'space-between',
375
- paddingBottom: 12,
376
- }, children: [_jsx("div", { style: {
377
- fontWeight: '600',
378
- fontSize: 18,
379
- }, children: "Recommended pivots" }), _jsx("div", { children: _jsx(SecondaryButtonComponent, { onClick: refreshPivots, label: _jsxs("div", { style: {
380
- display: 'flex',
381
- flexDirection: 'row',
382
- whiteSpace: 'nowrap',
383
- alignItems: 'center',
384
- gap: 6,
385
- fontSize: 14,
386
- }, children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 16, height: 16 }, children: _jsx("path", { fillRule: "evenodd", d: "M9 4.5a.75.75 0 0 1 .721.544l.813 2.846a3.75 3.75 0 0 0 2.576 2.576l2.846.813a.75.75 0 0 1 0 1.442l-2.846.813a3.75 3.75 0 0 0-2.576 2.576l-.813 2.846a.75.75 0 0 1-1.442 0l-.813-2.846a3.75 3.75 0 0 0-2.576-2.576l-2.846-.813a.75.75 0 0 1 0-1.442l2.846-.813A3.75 3.75 0 0 0 7.466 7.89l.813-2.846A.75.75 0 0 1 9 4.5ZM18 1.5a.75.75 0 0 1 .728.568l.258 1.036c.236.94.97 1.674 1.91 1.91l1.036.258a.75.75 0 0 1 0 1.456l-1.036.258c-.94.236-1.674.97-1.91 1.91l-.258 1.036a.75.75 0 0 1-1.456 0l-.258-1.036a2.625 2.625 0 0 0-1.91-1.91l-1.036-.258a.75.75 0 0 1 0-1.456l1.036-.258a2.625 2.625 0 0 0 1.91-1.91l.258-1.036A.75.75 0 0 1 18 1.5ZM16.5 15a.75.75 0 0 1 .712.513l.394 1.183c.15.447.5.799.948.948l1.183.395a.75.75 0 0 1 0 1.422l-1.183.395c-.447.15-.799.5-.948.948l-.395 1.183a.75.75 0 0 1-1.422 0l-.395-1.183a1.5 1.5 0 0 0-.948-.948l-1.183-.395a.75.75 0 0 1 0-1.422l1.183-.395c.447-.15.799-.5.948-.948l.395-1.183A.75.75 0 0 1 16.5 15Z", clipRule: "evenodd" }) }), "Regenerate"] }) }) })] }), isLoading ? (_jsxs("div", { style: {
375
+ }, clickable: true, minHeight: 180, CardComponent: CardComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, HeaderComponent: HeaderComponent }) }) })) : (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { style: {
376
+ // position button inline with the popover title
377
+ position: 'absolute',
378
+ top: -36,
379
+ right: 0,
380
+ }, children: _jsx(SecondaryButtonComponent, { onClick: refreshPivots, label: _jsxs("div", { style: {
381
+ display: 'flex',
382
+ flexDirection: 'row',
383
+ whiteSpace: 'nowrap',
384
+ alignItems: 'center',
385
+ gap: 6,
386
+ fontSize: 14,
387
+ }, children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 16, height: 16 }, children: _jsx("path", { fillRule: "evenodd", d: "M9 4.5a.75.75 0 0 1 .721.544l.813 2.846a3.75 3.75 0 0 0 2.576 2.576l2.846.813a.75.75 0 0 1 0 1.442l-2.846.813a3.75 3.75 0 0 0-2.576 2.576l-.813 2.846a.75.75 0 0 1-1.442 0l-.813-2.846a3.75 3.75 0 0 0-2.576-2.576l-2.846-.813a.75.75 0 0 1 0-1.442l2.846-.813A3.75 3.75 0 0 0 7.466 7.89l.813-2.846A.75.75 0 0 1 9 4.5ZM18 1.5a.75.75 0 0 1 .728.568l.258 1.036c.236.94.97 1.674 1.91 1.91l1.036.258a.75.75 0 0 1 0 1.456l-1.036.258c-.94.236-1.674.97-1.91 1.91l-.258 1.036a.75.75 0 0 1-1.456 0l-.258-1.036a2.625 2.625 0 0 0-1.91-1.91l-1.036-.258a.75.75 0 0 1 0-1.456l1.036-.258a2.625 2.625 0 0 0 1.91-1.91l.258-1.036A.75.75 0 0 1 18 1.5ZM16.5 15a.75.75 0 0 1 .712.513l.394 1.183c.15.447.5.799.948.948l1.183.395a.75.75 0 0 1 0 1.422l-1.183.395c-.447.15-.799.5-.948.948l-.395 1.183a.75.75 0 0 1-1.422 0l-.395-1.183a1.5 1.5 0 0 0-.948-.948l-1.183-.395a.75.75 0 0 1 0-1.422l1.183-.395c.447-.15.799-.5.948-.948l.395-1.183A.75.75 0 0 1 16.5 15Z", clipRule: "evenodd" }) }), "Regenerate"] }) }) }), isLoading ? (_jsxs("div", { style: {
387
388
  background: theme.backgroundColor,
388
389
  width: 250,
389
390
  minWidth: 250,
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Generates an array of colors by interpolating between colors in the given array.
3
+ * @param colors - The array of colors to interpolate between.
4
+ * @param length - The desired length of the resulting array.
5
+ */
6
+ export declare function generateArrayFromColor(colors: string | string[], length: number): string[];
1
7
  declare const colorValues: readonly ["red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose"];
2
8
  export type Color = (typeof colorValues)[number];
3
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,WAAW,mKAkBP,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAuBxE;AAyDD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAK5C;AAwJD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YA4B9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YAuB9C"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAwBV;AA6ED,QAAA,MAAM,WAAW,mKAkBP,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAuBxE;AAyDD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAK5C;AAwJD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YA4B9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YAuB9C"}
@@ -1,3 +1,99 @@
1
+ /**
2
+ * Generates an array of colors by interpolating between colors in the given array.
3
+ * @param colors - The array of colors to interpolate between.
4
+ * @param length - The desired length of the resulting array.
5
+ */
6
+ export function generateArrayFromColor(colors, length) {
7
+ if (typeof colors === 'string') {
8
+ return monochromaticInterpolation(colors, length);
9
+ }
10
+ if (colors.length === 1) {
11
+ return monochromaticInterpolation(colors[0], length);
12
+ }
13
+ const pairs = colors.length - 1;
14
+ const needed = length - colors.length;
15
+ const baseAmount = Math.floor(needed / pairs);
16
+ const extras = needed % pairs;
17
+ let result = [];
18
+ let i = 0;
19
+ let j = 1;
20
+ while (j < colors.length) {
21
+ const additional = i < extras ? 1 : 0;
22
+ const interpLength = 2 + baseAmount + additional;
23
+ const interp = interpolateBetween(colors[i], colors[j], interpLength);
24
+ const lastIndex = j === colors.length - 1 ? undefined : -1;
25
+ result = result.concat(interp.slice(0, lastIndex));
26
+ i++;
27
+ j++;
28
+ }
29
+ return result;
30
+ }
31
+ function hexToRgb(hex) {
32
+ const r = parseInt(hex.substring(1, 3), 16);
33
+ const g = parseInt(hex.substring(3, 5), 16);
34
+ const b = parseInt(hex.substring(5, 7), 16);
35
+ return { r, g, b };
36
+ }
37
+ function rgbToHex(rgb) {
38
+ const rHex = rgb.r.toString(16).padStart(2, '0');
39
+ const gHex = rgb.g.toString(16).padStart(2, '0');
40
+ const bHex = rgb.b.toString(16).padStart(2, '0');
41
+ return `#${rHex}${gHex}${bHex}`;
42
+ }
43
+ function colorToHSL(color) {
44
+ const colorHex = namedColorToHex(color);
45
+ const { r, g, b } = hexToRgb(colorHex);
46
+ return rgbToHsl(r, g, b);
47
+ }
48
+ /**
49
+ * Interpolates between two colors using HSL color space.
50
+ * @param leftColor - The left color in hexadecimal format.
51
+ * @param rightColor - The right color in hexadecimal format.
52
+ * @param length - The number of interpolated colors to generate between the
53
+ * left and right colors.
54
+ */
55
+ function interpolateBetween(leftColor, rightColor, length = 3) {
56
+ const [h, s, _l] = colorToHSL(leftColor);
57
+ const [h2, s2, _l2] = colorToHSL(rightColor);
58
+ const hues = linspace(h, h2, length);
59
+ const saturations = linspace(s, s2, length);
60
+ const lightnesses = linspace(_l, _l2, length);
61
+ return Array.from({ length }).map((_, i) => {
62
+ const [r, g, b] = HSLtoRGB(hues[i], saturations[i], lightnesses[i]);
63
+ return rgbToHex({ r: Math.round(r), g: Math.round(g), b: Math.round(b) });
64
+ });
65
+ }
66
+ /**
67
+ * Generates monochromatic interpolation of a given color.
68
+ * @param color - The base color in hexadecimal format.
69
+ * @param length - The number of interpolated colors to generate.
70
+ */
71
+ function monochromaticInterpolation(color, length) {
72
+ const [h, s, _l] = colorToHSL(color);
73
+ const hues = linspace(h, h, length);
74
+ const saturations = linspace(s, s, length);
75
+ const lightnesses = linspace(0.6, 0.9, length);
76
+ return Array.from({ length }).map((_, i) => {
77
+ const [r, g, b] = HSLtoRGB(hues[i], saturations[i], lightnesses[i]);
78
+ return rgbToHex({ r: Math.round(r), g: Math.round(g), b: Math.round(b) });
79
+ });
80
+ }
81
+ /**
82
+ * Generates an array of numbers linearly spaced between start and end.
83
+ * @param start - The starting number of the sequence.
84
+ * @param end - The end number of the sequence.
85
+ * @param num - The number of samples to generate.
86
+ */
87
+ function linspace(start, end, num) {
88
+ if (num <= 1)
89
+ return [start];
90
+ const step = (end - start) / (num - 1);
91
+ const result = new Array(num);
92
+ for (let i = 0; i < num; i++) {
93
+ result[i] = start + step * i;
94
+ }
95
+ return result;
96
+ }
1
97
  const colorValues = [
2
98
  'red',
3
99
  'orange',