@quillsql/admin 1.4.0 → 1.6.0

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 (149) hide show
  1. package/dist/cjs/Admin.d.ts +23 -73
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +221 -970
  4. package/dist/cjs/AdminProvider.d.ts +1 -12
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +24 -18
  7. package/dist/cjs/api/ConnectionClient.d.ts +11 -0
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +84 -10
  10. package/dist/cjs/components/DropDownMenu.js +1 -1
  11. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  12. package/dist/cjs/components/DropDownMenuWithLabel.js +16 -54
  13. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  14. package/dist/cjs/components/OrgSelect.js +10 -20
  15. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  16. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  17. package/dist/cjs/components/QuillSelect.js +137 -0
  18. package/dist/cjs/components/SegmentedControl.d.ts +7 -0
  19. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -0
  20. package/dist/cjs/components/SegmentedControl.js +54 -0
  21. package/dist/cjs/components/UiComponents.d.ts +18 -29
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/components/UiComponents.js +40 -83
  24. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +2 -1
  25. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  26. package/dist/cjs/forms/client_onboard/ConnectSchema.js +143 -68
  27. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  28. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +40 -11
  29. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  30. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  31. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +36 -20
  32. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
  33. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  34. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  35. package/dist/cjs/modals/EditFiltersModal.d.ts +17 -0
  36. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -0
  37. package/dist/cjs/modals/EditFiltersModal.js +345 -0
  38. package/dist/cjs/modals/NewDashboardModal.d.ts +1 -3
  39. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  40. package/dist/cjs/modals/NewDashboardModal.js +63 -46
  41. package/dist/cjs/modals/PromoteDashModal.d.ts.map +1 -1
  42. package/dist/cjs/modals/PromoteDashModal.js +10 -3
  43. package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
  44. package/dist/cjs/modals/ReorderDashboardModal.js +202 -90
  45. package/dist/cjs/modals/index.d.ts +0 -1
  46. package/dist/cjs/modals/index.d.ts.map +1 -1
  47. package/dist/cjs/modals/index.js +1 -3
  48. package/dist/cjs/primitives/ButtonPrimitive.d.ts +3 -1
  49. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  50. package/dist/cjs/primitives/ButtonPrimitive.js +5 -3
  51. package/dist/cjs/primitives/ModalPrimitive.d.ts.map +1 -1
  52. package/dist/cjs/primitives/ModalPrimitive.js +1 -2
  53. package/dist/cjs/primitives/TogglePrimitive.js +5 -5
  54. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  55. package/dist/cjs/public_components/CreateEnvironment.js +1 -1
  56. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  57. package/dist/cjs/public_components/DashboardBuilder.js +127 -30
  58. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  59. package/dist/cjs/public_components/DashboardManager.js +161 -193
  60. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  61. package/dist/cjs/public_components/SQLViewManager.js +92 -24
  62. package/dist/cjs/utils/constants.d.ts +4 -4
  63. package/dist/cjs/utils/constants.js +2 -2
  64. package/dist/cjs/utils/schema.d.ts +6 -0
  65. package/dist/cjs/utils/schema.d.ts.map +1 -1
  66. package/dist/cjs/utils/table.d.ts +1 -0
  67. package/dist/cjs/utils/table.d.ts.map +1 -1
  68. package/dist/cjs/utils/table.js +13 -0
  69. package/dist/cjs/utils/textProcessing.d.ts +2 -0
  70. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  71. package/dist/cjs/utils/textProcessing.js +9 -0
  72. package/dist/esm/Admin.d.ts +23 -73
  73. package/dist/esm/Admin.d.ts.map +1 -1
  74. package/dist/esm/Admin.js +225 -964
  75. package/dist/esm/AdminProvider.d.ts +1 -12
  76. package/dist/esm/AdminProvider.d.ts.map +1 -1
  77. package/dist/esm/AdminProvider.js +25 -19
  78. package/dist/esm/api/ConnectionClient.d.ts +11 -0
  79. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  80. package/dist/esm/api/ConnectionClient.js +82 -9
  81. package/dist/esm/components/DropDownMenu.js +1 -1
  82. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  83. package/dist/esm/components/DropDownMenuWithLabel.js +16 -54
  84. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  85. package/dist/esm/components/OrgSelect.js +6 -19
  86. package/dist/esm/components/QuillSelect.d.ts +3 -0
  87. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  88. package/dist/esm/components/QuillSelect.js +130 -0
  89. package/dist/esm/components/SegmentedControl.d.ts +7 -0
  90. package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
  91. package/dist/esm/components/SegmentedControl.js +50 -0
  92. package/dist/esm/components/UiComponents.d.ts +18 -29
  93. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  94. package/dist/esm/components/UiComponents.js +37 -82
  95. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
  96. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  97. package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
  98. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  99. package/dist/esm/forms/client_onboard/CreateSqlViews.js +41 -12
  100. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  101. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  102. package/dist/esm/forms/sql_views/CreateEditSqlView.js +38 -22
  103. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  104. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  105. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  106. package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
  107. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
  108. package/dist/esm/modals/EditFiltersModal.js +338 -0
  109. package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
  110. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  111. package/dist/esm/modals/NewDashboardModal.js +63 -46
  112. package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
  113. package/dist/esm/modals/PromoteDashModal.js +10 -3
  114. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  115. package/dist/esm/modals/ReorderDashboardModal.js +201 -89
  116. package/dist/esm/modals/index.d.ts +0 -1
  117. package/dist/esm/modals/index.d.ts.map +1 -1
  118. package/dist/esm/modals/index.js +0 -1
  119. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  120. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  121. package/dist/esm/primitives/ButtonPrimitive.js +5 -3
  122. package/dist/esm/primitives/ModalPrimitive.d.ts.map +1 -1
  123. package/dist/esm/primitives/ModalPrimitive.js +1 -2
  124. package/dist/esm/primitives/TogglePrimitive.js +5 -5
  125. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  126. package/dist/esm/public_components/CreateEnvironment.js +1 -1
  127. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  128. package/dist/esm/public_components/DashboardBuilder.js +128 -31
  129. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  130. package/dist/esm/public_components/DashboardManager.js +163 -195
  131. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  132. package/dist/esm/public_components/SQLViewManager.js +92 -24
  133. package/dist/esm/utils/constants.d.ts +4 -4
  134. package/dist/esm/utils/constants.js +2 -2
  135. package/dist/esm/utils/schema.d.ts +6 -0
  136. package/dist/esm/utils/schema.d.ts.map +1 -1
  137. package/dist/esm/utils/table.d.ts +1 -0
  138. package/dist/esm/utils/table.d.ts.map +1 -1
  139. package/dist/esm/utils/table.js +11 -1
  140. package/dist/esm/utils/textProcessing.d.ts +2 -0
  141. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  142. package/dist/esm/utils/textProcessing.js +5 -0
  143. package/package.json +1 -1
  144. package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
  145. package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
  146. package/dist/cjs/modals/EditDashboardsModal.js +0 -94
  147. package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
  148. package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
  149. package/dist/esm/modals/EditDashboardsModal.js +0 -91
