@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,3 @@
1
+ export { default as ArrowDownHeadIcon } from './ArrowDownHeadIcon';
2
+ export { default as XIcon } from './XIcon';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.XIcon = exports.ArrowDownHeadIcon = void 0;
7
+ var ArrowDownHeadIcon_1 = require("./ArrowDownHeadIcon");
8
+ Object.defineProperty(exports, "ArrowDownHeadIcon", { enumerable: true, get: function () { return __importDefault(ArrowDownHeadIcon_1).default; } });
9
+ var XIcon_1 = require("./XIcon");
10
+ Object.defineProperty(exports, "XIcon", { enumerable: true, get: function () { return __importDefault(XIcon_1).default; } });
@@ -0,0 +1,6 @@
1
+ export default function DatabaseMismatchCard({ environemntName, environemntDatabaseType, backendDatabaseType, }: {
2
+ environemntName: string;
3
+ environemntDatabaseType: string;
4
+ backendDatabaseType: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=DatabaseMismatchCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseMismatchCard.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseMismatchCard.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,eAAe,EACf,uBAAuB,EACvB,mBAAmB,GACpB,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;CAC7B,2CAmDA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ function DatabaseMismatchCard({ environemntName, environemntDatabaseType, backendDatabaseType, }) {
5
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
6
+ display: 'flex',
7
+ flexDirection: 'column',
8
+ alignItems: 'center',
9
+ width: '100%',
10
+ marginTop: 80,
11
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
12
+ borderRadius: 10,
13
+ width: 500,
14
+ border: '1px solid #e7e7e7',
15
+ padding: 20,
16
+ }, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 20, fontWeight: 'bolder' }, children: "Invalid Database Type Connected to Quill Server SDK" }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("p", { children: ["The selected environment ", (0, jsx_runtime_1.jsx)("strong", { children: environemntName }), " is running on ", (0, jsx_runtime_1.jsx)("strong", { children: environemntDatabaseType }), ", but the", ' ', (0, jsx_runtime_1.jsx)("strong", { children: "queryEndpoint " }), "prop passed into ", (0, jsx_runtime_1.jsx)("strong", { children: '<AdminProvider />' }), " is connecting to", (0, jsx_runtime_1.jsxs)("strong", { children: [" ", backendDatabaseType, "."] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "If you intend to use a different environment that uses", ' ', (0, jsx_runtime_1.jsx)("strong", { children: backendDatabaseType }), ", switch to that environment in the ", (0, jsx_runtime_1.jsx)("strong", { children: "Environment" }), " dropdown.", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "If you intend to connect to a different endpoint with a different datasource, you can do so by passing the", ' ', (0, jsx_runtime_1.jsx)("strong", { children: "queryEndpoint" }), " prop into", ' ', (0, jsx_runtime_1.jsx)("strong", { children: '<AdminProvider />' }), " with the correct endpoint.", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "If you intend to connect to a different datasource and continue to use the same endpoint, you can do so by passing the credentials of the datasource into the ", (0, jsx_runtime_1.jsx)("strong", { children: "databaseCredentials" }), " object in the instantiation of the ", (0, jsx_runtime_1.jsx)("strong", { children: "Quill Server SDK" }), "."] })] }) }));
17
+ }
18
+ exports.default = DatabaseMismatchCard;
@@ -5,7 +5,8 @@ interface DatabaseSelectorProps {
5
5
  value: string;
6
6
  onDatabaseSelect: (database: string) => void;
7
7
  containerStyle?: CSSProperties;
8
+ databaseType: string;
8
9
  }
9
- export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
10
+ export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
10
11
  export {};
11
12
  //# sourceMappingURL=DatabaseSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,cAAc,GACf,EAAE,qBAAqB,2CAqCvB"}
