@quillsql/admin 1.5.2 → 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 (141) 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 +200 -994
  4. package/dist/cjs/AdminProvider.d.ts +0 -11
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +16 -10
  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 +71 -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 -30
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/components/UiComponents.js +39 -84
  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 +39 -10
  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 +28 -25
  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 +62 -45
  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 +42 -45
  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/TogglePrimitive.js +5 -5
  52. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  53. package/dist/cjs/public_components/CreateEnvironment.js +1 -1
  54. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  55. package/dist/cjs/public_components/DashboardBuilder.js +41 -6
  56. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  57. package/dist/cjs/public_components/DashboardManager.js +47 -83
  58. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  59. package/dist/cjs/public_components/SQLViewManager.js +69 -20
  60. package/dist/cjs/utils/schema.d.ts +6 -0
  61. package/dist/cjs/utils/schema.d.ts.map +1 -1
  62. package/dist/cjs/utils/table.d.ts +1 -0
  63. package/dist/cjs/utils/table.d.ts.map +1 -1
  64. package/dist/cjs/utils/table.js +13 -0
  65. package/dist/cjs/utils/textProcessing.d.ts +2 -0
  66. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  67. package/dist/cjs/utils/textProcessing.js +9 -0
  68. package/dist/esm/Admin.d.ts +19 -72
  69. package/dist/esm/Admin.d.ts.map +1 -1
  70. package/dist/esm/Admin.js +203 -987
  71. package/dist/esm/AdminProvider.d.ts +0 -11
  72. package/dist/esm/AdminProvider.d.ts.map +1 -1
  73. package/dist/esm/AdminProvider.js +16 -10
  74. package/dist/esm/api/ConnectionClient.d.ts +11 -0
  75. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  76. package/dist/esm/api/ConnectionClient.js +69 -9
  77. package/dist/esm/components/DropDownMenu.js +1 -1
  78. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  79. package/dist/esm/components/DropDownMenuWithLabel.js +16 -54
  80. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  81. package/dist/esm/components/OrgSelect.js +6 -19
  82. package/dist/esm/components/QuillSelect.d.ts +3 -0
  83. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  84. package/dist/esm/components/QuillSelect.js +130 -0
  85. package/dist/esm/components/SegmentedControl.d.ts +7 -0
  86. package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
  87. package/dist/esm/components/SegmentedControl.js +50 -0
  88. package/dist/esm/components/UiComponents.d.ts +18 -30
  89. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  90. package/dist/esm/components/UiComponents.js +36 -83
  91. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
  92. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  93. package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
  94. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  95. package/dist/esm/forms/client_onboard/CreateSqlViews.js +40 -11
  96. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  97. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  98. package/dist/esm/forms/sql_views/CreateEditSqlView.js +29 -26
  99. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  100. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  101. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  102. package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
  103. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
  104. package/dist/esm/modals/EditFiltersModal.js +338 -0
  105. package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
  106. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  107. package/dist/esm/modals/NewDashboardModal.js +62 -45
  108. package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
  109. package/dist/esm/modals/PromoteDashModal.js +10 -3
  110. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  111. package/dist/esm/modals/ReorderDashboardModal.js +43 -46
  112. package/dist/esm/modals/index.d.ts +0 -1
  113. package/dist/esm/modals/index.d.ts.map +1 -1
  114. package/dist/esm/modals/index.js +0 -1
  115. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  116. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  117. package/dist/esm/primitives/ButtonPrimitive.js +5 -3
  118. package/dist/esm/primitives/TogglePrimitive.js +5 -5
  119. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  120. package/dist/esm/public_components/CreateEnvironment.js +1 -1
  121. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  122. package/dist/esm/public_components/DashboardBuilder.js +41 -6
  123. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  124. package/dist/esm/public_components/DashboardManager.js +49 -85
  125. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  126. package/dist/esm/public_components/SQLViewManager.js +69 -20
  127. package/dist/esm/utils/schema.d.ts +6 -0
  128. package/dist/esm/utils/schema.d.ts.map +1 -1
  129. package/dist/esm/utils/table.d.ts +1 -0
  130. package/dist/esm/utils/table.d.ts.map +1 -1
  131. package/dist/esm/utils/table.js +11 -1
  132. package/dist/esm/utils/textProcessing.d.ts +2 -0
  133. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  134. package/dist/esm/utils/textProcessing.js +5 -0
  135. package/package.json +1 -1
  136. package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
  137. package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
  138. package/dist/cjs/modals/EditDashboardsModal.js +0 -94
  139. package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
  140. package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
  141. package/dist/esm/modals/EditDashboardsModal.js +0 -91
