@quillsql/admin 1.3.7 → 1.3.9

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 (153) hide show
  1. package/dist/cjs/Admin.d.ts +0 -5
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +56 -108
  4. package/dist/cjs/AdminProvider.d.ts +9 -5
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +73 -84
  7. package/dist/cjs/api/ConnectionClient.d.ts +12 -10
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +102 -30
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +5 -0
  11. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  12. package/dist/cjs/assets/ArrowDownHeadIcon.js +5 -0
  13. package/dist/cjs/assets/XIcon.d.ts +5 -0
  14. package/dist/cjs/assets/XIcon.d.ts.map +1 -0
  15. package/dist/cjs/assets/XIcon.js +5 -0
  16. package/dist/cjs/assets/index.d.ts +3 -0
  17. package/dist/cjs/assets/index.d.ts.map +1 -0
  18. package/dist/cjs/assets/index.js +10 -0
  19. package/dist/cjs/components/DatabaseMismatchCard.d.ts +6 -0
  20. package/dist/cjs/components/DatabaseMismatchCard.d.ts.map +1 -0
  21. package/dist/cjs/components/DatabaseMismatchCard.js +18 -0
  22. package/dist/cjs/components/DatabaseSelector.d.ts +2 -1
  23. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  24. package/dist/cjs/components/DatabaseSelector.js +2 -2
  25. package/dist/cjs/components/DropDownMenuWithLabel.d.ts +2 -1
  26. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  27. package/dist/cjs/components/DropDownMenuWithLabel.js +160 -39
  28. package/dist/cjs/components/DynamicBanner.d.ts +11 -0
  29. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -0
  30. package/dist/cjs/components/DynamicBanner.js +22 -0
  31. package/dist/cjs/components/EnvSelectPopover.d.ts.map +1 -1
  32. package/dist/cjs/components/EnvSelectPopover.js +0 -1
  33. package/dist/cjs/components/OrgSelect.d.ts +23 -0
  34. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  35. package/dist/cjs/components/OrgSelect.js +55 -15
  36. package/dist/cjs/components/SqlTextEditor.d.ts +7 -0
  37. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -0
  38. package/dist/cjs/components/SqlTextEditor.js +44 -0
  39. package/dist/cjs/components/UiComponents.d.ts +119 -0
  40. package/dist/cjs/components/UiComponents.d.ts.map +1 -0
  41. package/dist/cjs/components/UiComponents.js +268 -0
  42. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +3 -2
  43. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  44. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +101 -43
  45. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +3 -1
  46. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  47. package/dist/cjs/forms/client_onboard/ConnectSchema.js +13 -14
  48. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts +10 -1
  49. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  50. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +13 -13
  51. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +23 -0
  52. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
  53. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +161 -0
  54. package/dist/cjs/modals/NewDashboardModal.js +1 -1
  55. package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -0
  56. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  57. package/dist/cjs/primitives/TextInputPrimitive.js +2 -2
  58. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  59. package/dist/cjs/public_components/CreateEnvironment.js +34 -8
  60. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  61. package/dist/cjs/public_components/DashboardBuilder.js +30 -16
  62. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  63. package/dist/cjs/public_components/DashboardManager.js +114 -104
  64. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  65. package/dist/cjs/public_components/SQLViewManager.js +252 -333
  66. package/dist/cjs/utils/dataEditor.d.ts +4 -0
  67. package/dist/cjs/utils/dataEditor.d.ts.map +1 -0
  68. package/dist/cjs/utils/dataEditor.js +144 -0
  69. package/dist/cjs/utils/dataFetcher.d.ts +3 -0
  70. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -0
  71. package/dist/cjs/utils/dataFetcher.js +68 -0
  72. package/dist/cjs/utils/databases.d.ts +13 -2
  73. package/dist/cjs/utils/databases.d.ts.map +1 -1
  74. package/dist/cjs/utils/databases.js +52 -9
  75. package/dist/cjs/utils/table.d.ts +2 -0
  76. package/dist/cjs/utils/table.d.ts.map +1 -1
  77. package/dist/esm/Admin.d.ts +0 -5
  78. package/dist/esm/Admin.d.ts.map +1 -1
  79. package/dist/esm/Admin.js +56 -107
  80. package/dist/esm/AdminProvider.d.ts +9 -5
  81. package/dist/esm/AdminProvider.d.ts.map +1 -1
  82. package/dist/esm/AdminProvider.js +71 -85
  83. package/dist/esm/api/ConnectionClient.d.ts +12 -10
  84. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  85. package/dist/esm/api/ConnectionClient.js +99 -29
  86. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
  87. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  88. package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
  89. package/dist/esm/assets/XIcon.d.ts +5 -0
  90. package/dist/esm/assets/XIcon.d.ts.map +1 -0
  91. package/dist/esm/assets/XIcon.js +3 -0
  92. package/dist/esm/assets/index.d.ts +3 -0
  93. package/dist/esm/assets/index.d.ts.map +1 -0
  94. package/dist/esm/assets/index.js +2 -0
  95. package/dist/esm/components/DatabaseMismatchCard.d.ts +6 -0
  96. package/dist/esm/components/DatabaseMismatchCard.d.ts.map +1 -0
  97. package/dist/esm/components/DatabaseMismatchCard.js +15 -0
  98. package/dist/esm/components/DatabaseSelector.d.ts +2 -1
  99. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  100. package/dist/esm/components/DatabaseSelector.js +2 -2
  101. package/dist/esm/components/DropDownMenuWithLabel.d.ts +2 -1
  102. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  103. package/dist/esm/components/DropDownMenuWithLabel.js +137 -39
  104. package/dist/esm/components/DynamicBanner.d.ts +11 -0
  105. package/dist/esm/components/DynamicBanner.d.ts.map +1 -0
  106. package/dist/esm/components/DynamicBanner.js +16 -0
  107. package/dist/esm/components/EnvSelectPopover.d.ts.map +1 -1
  108. package/dist/esm/components/EnvSelectPopover.js +0 -1
  109. package/dist/esm/components/OrgSelect.d.ts +23 -0
  110. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  111. package/dist/esm/components/OrgSelect.js +52 -16
  112. package/dist/esm/components/SqlTextEditor.d.ts +7 -0
  113. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -0
  114. package/dist/esm/components/SqlTextEditor.js +38 -0
  115. package/dist/esm/components/UiComponents.d.ts +119 -0
  116. package/dist/esm/components/UiComponents.d.ts.map +1 -0
  117. package/dist/esm/components/UiComponents.js +254 -0
  118. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +3 -2
  119. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  120. package/dist/esm/forms/client_onboard/ConnectDatabase.js +102 -44
  121. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +3 -1
  122. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  123. package/dist/esm/forms/client_onboard/ConnectSchema.js +13 -14
  124. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts +10 -1
  125. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  126. package/dist/esm/forms/client_onboard/CreateSqlViews.js +12 -14
  127. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +23 -0
  128. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
  129. package/dist/esm/forms/sql_views/CreateEditSqlView.js +155 -0
  130. package/dist/esm/modals/NewDashboardModal.js +1 -1
  131. package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -0
  132. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  133. package/dist/esm/primitives/TextInputPrimitive.js +2 -2
  134. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  135. package/dist/esm/public_components/CreateEnvironment.js +12 -9
  136. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  137. package/dist/esm/public_components/DashboardBuilder.js +30 -16
  138. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  139. package/dist/esm/public_components/DashboardManager.js +115 -105
  140. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  141. package/dist/esm/public_components/SQLViewManager.js +254 -335
  142. package/dist/esm/utils/dataEditor.d.ts +4 -0
  143. package/dist/esm/utils/dataEditor.d.ts.map +1 -0
  144. package/dist/esm/utils/dataEditor.js +138 -0
  145. package/dist/esm/utils/dataFetcher.d.ts +3 -0
  146. package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
  147. package/dist/esm/utils/dataFetcher.js +63 -0
  148. package/dist/esm/utils/databases.d.ts +13 -2
  149. package/dist/esm/utils/databases.d.ts.map +1 -1
  150. package/dist/esm/utils/databases.js +52 -9
  151. package/dist/esm/utils/table.d.ts +2 -0
  152. package/dist/esm/utils/table.d.ts.map +1 -1
  153. package/package.json +2 -2