1
+ {"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,YAAiB,GAClB,EAAE,qBAAqB,2CAqCvB"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
- function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, }) {
4
+ function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType = '', }) {
5
5
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
6
6
  ...containerStyle,
7
7
  height: 128,
@@ -10,7 +10,7 @@ function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerS
10
10
  flexDirection: 'column',
11
11
  justifyContent: 'center',
12
12
  alignItems: 'center',
13
- border: '1px solid #e0e0e0',
13
+ border: `${databaseType === value ? '2px' : '1px'} solid ${databaseType === value ? '#000000' : '#e0e0e0'}`,
14
14
  borderRadius: 6,
15
15
  padding: 12,
16
16
  }, id: "connect-database-form", onClick: () => {
@@ -6,7 +6,8 @@ interface DropdownMenuWithLabelProps {
6
6
  theme?: any;
7
7
  secondaryTextColor?: string;
8
8
  disabled?: boolean;
9
+ parentRef: any;
9
10
  }
10
- export default function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled, secondaryTextColor, }: DropdownMenuWithLabelProps): import("react/jsx-runtime").JSX.Element;
11
+ export default function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled, secondaryTextColor, parentRef, }: DropdownMenuWithLabelProps): import("react/jsx-runtime").JSX.Element;
11
12
  export {};
12
13
  //# sourceMappingURL=DropDownMenuWithLabel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownMenuWithLabel.d.ts","sourceRoot":"","sources":["../../../src/components/DropDownMenuWithLabel.tsx"],"names":[],"mappings":"AAEA,UAAU,0BAA0B;IAClC,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,kBAA8B,GAC/B,EAAE,0BAA0B,2CA0F5B"}