@@ -21,8 +21,6 @@ interface State {
21
21
  theme: QuillTheme;
22
22
  dashboards: any[];
23
23
  selectedDashboard: any;
24
- selectedEditDashboard: any;
25
- editDashboardData: any;
26
24
  organizationIdSet: boolean;
27
25
  dateFilter: any;
28
26
  navigateToDashboardManager?: () => void;
@@ -90,15 +88,6 @@ type Action = {
90
88
  } | {
91
89
  type: 'SET_SELECTED_DASHBOARD';
92
90
  payload: any;
93
- } | {
94
- type: 'SET_SELECTED_EDIT_DASHBOARD';
95
- payload: any;
96
- } | {
97
- type: 'SET_EDIT_DASHBOARD_DATA';
98
- payload: any;
99
- } | {
100
- type: 'SET_DATE_FILTER';
101
- payload: any;
102
91
  } | {
103
92
  type: 'SET_NAVIGATE_TO_DASHBOARD_MANAGER';
104
93
  payload: () => void;
@@ -118,7 +107,7 @@ declare const useAdmin: () => {
118
107
  };
119
108
  interface ContextProviderProps {
120
109
  children: ReactNode;
121
- publicKey: string;
110
+ publicKey?: string;
122
111
  queryEndpoint?: string;
123
112
  queryHeaders?: object;
124
113
  withCredentials?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AdminProvider.d.ts","sourceRoot":"","sources":["../../src/AdminProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdminProvider.d.ts","sourceRoot":"","sources":["../../src/AdminProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useReducer, createContext, useEffect, useContext, } from 'react';
2
+ import { useReducer, createContext, useEffect, useContext, useState, } from 'react';
3
3
  import { theme } from './Admin';
4
4
  import { QuillProvider } from '@quillsql/react';
5
5
  import { QUILL_SERVER } from './utils/constants';
@@ -7,8 +7,6 @@ import CreateEnvironment from './public_components/CreateEnvironment';
7
7
  const AdminContext = createContext(undefined);
8
8
  function reducer(state, action) {
9
9
  switch (action.type) {
10
- case 'SET_LOADING':
11
- return { ...state, loading: action.payload };
12
10
  case 'SET_QUERY_ENDPOINT':
13
11
  return { ...state, queryEndpoint: action.payload };
14
12
  case 'SET_QUERY_HEADERS':
@@ -45,12 +43,6 @@ function reducer(state, action) {
45
43
  return { ...state, dashboards: action.payload };
46
44
  case 'SET_SELECTED_DASHBOARD':
47
45
  return { ...state, selectedDashboard: action.payload };
48
- case 'SET_SELECTED_EDIT_DASHBOARD':
49
- return { ...state, selectedEditDashboard: action.payload };
50
- case 'SET_EDIT_DASHBOARD_DATA':
51
- return { ...state, editDashboardData: action.payload };
52
- case 'SET_DATE_FILTER':
53
- return { ...state, dateFilter: action.payload };
54
46
  case 'SET_NAVIGATE_TO_DASHBOARD_MANAGER':
55
47
  return { ...state, navigateToDashboardManager: action.payload };
56
48
  case 'SET_NAVIGATE_TO_DASHBOARD_BUILDER':
@@ -69,6 +61,7 @@ const useAdmin = () => {
69
61
  return context;
70
62
  };
71
63
  function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withCredentials, customTheme, domainName, }) {
64
+ const [loading, setLoading] = useState(true);
72
65
  const loadState = () => {
73
66
  try {
74
67
  const serializedState = sessionStorage.getItem('adminState');
@@ -93,7 +86,7 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
93
86
  };
94
87
  const initialState = {
95
88
  loading: true,
96
- publicKey,
89
+ publicKey: publicKey || '',
97
90
  queryEndpoint,
98
91
  queryHeaders,
99
92
  withCredentials,
@@ -110,8 +103,6 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
110
103
  activeComponent: 'Dashboards',
111
104
  dashboards: [],
112
105
  selectedDashboard: null,
113
- selectedEditDashboard: null,
114
- editDashboardData: null,
115
106
  reportId: null,
116
107
  theme: customTheme || theme,
117
108
  organizationIdSet: false,
@@ -222,7 +213,6 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
222
213
  };
223
214
  try {
224
215
  let response;
225
- dispatch({ type: 'SET_LOADING', payload: true });
226
216
  if (state.queryEndpoint) {
227
217
  response = await fetch(state.queryEndpoint, {
228
218
  method: 'POST',
@@ -243,12 +233,12 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
243
233
  else {
244
234
  response = await fetch(`${QUILL_SERVER}/orgs/${state.client._id}/`, requestOptions);
245
235
  if (!response.ok) {
236
+ setLoading(false);
246
237
  throw new Error(`HTTP error! status: ${response.status}`);
247
238
  }
248
239
  }
249
240
  const data = await response.json();
250
241
  if (data.status === 'error') {
251
- dispatch({ type: 'SET_LOADING', payload: false });
252
242
  throw new Error(data.error);
253
243
  }
254
244
  if (data.queries.dbMismatched) {
@@ -256,10 +246,10 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
256
246
  type: 'SET_DATABASE_TYPE_MISMATCH',
257
247
  payload: {
258
248
  show: true,
259
- backendDatabaseType: data.queries.backendDatbaseType, // TYPO NEED TO FIX IN NODE and Python SDK
249
+ backendDatabaseType: data.queries.backendDatabaseType
260
250
  },
261
251
  });
262
- dispatch({ type: 'SET_LOADING', payload: false });
252
+ setLoading(false);
263
253
  return;
264
254
  }
265
255
  if (state.queryEndpoint) {
@@ -282,20 +272,36 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
282
272
  type: 'SET_ORGANIZATION_ID',
283
273
  payload: state.organizationId || state.client.adminCustomerId,
284
274
  });
285
- dispatch({ type: 'SET_LOADING', payload: false });
275
+ setLoading(false);
286
276
  }
287
277
  catch (error) {
288
278
  console.error('Error fetching data:', error);
289
- dispatch({ type: 'SET_LOADING', payload: false });
290
279
  }
291
280
  }
292
281
  if (isSubscribed && state.client) {
293
282
  getCustomers();
294
283
  }
284
+ if (!publicKey) {
285
+ setLoading(false);
286
+ }
295
287
  return () => {
296
288
  isSubscribed = false;
297
289
  };
298
290
  }, [state.environment, state.client, state.organizationId, publicKey]);
299
- return (_jsxs(AdminContext.Provider, { value: { state, dispatch }, children: [!state.client && !state.loading && _jsx(CreateEnvironment, {}), state.client && (_jsx(QuillProvider, { organizationId: state.organizationId, queryEndpoint: state.queryEndpoint ?? '', withCredentials: state.withCredentials, queryHeaders: state.queryHeaders ?? {}, publicKey: state.client._id, environment: state.environment, theme: state.theme, children: children }))] }));
291
+ return (_jsxs(AdminContext.Provider, { value: { state, dispatch }, children: [!state.client && !loading && _jsx(CreateEnvironment, {}), state.client && (_jsx(QuillProvider, { organizationId: state.organizationId, queryEndpoint: state.queryEndpoint ?? '', withCredentials: state.withCredentials, queryHeaders: state.queryHeaders ?? {}, publicKey: state.client._id, environment: state.environment, theme: state.theme, children: children })), _jsx("style", { children: `/* For WebKit-based browsers (Chrome, Safari, Opera) */
292
+ ::-webkit-scrollbar {
293
+ width: 0;
294
+ height: 0;
295
+ }
296
+
297
+ /* For Internet Explorer and Edge */
298
+ * {
299
+ -ms-overflow-style: none;
300
+ }
301
+
302
+ /* For Firefox */
303
+ * {
304
+ scrollbar-width: none;
305
+ }` })] }));
300
306
  }
301
307
  export { AdminProvider, useAdmin };
@@ -23,4 +23,15 @@ export declare function createSQLView(connectionType: ConnectionType, allSchemaI
23
23
  rows: object[];
24
24
  fields: Column[];
25
25
  } | undefined, currentTableNames: string[], override: boolean | undefined, clientId: string): Promise<any>;