@@ -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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"}
@@ -1,31 +1,32 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  //@ts-nocheck
3
- import { useContext, useEffect, useRef } from 'react';
4
- import { ArrowDownHeadIcon, XIcon } from '../assets';
3
+ import { useContext, useRef, } from 'react';
4
+ import { XIcon } from '../assets';
5
5
  import { ThemeContext } from '@quillsql/react';
6
+ import useOnClickOutside from '../hooks/useOnClickOutside';
6
7
  export const MemoizedTextInput = ({ value, onChange, placeholder, id, width, }) => {
7
8
  const [theme] = useContext(ThemeContext);
8
9
  return (_jsxs("div", { style: { position: 'relative', width: width }, children: [_jsx("style", { children: `
9
- .quill-text-input {
10
+ .quill-text-input {
10
11
  background-color: white;
11
12
  height: 40px;
12
- width: 180px;
13
- color: #384151;
14
- border: 1px solid #e7e7e7;
15
- border-radius: 6px;
16
- text-align: left;
17
- box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
18
- padding-left: 12px;
19
- padding-right: 12px;
20
- padding-top: 0px;
21
- padding-bottom: 0px;
22
- box-sizing: content-box;
23
- }` }), _jsx("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, style: {
13
+ width: 180px;
14
+ color: #384151;
15
+ border: 1px solid #e7e7e7;
16
+ border-radius: 6px;
17
+ text-align: left;
18
+ box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
19
+ padding-left: 12px;
20
+ padding-right: 12px;
21
+ padding-top: 0px;
22
+ padding-bottom: 0px;
23
+ box-sizing: content-box;
24
+ }` }), _jsx("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: onChange, placeholder: placeholder, style: {
24
25
  fontFamily: theme?.fontFamily,
25
26
  width: width ? 'calc(100% - 24px)' : '180px',
26
27
  } })] }));
27
28
  };
28
- export const MemoizedButton = ({ label, onClick, primary = true, style = {}, width = 'auto', }) => {
29
+ export const MemoizedButton = ({ label, onClick, isLoading = false, primary = true, style = {}, width = 'auto', }) => {
29
30
  const [theme] = useContext(ThemeContext);
30
31
  return (_jsxs("button", { className: "quill-button", onClick: onClick, style: { fontFamily: theme?.fontFamily, ...style, width: width }, children: [_jsx("style", { children: `
31
32
  .quill-button {
@@ -38,17 +39,16 @@ export const MemoizedButton = ({ label, onClick, primary = true, style = {}, wid
38
39
  box-sizing: content-box;
39
40
  padding-left: 16px;
40
41
  padding-right: 16px;
41
- overflow: hidden;
42
+ white-space: nowrap;
42
43
  font-size: 15px;
43
44
  cursor: pointer;
44
45
  }
45
46
  .quill-button:hover {
46
47
  background-color: rgba(56, 65, 81, 0.9);
47
48
  border-radius: 6px;
48
- overflow: hidden;
49
- }` }), label] }));
49
+ }` }), isLoading ? (_jsx("div", { style: { padding: '0px 16px' }, children: _jsx(LoadingSpinner, {}) })) : (label)] }));
50
50
  };