1
+ {"version":3,"file":"DropDownMenuWithLabel.d.ts","sourceRoot":"","sources":["../../../src/components/DropDownMenuWithLabel.tsx"],"names":[],"mappings":"AAIA,UAAU,0BAA0B;IAClC,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,kBAA8B,EAC9B,SAAS,GACV,EAAE,0BAA0B,2CAqH5B"}
@@ -1,50 +1,171 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  const jsx_runtime_1 = require("react/jsx-runtime");
4
- function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled = false, secondaryTextColor = '#6e6e6e', }) {
5
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h1", { style: {
27
+ const react_1 = __importStar(require("react"));
28
+ const OrgSelect_1 = require("./OrgSelect");
29
+ function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled = false, secondaryTextColor = '#6e6e6e', parentRef, }) {
30
+ const [isOpen, setIsOpen] = react_1.default.useState(false);
31
+ const [searchQuery, setSearchQuery] = react_1.default.useState('');
32
+ const [filteredItems, setFilteredItems] = react_1.default.useState(items);
33
+ (0, react_1.useEffect)(() => {
34
+ setFilteredItems(items);
35
+ }, [items]);
36
+ const handleSearchChange = (value) => {
37
+ setSearchQuery(value);
38
+ setFilteredItems(items.filter((item) => item.toLowerCase().includes(value.toLowerCase())));
39
+ };
40
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
6
41
  fontSize: '14px',
7
42
  paddingTop: '0px',
8
43
  marginTop: '0px',
9
44
  marginBottom: '4px',
10
45
  fontWeight: '600',
11
46
  color: secondaryTextColor,
12
- userSelect: 'none',
13
- }, children: label }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
14
- position: 'relative',
15
- fontFamily: theme?.fontFamily,
16
- fontSize: 14,
17
- fontWeight: 500,
18
- }, children: [(0, jsx_runtime_1.jsxs)("select", { style: {
19
- width: '100%',
20
- minWidth: 250,
21
- maxWidth: 250,
22
- outline: 'none',
23
- textAlign: 'left',
24
- whiteSpace: 'nowrap',
25
- overflow: 'hidden',
26
- textOverflow: 'ellipsis',
27
- borderRadius: 6,
28
- WebkitAppearance: 'none',
29
- paddingLeft: 12,
30
- paddingRight: 12,
31
- height: 38,
32
- borderWidth: 1,
33
- borderColor: '#e7e7e7',
34
- background: 'white',
35
- color: '#212121',
36
- boxShadow: '0 1px 2px 0 rgba(0,0,0,.05)',
37
- fontFamily: theme?.fontFamily,
38
- }, disabled: disabled, onChange: (e) => {
39
- setSelected(items.find((item) => item === e.target.value));
40
- }, value: selected || '', children: [(0, jsx_runtime_1.jsx)("option", { value: "", children: items && items.length !== 0 ? 'Select' : 'N/A' }), items.slice(0, 50).map((item) => ((0, jsx_runtime_1.jsx)("option", { value: item, children: item }, item)))] }), (0, jsx_runtime_1.jsxs)("svg", { style: {
41
- height: '20px',
42
- width: '20px',
43
- flex: 'none',
44
- position: 'absolute',
45
- right: 8,
46
- top: 9,
47
- color: '#565656',
48
- }, "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", visibility: disabled ? 'hidden' : 'visible', children: [(0, jsx_runtime_1.jsx)("path", { fill: "none", d: "M0 0h24v24H0z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M12 13.172l4.95-4.95 1.414 1.414L12 16 5.636 9.636 7.05 8.222z" })] })] }) })] }));
47
+ }, children: label }), (0, jsx_runtime_1.jsxs)(OrgSelect_1.Popover, { parentRef: parentRef, label: items.length === 0 ? 'N/A' : selected ? selected : 'Select', isOpen: isOpen, onClose: () => setIsOpen(false), style: {
48
+ boxSizing: 'border-box',
49
+ fontSize: 14,
50
+ // padding: 11,
51
+ }, setIsOpen: setIsOpen, children: [(0, jsx_runtime_1.jsx)(OrgSelect_1.ListboxTextInput, { id: "quill-search-bar", placeholder: 'Search', value: searchQuery, onChange: handleSearchChange }), (0, jsx_runtime_1.jsx)("div", { style: { height: 9, width: 230, borderTop: '1px solid #e7e7e7' } }), (0, jsx_runtime_1.jsx)("div", { style: { gap: 2, maxHeight: '50vh' }, children: filteredItems.map((item, index) => ((0, jsx_runtime_1.jsx)(ListboxRow, { setSelected: setSelected, setIsOpen: setIsOpen, item: item }, index))) }), (0, jsx_runtime_1.jsx)("div", { style: { height: 8, width: 230 } })] })] }));
52
+ {
53
+ /* return (
54
+ <div style={{ position: 'relative', minWidth: 230 }}>
55
+ <h1
56
+ style={{
57
+ fontSize: '14px',
58
+ paddingTop: '0px',
59
+ marginTop: '0px',
60
+ marginBottom: '4px',
61
+ fontWeight: '600',
62
+ color: secondaryTextColor,
63
+ userSelect: 'none',
64
+ }}
65
+ >
66
+ {label}
67
+ </h1>
68
+ <MemoizedPopover
69
+ parentRef={parentRef}
70
+ label={selected}
71
+ isOpen={isOpen}
72
+ onClose={() => setIsOpen(false)}
73
+ // style={{
74
+ // boxSizing: 'border-box',
75
+ // fontSize: 14,
76
+ // }}
77
+ setIsOpen={setIsOpen}
78
+ onClick={() => console.log()}
79
+ >
80
+ <MemoizedTextInput
81
+ id="quill-search-bar"
82
+ placeholder="Search"
83
+ value={searchQuery}
84
+ onChange={handleSearchChange}
85
+ />
86
+ <div
87
+ style={{ height: 9, width: 230, borderTop: '1px solid #e7e7e7' }}
88
+ />
89
+ <div style={{ gap: 2, maxHeight: '50vh' }}>
90
+ {filteredItems.map((item, index) => (
91
+ <DropdownRow setSelected={setSelected} item={item} key={index} />
92
+ ))}
93
+ {filteredItems.length === 0 && (
94
+ <DropdownRow item={{ name: `No ${label} found` }} />
95
+ )}
96
+ </div>
97
+ </Popover>
98
+
99
+ </div>
100
+ </div>
101
+ ); */
102
+ }
49
103
  }
50
104
  exports.default = DropdownMenuWithLabel;