@@ -0,0 +1,119 @@
1
+ export interface Option {
2
+ value: string;
3
+ label: string;
4
+ }
5
+ export interface SelectComponentProps {
6
+ onChange: (value: string) => void;
7
+ value: string;
8
+ options: Option[];
9
+ disabled?: boolean;
10
+ label?: string;
11
+ }
12
+ export interface TextInputComponentProps {
13
+ onChange: (e: any) => void;
14
+ value: string;
15
+ id: string;
16
+ placeholder: string;
17
+ }
18
+ export interface ButtonComponentProps {
19
+ onClick: () => void;
20
+ label: string;
21
+ primary?: boolean;
22
+ }
23
+ export interface TableComponentProps {
24
+ rows: any[];
25
+ columns: any[];
26
+ height: string;
27
+ }
28
+ export interface TextInputComponentProps {
29
+ onChange: (e: any) => void;
30
+ value: string;
31
+ id: string;
32
+ width?: string;
33
+ }
34
+ export interface ModalComponentProps {
35
+ children: any;
36
+ isOpen: boolean;
37
+ onClose?: () => void;
38
+ title?: string;
39
+ setIsOpen: (isOpen: boolean) => void;
40
+ theme?: any;
41
+ }
42
+ export interface HeaderProps {
43
+ children: any;
44
+ }
45
+ export interface LabelProps {
46
+ children: any;
47
+ }
48
+ export interface TextProps {
49
+ children: any;
50
+ }
51
+ export interface DeleteButtonProps {
52
+ onClick: () => void;
53
+ style: any;
54
+ }
55
+ 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, }: {
57
+ label: any;
58
+ onClick: any;
59
+ primary?: boolean | undefined;
60
+ style?: {} | undefined;
61
+ width?: string | undefined;
62
+ }) => import("react/jsx-runtime").JSX.Element;
63
+ export declare const MemoizedSecondaryButton: ({ label, onClick }: {
64
+ label: any;
65
+ 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;
73
+ }) => import("react/jsx-runtime").JSX.Element;
74
+ export declare const MemoizedHeader: ({ children }: {
75
+ children: any;
76
+ }) => import("react/jsx-runtime").JSX.Element;
77
+ export declare const MemoizedLabel: ({ children }: {
78
+ children: any;
79
+ }) => import("react/jsx-runtime").JSX.Element;
80
+ export declare const MemoizedText: ({ children }: {
81
+ children: any;
82
+ }) => import("react/jsx-runtime").JSX.Element;
83
+ export interface PopoverComponentProps {
84
+ children: any;
85
+ onClose?: () => void;
86
+ parentRef?: any;
87
+ style?: any;
88
+ onClick?: () => void;
89
+ showTrigger?: boolean;
90
+ isOpen: boolean;
91
+ setIsOpen: (isOpen: boolean) => void;
92
+ }
93
+ export declare function MemoizedPopover({ onClose, parentRef, children, style, onClick, label, showTrigger, isOpen, setIsOpen, }: {
94
+ onClose: any;
95
+ parentRef: any;
96
+ children: any;
97
+ style?: {} | undefined;
98
+ onClick: any;
99
+ label: any;
100
+ showTrigger?: boolean | undefined;
101
+ isOpen: any;
102
+ setIsOpen: any;
103
+ }): import("react/jsx-runtime").JSX.Element;
104
+ export declare function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, }: {
105
+ isOpen: any;
106
+ onClose: any;
107
+ setIsOpen: any;
108
+ title: any;
109
+ children: any;
110
+ theme: any;
111
+ }): import("react/jsx-runtime").JSX.Element | null;
112
+ export declare const MemoizedDeleteButton: ({ onClick, style }: {
113
+ onClick: any;
114
+ style: any;
115
+ }) => import("react/jsx-runtime").JSX.Element;
116
+ export declare const LoadingSpinner: ({ ...props }: {
117
+ [x: string]: any;
118
+ }) => import("react/jsx-runtime").JSX.Element;
119
+ //# sourceMappingURL=UiComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadingSpinner = exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.MemoizedSelect = exports.MemoizedSecondaryButton = exports.MemoizedButton = exports.MemoizedTextInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ //@ts-nocheck
6
+ const react_1 = require("react");
7
+ const assets_1 = require("../assets");
8
+ const react_2 = require("@quillsql/react");
9
+ const MemoizedTextInput = ({ value, onChange, placeholder, id, width, }) => {
10
+ const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
11
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', width: width }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
12
+ .quill-text-input {
13
+ background-color: white;
14
+ height: 40px;
15
+ width: 180px;
16
+ color: #384151;
17
+ border: 1px solid #e7e7e7;
18
+ border-radius: 6px;
19
+ text-align: left;
20
+ box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
21
+ padding-left: 12px;
22
+ padding-right: 12px;
23
+ padding-top: 0px;
24
+ padding-bottom: 0px;
25
+ box-sizing: content-box;
26
+ }` }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, style: {
27
+ fontFamily: theme?.fontFamily,
28
+ width: width ? 'calc(100% - 24px)' : '180px',
29
+ } })] }));
30
+ };
31
+ exports.MemoizedTextInput = MemoizedTextInput;
32
+ const MemoizedButton = ({ label, onClick, primary = true, style = {}, width = 'auto', }) => {
33
+ const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
34
+ return ((0, jsx_runtime_1.jsxs)("button", { className: "quill-button", onClick: onClick, style: { fontFamily: theme?.fontFamily, ...style, width: width }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
35
+ .quill-button {
36
+ background-color: ${primary ? '#212121' : 'white'};
37
+ color: ${primary ? 'white' : '#212121'};
38
+ height: 40px;
39
+ border: 1px solid transparent;
40
+ font-weight: 500;
41
+ border-radius: 6px;
42
+ box-sizing: content-box;
43
+ padding-left: 16px;
44
+ padding-right: 16px;
45
+ overflow: hidden;
46
+ font-size: 15px;
47
+ cursor: pointer;
48
+ }
49
+ .quill-button:hover {
50
+ background-color: rgba(56, 65, 81, 0.9);
51
+ border-radius: 6px;
52
+ overflow: hidden;
53
+ }` }), label] }));
54
+ };
55
+ exports.MemoizedButton = MemoizedButton;
56
+ const MemoizedSecondaryButton = ({ label, onClick }) => {
57
+ const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
58
+ return ((0, jsx_runtime_1.jsxs)("button", { className: "quill-secondary-button", onClick: onClick, style: { fontFamily: theme?.fontFamily }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
59
+ .quill-secondary-button {
60
+ background-color: #F5F5F6;
61
+ background-color: white;
62
+ color: #212121';
63
+ color: rgba(56, 65, 81, 0.75);
64
+ height: 40px;
65
+ border: 1px solid transparent;
66
+ font-weight: 500;
67
+ border-radius: 6px;
68
+ padding-left: 16px;
69
+ border: 1px solid #e7e7e7;
70
+ padding-right: 16px;
71
+ box-sizing: content-box;
72
+ font-size: 15px;
73
+ cursor: pointer;
74
+ }
75
+ .quill-secondary-button:hover {
76
+ background-color: rgba(56, 65, 81, 0.09);
77
+ }` }), label] }));
78
+ };
79
+ exports.MemoizedSecondaryButton = MemoizedSecondaryButton;
80
+ const MemoizedSelect = ({ value, onChange, options, disabled = false, label, }) => {
81
+ const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
82
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
83
+ position: 'relative',
84
+ maxWidth: 206,
85
+ }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
86
+ .quill-select {
87
+ background-color: white;
88
+ height: 42px;
89
+ color: #384151;
90
+ width: 206px;
91
+ border: 1px solid #e7e7e7;
92
+ border-radius: 6px;
93
+ text-align: left;
94
+ box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
95
+ padding-left: 12px;
96
+ padding-right: 12px;
97
+ }` }), (0, jsx_runtime_1.jsx)("select", { style: { WebkitAppearance: 'none', fontFamily: theme?.fontFamily }, className: "quill-select", value: value, disabled: disabled, onChange: (event) => onChange(event.target.value), children: options.map((option) => ((0, jsx_runtime_1.jsx)("option", { className: "quill-option", value: option.value, children: option.label }, option.value))) }), (0, jsx_runtime_1.jsx)(assets_1.ArrowDownHeadIcon, { style: {
98
+ height: '20px',
99
+ width: '20px',
100
+ flex: 'none',
101
+ position: 'absolute',
102
+ right: 8,
103
+ top: 11,
104
+ color: '#6C727F',
105
+ }, "aria-hidden": "true" })] }));
106
+ };
107
+ exports.MemoizedSelect = MemoizedSelect;
108
+ const MemoizedHeader = ({ children }) => ((0, jsx_runtime_1.jsx)("h1", { style: {
109
+ fontSize: 16,
110
+ fontWeight: 600,
111
+ color: '#384151',
112
+ userSelect: 'none',
113
+ margin: 0,
114
+ padding: 0,
115
+ }, children: children }));
116
+ exports.MemoizedHeader = MemoizedHeader;
117
+ const MemoizedLabel = ({ children }) => ((0, jsx_runtime_1.jsx)("h1", { style: {
118
+ fontSize: 14,
119
+ fontWeight: 600,
120
+ color: '#575E6A',
121
+ userSelect: 'none',
122
+ paddingBottom: 5,
123
+ }, children: children }));
124
+ exports.MemoizedLabel = MemoizedLabel;
125
+ const MemoizedText = ({ children }) => ((0, jsx_runtime_1.jsx)("p", { style: {
126
+ fontSize: 12,
127
+ fontWeight: 400,
128
+ margin: 0,
129
+ color: '#575E6A',
130
+ userSelect: 'none',
131
+ }, children: children }));
132
+ exports.MemoizedText = MemoizedText;
133
+ const useOnClickOutside = (ref, handler) => {
134
+ (0, react_1.useEffect)(() => {
135
+ const listener = (event) => {
136
+ if (!ref.current || ref.current.contains(event.target)) {
137
+ return;
138
+ }
139
+ handler(event);
140
+ };
141
+ document.addEventListener('mousedown', listener);
142
+ document.addEventListener('touchstart', listener);
143
+ return () => {
144
+ document.removeEventListener('mousedown', listener);
145
+ document.removeEventListener('touchstart', listener);
146
+ };
147
+ }, [ref, handler]);
148
+ };
149
+ function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
150
+ const modalRef = (0, react_1.useRef)(null);
151
+ useOnClickOutside(modalRef, (e) => {
152
+ // Exclude click on trigger button (e.g. Dropdown Button) from outside click handler
153
+ const isTriggerElem = parentRef
154
+ ? parentRef.current?.contains(e.target)
155
+ : false;
156
+ if (isTriggerElem) {
157
+ handleCloseModal();
158
+ }
159
+ });
160
+ const handleCloseModal = () => {
161
+ setIsOpen(false);
162
+ if (onClose) {
163
+ onClose();
164
+ }
165
+ };
166
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [showTrigger && ((0, jsx_runtime_1.jsx)(exports.MemoizedSecondaryButton, { onClick: (e) => {
167
+ setIsOpen((isOpen) => !isOpen);
168
+ if (onClick) {
169
+ onClick(e);
170
+ }
171
+ }, label: label })), isOpen && ((0, jsx_runtime_1.jsx)("div", { id: "quill-popover-modal", ref: modalRef, style: { position: 'relative' }, children: (0, jsx_runtime_1.jsx)("div", { style: {
172
+ background: 'white',
173
+ position: 'absolute',
174
+ boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
175
+ border: '1px solid #e7e7e7',
176
+ boxSizing: 'content-box',
177
+ zIndex: 1,
178
+ top: showTrigger ? 12 : 0,
179
+ borderRadius: 6,
180
+ padding: 20,
181
+ overflow: 'scroll',
182
+ ...style,
183
+ }, children: children }) }))] }));
184
+ }
185
+ exports.MemoizedPopover = MemoizedPopover;
186
+ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, }) {
187
+ if (!isOpen) {
188
+ return null;
189
+ }
190
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: {
191
+ position: 'fixed',
192
+ top: '0',
193
+ right: '0',
194
+ bottom: '0',
195
+ left: '0',
196
+ zIndex: '50',
197
+ backgroundColor: 'rgba(255, 255, 255, 0.8)',
198
+ backdropFilter: 'blur(5px)',
199
+ }, onClick: onClose }), (0, jsx_runtime_1.jsx)("div", { style: {
200
+ // position: "absolute",
201
+ position: 'fixed',
202
+ left: '50%',
203
+ top: '50%',
204
+ zIndex: '50',
205
+ // width: "100%",
206
+ maxWidth: 1024,
207
+ maxHeight: '90vh',
208
+ display: 'flex',
209
+ justifyContent: 'center',
210
+ alignItems: 'center',
211
+ transform: 'translateX(-50%) translateY(-50%)',
212
+ background: 'white',
213
+ borderRadius: 8,
214
+ borderStyle: 'solid',
215
+ borderWidth: 1,
216
+ borderColor: '#e7e7e7',
217
+ overflow: 'hidden',
218
+ // zIndex: 1000,
219
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
220
+ // width: "80%",
221
+ maxHeight: '90vh',
222
+ overflowY: 'scroll',
223
+ // maxWidth: "700px",
224
+ backgroundColor: '#ffffff',
225
+ // padding: "20px",
226
+ // borderRadius: "8px",
227
+ display: 'flex',
228
+ flexDirection: 'column',
229
+ alignItems: 'center',
230
+ position: 'relative',
231
+ fontFamily: theme?.fontFamily,
232
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { id: "quill-modal-header", style: {
233
+ display: 'flex',
234
+ flexDirection: 'row',
235
+ width: '100%',
236
+ justifyContent: 'space-between',
237
+ alignItems: 'center',
238
+ }, children: [(0, jsx_runtime_1.jsx)("h2", { style: {
239
+ fontSize: 18,
240
+ fontWeight: '600',
241
+ marginLeft: 20,
242
+ // width: '90%',
243
+ textAlign: 'left',
244
+ paddingTop: 18,
245
+ color: theme?.primaryTextColor,
246
+ }, children: title }), (0, jsx_runtime_1.jsx)(exports.MemoizedDeleteButton, { onClick: onClose, style: { marginRight: 10, marginTop: 10 } })] }), children] }) })] }));
247
+ }
248
+ exports.MemoizedModal = MemoizedModal;
249
+ const MemoizedDeleteButton = ({ onClick, style }) => ((0, jsx_runtime_1.jsxs)("button", { className: "quill-delete-button", type: "button", onClick: onClick, style: {
250
+ height: 42,
251
+ width: 42,
252
+ border: 'none',
253
+ cursor: 'pointer',
254
+ display: 'flex',
255
+ alignItems: 'center',
256
+ justifyContent: 'center',
257
+ borderRadius: 6,
258
+ ...style,
259
+ }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
260
+ .quill-delete-button {
261
+ background-color: white;
262
+ }
263
+ .quill-delete-button:hover {
264
+ background-color: rgba(56, 65, 81, 0.03);
265
+ }` }), (0, jsx_runtime_1.jsx)(assets_1.XIcon, { height: "20", width: "20", fill: "#6C727F" })] }));
266
+ exports.MemoizedDeleteButton = MemoizedDeleteButton;
267
+ const LoadingSpinner = ({ ...props }) => ((0, jsx_runtime_1.jsxs)("svg", { width: "24", height: "24", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: "#364153", fill: "none", transform: "rotate(-90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }));
268
+ exports.LoadingSpinner = LoadingSpinner;
@@ -1,11 +1,12 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { ConnectionError, ConnectionType } from '../../utils/databases';
3
3
  import { SchemaDetails } from '../../utils/schema';
4
- export default function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, }: {
4
+ export default function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, envClientId, }: {
5
5
  containerStyle?: CSSProperties;
6
6
  header1Style?: CSSProperties;
7
7
  header2Style?: CSSProperties;
8
8
  environmentDetails?: ConnectionType;
9
- setEnvironmentDetails: (connectionInfo?: ConnectionType, schemaDetails?: SchemaDetails, schemaError?: ConnectionError) => void;
9
+ setEnvironmentDetails: (connectionInfo?: ConnectionType, schemaDetails?: SchemaDetails, schemaError?: ConnectionError, clientId?: string) => void;
10
+ envClientId?: string;
10
11
  }): import("react/jsx-runtime").JSX.Element;
11
12
  //# sourceMappingURL=ConnectDatabase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,GACnB,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,qBAAqB,EAAE,CACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,eAAe,KAC1B,IAAI,CAAC;CACX,2CAwRA"}
1
+ {"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAoB,MAAM,OAAO,CAAC;AAG/D,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,WAAgB,GACjB,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,qBAAqB,EAAE,CACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,eAAe,EAC7B,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAwYA"}
@@ -10,20 +10,57 @@ const DatabaseSelector_1 = __importDefault(require("../../components/DatabaseSel
10
10
  const databases_1 = require("../../utils/databases");
11
11
  const ConnectionClient_1 = require("../../api/ConnectionClient");
12
12
  const delay_1 = require("../../utils/delay");
13
- function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, }) {
13
+ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, envClientId = '', }) {
14
+ // SPECIAL FIELDS FOR BIG QUERY ONLY
15
+ const [companyTag, setCompanyTag] = (0, react_1.useState)('');
14
16
  const [showError, setShowError] = (0, react_1.useState)(false);
15
17
  const [connectButtonMessage, setConnectButtonMessage] = (0, react_1.useState)('Connect');
16
18
  const [copied, setCopied] = (0, react_1.useState)(false);
19
+ const [clientId, setClientId] = (0, react_1.useState)(envClientId);
20
+ const [fileLabel, setFileLabel] = (0, react_1.useState)('No file chosen');
17
21
  const [databaseConnectionDetails, setConnectionDetails] = (0, react_1.useState)(environmentDetails);
18
22
  const onDatabaseSelect = (database) => {
23
+ setShowError(false);
19
24
  setConnectionDetails((0, databases_1.getDatabaseConnectionFormat)(database));
20
25
  };
21
- const testConnection = async () => {
26
+ const myInputRef = (0, react_1.useRef)(null);
27
+ const handleButtonClick = () => {
28
+ // current property is a reference to the actual DOM element
29
+ if (myInputRef.current) {
30
+ myInputRef.current.click();
31
+ }
32
+ };
33
+ const handleFileChange = (e) => {
34
+ // read file
35
+ const file = e.target.files?.[0];
36
+ if (!file) {
37
+ return 'No file selected';
38
+ }
39
+ const reader = new FileReader();
40
+ reader.onload = function (event) {
41
+ try {
42
+ const obj = JSON.parse(event.target.result);
43
+ const jsonString = JSON.stringify(obj, null, 2); // stringify with pretty print
44
+ setConnectionDetails({
45
+ ...databaseConnectionDetails, // Cast databaseConnectionDetails to ConnectionType
46
+ jsonString: jsonString,
47
+ });
48
+ setFileLabel(file.name);
49
+ }
50
+ catch (err) {
51
+ console.log('Error parsing JSON file', err);
52
+ setFileLabel('Error parsing JSON file');
53
+ }
54
+ };
55
+ reader.readAsText(file);
56
+ };
57
+ const testConnectionAndFormClient = async () => {
22
58
  const connectionString = (0, databases_1.formConnectionString)(databaseConnectionDetails);
23
- const result = await (0, ConnectionClient_1.testConnectionString)(connectionString);
24
- if (result) {
59
+ const result = await (0, ConnectionClient_1.testConnectionString)(connectionString, databaseConnectionDetails.type, clientId);
60
+ if (result.success) {
25
61
  try {
26
- const suspectedSchema = await (0, ConnectionClient_1.getSchemaTableInfo)(connectionString, 'public');
62
+ setClientId(result.clientId);
63
+ const suspectedSchema = await (0, ConnectionClient_1.getSchemaTableInfo)(result.clientId, 'public', databaseConnectionDetails.type);
27
64
  setConnectButtonMessage('Connecting');
28
65
  // Stop the next code from running for a second
29
66
  // This is to show the connecting message
@@ -31,12 +68,12 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
31
68
  if ('selectedFields' in suspectedSchema) {
32
69
  setConnectButtonMessage('Connected ✅');
33
70
  await (0, delay_1.delay)(2000);
34
- setEnvironmentDetails(databaseConnectionDetails, suspectedSchema, undefined);
71
+ setEnvironmentDetails(databaseConnectionDetails, suspectedSchema, undefined, result.clientId);
35
72
  }
36
73
  else {
37
74
  setConnectButtonMessage('Connected ✅');
38
75
  await (0, delay_1.delay)(2000);
39
- setEnvironmentDetails(databaseConnectionDetails, undefined, suspectedSchema);
76
+ setEnvironmentDetails(databaseConnectionDetails, undefined, suspectedSchema, result.clientId);
40
77
  }
41
78
  }
42
79
  catch (e) {
@@ -50,7 +87,7 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
50
87
  }
51
88
  };
52
89
  return ((0, jsx_runtime_1.jsxs)("div", { style: { ...containerStyle }, id: "connect-database-form", children: [(0, jsx_runtime_1.jsx)("h1", { style: header1Style, children: "Connect Database" }), (0, jsx_runtime_1.jsxs)("div", { style: { marginTop: 12 }, children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: 600, color: '#565656' }, children: "Database type" }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', gap: 10 }, children: databases_1.DATABASE_DEFAULT_INFO.map((database) => {
53
- return ((0, jsx_runtime_1.jsx)(DatabaseSelector_1.default, { onDatabaseSelect: onDatabaseSelect, containerStyle: { marginBottom: '12px' }, label: database.label, value: database.value, imageUrl: database.imageUrl }, database.label));
90
+ return ((0, jsx_runtime_1.jsx)(DatabaseSelector_1.default, { onDatabaseSelect: onDatabaseSelect, databaseType: databaseConnectionDetails?.type || '', containerStyle: { marginBottom: '12px' }, label: database.label, value: database.value, imageUrl: database.imageUrl }, database.label));
54
91
  }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
55
92
  // width: '100%',
56
93
  maxWidth: 330,
@@ -95,49 +132,70 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
95
132
  flexDirection: 'row',
96
133
  alignItems: 'center',
97
134
  gap: 6,
98
- }, children: [(0, jsx_runtime_1.jsx)("div", { children: "\u2705" }), " ", (0, jsx_runtime_1.jsx)("div", { children: "Copied to clipboard" })] }))] }), databaseConnectionDetails && ((0, jsx_runtime_1.jsxs)("div", { children: [databaseConnectionDetails.type === 'PostgreSQL' && ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: 600 }, children: "Connection String" }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
99
- setConnectionDetails({
100
- ...databaseConnectionDetails,
101
- connectionString: e.target.value,
102
- });
103
- }, value: databaseConnectionDetails.connectionString })] }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
104
- ...header1Style,
105
- textAlign: 'center',
106
- fontSize: 14,
107
- color: '#565656',
108
- display: 'flex',
109
- flexDirection: 'row',
110
- alignItems: 'center',
111
- paddingTop: 24,
112
- paddingBottom: 0,
113
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } }), (0, jsx_runtime_1.jsx)("div", { style: { padding: 12 }, children: "or" }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } })] }), (0, jsx_runtime_1.jsx)("div", { id: "database-details-form", children: (0, jsx_runtime_1.jsx)("div", { style: {
135
+ }, children: [(0, jsx_runtime_1.jsx)("div", { children: "\u2705" }), " ", (0, jsx_runtime_1.jsx)("div", { children: "Copied to clipboard" })] }))] }), databaseConnectionDetails && ((0, jsx_runtime_1.jsxs)("div", { children: [databaseConnectionDetails.type !== 'BigQuery' ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: 600 }, children: "Connection String" }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
136
+ setConnectionDetails({
137
+ ...databaseConnectionDetails,
138
+ connectionString: e.target.value,
139
+ });
140
+ }, value: databaseConnectionDetails.connectionString })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
141
+ ...header1Style,
142
+ textAlign: 'center',
143
+ fontSize: 14,
144
+ color: '#565656',
145
+ display: 'flex',
146
+ flexDirection: 'row',
147
+ alignItems: 'center',
148
+ paddingTop: 24,
149
+ paddingBottom: 0,
150
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } }), (0, jsx_runtime_1.jsx)("div", { style: { padding: 12 }, children: "or" }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } })] }), (0, jsx_runtime_1.jsx)("div", { id: "database-details-form", children: (0, jsx_runtime_1.jsx)("div", { style: {
151
+ display: 'grid',
152
+ gridTemplateColumns: 'repeat(3, 1fr)',
153
+ gap: '20px',
154
+ justifyContent: 'space-between',
155
+ marginTop: '16px',
156
+ }, children:
157
+ // get a list of types in the databaseConnectionDetails object and create a form for each
158
+ Object.entries(databaseConnectionDetails).map(([key, value]) => {
159
+ if (key !== 'connectionString' && key !== 'type')
160
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: {
161
+ ...header2Style,
162
+ fontWeight: '600',
163
+ }, children: key
164
+ .split(/(?=[A-Z])/)
165
+ .map((word) => word.charAt(0).toUpperCase() +
166
+ word.slice(1))
167
+ .join(' ') }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
168
+ setConnectionDetails({
169
+ ...databaseConnectionDetails,
170
+ [key]: e.target.value,
171
+ });
172
+ }, value: value, disabled: key === 'type' })] }, key));
173
+ }) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.jsxs)("div", { id: "database-details-form", style: {
114
174
  display: 'grid',
115
- gridTemplateColumns: 'repeat(3, 1fr)',
175
+ gridTemplateColumns: 'repeat(1, 1fr)',
116
176
  gap: '20px',
117
177
  justifyContent: 'space-between',
118
178
  marginTop: '16px',
119
- }, children:
120
- // get a list of types in the databaseConnectionDetails object and create a form for each
121
- Object.entries(databaseConnectionDetails).map(([key, value]) => {
122
- if (key !== 'connectionString' && key !== 'type')
123
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: {
124
- ...header2Style,
125
- fontWeight: '600',
126
- }, children: key
127
- .split(/(?=[A-Z])/)
128
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
129
- .join(' ') }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
130
- setConnectionDetails({
131
- ...databaseConnectionDetails,
132
- [key]: e.target.value,
133
- });
134
- }, value: value, disabled: key === 'type' })] }, key));
135
- }) }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
179
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: {
180
+ ...header2Style,
181
+ fontWeight: '600',
182
+ }, children: "Project ID" }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
183
+ setConnectionDetails({
184
+ ...databaseConnectionDetails,
185
+ companyTag: e.target.value,
186
+ });
187
+ setCompanyTag(e.target.value);
188
+ }, value: companyTag })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: '600' }, children: "Submit File" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: ".json", onChange: handleFileChange, style: { display: 'none' }, id: "fileInput", ref: myInputRef }), (0, jsx_runtime_1.jsxs)("div", { style: {
189
+ display: 'flex',
190
+ flexDirection: 'row',
191
+ gap: 12,
192
+ alignItems: 'center',
193
+ }, children: [(0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { onClick: handleButtonClick, label: 'Upload JSON' }), (0, jsx_runtime_1.jsx)("span", { style: { ...header2Style, fontWeight: '600' }, children: fileLabel })] })] })] })] }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
136
194
  width: '100%',
137
195
  display: 'flex',
138
196
  justifyContent: 'space-between',
139
197
  alignItems: 'center',
140
198
  marginTop: '24px',
141
- }, children: [showError ? ((0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, color: 'red' }, children: "Couldn't connect to database." })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: connectButtonMessage, onClick: testConnection })] })] }))] }));
199
+ }, children: [showError ? ((0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, color: 'red' }, children: "Couldn't connect to database." })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: connectButtonMessage, onClick: testConnectionAndFormClient })] })] }))] }));
142
200
  }
143
201
  exports.default = ConnectDatabase;
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { SchemaDetails } from '../../utils/schema';
3
3
  import { ConnectionError, ConnectionType } from '../../utils/databases';
4
- export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, }: {
4
+ export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, }: {
5
5
  containerStyle?: CSSProperties;
6
6
  header1Style?: CSSProperties;
7
7
  header2Style?: CSSProperties;
@@ -9,5 +9,7 @@ export default function ConnectSchema({ containerStyle, header1Style, header2Sty
9
9
  environmentDetails?: ConnectionType;
10
10
  initialError?: ConnectionError;
11
11
  propogateSchemaDetails: (schemaDetails?: SchemaDetails) => void;
12
+ clientId: string;
13
+ parentRef: any;
12
14
  }): import("react/jsx-runtime").JSX.Element;
13
15
  //# sourceMappingURL=ConnectSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectSchema.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectSchema.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAIlE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnD,OAAO,EACL,eAAe,EACf,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,GACb,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,sBAAsB,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACjE,2CA6RA"}
1
+ {"version":3,"file":"ConnectSchema.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectSchema.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,sBAAsB,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;CAChB,2CAiSA"}