51
- export const MemoizedSecondaryButton = ({ label, onClick }) => {
51
+ export const MemoizedSecondaryButton = ({ label, onClick, isLoading = false, }) => {
52
52
  const [theme] = useContext(ThemeContext);
53
53
  return (_jsxs("button", { className: "quill-secondary-button", onClick: onClick, style: { fontFamily: theme?.fontFamily }, children: [_jsx("style", { children: `
54
54
  .quill-secondary-button {
@@ -69,34 +69,7 @@ export const MemoizedSecondaryButton = ({ label, onClick }) => {
69
69
  }
70
70
  .quill-secondary-button:hover {
71
71
  background-color: rgba(56, 65, 81, 0.09);
72
- }` }), label] }));
73
- };
74
- export const MemoizedSelect = ({ value, onChange, options, disabled = false, label, }) => {
75
- const [theme] = useContext(ThemeContext);
76
- return (_jsxs("div", { style: {
77
- position: 'relative',
78
- maxWidth: 206,
79
- }, children: [_jsx("style", { children: `
80
- .quill-select {
81
- background-color: white;
82
- height: 42px;
83
- color: #384151;
84
- width: 206px;
85
- border: 1px solid #e7e7e7;
86
- border-radius: 6px;
87
- text-align: left;
88
- box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
89
- padding-left: 12px;
90
- padding-right: 12px;
91
- }` }), _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) => (_jsx("option", { className: "quill-option", value: option.value, children: option.label }, option.value))) }), _jsx(ArrowDownHeadIcon, { style: {
92
- height: '20px',
93
- width: '20px',
94
- flex: 'none',
95
- position: 'absolute',
96
- right: 8,
97
- top: 11,
98
- color: '#6C727F',
99
- }, "aria-hidden": "true" })] }));
72
+ }` }), isLoading ? (_jsx("div", { style: { padding: '0px 16px' }, children: _jsx(LoadingSpinner, {}) })) : (label)] }));
100
73
  };
101
74
  export const MemoizedHeader = ({ children }) => (_jsx("h1", { style: {
102
75
  fontSize: 16,
@@ -120,22 +93,6 @@ export const MemoizedText = ({ children }) => (_jsx("p", { style: {
120
93
  color: '#575E6A',
121
94
  userSelect: 'none',
122
95
  }, children: children }));
123
- const useOnClickOutside = (ref, handler) => {
124
- useEffect(() => {
125
- const listener = (event) => {
126
- if (!ref.current || ref.current.contains(event.target)) {
127
- return;
128
- }
129
- handler(event);
130
- };
131
- document.addEventListener('mousedown', listener);
132
- document.addEventListener('touchstart', listener);
133
- return () => {
134
- document.removeEventListener('mousedown', listener);
135
- document.removeEventListener('touchstart', listener);
136
- };
137
- }, [ref, handler]);
138
- };
139
96
  export function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
140
97
  const modalRef = useRef(null);
141
98
  useOnClickOutside(modalRef, (e) => {
@@ -172,7 +129,8 @@ export function MemoizedPopover({ onClose, parentRef, children, style = {}, onCl
172
129
  ...style,
173
130
  }, children: children }) }))] }));
174
131
  }
175
- export function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, style = {}, }) {
132
+ export function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }) {
133
+ const [theme] = useContext(ThemeContext);
176
134
  if (!isOpen) {
177
135
  return null;
178
136
  }
@@ -185,15 +143,11 @@ export function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, the
185
143
  zIndex: '50',
186
144
  backgroundColor: 'rgba(255, 255, 255, 0.8)',
187
145
  backdropFilter: 'blur(5px)',
188
- }, onClick: onClose }), _jsx("div", { style: {
189
- // position: "absolute",
146
+ }, onClick: () => setIsOpen(false) }), _jsx("div", { style: {
190
147
  position: 'fixed',
191
148
  left: '50%',
192
149
  top: '50%',
193
150
  zIndex: '50',
194
- // width: "100%",
195
- // maxWidth: 1024,
196
- // maxHeight: '90vh',
197
151
  display: 'flex',
198
152
  justifyContent: 'center',
199
153
  alignItems: 'center',
@@ -203,21 +157,20 @@ export function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, the
203
157
  borderStyle: 'solid',
204
158
  borderWidth: 1,
205
159
  borderColor: '#e7e7e7',
206
- overflow: 'hidden',
207
- // zIndex: 1000,
208
- ...style,
160
+ overflow: 'scroll',
161
+ width: width ?? 'auto',
162
+ height: height ?? 'auto',
163
+ maxWidth: 'calc(100vw - 82px)',
164
+ maxHeight: 'calc(100vh - 82px)',
209
165
  }, children: _jsxs("div", { style: {
210
- width: '100%',
211
166
  height: '100%',
212
- overflowY: 'auto',
213
- // maxWidth: "700px",
167
+ width: '100%',
168
+ maxWidth: 'calc(100vw - 82px)',
169
+ maxHeight: 'calc(100vh - 82px)',
170
+ overflowY: 'scroll',
214
171
  backgroundColor: '#ffffff',
215
- // padding: "20px",
216
- // borderRadius: "8px",
217
- flexGrow: 1,
218
172
  display: 'flex',
219
173
  flexDirection: 'column',
220
- alignItems: 'center',
221
174
  position: 'relative',
222
175
  fontFamily: theme?.fontFamily,
223
176
  }, children: [_jsxs("div", { id: "quill-modal-header", style: {
@@ -234,11 +187,11 @@ export function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, the
234
187
  textAlign: 'left',
235
188
  paddingTop: 18,
236
189
  color: theme?.primaryTextColor,
237
- }, children: title }), _jsx(MemoizedDeleteButton, { onClick: onClose, style: { marginRight: 10, marginTop: 10 } })] }), children] }) })] }));
190
+ }, children: title }), _jsx("div", { style: { marginRight: 10, marginTop: 10 }, children: _jsx(MemoizedDeleteButton, { onClick: () => setIsOpen(false) }) })] }), children] }) })] }));
238
191
  }
239
192
  export const MemoizedDeleteButton = ({ onClick, style }) => (_jsxs("button", { className: "quill-delete-button", type: "button", onClick: onClick, style: {
240
- height: 42,
241
- width: 42,
193
+ height: 40,
194
+ width: 40,
242
195
  border: 'none',
243
196
  cursor: 'pointer',
244
197
  display: 'flex',
@@ -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, clientId, parentRef, }: {
4
+ export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, state, }: {
5
5
  containerStyle?: CSSProperties;
6
6
  header1Style?: CSSProperties;
7
7
  header2Style?: CSSProperties;
@@ -11,5 +11,6 @@ export default function ConnectSchema({ containerStyle, header1Style, header2Sty
11
11
  propogateSchemaDetails: (schemaDetails?: SchemaDetails) => void;
12
12
  clientId: string;
13
13
  parentRef: any;
14
+ state: any;
14
15
  }): import("react/jsx-runtime").JSX.Element;
15
16
  //# 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,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"}
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;AAUnD,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,EACT,KAAK,GACN,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;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,2CAubA"}
@@ -1,12 +1,38 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
- import { ButtonPrimitive } from '../../primitives';
3
+ import { ButtonPrimitive, TextInputPrimitive } from '../../primitives';
4
4
  import DropdownMenuWithLabel from '../../components/DropDownMenuWithLabel';
5
- import { getFKInfo, getOrgInfo, getSchemaTableInfo, getTableInfo, getTablesBySchema, } from '../../api/ConnectionClient';
6
- export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, }) {
5
+ import { getFKInfo, getOrgInfo, getSchemaTableInfo, getSqlViewData, getTableInfo, getTablesBySchema, processCustomerOrgViewQuery, } from '../../api/ConnectionClient';
6
+ export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, state, }) {
7
7
  const [schemaDetails, setSchemaDetails] = useState(allSchemaInfo);
8
8
  const [schemaError, setSchemaError] = useState(initialError);
9
9
  const [formError, setFormError] = useState({ show: false, message: '' });
10
+ const [runQueryButtonLabel, setRunQueryButtonLabel] = useState('Run query');
11
+ const [errorInfo, setErrorInfo] = useState({ status: false, msg: '' });
12
+ const [customerViewQuery, setCustomerViewQuery] = useState('');
13
+ const handleQuerySuccess = async (getSqlResults) => {
14
+ const processedResults = await processCustomerOrgViewQuery(customerViewQuery, allSchemaInfo?.selectedFields.schema || '', clientId);
15
+ if (processedResults.success === false) {
16
+ setErrorInfo({
17
+ status: true,
18
+ msg: processedResults.message || 'Failed to process the query.',
19
+ });
20
+ return;
21
+ }
22
+ setSchemaDetails({
23
+ ...schemaDetails,
24
+ // @ts-ignore
25
+ selectedFields: {
26
+ ...schemaDetails?.selectedFields,
27
+ table: processedResults.table,
28
+ organizationIdField: 'id',
29
+ customerNameField: 'name',
30
+ customerView: customerViewQuery,
31
+ },
32
+ customQueryFKs: processedResults.fkInfo,
33
+ customQueryOrganizations: getSqlResults.rows,
34
+ });
35
+ };
10
36
  return (_jsxs("div", { style: { ...containerStyle }, id: "connect-database-form", children: [_jsx("h1", { style: header1Style, children: "Select Organization Table" }), _jsx("h2", { style: header2Style, children: "Select which table you use for organizations (your customers). Quill uses this table to partition data by organization." }), _jsxs("div", { style: {
11
37
  marginTop: 16,
12
38
  width: '100%',
@@ -60,92 +86,141 @@ export default function ConnectSchema({ containerStyle, header1Style, header2Sty
60
86
  else {
61
87
  setSchemaError(suspectedSchema);
62
88
  }
63
- } }))] }), schemaDetails?.tables && (_jsxs("div", { children: [_jsx("div", { style: { gap: 16 }, id: "database-details-form", children: _jsxs("div", {
64
- // style={{
65
- // display: 'flex',
66
- // flexWrap: 'wrap',
67
- // width: '100%',
68
- // gap: '16px',
69
- // }}
70
- style: {
71
- display: 'grid',
72
- gridTemplateColumns: 'repeat(3, 1fr)',
73
- gap: '20px',
74
- justifyContent: 'space-between',
75
- marginTop: '8px',
76
- }, children: [_jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.tables || [], setSelected: async (e) => {
77
- const columns = await getTableInfo(clientId, schemaDetails?.selectedFields?.schema, e);
78
- setSchemaDetails({
79
- ...schemaDetails,
80
- columns: columns.columns,
81
- foreignKeys: [],
82
- organizations: [],
83
- selectedFields: {
84
- schema: schemaDetails?.selectedFields?.schema,
85
- table: e,
86
- },
87
- });
88
- }, selected: schemaDetails?.selectedFields?.table, label: 'Organization table' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
89
- const fkStrings = await getFKInfo(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e);
90
- if (schemaDetails?.selectedFields.customerNameField) {
91
- const organizations = await getOrgInfo(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e, schemaDetails?.selectedFields.customerNameField);
89
+ } }))] }), schemaDetails?.tables && (_jsxs("div", { children: [_jsxs("div", { style: { gap: 16 }, id: "database-details-form", children: [_jsxs("div", {
90
+ // style={{
91
+ // display: 'flex',
92
+ // flexWrap: 'wrap',
93
+ // width: '100%',
94
+ // gap: '16px',
95
+ // }}
96
+ style: {
97
+ display: 'grid',
98
+ gridTemplateColumns: 'repeat(3, 1fr)',
99
+ gap: '20px',
100
+ justifyContent: 'space-between',
101
+ marginTop: '8px',
102
+ }, children: [_jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.tables || [], setSelected: async (e) => {
103
+ const columns = await getTableInfo(clientId, schemaDetails?.selectedFields?.schema, e);
92
104
  setSchemaDetails({
93
105
  ...schemaDetails,
94
- organizations: organizations,
106
+ columns: columns.columns,
107
+ foreignKeys: [],
108
+ organizations: [],
109
+ selectedFields: {
110
+ schema: schemaDetails?.selectedFields?.schema,
111
+ table: e,
112
+ },
113
+ });
114
+ }, selected: schemaDetails?.selectedFields?.table, label: 'Organization table' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
115
+ const fkStrings = await getFKInfo(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e);
116
+ if (schemaDetails?.selectedFields.customerNameField) {
117
+ const organizations = await getOrgInfo(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e, schemaDetails?.selectedFields.customerNameField);
118
+ setSchemaDetails({
119
+ ...schemaDetails,
120
+ organizations: organizations,
121
+ selectedFields: {
122
+ ...schemaDetails?.selectedFields,
123
+ organizationIdField: e,
124
+ },
125
+ });
126
+ }
127
+ setSchemaDetails({
128
+ ...schemaDetails,
129
+ foreignKeys: fkStrings,
95
130
  selectedFields: {
96
131
  ...schemaDetails?.selectedFields,
97
132
  organizationIdField: e,
98
133
  },
99
134
  });
100
- }
101
- setSchemaDetails({
102
- ...schemaDetails,
103
- foreignKeys: fkStrings,
104
- selectedFields: {
105
- ...schemaDetails?.selectedFields,
106
- organizationIdField: e,
107
- },
108
- });
109
- }, selected: schemaDetails?.selectedFields?.organizationIdField, label: 'Organization ID field' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
110
- if (schemaDetails?.selectedFields.organizationIdField) {
111
- const organizations = await getOrgInfo(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, schemaDetails?.selectedFields.organizationIdField, e);
135
+ }, selected: schemaDetails?.selectedFields?.organizationIdField, label: 'Organization ID field' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
136
+ if (schemaDetails?.selectedFields.organizationIdField) {
137
+ const organizations = await getOrgInfo(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, schemaDetails?.selectedFields.organizationIdField, e);
138
+ setSchemaDetails({
139
+ ...schemaDetails,
140
+ organizations: organizations,
141
+ selectedFields: {
142
+ ...schemaDetails?.selectedFields,
143
+ customerNameField: e,
144
+ },
145
+ });
146
+ }
147
+ else {
148
+ setSchemaDetails({
149
+ ...schemaDetails,
150
+ selectedFields: {
151
+ ...schemaDetails?.selectedFields,
152
+ customerNameField: e,
153
+ },
154
+ });
155
+ }
156
+ }, selected: schemaDetails?.selectedFields?.customerNameField, label: 'Organization name field' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.organizations?.map((orgObj) => orgObj.name) ||
157
+ [], setSelected: async (e) => {
158
+ const orgObj = schemaDetails?.organizations?.find((orgObj) => orgObj.name === e);
112
159
  setSchemaDetails({
113
160
  ...schemaDetails,
114
- organizations: organizations,
115
161
  selectedFields: {
116
162
  ...schemaDetails?.selectedFields,
117
- customerNameField: e,
163
+ defaultOrg: orgObj,
118
164
  },
119
165
  });
120
- }
121
- else {
166
+ }, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.foreignKeys || [], setSelected: async (e) => {
122
167
  setSchemaDetails({
123
168
  ...schemaDetails,
124
169
  selectedFields: {
125
170
  ...schemaDetails?.selectedFields,
126
- customerNameField: e,
171
+ foreignKey: e,
127
172
  },
128
173
  });
129
- }
130
- }, selected: schemaDetails?.selectedFields?.customerNameField, label: 'Organization name field' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.organizations?.map((orgObj) => orgObj.name) ||
131
- [], setSelected: async (e) => {
132
- const orgObj = schemaDetails?.organizations?.find((orgObj) => orgObj.name === e);
133
- setSchemaDetails({
134
- ...schemaDetails,
135
- selectedFields: {
136
- ...schemaDetails?.selectedFields,
137
- defaultOrg: orgObj,
138
- },
139
- });
140
- }, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.foreignKeys || [], setSelected: async (e) => {
141
- setSchemaDetails({
142
- ...schemaDetails,
143
- selectedFields: {
144
- ...schemaDetails?.selectedFields,
145
- foreignKey: e,
146
- },
147
- });
148
- }, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }) }), _jsxs("div", { style: {
174
+ }, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }), _jsxs("div", { style: {
175
+ ...header1Style,
176
+ textAlign: 'center',
177
+ fontSize: 14,
178
+ color: '#565656',
179
+ display: 'flex',
180
+ flexDirection: 'row',
181
+ alignItems: 'center',
182
+ paddingTop: 24,
183
+ paddingBottom: 0,
184
+ }, children: [_jsx("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } }), _jsx("div", { style: { padding: 12 }, children: "or" }), _jsx("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '16px' }, children: [_jsxs("div", { children: [_jsx("h2", { style: { ...header2Style, fontWeight: 600, color: "#6e6e6e" }, children: "Customer Organization View" }), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '16px' }, children: [_jsx(TextInputPrimitive, { onChange: (e) => {
185
+ setCustomerViewQuery(e.target.value);
186
+ }, value: customerViewQuery }), _jsx(ButtonPrimitive, { label: runQueryButtonLabel, onClick: async () => {
187
+ setRunQueryButtonLabel('Querying...');
188
+ const getSqlResults = await getSqlViewData(clientId, customerViewQuery, environmentDetails.type, state.queryEndpoint);
189
+ if (!getSqlResults.success) {
190
+ setErrorInfo({
191
+ status: true,
192
+ msg: getSqlResults.error,
193
+ });
194
+ }
195
+ else {
196
+ setErrorInfo({ status: false, msg: '' });
197
+ handleQuerySuccess(getSqlResults);
198
+ }
199
+ setRunQueryButtonLabel('Run query');
200
+ },
201
+ // dont let the font wrap
202
+ style: { whiteSpace: 'nowrap' } })] })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '16px' }, children: [_jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.customQueryOrganizations?.map((orgObj) => orgObj.name) || [], setSelected: async (e) => {
203
+ const orgObj = schemaDetails?.customQueryOrganizations?.find((orgObj) => orgObj.name === e);
204
+ setSchemaDetails({
205
+ ...schemaDetails,
206
+ selectedFields: {
207
+ ...schemaDetails?.selectedFields,
208
+ defaultOrg: orgObj,
209
+ },
210
+ });
211
+ }, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), _jsx(DropdownMenuWithLabel, { parentRef: parentRef, items: schemaDetails?.customQueryFKs || [], setSelected: async (e) => {
212
+ setSchemaDetails({
213
+ ...schemaDetails,
214
+ selectedFields: {
215
+ ...schemaDetails?.selectedFields,
216
+ foreignKey: e,
217
+ },
218
+ });
219
+ }, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }), errorInfo.status ? (_jsx("h2", { style: {
220
+ ...header2Style,
221
+ color: 'red',
222
+ paddingTop: '12px',
223
+ }, children: errorInfo.msg })) : (_jsx("div", {}))] })] }), _jsxs("div", { style: {
149
224
  width: '100%',
150
225
  display: 'flex',
151
226
  justifyContent: 'space-between',
@@ -1 +1 @@
1
- {"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAa3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAK7E,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ,2CAiWA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,2CAiDA"}
1
+ {"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAY3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAS7E,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ,2CA0ZA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,2CAiDA"}