105
+ function ListboxRow({ item, setSelected, setIsOpen, }) {
106
+ return ((0, jsx_runtime_1.jsxs)("div", { onClick: setSelected
107
+ ? () => {
108
+ setSelected(item);
109
+ setIsOpen(false);
110
+ }
111
+ : undefined, className: "drop-down", children: [(0, jsx_runtime_1.jsx)("style", { children: `
112
+ .drop-down {
113
+ background-color: white;
114
+ height: 42px;
115
+ color: #384151;
116
+ width: 216px;
117
+ borderBottom: 1px solid #e7e7e7;
118
+ border-radius: 6px;
119
+ text-align: left;
120
+ padding-left: 10px;
121
+ padding-right: 12px;
122
+ display: flex;
123
+ flex-direction: row;
124
+ align-items: center;
125
+ cursor: pointer;
126
+ font-weight: 500;
127
+ font-size: 14px;
128
+ text-overflow: ellipsis;
129
+ white-space: nowrap;
130
+ overflow: hidden;
131
+ }
132
+ .quill-org-select:hover {
133
+ background-color: rgba(56, 65, 81, 0.04);
134
+ }` }), (0, jsx_runtime_1.jsx)("div", { style: {
135
+ textOverflow: 'ellipsis',
136
+ whiteSpace: 'nowrap',
137
+ overflow: 'hidden',
138
+ display: 'block',
139
+ }, children: item.name || item })] }));
140
+ }
141
+ function DropdownRow({ item, setSelected, }) {
142
+ return ((0, jsx_runtime_1.jsxs)("div", { onClick: setSelected ? () => setSelected(item) : undefined, className: "dropdown-row", children: [(0, jsx_runtime_1.jsx)("style", { children: `
143
+ .dropdown-row {
144
+ background-color: white;
145
+ height: 42px;
146
+ color: #384151;
147
+ width: 216px;
148
+ borderBottom: 1px solid #e7e7e7;
149
+ border-radius: 6px;
150
+ text-align: left;
151
+ padding-left: 10px;
152
+ padding-right: 12px;
153
+ display: flex;
154
+ flex-direction: row;
155
+ align-items: center;
156
+ cursor: pointer;
157
+ font-weight: 500;
158
+ font-size: 14px;
159
+ text-overflow: ellipsis;
160
+ white-space: nowrap;
161
+ overflow: hidden;
162
+ }
163
+ .dropdown-row:hover {
164
+ background-color: rgba(56, 65, 81, 0.04);
165
+ }` }), (0, jsx_runtime_1.jsx)("div", { style: {
166
+ textOverflow: 'ellipsis',
167
+ whiteSpace: 'nowrap',
168
+ overflow: 'hidden',
169
+ display: 'block',
170
+ }, children: item })] }));
171
+ }
@@ -0,0 +1,11 @@
1
+ import { CSSProperties } from 'react';
2
+ interface DynamicBannerProps {
3
+ header: string;
4
+ message: string;
5
+ onExit: () => void;
6
+ style: CSSProperties;
7
+ fontColor?: string;
8
+ }
9
+ export default function DynamicBanner({ header, message, onExit, style, fontColor, }: DynamicBannerProps): JSX.Element | null;
10
+ export {};
11
+ //# sourceMappingURL=DynamicBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicBanner.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,GACV,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAiCzC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const XMarkIcon_1 = __importDefault(require("../icons/XMarkIcon"));
8
+ function DynamicBanner({ header, message, onExit, style, fontColor, }) {
9
+ return ((0, jsx_runtime_1.jsxs)("div", { id: "quill-edit-banner", style: {
10
+ width: '100vw',
11
+ height: 70,
12
+ minHeight: 70,
13
+ display: 'flex',
14
+ flexDirection: 'row',
15
+ alignItems: 'center',
16
+ justifyContent: 'space-between',
17
+ paddingLeft: 20,
18
+ paddingRight: 20,
19
+ borderBottom: '1px solid #e7e7e7',
20
+ }, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 21, fontWeight: 600, color: '#212121' }, children: header }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: onExit, style: { padding: '6px', margin: '-6px' }, children: (0, jsx_runtime_1.jsx)(XMarkIcon_1.default, { style: { width: '20px', height: '20px' }, fill: fontColor, "aria-hidden": "true" }) })] }));
21
+ }
22
+ exports.default = DynamicBanner;
@@ -1 +1 @@
1
- {"version":3,"file":"EnvSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/components/EnvSelectPopover.tsx"],"names":[],"mappings":"AAIA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACZ,EAAE,qBAAqB,2CAsTvB"}
1
+ {"version":3,"file":"EnvSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/components/EnvSelectPopover.tsx"],"names":[],"mappings":"AAIA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACZ,EAAE,qBAAqB,2CAqTvB"}
@@ -208,7 +208,6 @@ function EnvSelectPopover({ clients, setClient, client, theme, environment, setE
208
208
  ? () => handleItemClick(item)
209
209
  : undefined, style: {
210
210
  ...clientStyles,
211
- visibility: showPromote ? 'visible' : 'hidden',
212
211
  }, children: item.name }), client && client._id === item._id && ((0, jsx_runtime_1.jsxs)("div", { onClick: (e) => handlePromoteClick(e, item), style: {
213
212
  ...promoteStyles,
214
213
  visibility: showPromote ? 'visible' : 'hidden',
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  interface OrgSelectProps {
2
3
  parentRef: any;
3
4
  environment: string;
@@ -7,6 +8,28 @@ interface OrgSelectProps {
7
8
  organizationId: string;
8
9
  setOrganizationId: (organizationId: string | null) => void;
9
10
  }
11
+ interface PopoverComponentProps {
12
+ children: any;
13
+ onClose?: () => void;
14
+ parentRef?: any;
15
+ style?: any;
16
+ onClick?: (e: React.MouseEvent) => void;
17
+ label?: string;
18
+ showTrigger?: boolean;
19
+ isOpen: boolean;
20
+ setIsOpen: (isOpen: boolean) => void;
21
+ }
22
+ export declare function Popover({ onClose, parentRef, children, style, onClick, label, showTrigger, isOpen, setIsOpen, }: PopoverComponentProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare const ListboxTextInput: ({ value, onChange, placeholder, id, }: {
24
+ value: string;
25
+ onChange: (e: string) => void;
26
+ placeholder: string;
27
+ id: string;
28
+ }) => import("react/jsx-runtime").JSX.Element;
10
29
  export default function OrgSelect({ environment, setEnvironment, organizations, theme, organizationId, setOrganizationId, parentRef, }: OrgSelectProps): import("react/jsx-runtime").JSX.Element;
30
+ export declare function ListboxRow({ item, setSelected, }: {
31
+ item: any;
32
+ setSelected?: (item: any) => void;
33
+ }): import("react/jsx-runtime").JSX.Element;
11
34
  export {};
12
35
  //# sourceMappingURL=OrgSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACtB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AA0ND,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,WAAW,EACX,cAAc,EACd,aAAa,EACb,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,EAAE,cAAc,2CAiGhB"}
1
+ {"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,UAAU,cAAc;IACtB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAsBD,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAU,EACV,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAqGvB;AAED,eAAO,MAAM,gBAAgB;WAMpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;QACf,MAAM;6CA0DX,CAAC;AAwCF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,WAAW,EACX,cAAc,EACd,aAAa,EACb,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,EAAE,cAAc,2CAoGhB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACnC,2CA0CA"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListboxRow = exports.ListboxTextInput = exports.Popover = void 0;
3
4
  const jsx_runtime_1 = require("react/jsx-runtime");
4
5
  const react_1 = require("react");
5
6
  const icons_1 = require("../icons");
@@ -20,7 +21,7 @@ const useOnClickOutside = (ref, handler) => {
20
21
  };
21
22
  }, [ref, handler]);
22
23
  };
23
- function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
24
+ function Popover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
24
25
  const modalRef = (0, react_1.useRef)(null);
25
26
  useOnClickOutside(modalRef, (e) => {
26
27
  // Exclude click on trigger button (e.g. Dropdown Button) from outside click handler
@@ -64,8 +65,6 @@ function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, la
64
65
  height: 38,
65
66
  background: 'white',
66
67
  color: '#384151',
67
- // boxShadow: "0 1px 2px 0 rgba(0,0,0,.05)",
68
- // fontFamily: theme.fontFamily,
69
68
  fontWeight: 500,
70
69
  fontSize: 14,
71
70
  position: 'relative',
@@ -94,7 +93,8 @@ function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, la
94
93
  ...style,
95
94
  }, children: children }) }))] }));
