@quillsql/admin 1.5.2 → 1.6.1

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 (219) hide show
  1. package/dist/cjs/Admin.d.ts +19 -72
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +215 -996
  4. package/dist/cjs/AdminProvider.d.ts +2 -12
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +27 -32
  7. package/dist/cjs/api/ConnectionClient.d.ts +19 -0
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +108 -13
  10. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  11. package/dist/cjs/components/DashboardSelectPopover.js +20 -3
  12. package/dist/cjs/components/DropDownMenu.js +1 -1
  13. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  14. package/dist/cjs/components/DropDownMenuWithLabel.js +18 -87
  15. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  16. package/dist/cjs/components/EmptyDashboardComponent/index.js +11 -9
  17. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  18. package/dist/cjs/components/OrgSelect.js +10 -20
  19. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  20. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  21. package/dist/cjs/components/QuillSelect.js +137 -0
  22. package/dist/cjs/components/SegmentedControl.d.ts +9 -0
  23. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -0
  24. package/dist/cjs/components/SegmentedControl.js +60 -0
  25. package/dist/cjs/components/SqlTextEditor.d.ts +9 -1
  26. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  27. package/dist/cjs/components/SqlTextEditor.js +60 -12
  28. package/dist/cjs/components/UiComponents.d.ts +18 -30
  29. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  30. package/dist/cjs/components/UiComponents.js +48 -84
  31. package/dist/cjs/constants/dataTypes.d.ts +2 -0
  32. package/dist/cjs/constants/dataTypes.d.ts.map +1 -0
  33. package/dist/cjs/constants/dataTypes.js +21 -0
  34. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  35. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +9 -17
  36. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +2 -1
  37. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  38. package/dist/cjs/forms/client_onboard/ConnectSchema.js +143 -68
  39. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  40. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +57 -15
  41. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +11 -5
  42. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  43. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +107 -53
  44. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
  45. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  46. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  47. package/dist/cjs/modals/EditFiltersModal.d.ts +17 -0
  48. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -0
  49. package/dist/cjs/modals/EditFiltersModal.js +355 -0
  50. package/dist/cjs/modals/NewDashboardModal.d.ts +1 -3
  51. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  52. package/dist/cjs/modals/NewDashboardModal.js +64 -47
  53. package/dist/cjs/modals/PromoteDashModal.d.ts.map +1 -1
  54. package/dist/cjs/modals/PromoteDashModal.js +11 -4
  55. package/dist/cjs/modals/PromoteViewModal.d.ts +2 -1
  56. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  57. package/dist/cjs/modals/PromoteViewModal.js +46 -36
  58. package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
  59. package/dist/cjs/modals/ReorderDashboardModal.js +42 -45
  60. package/dist/cjs/modals/index.d.ts +0 -1
  61. package/dist/cjs/modals/index.d.ts.map +1 -1
  62. package/dist/cjs/modals/index.js +1 -3
  63. package/dist/cjs/primitives/ButtonPrimitive.d.ts +3 -1
  64. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  65. package/dist/cjs/primitives/ButtonPrimitive.js +5 -3
  66. package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -0
  67. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  68. package/dist/cjs/primitives/TextInputPrimitive.js +35 -20
  69. package/dist/cjs/primitives/TogglePrimitive.js +5 -5
  70. package/dist/cjs/public_components/CreateEnvironment.d.ts +2 -1
  71. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  72. package/dist/cjs/public_components/CreateEnvironment.js +5 -2
  73. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  74. package/dist/cjs/public_components/DashboardBuilder.js +71 -125
  75. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  76. package/dist/cjs/public_components/DashboardManager.js +109 -146
  77. package/dist/cjs/public_components/SQLViewManager.d.ts +1 -0
  78. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  79. package/dist/cjs/public_components/SQLViewManager.js +271 -46
  80. package/dist/cjs/utils/astProcessing.d.ts +2 -0
  81. package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
  82. package/dist/cjs/utils/astProcessing.js +41 -0
  83. package/dist/cjs/utils/astProcessing.uspec.d.ts +2 -0
  84. package/dist/cjs/utils/astProcessing.uspec.d.ts.map +1 -0
  85. package/dist/cjs/utils/astProcessing.uspec.js +26 -0
  86. package/dist/cjs/utils/columnProcessing.d.ts +3 -0
  87. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
  88. package/dist/cjs/utils/columnProcessing.js +42 -0
  89. package/dist/cjs/utils/dataEditor.d.ts +2 -2
  90. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  91. package/dist/cjs/utils/dataEditor.js +4 -2
  92. package/dist/cjs/utils/databases.d.ts +0 -1
  93. package/dist/cjs/utils/databases.d.ts.map +1 -1
  94. package/dist/cjs/utils/databases.js +5 -6
  95. package/dist/cjs/utils/monacoAutocomplete.d.ts +21 -0
  96. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +1 -0
  97. package/dist/cjs/utils/monacoAutocomplete.js +250 -0
  98. package/dist/cjs/utils/schema.d.ts +11 -0
  99. package/dist/cjs/utils/schema.d.ts.map +1 -1
  100. package/dist/cjs/utils/schema.js +129 -0
  101. package/dist/cjs/utils/table.d.ts +1 -0
  102. package/dist/cjs/utils/table.d.ts.map +1 -1
  103. package/dist/cjs/utils/table.js +13 -0
  104. package/dist/cjs/utils/textProcessing.d.ts +2 -0
  105. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  106. package/dist/cjs/utils/textProcessing.js +9 -0
  107. package/dist/esm/Admin.d.ts +19 -72
  108. package/dist/esm/Admin.d.ts.map +1 -1
  109. package/dist/esm/Admin.js +218 -989
  110. package/dist/esm/AdminProvider.d.ts +2 -12
  111. package/dist/esm/AdminProvider.d.ts.map +1 -1
  112. package/dist/esm/AdminProvider.js +27 -32
  113. package/dist/esm/api/ConnectionClient.d.ts +19 -0
  114. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  115. package/dist/esm/api/ConnectionClient.js +106 -12
  116. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  117. package/dist/esm/components/DashboardSelectPopover.js +20 -3
  118. package/dist/esm/components/DropDownMenu.js +1 -1
  119. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  120. package/dist/esm/components/DropDownMenuWithLabel.js +18 -87
  121. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  122. package/dist/esm/components/EmptyDashboardComponent/index.js +11 -9
  123. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  124. package/dist/esm/components/OrgSelect.js +6 -19
  125. package/dist/esm/components/QuillSelect.d.ts +3 -0
  126. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  127. package/dist/esm/components/QuillSelect.js +130 -0
  128. package/dist/esm/components/SegmentedControl.d.ts +9 -0
  129. package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
  130. package/dist/esm/components/SegmentedControl.js +56 -0
  131. package/dist/esm/components/SqlTextEditor.d.ts +9 -1
  132. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  133. package/dist/esm/components/SqlTextEditor.js +59 -11
  134. package/dist/esm/components/UiComponents.d.ts +18 -30
  135. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  136. package/dist/esm/components/UiComponents.js +45 -83
  137. package/dist/esm/constants/dataTypes.d.ts +2 -0
  138. package/dist/esm/constants/dataTypes.d.ts.map +1 -0
  139. package/dist/esm/constants/dataTypes.js +18 -0
  140. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  141. package/dist/esm/forms/client_onboard/ConnectDatabase.js +9 -17
  142. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
  143. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  144. package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
  145. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  146. package/dist/esm/forms/client_onboard/CreateSqlViews.js +58 -16
  147. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +11 -5
  148. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  149. package/dist/esm/forms/sql_views/CreateEditSqlView.js +108 -54
  150. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  151. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  152. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  153. package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
  154. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
  155. package/dist/esm/modals/EditFiltersModal.js +348 -0
  156. package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
  157. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  158. package/dist/esm/modals/NewDashboardModal.js +64 -47
  159. package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
  160. package/dist/esm/modals/PromoteDashModal.js +11 -4
  161. package/dist/esm/modals/PromoteViewModal.d.ts +2 -1
  162. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  163. package/dist/esm/modals/PromoteViewModal.js +50 -40
  164. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  165. package/dist/esm/modals/ReorderDashboardModal.js +43 -46
  166. package/dist/esm/modals/index.d.ts +0 -1
  167. package/dist/esm/modals/index.d.ts.map +1 -1
  168. package/dist/esm/modals/index.js +0 -1
  169. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  170. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  171. package/dist/esm/primitives/ButtonPrimitive.js +5 -3
  172. package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -0
  173. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  174. package/dist/esm/primitives/TextInputPrimitive.js +33 -21
  175. package/dist/esm/primitives/TogglePrimitive.js +5 -5
  176. package/dist/esm/public_components/CreateEnvironment.d.ts +2 -1
  177. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  178. package/dist/esm/public_components/CreateEnvironment.js +5 -2
  179. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  180. package/dist/esm/public_components/DashboardBuilder.js +72 -126
  181. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  182. package/dist/esm/public_components/DashboardManager.js +112 -149
  183. package/dist/esm/public_components/SQLViewManager.d.ts +1 -0
  184. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  185. package/dist/esm/public_components/SQLViewManager.js +271 -48
  186. package/dist/esm/utils/astProcessing.d.ts +2 -0
  187. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  188. package/dist/esm/utils/astProcessing.js +37 -0
  189. package/dist/esm/utils/astProcessing.uspec.d.ts +2 -0
  190. package/dist/esm/utils/astProcessing.uspec.d.ts.map +1 -0
  191. package/dist/esm/utils/astProcessing.uspec.js +24 -0
  192. package/dist/esm/utils/columnProcessing.d.ts +3 -0
  193. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  194. package/dist/esm/utils/columnProcessing.js +37 -0
  195. package/dist/esm/utils/dataEditor.d.ts +2 -2
  196. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  197. package/dist/esm/utils/dataEditor.js +4 -2
  198. package/dist/esm/utils/databases.d.ts +0 -1
  199. package/dist/esm/utils/databases.d.ts.map +1 -1
  200. package/dist/esm/utils/databases.js +5 -6
  201. package/dist/esm/utils/monacoAutocomplete.d.ts +21 -0
  202. package/dist/esm/utils/monacoAutocomplete.d.ts.map +1 -0
  203. package/dist/esm/utils/monacoAutocomplete.js +245 -0
  204. package/dist/esm/utils/schema.d.ts +11 -0
  205. package/dist/esm/utils/schema.d.ts.map +1 -1
  206. package/dist/esm/utils/schema.js +126 -1
  207. package/dist/esm/utils/table.d.ts +1 -0
  208. package/dist/esm/utils/table.d.ts.map +1 -1
  209. package/dist/esm/utils/table.js +11 -1
  210. package/dist/esm/utils/textProcessing.d.ts +2 -0
  211. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  212. package/dist/esm/utils/textProcessing.js +5 -0
  213. package/package.json +3 -2
  214. package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
  215. package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
  216. package/dist/cjs/modals/EditDashboardsModal.js +0 -94
  217. package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
  218. package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
  219. package/dist/esm/modals/EditDashboardsModal.js +0 -91