26
+ export declare function processCustomerOrgViewQuery(query: string, schema: string, clientId: string): Promise<{
27
+ success: boolean;
28
+ message: string;
29
+ table?: undefined;
30
+ fkInfo?: undefined;
31
+ } | {
32
+ success: boolean;
33
+ table: string;
34
+ fkInfo: string[];
35
+ message?: undefined;
36
+ }>;
26
37
  //# sourceMappingURL=ConnectionClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionClient.d.ts","sourceRoot":"","sources":["../../../src/api/ConnectionClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConnectionClient.d.ts","sourceRoot":"","sources":["../../../src/api/ConnectionClient.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { QUILL_SERVER } from '../utils/constants';
2
+ import { wrapInQuotes } from '../utils/textProcessing';
2
3
  export async function testConnectionString(connectionString, databaseType, clientId) {
3
4
  const localURL = `${QUILL_SERVER}/sdk/test-connection`;
4
5
  const response = await fetch(localURL, {
@@ -208,6 +209,19 @@ export async function getSqlViewData(clientId, query, databaseType, queryEndpoin
208
209
  if (results.status === 'error') {
209
210
  return { ...results, success: false };
210
211
  }
212
+ // SPECIAL CHECK FOR BIG QUERY DATE FIELDS
213
+ if (databaseType.toLowerCase() === 'bigquery') {
214
+ const dateFields = results.data.queryResults[0].fields.filter((field) => {
215
+ return (field.fieldType.toLowerCase() === 'date' ||
216
+ field.fieldType.toLowerCase() === 'datetime');
217
+ });
218
+ if (dateFields.length > 0) {
219
+ return {
220
+ error: `Error Invalid Column ${dateFields[0].name}. BigQuery DATE and DATETIME types not supported. Use TIMESTAMP(${dateFields[0].name}) to convert DATE and DATETIME fields to TIMESTAMP.`,
221
+ success: false,
222
+ };
223
+ }
224
+ }
211
225
  return queryEndpoint
212
226
  ? {
213
227
  ...results.data.queryResults[0],
@@ -275,22 +289,34 @@ export async function createSQLView(connectionType, allSchemaInfo, columnsByTabl
275
289
  message: `No foreign key (${allSchemaInfo.selectedFields.foreignKey}) detected in the view. If this is a utility table override this error but if it isn’t you should rework your query.`,
276
290
  };
277
291
  }
278
- // if queryAst.ast[0] has a columns of * with a table of customers, the we can assume the customer id is in the query
292
+ // append the next smallest number to the SQL View so the new view can be created
279
293
  if (currentTableNames.includes(queryName)) {
280
- return { success: false, message: 'Query name already exists' };
294
+ let nextSmallestNumber = 1;
295
+ while (currentTableNames.includes(`${queryName}${nextSmallestNumber}`)) {
296
+ nextSmallestNumber++;
297
+ }
298
+ queryName = queryName + nextSmallestNumber;
281
299
  }
282
- const columns = columnsByTable.find((table) => table.tableName === `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`).columns;
300
+ const columns = columnsByTable.find((table) => table.tableName ===
301
+ `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`).columns;
283
302
  const customerFieldType = columns.find((column) => column.columnName === allSchemaInfo.selectedFields.organizationIdField).fieldType;
284
- const fuzzyType = customerFieldType === 'string' || customerFieldType === 'uuid'
303
+ const fuzzyType = customerFieldType === 'string' ||
304
+ customerFieldType === 'uuid' ||
305
+ customerFieldType === 'text' ||
306
+ customerFieldType === 'varchar' ||
307
+ customerFieldType === 'object'
285
308
  ? 'text'
286
309
  : 'number';
287
310
  localURL = `${QUILL_SERVER}/sdk/create-environment`;
311
+ const wrapQuotes = connectionType.type.toLocaleLowerCase() === 'postgresql' ||
312
+ connectionType.type.toLocaleLowerCase() === 'snowflake';
288
313
  const payload = {
289
- customerFieldName: allSchemaInfo.selectedFields.foreignKey,
290
- customerTableName: `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`,
291
- customerTableFieldName: allSchemaInfo.selectedFields.organizationIdField,
314
+ customerFieldName: wrapInQuotes(allSchemaInfo.selectedFields.foreignKey, wrapQuotes),
315
+ customerTableName: `${wrapInQuotes(allSchemaInfo.selectedFields.schema, wrapQuotes)}.${wrapInQuotes(allSchemaInfo.selectedFields.table, wrapQuotes)}`,
316
+ customerTableFieldName: wrapInQuotes(allSchemaInfo.selectedFields.organizationIdField, wrapQuotes),
292
317
  adminCustomerId: allSchemaInfo.selectedFields.defaultOrg?.id,
293
- customerTableTitleFieldName: allSchemaInfo.selectedFields.customerNameField,
318
+ customerTableTitleFieldName: wrapInQuotes(allSchemaInfo.selectedFields.customerNameField, wrapQuotes),
319
+ customerView: allSchemaInfo.selectedFields.customerView,
294
320
  columns: tableData?.fields,
295
321
  task: 'create-environment',
296
322
  viewQuery: viewInfo.query,
@@ -299,7 +325,7 @@ export async function createSQLView(connectionType, allSchemaInfo, columnsByTabl
299
325
  client,
300
326
  domainName,
301
327
  schemaName: allSchemaInfo.selectedFields.schema,
302
- schemaNames: [allSchemaInfo.selectedFields.schema],
328
+ schemaNames: [wrapInQuotes(allSchemaInfo.selectedFields.schema)],
303
329
  clientId,
304
330
  };
305
331
  const response = await fetch(localURL, {
@@ -312,3 +338,50 @@ export async function createSQLView(connectionType, allSchemaInfo, columnsByTabl
312
338
  const results = await response.json();
313
339
  return { ...results, success: true };
314
340
  }
341
+ export async function processCustomerOrgViewQuery(query, schema, clientId) {
342
+ let localURL = `${QUILL_SERVER}/astify`;
343
+ const astResponse = await fetch(localURL, {
344
+ method: 'POST',
345
+ headers: {
346
+ 'Content-Type': 'application/json',
347
+ },
348
+ body: JSON.stringify({ query }),
349
+ });
350
+ const ast = await astResponse.json();
351
+ let fkInfo = [];
352
+ // make sure ast.ast.columns only has to values
353
+ let hasId = false;
354
+ let hasName = false;
355
+ if (ast.ast.columns && ast.ast.columns.length === 2) {
356
+ ast.ast.columns.forEach((column) => {
357
+ const columnName = column.as || column.expr.column;
358
+ if (columnName === 'id') {
359
+ hasId = true;
360
+ }
361
+ else if (columnName === 'name') {
362
+ hasName = true;
363
+ }
364
+ if (columnName === 'id' && column.as) {
365
+ fkInfo = [column.expr.column];
366
+ }
367
+ });
368
+ }
369
+ if (!hasId || !hasName) {
370
+ return {
371
+ success: false,
372
+ message: 'Query must have an "id" and "name" column.',
373
+ };
374
+ }
375
+ let table = '';
376
+ try {
377
+ table = ast.ast.from[0].table;
378
+ }
379
+ catch {
380
+ return {
381
+ success: false,
382
+ message: 'Query must have a table',
383
+ };
384
+ }
385
+ fkInfo = await getFKInfo(clientId, schema, table, 'id');
386
+ return { success: true, table, fkInfo };
387
+ }
@@ -18,7 +18,7 @@ export default function DropdownMenu({ items, setSelected, selected, theme, disa
18
18
  WebkitAppearance: 'none',
19
19
  paddingLeft: 12,
20
20
  paddingRight: 12,
21
- height: 38,
21
+ height: 40,
22
22
  borderWidth: theme?.borderWidth,
23
23
  borderColor: theme?.borderColor,
24
24
  background: theme?.backgroundColor,
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownMenuWithLabel.d.ts","sourceRoot":"","sources":["../../../src/components/DropDownMenuWithLabel.tsx"],"names":[],"mappings":"AAIA,UAAU,0BAA0B;IAClC,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,kBAA8B,EAC9B,SAAS,GACV,EAAE,0BAA0B,2CAqH5B"}
1
+ {"version":3,"file":"DropDownMenuWithLabel.d.ts","sourceRoot":"","sources":["../../../src/components/DropDownMenuWithLabel.tsx"],"names":[],"mappings":"AAIA,UAAU,0BAA0B;IAClC,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,kBAA8B,EAC9B,SAAS,GACV,EAAE,0BAA0B,2CA8E5B"}
@@ -4,13 +4,26 @@ import { ListboxTextInput, Popover } from './OrgSelect';
4
4
  export default function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled = false, secondaryTextColor = '#6e6e6e', parentRef, }) {
5
5
  const [isOpen, setIsOpen] = React.useState(false);
6
6
  const [searchQuery, setSearchQuery] = React.useState('');
7
- const [filteredItems, setFilteredItems] = React.useState(items);
7
+ const [filteredItems, setFilteredItems] = React.useState(items.slice(0, 20));
8
8
  useEffect(() => {
9
- setFilteredItems(items);
9
+ setFilteredItems(items.slice(0, 10));
10
10
  }, [items]);
11
11
  const handleSearchChange = (value) => {
12
12
  setSearchQuery(value);
13
- setFilteredItems(items.filter((item) => item.toLowerCase().includes(value.toLowerCase())));
13
+ const curFilteredItems = searchQuery === ''
14
+ ? items.slice(0, 10)
15
+ : items
16
+ .filter((value) => {
17
+ if (!value) {
18
+ return false;
19
+ }
20
+ return value
21
+ .toLowerCase()
22
+ .replace(/\s+/g, '')
23
+ .includes(searchQuery.toLowerCase().replace(/\s+/g, ''));
24
+ })
25
+ .slice(0, 10);
26
+ setFilteredItems(curFilteredItems);
14
27
  };
15
28
  return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("h1", { style: {
16
29
  fontSize: '14px',
@@ -24,57 +37,6 @@ export default function DropdownMenuWithLabel({ items, setSelected, selected, th
24
37
  fontSize: 14,
25
38
  // padding: 11,
26
39
  }, setIsOpen: setIsOpen, children: [_jsx(ListboxTextInput, { id: "quill-search-bar", placeholder: 'Search', value: searchQuery, onChange: handleSearchChange }), _jsx("div", { style: { height: 9, width: 230, borderTop: '1px solid #e7e7e7' } }), _jsx("div", { style: { gap: 2, maxHeight: '50vh' }, children: filteredItems.map((item, index) => (_jsx(ListboxRow, { setSelected: setSelected, setIsOpen: setIsOpen, item: item }, index))) }), _jsx("div", { style: { height: 8, width: 230 } })] })] }));
27
- {
28
- /* return (
29
- <div style={{ position: 'relative', minWidth: 230 }}>
30
- <h1
31
- style={{
32
- fontSize: '14px',
33
- paddingTop: '0px',
34
- marginTop: '0px',
35
- marginBottom: '4px',
36
- fontWeight: '600',
37
- color: secondaryTextColor,
38
- userSelect: 'none',
39
- }}
40
- >
41
- {label}
42
- </h1>
43
- <MemoizedPopover
44
- parentRef={parentRef}
45
- label={selected}
46
- isOpen={isOpen}
47
- onClose={() => setIsOpen(false)}
48
- // style={{
49
- // boxSizing: 'border-box',
50
- // fontSize: 14,
51
- // }}
52
- setIsOpen={setIsOpen}
53
- onClick={() => console.log()}
54
- >
55
- <MemoizedTextInput
56
- id="quill-search-bar"
57
- placeholder="Search"
58
- value={searchQuery}
59
- onChange={handleSearchChange}
60
- />
61
- <div
62
- style={{ height: 9, width: 230, borderTop: '1px solid #e7e7e7' }}
63
- />
64
- <div style={{ gap: 2, maxHeight: '50vh' }}>
65
- {filteredItems.map((item, index) => (
66
- <DropdownRow setSelected={setSelected} item={item} key={index} />
67
- ))}
68
- {filteredItems.length === 0 && (
69
- <DropdownRow item={{ name: `No ${label} found` }} />
70
- )}
71
- </div>
72
- </Popover>
73
-
74
- </div>
75
- </div>
76
- ); */
77
- }
78
40
  }
79
41
  function ListboxRow({ item, setSelected, setIsOpen, }) {
80
42
  return (_jsxs("div", { onClick: setSelected
@@ -1 +1 @@
1
- {"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,UAAU,cAAc;IACtB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAsBD,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAU,EACV,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAqGvB;AAED,eAAO,MAAM,gBAAgB;WAMpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;QACf,MAAM;6CA0DX,CAAC;AAwCF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,WAAW,EACX,cAAc,EACd,aAAa,EACb,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,EAAE,cAAc,2CAoGhB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACnC,2CA0CA"}
1
+ {"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAMf,UAAU,cAAc;IACtB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAU,EACV,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAqGvB;AAED,eAAO,MAAM,gBAAgB;WAMpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;QACf,MAAM;6CA0DX,CAAC;AAwCF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,WAAW,EACX,cAAc,EACd,aAAa,EACb,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,EAAE,cAAc,2CAsGhB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACnC,2CA0CA"}
@@ -2,22 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef, useState, } from 'react';
3
3
  import { ArrowDownHeadIcon } from '../icons';
4
4
  import { useAdmin } from '../AdminProvider';
5
- const useOnClickOutside = (ref, handler) => {
6
- useEffect(() => {
7
- const listener = (event) => {
8
- if (!ref.current || ref.current.contains(event.target)) {
9
- return;
10
- }
11
- handler(event);
12
- };
13
- document.addEventListener('mousedown', listener);
14
- document.addEventListener('touchstart', listener);
15
- return () => {
16
- document.removeEventListener('mousedown', listener);
17
- document.removeEventListener('touchstart', listener);
18
- };
19
- }, [ref, handler]);
20
- };
5
+ import useOnClickOutside from '../hooks/useOnClickOutside';
21
6
  export function Popover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
22
7
  const modalRef = useRef(null);
23
8
  useOnClickOutside(modalRef, (e) => {
@@ -173,8 +158,9 @@ export default function OrgSelect({ environment, setEnvironment, organizations,
173
158
  };
174
159
  const selectedOrganization = dropDownItems.find((item) => item.id === organizationId);
175
160
  const filteredOrganizations = searchQuery === ''
176
- ? dropDownItems
177
- : dropDownItems.filter((org) => {
161
+ ? dropDownItems.slice(0, 20)
162
+ : dropDownItems
163
+ .filter((org) => {
178
164
  if (!org.name) {
179
165
  return false;
180
166
  }
@@ -182,7 +168,8 @@ export default function OrgSelect({ environment, setEnvironment, organizations,
182
168
  .toLowerCase()
183
169
  .replace(/\s+/g, '')
184
170
  .includes(searchQuery.toLowerCase().replace(/\s+/g, ''));
185
- });
171
+ })
172
+ .slice(0, 20);
186
173
  return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("h1", { style: {
187
174
  fontSize: '14px',
188
175
  paddingTop: '0px',
@@ -0,0 +1,3 @@
1
+ import { SelectComponentProps } from './UiComponents';
2
+ export declare function QuillSelectComponent({ options, value, onChange, theme, label, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=QuillSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAoB,EACpB,KAAK,GACN,EAAE,oBAAoB,2CAuMtB"}
@@ -0,0 +1,130 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import useOnClickOutside from '../hooks/useOnClickOutside';
3
+ import { useRef, useState } from 'react';
4
+ import { theme as defaultTheme } from '../Admin';
5
+ export function QuillSelectComponent({ options, value, onChange, theme = defaultTheme, label, }) {
6
+ const [showModal, setShowModal] = useState(false);
7
+ const modalRef = useRef(null);
8
+ useOnClickOutside(modalRef, (e) => {
9
+ setShowModal(false);
10
+ });
11
+ return (_jsxs("div", { style: {
12
+ position: 'relative',
13
+ width: 200,
14
+ minWidth: 200,
15
+ borderRadius: '6px',
16
+ }, children: [label && (_jsx("div", { style: {
17
+ fontSize: 14,
18
+ color: theme.primaryTextColor,
19
+ fontFamily: theme.fontFamily,
20
+ paddingBottom: 5,
21
+ fontWeight: 600,
22
+ }, children: label })), _jsxs("button", { style: {
23
+ fontFamily: theme.fontFamily,
24
+ color: theme.primaryTextColor,
25
+ width: '100%',
26
+ display: 'flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'space-between',
29
+ fontWeight: 'inherit',
30
+ lineHeight: 'inherit',
31
+ padding: '8px 12px',
32
+ fontSize: 14,
33
+ margin: 0,
34
+ boxSizing: 'border-box',
35
+ borderWidth: 1,
36
+ borderStyle: 'solid',
37
+ borderColor: theme.borderColor,
38
+ borderRadius: 6,
39
+ paddingTop: 9,
40
+ paddingBottom: 9,
41
+ height: 40,
42
+ minHeight: 40,
43
+ maxHeight: 40,
44
+ }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), children: [_jsx("style", { children: ` .quill-select-button { background: ${theme.backgroundColor}; } .quill-select-button:hover { background: ${theme.hoverBackgroundColor}; }` }), _jsx("span", { style: {
45
+ textOverflow: 'ellipsis',
46
+ whiteSpace: 'nowrap',
47
+ overflow: 'hidden',
48
+ }, children: options.find((elem) => elem.value === value)?.label || 'Select' }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon", height: 20, width: 20, style: { minHeight: 20, minWidth: 20 }, children: _jsx("path", { fillRule: "evenodd", d: "M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z", clipRule: "evenodd" }) })] }), showModal && (_jsxs("div", { ref: modalRef, style: {
49
+ position: 'absolute',
50
+ width: '100%',
51
+ display: 'flex',
52
+ flexDirection: 'column',
53
+ boxSizing: 'border-box',
54
+ borderWidth: 1,
55
+ borderStyle: 'solid',
56
+ borderColor: theme.borderColor,
57
+ borderRadius: 6,
58
+ background: 'white',
59
+ marginTop: 12,
60
+ zIndex: 100,
61
+ paddingTop: 6,
62
+ paddingBottom: 6,
63
+ paddingLeft: 6,
64
+ paddingRight: 6,
65
+ boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
66
+ fontFamily: theme.fontFamily,
67
+ maxHeight: '50vh',
68
+ overflow: 'scroll',
69
+ }, children: [_jsxs("button", { style: {
70
+ display: 'flex',
71
+ alignItems: 'center',
72
+ justifyContent: 'space-between',
73
+ padding: '8px 8px',
74
+ margin: 0,
75
+ boxSizing: 'border-box',
76
+ borderWidth: 0,
77
+ fontSize: 14,
78
+ borderStyle: 'solid',
79
+ borderColor: theme.borderColor,
80
+ borderRadius: 4,
81
+ fontFamily: theme.fontFamily,
82
+ textOverflow: 'ellipsis',
83
+ whiteSpace: 'nowrap',
84
+ overflow: 'hidden',
85
+ height: 34,
86
+ minHeight: 34,
87
+ }, className: "quill-option", onClick: () => {
88
+ onChange('');
89
+ setShowModal(false);
90
+ }, children: [_jsx("style", { children: `
91
+ .quill-option {
92
+ background: white;
93
+ }
94
+ .quill-option:hover {
95
+ background: #F4F4F5;
96
+ }
97
+ ` }), 'Select'] }), options.map((option) => (_jsxs("button", { style: {
98
+ display: 'flex',
99
+ alignItems: 'center',
100
+ justifyContent: 'space-between',
101
+ padding: '8px 8px',
102
+ margin: 0,
103
+ boxSizing: 'border-box',
104
+ borderWidth: 0,
105
+ fontSize: 14,
106
+ borderStyle: 'solid',
107
+ borderColor: theme.borderColor,
108
+ borderRadius: 4,
109
+ fontFamily: theme.fontFamily,
110
+ textOverflow: 'ellipsis',
111
+ whiteSpace: 'nowrap',
112
+ height: 34,
113
+ minHeight: 34,
114
+ overflow: 'hidden',
115
+ }, className: "quill-option", onClick: () => {
116
+ onChange(option.value);
117
+ setShowModal(false);
118
+ }, children: [_jsx("style", { children: `
119
+ .quill-option {
120
+ background: white;
121
+ }
122
+ .quill-option:hover {
123
+ background: #F4F4F5;
124
+ }
125
+ ` }), _jsx("span", { style: {
126
+ textOverflow: 'ellipsis',
127
+ whiteSpace: 'nowrap',
128
+ overflow: 'hidden',
129
+ }, children: option.label })] }, option.value)))] }))] }));
130
+ }
@@ -0,0 +1,7 @@
1
+ import { QuillTheme } from '@quillsql/react';
2
+ export declare function SegmentedControl({ onChange, value, theme, }: {
3
+ onChange: (e: any) => void;
4
+ value: string;
5
+ theme: QuillTheme;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SegmentedControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/SegmentedControl.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;CACnB,2CA0EA"}