96
95
  }
97
- const MemoizedTextInput = ({ value, onChange, placeholder, id, }) => {
96
+ exports.Popover = Popover;
97
+ const ListboxTextInput = ({ value, onChange, placeholder, id, }) => {
98
98
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
99
99
  position: 'relative',
100
100
  display: 'flex',
@@ -120,6 +120,43 @@ const MemoizedTextInput = ({ value, onChange, placeholder, id, }) => {
120
120
  outline: none;
121
121
  }` }), (0, jsx_runtime_1.jsx)("div", { style: { width: 6 } }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", fill: "rgba(56, 65, 81, 0.7)", height: "16", width: "16", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z", clipRule: "evenodd" }) }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder })] }));
122
122
  };
123
+ exports.ListboxTextInput = ListboxTextInput;
124
+ function castNumberToString(value) {
125
+ if (typeof value === 'number') {
126
+ return value.toString();
127
+ }
128
+ return value;
129
+ }
130
+ function createOrganizationList(organizations) {
131
+ // if capital fields
132
+ if (!organizations || !organizations.length) {
133
+ return [];
134
+ }
135
+ if (organizations[0]['NAME'] && organizations[0]['ID']) {
136
+ return [
137
+ ...organizations.map((org) => {
138
+ const name = org['NAME'];
139
+ const id = org['ID'];
140
+ return {
141
+ name,
142
+ id: castNumberToString(id),
143
+ };
144
+ }),
145
+ { name: 'All Organizations', id: '*' },
146
+ ];
147
+ }
148
+ return [
149
+ ...organizations.map((org) => {
150
+ const name = org['name'];
151
+ const id = org['id'];
152
+ return {
153
+ name,
154
+ id: castNumberToString(id),
155
+ };
156
+ }),
157
+ { name: 'All Organizations', id: '*' },
158
+ ];
159
+ }
123
160
  function OrgSelect({ environment, setEnvironment, organizations, theme, organizationId, setOrganizationId, parentRef, }) {
124
161
  (0, react_1.useEffect)(() => {
125
162
  setEnvironment(environment);
@@ -127,10 +164,7 @@ function OrgSelect({ environment, setEnvironment, organizations, theme, organiza
127
164
  const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
128
165
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
129
166
  const [searchQuery, setSearchQuery] = (0, react_1.useState)('');
130
- const dropDownItems = organizations.map((org) => ({
131
- name: org.name,
132
- id: org.id,
133
- }));
167
+ const dropDownItems = (0, react_1.useMemo)(() => createOrganizationList(organizations), [organizations]);
134
168
  const handleSelectOrganization = (selectedItem) => {
135
169
  if (state.activeQuery) {
136
170
  const message = 'Are you sure? Changing organization will exit edit mode and your changes will not be saved.';
@@ -145,10 +179,15 @@ function OrgSelect({ environment, setEnvironment, organizations, theme, organiza
145
179
  const selectedOrganization = dropDownItems.find((item) => item.id === organizationId);
146
180
  const filteredOrganizations = searchQuery === ''
147
181
  ? dropDownItems
148
- : dropDownItems.filter((org) => org.name
149
- .toLowerCase()
150
- .replace(/\s+/g, '')
151
- .includes(searchQuery.toLowerCase().replace(/\s+/g, '')));
182
+ : dropDownItems.filter((org) => {
183
+ if (!org.name) {
184
+ return false;
185
+ }
186
+ return org.name
187
+ .toLowerCase()
188
+ .replace(/\s+/g, '')
189
+ .includes(searchQuery.toLowerCase().replace(/\s+/g, ''));
190
+ });
152
191
  return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
153
192
  fontSize: '14px',
154
193
  paddingTop: '0px',
@@ -156,14 +195,14 @@ function OrgSelect({ environment, setEnvironment, organizations, theme, organiza
156
195
  marginBottom: '4px',
157
196
  fontWeight: '600',
158
197
  color: theme.secondaryTextColor,
159
- }, children: "Organization" }), (0, jsx_runtime_1.jsxs)(MemoizedPopover, { parentRef: parentRef, label: selectedOrganization && selectedOrganization.name, isOpen: isOpen, onClose: () => setIsOpen(false), style: {
198
+ }, children: "Organization" }), (0, jsx_runtime_1.jsxs)(Popover, { parentRef: parentRef, label: selectedOrganization && selectedOrganization.name, isOpen: isOpen, onClose: () => setIsOpen(false), style: {
160
199
  boxSizing: 'border-box',
161
200
  fontSize: 14,
162
201
  // padding: 11,
163
- }, setIsOpen: setIsOpen, onClick: () => console.log(), children: [(0, jsx_runtime_1.jsx)(MemoizedTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, onChange: setSearchQuery }), (0, jsx_runtime_1.jsx)("div", { style: { height: 9, width: 230, borderTop: '1px solid #e7e7e7' } }), (0, jsx_runtime_1.jsxs)("div", { style: { gap: 2, maxHeight: '50vh' }, children: [filteredOrganizations.map((item, index) => ((0, jsx_runtime_1.jsx)(OrgSelectRow, { setSelected: handleSelectOrganization, item: item }, index))), filteredOrganizations.length === 0 && ((0, jsx_runtime_1.jsx)(OrgSelectRow, { item: { name: 'No organizations found' } }))] }), (0, jsx_runtime_1.jsx)("div", { style: { height: 8, width: 230 } })] })] }));
202
+ }, setIsOpen: setIsOpen, onClick: () => console.log(), children: [(0, jsx_runtime_1.jsx)(exports.ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, onChange: setSearchQuery }), (0, jsx_runtime_1.jsx)("div", { style: { height: 9, width: 230, borderTop: '1px solid #e7e7e7' } }), (0, jsx_runtime_1.jsxs)("div", { style: { gap: 2, maxHeight: '50vh' }, children: [filteredOrganizations.map((item, index) => ((0, jsx_runtime_1.jsx)(ListboxRow, { setSelected: handleSelectOrganization, item: item }, index))), filteredOrganizations.length === 0 && ((0, jsx_runtime_1.jsx)(ListboxRow, { item: { name: 'No organizations found' } }))] }), (0, jsx_runtime_1.jsx)("div", { style: { height: 8, width: 230 } })] })] }));
164
203
  }
165
204
  exports.default = OrgSelect;
166
- function OrgSelectRow({ item, setSelected, }) {
205
+ function ListboxRow({ item, setSelected, }) {
167
206
  return ((0, jsx_runtime_1.jsxs)("div", { onClick: setSelected ? () => setSelected(item) : undefined, className: "quill-org-select", children: [(0, jsx_runtime_1.jsx)("style", { children: `
168
207
  .quill-org-select {
169
208
  background-color: white;
@@ -194,3 +233,4 @@ function OrgSelectRow({ item, setSelected, }) {
194
233
  display: 'block',
195
234
  }, children: item.name })] }));