@@ -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,2CAwMtB"}
@@ -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", { id: "quillSelectPopover", 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: '40vh',
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,9 @@
1
+ import { QuillTheme } from '@quillsql/react';
2
+ export declare function SegmentedControl({ onChange, value, theme, left, right, }: {
3
+ onChange: (e: any) => void;
4
+ value: string;
5
+ theme?: QuillTheme;
6
+ left?: string;
7
+ right?: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ //# 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,EACL,IAAgB,EAChB,KAAqB,GACtB,EAAE;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,2CA2EA"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ export function SegmentedControl({ onChange, value, theme, left = 'Default', right = 'Multiselect', }) {
4
+ const [leftSelected, setLeftSelected] = useState(value === 'default' ? true : false);
5
+ return (_jsxs("div", { style: {
6
+ display: 'flex',
7
+ flexDirection: 'row',
8
+ alignItems: 'center',
9
+ background: '#F5F5F6',
10
+ maxWidth: 209,
11
+ padding: 4,
12
+ borderRadius: 6,
13
+ height: 40,
14
+ }, children: [_jsx("button", { className: "quill-tab", onClick: () => {
15
+ setLeftSelected(true);
16
+ onChange(left.toLowerCase());
17
+ }, style: {
18
+ border: leftSelected ? '1px solid #E7E7E7' : '1px solid transparent',
19
+ outline: 'none',
20
+ width: '100%',
21
+ borderRadius: 4,
22
+ padding: 10,
23
+ boxShadow: leftSelected
24
+ ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
25
+ : undefined,
26
+ color: leftSelected
27
+ ? 'rgba(56, 65, 81, 1)'
28
+ : 'rgba(56, 65, 81, 0.85)',
29
+ fontWeight: leftSelected ? 600 : 500,
30
+ fontSize: 14,
31
+ fontFamily: theme?.fontFamily,
32
+ height: '40px',
33
+ boxSizing: 'border-box',
34
+ backgroundColor: leftSelected ? 'white' : 'transparent',
35
+ }, children: left }), _jsx("button", { className: "quill-tab2", onClick: () => {
36
+ setLeftSelected(false);
37
+ onChange(right.toLowerCase());
38
+ }, style: {
39
+ border: !leftSelected ? '1px solid #E7E7E7' : '1px solid transparent',
40
+ boxShadow: !leftSelected
41
+ ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
42
+ : undefined,
43
+ outline: 'none',
44
+ width: '100%',
45
+ borderRadius: 4,
46
+ color: !leftSelected
47
+ ? 'rgba(56, 65, 81, 1)'
48
+ : 'rgba(56, 65, 81, 0.85)',
49
+ padding: 10,
50
+ fontWeight: !leftSelected ? 600 : 500,
51
+ fontSize: 14,
52
+ fontFamily: theme?.fontFamily,
53
+ height: '40px',
54
+ backgroundColor: !leftSelected ? 'white' : 'transparent',
55
+ }, children: right })] }));
56
+ }
@@ -1,7 +1,15 @@
1
1
  import { CSSProperties } from 'react';
2
- export default function SqlTextEditor({ containerStyle, value, setValue, }: {
2
+ import { IDisposable } from 'monaco-editor';
3
+ import { ColumnsByTable } from '../utils/table';
4
+ export default function SqlTextEditor({ containerStyle, value, setValue, setEditorMounted, setPreviousProvier, previousProvider, schema, height, databaseType, }: {
3
5
  containerStyle?: CSSProperties;
4
6
  value: string;
5
7
  setValue: (e: string) => void;
8
+ setEditorMounted: (e: boolean) => void;
9
+ setPreviousProvier?: (e: IDisposable | null) => void;
10
+ height?: string | number;
11
+ schema: ColumnsByTable[];
12
+ databaseType?: string;
13
+ previousProvider: IDisposable | null;
6
14
  }): import("react/jsx-runtime").JSX.Element;
7
15
  //# sourceMappingURL=SqlTextEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlTextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/SqlTextEditor.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA+B7C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,KAAK,EACL,QAAQ,GACT,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,2CAwBA"}
1
+ {"version":3,"file":"SqlTextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/SqlTextEditor.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA+DhD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,MAAgB,EAChB,YAA2B,GAC5B,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC,2CAsEA"}
@@ -1,5 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
+ import { useEffect, useState } from 'react';
2
4
  import MonacoEditor from '@monaco-editor/react';
5
+ import { Resizable } from 're-resizable';
6
+ import { generateSuggestionsByDatasource, generateSuggestionsBySchema, } from '../utils/monacoAutocomplete';
7
+ import { LoadingSpinner } from './UiComponents';
3
8
  function defineEditorTheme(monaco) {
4
9
  monaco.editor.defineTheme('onedark', {
5
10
  base: 'vs',
@@ -17,22 +22,65 @@ function defineEditorTheme(monaco) {
17
22
  },
18
23
  });
19
24
  }
20
- function setEditorTheme(_editor, monaco) {
25
+ function setEditorTheme(_editor, monaco, schema, databaseType) {
21
26
  try {
22
27
  monaco.editor.setTheme('onedark');
28
+ monaco.languages.register({ id: 'quill' });
29
+ const provider = monaco.languages.registerCompletionItemProvider('quill', {
30
+ provideCompletionItems: function (model, position) {
31
+ const word = model.getWordUntilPosition(position);
32
+ const range = new monaco.Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);
33
+ const databaseSuggestions = generateSuggestionsByDatasource(monaco, range, databaseType);
34
+ const schemaSuggestions = generateSuggestionsBySchema(schema, monaco, range, databaseType);
35
+ return { suggestions: [...databaseSuggestions, ...schemaSuggestions] };
36
+ },
37
+ });
38
+ return provider;
23
39
  }
24
40
  catch (e) {
25
41
  console.log('ERROR: ', e);
42
+ return null;
26
43
  }
27
44
  }
28
- export default function SqlTextEditor({ containerStyle, value, setValue, }) {
29
- return (_jsx("div", { style: { ...containerStyle }, children: _jsx(MonacoEditor, { height: "224px", defaultLanguage: "pgsql", defaultValue: "", value: value, loading: _jsx("div", {}), options: {
30
- wordWrap: 'on',
31
- minimap: {
32
- enabled: false,
33
- },
34
- padding: { top: 16 },
35
- }, onChange: (query) => {
36
- setValue(query);
37
- }, beforeMount: (monaco) => defineEditorTheme(monaco), onMount: setEditorTheme }) }));
45
+ export default function SqlTextEditor({ containerStyle, value, setValue, setEditorMounted, setPreviousProvier, previousProvider, schema, height = '224px', databaseType = 'postgresql', }) {
46
+ const [editorKey, setEditorKey] = useState(0);
47
+ useEffect(() => {
48
+ if (previousProvider) {
49
+ previousProvider.dispose();
50
+ }
51
+ }, []);
52
+ useEffect(() => {
53
+ if (schema && schema.length !== 0 && editorKey === 0) {
54
+ setEditorKey((prevKey) => prevKey + 1);
55
+ }
56
+ }, [schema]);
57
+ return (_jsx("div", { style: { ...containerStyle }, children: _jsx(Resizable, { defaultSize: {
58
+ width: 'auto',
59
+ height: 224,
60
+ }, minHeight: "100px", maxHeight: "800px", maxWidth: '100%', enable: {
61
+ top: true,
62
+ right: false,
63
+ bottom: true,
64
+ left: false,
65
+ topRight: false,
66
+ bottomRight: false,
67
+ bottomLeft: false,
68
+ topLeft: false,
69
+ }, children: _jsx(MonacoEditor
70
+ // height={height}
71
+ , { defaultLanguage: "quill", defaultValue: "", language: "quill", value: value, loading: _jsx(LoadingSpinner, {}), options: {
72
+ wordWrap: 'on',
73
+ minimap: {
74
+ enabled: false,
75
+ },
76
+ padding: { top: 16 },
77
+ }, onChange: (query) => {
78
+ setValue(query);
79
+ }, beforeMount: (monaco) => defineEditorTheme(monaco), onMount: (_editor, monaco) => {
80
+ const disposable = setEditorTheme(_editor, monaco, schema, databaseType);
81
+ if (setPreviousProvier) {
82
+ setPreviousProvier(disposable);
83
+ }
84
+ setEditorMounted(true);
85
+ } }, editorKey) }) }));
38
86
  }
@@ -1,3 +1,4 @@
1
+ import { ReactNode, CSSProperties } from 'react';
1
2
  export interface Option {
2
3
  value: string;
3
4
  label: string;
@@ -8,29 +9,22 @@ export interface SelectComponentProps {
8
9
  options: Option[];
9
10
  disabled?: boolean;
10
11
  label?: string;
12
+ theme?: any;
13
+ style?: CSSProperties;
11
14
  }
12
15
  export interface TextInputComponentProps {
13
16
  onChange: (e: any) => void;
14
17
  value: string;
15
18
  id: string;
16
- placeholder: string;
17
- }
18
- export interface ButtonComponentProps {
19
- onClick: () => void;
20
- label: string;
21
- primary?: boolean;
19
+ width?: string;
20
+ label?: string;
21
+ placeholder?: string;
22
22
  }
23
23
  export interface TableComponentProps {
24
24
  rows: any[];
25
25
  columns: any[];
26
26
  height: string;
27
27
  }
28
- export interface TextInputComponentProps {
29
- onChange: (e: any) => void;
30
- value: string;
31
- id: string;
32
- width?: string;
33
- }
34
28
  export interface ModalComponentProps {
35
29
  children: any;
36
30
  isOpen: boolean;
@@ -53,23 +47,18 @@ export interface DeleteButtonProps {
53
47
  style: any;
54
48
  }
55
49
  export declare const MemoizedTextInput: ({ value, onChange, placeholder, id, width, }: TextInputComponentProps) => import("react/jsx-runtime").JSX.Element;
56
- export declare const MemoizedButton: ({ label, onClick, primary, style, width, }: {
50
+ export declare const MemoizedButton: ({ label, onClick, isLoading, primary, style, width, }: {
57
51
  label: any;
58
52
  onClick: any;
53
+ isLoading?: boolean | undefined;
59
54
  primary?: boolean | undefined;
60
55
  style?: {} | undefined;
61
56
  width?: string | undefined;
62
57
  }) => import("react/jsx-runtime").JSX.Element;
63
- export declare const MemoizedSecondaryButton: ({ label, onClick }: {
58
+ export declare const MemoizedSecondaryButton: ({ label, onClick, isLoading, }: {
64
59
  label: any;
65
60
  onClick: any;
66
- }) => import("react/jsx-runtime").JSX.Element;
67
- export declare const MemoizedSelect: ({ value, onChange, options, disabled, label, }: {
68
- value: any;
69
- onChange: any;
70
- options: any;
71
- disabled?: boolean | undefined;
72
- label: any;
61
+ isLoading?: boolean | undefined;
73
62
  }) => import("react/jsx-runtime").JSX.Element;
74
63
  export declare const MemoizedHeader: ({ children }: {
75
64
  children: any;
@@ -101,15 +90,14 @@ export declare function MemoizedPopover({ onClose, parentRef, children, style, o
101
90
  isOpen: any;
102
91
  setIsOpen: any;
103
92
  }): import("react/jsx-runtime").JSX.Element;
104
- export declare function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, style, }: {
105
- isOpen: any;
106
- onClose: any;
107
- setIsOpen: any;
108
- title: any;
109
- children: any;
110
- theme: any;
111
- style?: {} | undefined;
112
- }): import("react/jsx-runtime").JSX.Element | null;
93
+ export declare function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }: {
94
+ isOpen: boolean;
95
+ setIsOpen: (isOpen: boolean) => void;
96
+ title?: string;
97
+ children: ReactNode;
98
+ width?: number;
99
+ height?: number;
100
+ }): JSX.Element;
113
101
  export declare const MemoizedDeleteButton: ({ onClick, style }: {
114
102
  onClick: any;
115
103
  style: any;
@@ -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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"}