196
235
  }
236
+ exports.ListboxRow = ListboxRow;
@@ -0,0 +1,7 @@
1
+ import { CSSProperties } from 'react';
2
+ export default function SqlTextEditor({ containerStyle, value, setValue, }: {
3
+ containerStyle?: CSSProperties;
4
+ value: string;
5
+ setValue: (e: string) => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SqlTextEditor.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = __importDefault(require("@monaco-editor/react"));
8
+ function defineEditorTheme(monaco) {
9
+ monaco.editor.defineTheme('onedark', {
10
+ base: 'vs',
11
+ inherit: true,
12
+ rules: [
13
+ {
14
+ token: 'comment',
15
+ foreground: '#5d7988',
16
+ fontStyle: 'italic',
17
+ },
18
+ { token: 'constant', foreground: '#e06c75' },
19
+ ],
20
+ colors: {
21
+ 'editor.background': '#F9F9F9',
22
+ },
23
+ });
24
+ }
25
+ function setEditorTheme(_editor, monaco) {
26
+ try {
27
+ monaco.editor.setTheme('onedark');
28
+ }
29
+ catch (e) {
30
+ console.log('ERROR: ', e);
31
+ }
32
+ }
33
+ function SqlTextEditor({ containerStyle, value, setValue, }) {
34
+ return ((0, jsx_runtime_1.jsx)("div", { style: { ...containerStyle }, children: (0, jsx_runtime_1.jsx)(react_1.default, { height: "224px", defaultLanguage: "pgsql", defaultValue: "", value: value, loading: (0, jsx_runtime_1.jsx)("div", {}), options: {
35
+ wordWrap: 'on',
36
+ minimap: {
37
+ enabled: false,
38
+ },
39
+ padding: { top: 16 },
40
+ }, onChange: (query) => {
41
+ setValue(query);
42
+ }, beforeMount: (monaco) => defineEditorTheme(monaco), onMount: setEditorTheme }) }));
43
+ }
44
+ exports.default = SqlTextEditor;