@postgres.ai/shared 3.5.0-pr-1027 → 3.5.0-pr-1035.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/components/AlertSnackbar/index.d.ts +2 -0
  2. package/components/AlertSnackbar/index.js +8 -0
  3. package/components/AlertSnackbar/useAlertSnackbar.d.ts +16 -0
  4. package/components/AlertSnackbar/useAlertSnackbar.js +37 -0
  5. package/components/Button/index.d.ts +7 -0
  6. package/components/Button/index.js +40 -0
  7. package/components/Button2/index.d.ts +13 -0
  8. package/components/Button2/index.js +10 -0
  9. package/components/DestroyCloneModal/index.d.ts +9 -0
  10. package/components/DestroyCloneModal/index.js +23 -0
  11. package/components/DestroyCloneRestrictionModal/index.d.ts +11 -0
  12. package/components/DestroyCloneRestrictionModal/index.js +16 -0
  13. package/components/ErrorStub/index.d.ts +11 -0
  14. package/components/ErrorStub/index.js +42 -0
  15. package/components/FormattedText/index.d.ts +7 -0
  16. package/components/FormattedText/index.js +23 -0
  17. package/components/GatewayLink/index.d.ts +4 -0
  18. package/components/GatewayLink/index.js +13 -0
  19. package/components/HorizontalScrollContainer/index.d.ts +13 -0
  20. package/components/HorizontalScrollContainer/index.js +72 -0
  21. package/components/HorizontalScrollContainer/types.d.ts +5 -0
  22. package/components/HorizontalScrollContainer/{types.ts → types.js} +1 -6
  23. package/components/HorizontalScrollContainer/utils.d.ts +3 -0
  24. package/components/HorizontalScrollContainer/utils.js +12 -0
  25. package/components/ImportantText/index.d.ts +6 -0
  26. package/components/ImportantText/index.js +12 -0
  27. package/components/Link2/index.d.ts +7 -0
  28. package/components/Link2/index.js +17 -0
  29. package/components/MenuButton/index.d.ts +24 -0
  30. package/components/MenuButton/index.js +16 -0
  31. package/components/Modal/index.d.ts +15 -0
  32. package/components/Modal/index.js +35 -0
  33. package/components/PageSpinner/index.d.ts +2 -0
  34. package/components/PageSpinner/{index.tsx → index.js} +5 -11
  35. package/components/ResetCloneModal/index.d.ts +13 -0
  36. package/components/ResetCloneModal/index.js +87 -0
  37. package/components/SectionTitle/index.d.ts +12 -0
  38. package/components/SectionTitle/index.js +31 -0
  39. package/components/Select/index.d.ts +18 -0
  40. package/components/Select/index.js +9 -0
  41. package/components/SimpleModalControls/index.d.ts +11 -0
  42. package/components/SimpleModalControls/index.js +19 -0
  43. package/components/Spinner/icon.d.ts +4 -0
  44. package/components/Spinner/icon.js +2 -0
  45. package/components/Spinner/index.d.ts +7 -0
  46. package/components/Spinner/index.js +8 -0
  47. package/components/Status/index.d.ts +12 -0
  48. package/components/Status/index.js +23 -0
  49. package/components/StubContainer/index.d.ts +7 -0
  50. package/components/StubContainer/index.js +14 -0
  51. package/components/StubSpinner/index.d.ts +8 -0
  52. package/components/StubSpinner/index.js +29 -0
  53. package/components/StubSpinnerFlex/index.d.ts +9 -0
  54. package/components/StubSpinnerFlex/index.js +8 -0
  55. package/components/SyntaxHighlight/index.d.ts +7 -0
  56. package/components/SyntaxHighlight/index.js +65 -0
  57. package/components/Table/RowMenu/index.d.ts +14 -0
  58. package/components/Table/RowMenu/index.js +50 -0
  59. package/components/Table/index.d.ts +12 -0
  60. package/components/Table/index.js +58 -0
  61. package/components/Text/index.d.ts +6 -0
  62. package/components/Text/index.js +11 -0
  63. package/components/TextField/index.d.ts +27 -0
  64. package/components/TextField/index.js +43 -0
  65. package/components/Tooltip/index.d.ts +12 -0
  66. package/components/Tooltip/index.js +19 -0
  67. package/config/index.d.ts +8 -0
  68. package/config/index.js +23 -0
  69. package/config/links.d.ts +6 -0
  70. package/config/links.js +6 -0
  71. package/helpers/getEntropy.d.ts +3 -0
  72. package/helpers/getEntropy.js +212 -0
  73. package/helpers/localStorage.d.ts +6 -0
  74. package/helpers/localStorage.js +13 -0
  75. package/helpers/request.d.ts +7 -0
  76. package/helpers/request.js +35 -0
  77. package/hooks/useWindowDimensions.d.ts +1 -0
  78. package/hooks/useWindowDimensions.js +12 -0
  79. package/icons/ArrowDropDown/index.d.ts +6 -0
  80. package/icons/ArrowDropDown/index.js +6 -0
  81. package/icons/Circle/index.d.ts +6 -0
  82. package/icons/Circle/index.js +5 -0
  83. package/icons/External/index.d.ts +4 -0
  84. package/icons/External/index.js +2 -0
  85. package/icons/Info/index.d.ts +4 -0
  86. package/icons/Info/index.js +2 -0
  87. package/icons/Renewable/index.d.ts +6 -0
  88. package/icons/Renewable/index.js +12 -0
  89. package/icons/Shield/index.d.ts +6 -0
  90. package/icons/Shield/index.js +12 -0
  91. package/icons/Warning/index.d.ts +6 -0
  92. package/icons/Warning/index.js +6 -0
  93. package/package.json +5 -13
  94. package/pages/Clone/Status/index.d.ts +8 -0
  95. package/pages/Clone/Status/index.js +38 -0
  96. package/pages/Clone/context.d.ts +19 -0
  97. package/pages/Clone/context.js +3 -0
  98. package/pages/Clone/index.d.ts +7 -0
  99. package/pages/Clone/index.js +221 -0
  100. package/pages/Clone/stores/Main.d.ts +45 -0
  101. package/pages/Clone/stores/Main.js +141 -0
  102. package/pages/Clone/useCreatedStores.d.ts +6 -0
  103. package/pages/Clone/useCreatedStores.js +5 -0
  104. package/pages/Configuration/Header/index.d.ts +11 -0
  105. package/pages/Configuration/Header/index.js +17 -0
  106. package/pages/Configuration/InputWithTooltip/index.d.ts +32 -0
  107. package/pages/Configuration/InputWithTooltip/index.js +60 -0
  108. package/pages/Configuration/ResponseMessage/index.d.ts +5 -0
  109. package/pages/Configuration/ResponseMessage/index.js +43 -0
  110. package/pages/Configuration/configOptions.d.ts +9 -0
  111. package/pages/Configuration/configOptions.js +59 -0
  112. package/pages/Configuration/index.d.ts +9 -0
  113. package/pages/Configuration/index.js +544 -0
  114. package/pages/Configuration/tooltipText.d.ts +20 -0
  115. package/pages/Configuration/tooltipText.js +21 -0
  116. package/pages/Configuration/useForm.d.ts +82 -0
  117. package/pages/Configuration/useForm.js +74 -0
  118. package/pages/Configuration/utils/index.d.ts +22 -0
  119. package/pages/Configuration/utils/index.js +105 -0
  120. package/pages/CreateClone/index.d.ts +17 -0
  121. package/pages/CreateClone/index.js +90 -0
  122. package/pages/CreateClone/stores/Main.d.ts +26 -0
  123. package/pages/CreateClone/stores/Main.js +61 -0
  124. package/pages/CreateClone/useCreatedStores.d.ts +6 -0
  125. package/pages/CreateClone/useCreatedStores.js +5 -0
  126. package/pages/CreateClone/useForm.d.ts +54 -0
  127. package/pages/CreateClone/useForm.js +25 -0
  128. package/pages/Instance/Clones/Header/Item/index.d.ts +7 -0
  129. package/pages/Instance/Clones/Header/Item/index.js +5 -0
  130. package/pages/Instance/Clones/Header/index.d.ts +9 -0
  131. package/pages/Instance/Clones/Header/index.js +16 -0
  132. package/pages/Instance/Clones/index.d.ts +4 -0
  133. package/pages/Instance/Clones/index.js +66 -0
  134. package/pages/Instance/ClonesModal/index.d.ts +4 -0
  135. package/pages/Instance/ClonesModal/index.js +38 -0
  136. package/pages/Instance/ClonesModal/utils.d.ts +7 -0
  137. package/pages/Instance/ClonesModal/utils.js +14 -0
  138. package/pages/Instance/InactiveInstance/index.d.ts +6 -0
  139. package/pages/Instance/InactiveInstance/index.js +65 -0
  140. package/pages/Instance/InactiveInstance/utils.d.ts +2 -0
  141. package/pages/Instance/InactiveInstance/utils.js +7 -0
  142. package/pages/Instance/Info/Connection/ConnectModal/Content/index.d.ts +4 -0
  143. package/pages/Instance/Info/Connection/ConnectModal/Content/index.js +73 -0
  144. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.d.ts +3 -0
  145. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.js +20 -0
  146. package/pages/Instance/Info/Connection/ConnectModal/index.d.ts +6 -0
  147. package/pages/Instance/Info/Connection/ConnectModal/index.js +17 -0
  148. package/pages/Instance/Info/Connection/index.d.ts +4 -0
  149. package/pages/Instance/Info/Connection/index.js +44 -0
  150. package/pages/Instance/Info/Details/index.d.ts +2 -0
  151. package/pages/Instance/Info/Details/index.js +6 -0
  152. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.d.ts +8 -0
  153. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.js +47 -0
  154. package/pages/Instance/Info/Disks/Disk/Marker/index.d.ts +6 -0
  155. package/pages/Instance/Info/Disks/Disk/Marker/index.js +15 -0
  156. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.d.ts +5 -0
  157. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.js +2 -0
  158. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.d.ts +8 -0
  159. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.js +45 -0
  160. package/pages/Instance/Info/Disks/Disk/Status/index.d.ts +6 -0
  161. package/pages/Instance/Info/Disks/Disk/Status/index.js +52 -0
  162. package/pages/Instance/Info/Disks/Disk/index.d.ts +15 -0
  163. package/pages/Instance/Info/Disks/Disk/index.js +69 -0
  164. package/pages/Instance/Info/Disks/index.d.ts +4 -0
  165. package/pages/Instance/Info/Disks/index.js +24 -0
  166. package/pages/Instance/Info/Icons/index.d.ts +7 -0
  167. package/pages/Instance/Info/Icons/index.js +3 -0
  168. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.d.ts +4 -0
  169. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.js +15 -0
  170. package/pages/Instance/Info/Retrieval/RetrievalModal/index.d.ts +10 -0
  171. package/pages/Instance/Info/Retrieval/RetrievalModal/index.js +15 -0
  172. package/pages/Instance/Info/Retrieval/RetrievalTable/index.d.ts +6 -0
  173. package/pages/Instance/Info/Retrieval/RetrievalTable/index.js +6 -0
  174. package/pages/Instance/Info/Retrieval/index.d.ts +4 -0
  175. package/pages/Instance/Info/Retrieval/index.js +49 -0
  176. package/pages/Instance/Info/Retrieval/utils.d.ts +2 -0
  177. package/pages/Instance/Info/Retrieval/utils.js +12 -0
  178. package/pages/Instance/Info/Snapshots/Calendar/Day/index.d.ts +11 -0
  179. package/pages/Instance/Info/Snapshots/Calendar/Day/index.js +71 -0
  180. package/pages/Instance/Info/Snapshots/Calendar/index.d.ts +8 -0
  181. package/pages/Instance/Info/Snapshots/Calendar/index.js +67 -0
  182. package/pages/Instance/Info/Snapshots/Calendar/utils.d.ts +23 -0
  183. package/pages/Instance/Info/Snapshots/Calendar/utils.js +41 -0
  184. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.d.ts +6 -0
  185. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.js +58 -0
  186. package/pages/Instance/Info/Snapshots/TimeLine/index.d.ts +2 -0
  187. package/pages/Instance/Info/Snapshots/TimeLine/index.js +32 -0
  188. package/pages/Instance/Info/Snapshots/index.d.ts +4 -0
  189. package/pages/Instance/Info/Snapshots/index.js +35 -0
  190. package/pages/Instance/Info/Snapshots/utils.d.ts +23 -0
  191. package/pages/Instance/Info/Snapshots/utils.js +16 -0
  192. package/pages/Instance/Info/Status/InstanceResponseModal/index.d.ts +9 -0
  193. package/pages/Instance/Info/Status/InstanceResponseModal/index.js +12 -0
  194. package/pages/Instance/Info/Status/index.d.ts +4 -0
  195. package/pages/Instance/Info/Status/index.js +31 -0
  196. package/pages/Instance/Info/Status/utils.d.ts +8 -0
  197. package/pages/Instance/Info/Status/utils.js +23 -0
  198. package/pages/Instance/Info/components/Property/index.d.ts +11 -0
  199. package/pages/Instance/Info/components/Property/index.js +14 -0
  200. package/pages/Instance/Info/components/Section/index.d.ts +8 -0
  201. package/pages/Instance/Info/components/Section/index.js +18 -0
  202. package/pages/Instance/Info/components/ValueStatus/index.d.ts +9 -0
  203. package/pages/Instance/Info/components/ValueStatus/index.js +18 -0
  204. package/pages/Instance/Info/index.d.ts +2 -0
  205. package/pages/Instance/Info/index.js +75 -0
  206. package/pages/Instance/SnapshotsModal/index.d.ts +4 -0
  207. package/pages/Instance/SnapshotsModal/index.js +81 -0
  208. package/pages/Instance/SnapshotsModal/utils.d.ts +7 -0
  209. package/{components/HorizontalScrollContainer/utils.ts → pages/Instance/SnapshotsModal/utils.js} +8 -9
  210. package/pages/Instance/Tabs/index.d.ts +9 -0
  211. package/pages/Instance/Tabs/index.js +40 -0
  212. package/pages/Instance/components/ClonesList/ConnectionModal/index.d.ts +10 -0
  213. package/pages/Instance/components/ClonesList/ConnectionModal/index.js +74 -0
  214. package/pages/Instance/components/ClonesList/MenuCell/index.d.ts +11 -0
  215. package/pages/Instance/components/ClonesList/MenuCell/index.js +49 -0
  216. package/pages/Instance/components/ClonesList/MenuCell/utils.d.ts +3 -0
  217. package/pages/Instance/components/ClonesList/MenuCell/utils.js +18 -0
  218. package/pages/Instance/components/ClonesList/index.d.ts +9 -0
  219. package/pages/Instance/components/ClonesList/index.js +52 -0
  220. package/pages/Instance/components/ErrorStub/index.d.ts +9 -0
  221. package/pages/Instance/components/ErrorStub/index.js +42 -0
  222. package/pages/Instance/components/ModalReloadButton/index.d.ts +7 -0
  223. package/pages/Instance/components/ModalReloadButton/index.js +22 -0
  224. package/pages/Instance/components/Tags/Tag/index.d.ts +7 -0
  225. package/pages/Instance/components/Tags/Tag/index.js +35 -0
  226. package/pages/Instance/components/Tags/index.d.ts +8 -0
  227. package/pages/Instance/components/Tags/index.js +16 -0
  228. package/pages/Instance/context.d.ts +31 -0
  229. package/pages/Instance/{ClonesModal/utils.ts → context.js} +5 -15
  230. package/pages/Instance/index.d.ts +8 -0
  231. package/pages/Instance/index.js +93 -0
  232. package/pages/Instance/stores/ClonesModal.d.ts +13 -0
  233. package/pages/Instance/stores/ClonesModal.js +24 -0
  234. package/pages/Instance/stores/Main.d.ts +115 -0
  235. package/pages/Instance/stores/Main.js +243 -0
  236. package/pages/Instance/stores/SnapshotsModal.d.ts +13 -0
  237. package/pages/Instance/stores/SnapshotsModal.js +24 -0
  238. package/pages/Instance/useCreatedStores.d.ts +10 -0
  239. package/pages/Instance/useCreatedStores.js +9 -0
  240. package/pages/Logs/Icons/PlusIcon.d.ts +2 -0
  241. package/pages/Logs/Icons/PlusIcon.js +2 -0
  242. package/pages/Logs/constants/index.d.ts +5 -0
  243. package/pages/Logs/constants/index.js +5 -0
  244. package/pages/Logs/hooks/useWsScroll.d.ts +1 -0
  245. package/pages/Logs/hooks/useWsScroll.js +39 -0
  246. package/pages/Logs/index.d.ts +5 -0
  247. package/pages/Logs/index.js +189 -0
  248. package/pages/Logs/utils/index.d.ts +2 -0
  249. package/pages/Logs/utils/index.js +15 -0
  250. package/pages/Logs/wsLogs.d.ts +2 -0
  251. package/pages/Logs/wsLogs.js +76 -0
  252. package/pages/Logs/wsSnackbar.d.ts +1 -0
  253. package/pages/Logs/wsSnackbar.js +25 -0
  254. package/stores/Snapshots.d.ts +15 -0
  255. package/stores/Snapshots.js +35 -0
  256. package/styles/colors.d.ts +60 -0
  257. package/styles/colors.js +66 -0
  258. package/styles/icons.d.ts +63 -0
  259. package/styles/icons.js +69 -0
  260. package/styles/styles.d.ts +1 -0
  261. package/styles/styles.js +83 -0
  262. package/styles/theme.d.ts +1 -0
  263. package/styles/theme.js +50 -0
  264. package/styles/vars.d.ts +25 -0
  265. package/styles/{vars.ts → vars.js} +20 -28
  266. package/types/api/endpoints/createClone.d.ts +12 -0
  267. package/types/api/endpoints/createClone.js +1 -0
  268. package/types/api/endpoints/destroyClone.d.ts +7 -0
  269. package/types/api/endpoints/destroyClone.js +1 -0
  270. package/types/api/endpoints/getClone.d.ts +8 -0
  271. package/types/api/endpoints/getClone.js +1 -0
  272. package/types/api/endpoints/getConfig.d.ts +5 -0
  273. package/types/api/endpoints/getConfig.js +1 -0
  274. package/types/api/endpoints/getEngine.d.ts +10 -0
  275. package/types/api/endpoints/getEngine.js +1 -0
  276. package/types/api/endpoints/getFullConfig.d.ts +4 -0
  277. package/types/api/endpoints/getFullConfig.js +1 -0
  278. package/types/api/endpoints/getInstance.d.ts +7 -0
  279. package/types/api/endpoints/getInstance.js +1 -0
  280. package/types/api/endpoints/getInstanceRetrieval.d.ts +7 -0
  281. package/types/api/endpoints/getInstanceRetrieval.js +1 -0
  282. package/types/api/endpoints/getSeImages.d.ts +19 -0
  283. package/types/api/endpoints/getSeImages.js +1 -0
  284. package/types/api/endpoints/getSnapshots.d.ts +7 -0
  285. package/types/api/endpoints/getSnapshots.js +1 -0
  286. package/types/api/endpoints/getWSToken.d.ts +7 -0
  287. package/types/api/endpoints/getWSToken.js +1 -0
  288. package/types/api/endpoints/initWS.d.ts +1 -0
  289. package/types/api/endpoints/initWS.js +1 -0
  290. package/types/api/endpoints/refreshInstance.d.ts +6 -0
  291. package/types/api/endpoints/refreshInstance.js +1 -0
  292. package/types/api/endpoints/resetClone.d.ts +8 -0
  293. package/types/api/endpoints/resetClone.js +1 -0
  294. package/types/api/endpoints/testDbSource.d.ts +22 -0
  295. package/types/api/endpoints/testDbSource.js +23 -0
  296. package/types/api/endpoints/updateClone.d.ts +10 -0
  297. package/types/api/endpoints/updateClone.js +1 -0
  298. package/types/api/endpoints/updateConfig.d.ts +5 -0
  299. package/types/api/endpoints/updateConfig.js +1 -0
  300. package/types/api/entities/clone.d.ts +50 -0
  301. package/{components/Text/index.tsx → types/api/entities/clone.js} +8 -22
  302. package/types/api/entities/config.d.ts +72 -0
  303. package/types/api/entities/config.js +35 -0
  304. package/types/api/entities/dbSource.d.ts +12 -0
  305. package/types/api/entities/dbSource.js +1 -0
  306. package/types/api/entities/instance.d.ts +109 -0
  307. package/types/api/entities/instance.js +31 -0
  308. package/types/api/entities/instanceRetrieval.d.ts +42 -0
  309. package/types/api/entities/instanceRetrieval.js +19 -0
  310. package/types/api/entities/instanceState.d.ts +109 -0
  311. package/types/api/entities/instanceState.js +42 -0
  312. package/types/api/entities/pool.d.ts +18 -0
  313. package/{utils/numbers.ts → types/api/entities/pool.js} +1 -5
  314. package/types/api/entities/snapshot.d.ts +19 -0
  315. package/types/api/entities/snapshot.js +6 -0
  316. package/types/api/entities/wsToken.d.ts +5 -0
  317. package/types/api/entities/wsToken.js +1 -0
  318. package/utils/api.d.ts +1 -0
  319. package/utils/api.js +28 -0
  320. package/utils/clone.d.ts +13 -0
  321. package/utils/clone.js +21 -0
  322. package/utils/connection.d.ts +5 -0
  323. package/utils/connection.js +28 -0
  324. package/utils/date.d.ts +16 -0
  325. package/utils/date.js +33 -0
  326. package/utils/instance.d.ts +5 -0
  327. package/utils/instance.js +11 -0
  328. package/utils/numbers.d.ts +1 -0
  329. package/utils/{strings.ts → numbers.js} +4 -5
  330. package/utils/react.d.ts +5 -0
  331. package/utils/react.js +8 -0
  332. package/utils/snapshot.d.ts +2 -0
  333. package/utils/snapshot.js +1 -0
  334. package/utils/strings.d.ts +1 -0
  335. package/utils/strings.js +10 -0
  336. package/utils/units.d.ts +5 -0
  337. package/utils/units.js +15 -0
  338. package/.gitlab-ci.yml +0 -64
  339. package/components/AlertSnackbar/index.tsx +0 -23
  340. package/components/AlertSnackbar/useAlertSnackbar.tsx +0 -65
  341. package/components/Button/index.tsx +0 -79
  342. package/components/Button2/index.tsx +0 -43
  343. package/components/DestroyCloneModal/index.tsx +0 -56
  344. package/components/DestroyCloneRestrictionModal/index.tsx +0 -50
  345. package/components/ErrorStub/index.tsx +0 -83
  346. package/components/FormattedText/index.tsx +0 -44
  347. package/components/GatewayLink/index.tsx +0 -33
  348. package/components/HorizontalScrollContainer/index.tsx +0 -131
  349. package/components/ImportantText/index.tsx +0 -29
  350. package/components/Link2/index.tsx +0 -31
  351. package/components/MenuButton/index.tsx +0 -80
  352. package/components/Modal/index.tsx +0 -93
  353. package/components/ResetCloneModal/index.tsx +0 -154
  354. package/components/SectionTitle/index.tsx +0 -74
  355. package/components/Select/index.tsx +0 -42
  356. package/components/SimpleModalControls/index.tsx +0 -56
  357. package/components/Spinner/icon.tsx +0 -29
  358. package/components/Spinner/index.tsx +0 -16
  359. package/components/Status/index.tsx +0 -61
  360. package/components/StubContainer/index.tsx +0 -41
  361. package/components/StubSpinner/index.tsx +0 -49
  362. package/components/StubSpinnerFlex/index.tsx +0 -20
  363. package/components/SyntaxHighlight/index.tsx +0 -107
  364. package/components/Table/RowMenu/index.tsx +0 -111
  365. package/components/Table/index.tsx +0 -140
  366. package/components/TextField/index.tsx +0 -117
  367. package/components/Tooltip/index.tsx +0 -52
  368. package/config/index.ts +0 -32
  369. package/config/links.ts +0 -6
  370. package/craco.config.js +0 -80
  371. package/helpers/getEntropy.ts +0 -232
  372. package/helpers/localStorage.ts +0 -15
  373. package/helpers/request.ts +0 -47
  374. package/hooks/useWindowDimensions.ts +0 -16
  375. package/icons/ArrowDropDown/index.tsx +0 -29
  376. package/icons/Circle/index.tsx +0 -27
  377. package/icons/External/index.tsx +0 -14
  378. package/icons/Info/index.tsx +0 -12
  379. package/icons/Renewable/index.tsx +0 -65
  380. package/icons/Shield/index.tsx +0 -33
  381. package/icons/Warning/index.tsx +0 -29
  382. package/pages/Clone/Status/index.tsx +0 -73
  383. package/pages/Clone/context.ts +0 -22
  384. package/pages/Clone/index.tsx +0 -634
  385. package/pages/Clone/stores/Main.ts +0 -206
  386. package/pages/Clone/useCreatedStores.ts +0 -11
  387. package/pages/Configuration/Header/index.tsx +0 -84
  388. package/pages/Configuration/InputWithTooltip/index.tsx +0 -240
  389. package/pages/Configuration/ResponseMessage/index.tsx +0 -71
  390. package/pages/Configuration/configOptions.ts +0 -60
  391. package/pages/Configuration/index.tsx +0 -1184
  392. package/pages/Configuration/tooltipText.tsx +0 -157
  393. package/pages/Configuration/useForm.ts +0 -108
  394. package/pages/Configuration/utils/index.ts +0 -153
  395. package/pages/CreateClone/index.tsx +0 -311
  396. package/pages/CreateClone/stores/Main.ts +0 -107
  397. package/pages/CreateClone/useCreatedStores.ts +0 -11
  398. package/pages/CreateClone/useForm.ts +0 -36
  399. package/pages/Instance/Clones/Header/Item/index.tsx +0 -15
  400. package/pages/Instance/Clones/Header/index.tsx +0 -74
  401. package/pages/Instance/Clones/index.tsx +0 -135
  402. package/pages/Instance/ClonesModal/index.tsx +0 -71
  403. package/pages/Instance/InactiveInstance/index.tsx +0 -165
  404. package/pages/Instance/InactiveInstance/utils.ts +0 -9
  405. package/pages/Instance/Info/Connection/ConnectModal/Content/index.tsx +0 -176
  406. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.ts +0 -24
  407. package/pages/Instance/Info/Connection/ConnectModal/index.tsx +0 -36
  408. package/pages/Instance/Info/Connection/index.tsx +0 -81
  409. package/pages/Instance/Info/Details/index.tsx +0 -20
  410. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.tsx +0 -100
  411. package/pages/Instance/Info/Disks/Disk/Marker/index.tsx +0 -26
  412. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.tsx +0 -20
  413. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.tsx +0 -73
  414. package/pages/Instance/Info/Disks/Disk/Status/index.tsx +0 -75
  415. package/pages/Instance/Info/Disks/Disk/index.tsx +0 -168
  416. package/pages/Instance/Info/Disks/index.tsx +0 -65
  417. package/pages/Instance/Info/Icons/index.tsx +0 -39
  418. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.tsx +0 -32
  419. package/pages/Instance/Info/Retrieval/RetrievalModal/index.tsx +0 -49
  420. package/pages/Instance/Info/Retrieval/RetrievalTable/index.tsx +0 -53
  421. package/pages/Instance/Info/Retrieval/index.tsx +0 -95
  422. package/pages/Instance/Info/Retrieval/utils.ts +0 -10
  423. package/pages/Instance/Info/Snapshots/Calendar/Day/index.tsx +0 -125
  424. package/pages/Instance/Info/Snapshots/Calendar/index.tsx +0 -133
  425. package/pages/Instance/Info/Snapshots/Calendar/utils.ts +0 -74
  426. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.tsx +0 -79
  427. package/pages/Instance/Info/Snapshots/TimeLine/index.tsx +0 -57
  428. package/pages/Instance/Info/Snapshots/index.tsx +0 -97
  429. package/pages/Instance/Info/Snapshots/utils.ts +0 -18
  430. package/pages/Instance/Info/Status/InstanceResponseModal/index.tsx +0 -32
  431. package/pages/Instance/Info/Status/index.tsx +0 -85
  432. package/pages/Instance/Info/Status/utils.ts +0 -24
  433. package/pages/Instance/Info/components/Property/index.tsx +0 -32
  434. package/pages/Instance/Info/components/Section/index.tsx +0 -50
  435. package/pages/Instance/Info/components/ValueStatus/index.tsx +0 -51
  436. package/pages/Instance/Info/index.tsx +0 -129
  437. package/pages/Instance/SnapshotsModal/index.tsx +0 -169
  438. package/pages/Instance/SnapshotsModal/utils.ts +0 -17
  439. package/pages/Instance/Tabs/index.tsx +0 -98
  440. package/pages/Instance/components/ClonesList/ConnectionModal/index.tsx +0 -196
  441. package/pages/Instance/components/ClonesList/MenuCell/index.tsx +0 -98
  442. package/pages/Instance/components/ClonesList/MenuCell/utils.ts +0 -21
  443. package/pages/Instance/components/ClonesList/index.tsx +0 -189
  444. package/pages/Instance/components/ErrorStub/index.tsx +0 -77
  445. package/pages/Instance/components/ModalReloadButton/index.tsx +0 -43
  446. package/pages/Instance/components/Tags/Tag/index.tsx +0 -60
  447. package/pages/Instance/components/Tags/index.tsx +0 -42
  448. package/pages/Instance/context.ts +0 -39
  449. package/pages/Instance/index.tsx +0 -235
  450. package/pages/Instance/stores/ClonesModal.ts +0 -35
  451. package/pages/Instance/stores/Main.ts +0 -335
  452. package/pages/Instance/stores/SnapshotsModal.ts +0 -35
  453. package/pages/Instance/useCreatedStores.ts +0 -14
  454. package/pages/Logs/Icons/PlusIcon.tsx +0 -8
  455. package/pages/Logs/constants/index.ts +0 -7
  456. package/pages/Logs/hooks/useWsScroll.tsx +0 -44
  457. package/pages/Logs/index.tsx +0 -267
  458. package/pages/Logs/utils/index.ts +0 -20
  459. package/pages/Logs/wsLogs.ts +0 -110
  460. package/pages/Logs/wsSnackbar.ts +0 -27
  461. package/postgres.ai-shared-3.5.0.tgz +0 -0
  462. package/scripts/copy-assets.js +0 -30
  463. package/scripts/pack.js +0 -70
  464. package/stores/Snapshots.ts +0 -54
  465. package/styles/colors.ts +0 -67
  466. package/styles/icons.tsx +0 -1917
  467. package/styles/styles.ts +0 -87
  468. package/styles/theme.ts +0 -53
  469. package/types/api/endpoints/createClone.ts +0 -10
  470. package/types/api/endpoints/destroyClone.ts +0 -7
  471. package/types/api/endpoints/getClone.ts +0 -6
  472. package/types/api/endpoints/getConfig.ts +0 -6
  473. package/types/api/endpoints/getEngine.ts +0 -13
  474. package/types/api/endpoints/getFullConfig.ts +0 -4
  475. package/types/api/endpoints/getInstance.ts +0 -6
  476. package/types/api/endpoints/getInstanceRetrieval.ts +0 -6
  477. package/types/api/endpoints/getSeImages.ts +0 -22
  478. package/types/api/endpoints/getSnapshots.ts +0 -6
  479. package/types/api/endpoints/getWSToken.ts +0 -6
  480. package/types/api/endpoints/initWS.ts +0 -1
  481. package/types/api/endpoints/refreshInstance.ts +0 -4
  482. package/types/api/endpoints/resetClone.ts +0 -8
  483. package/types/api/endpoints/testDbSource.ts +0 -48
  484. package/types/api/endpoints/updateClone.ts +0 -10
  485. package/types/api/endpoints/updateConfig.ts +0 -6
  486. package/types/api/entities/clone.ts +0 -42
  487. package/types/api/entities/config.ts +0 -114
  488. package/types/api/entities/dbSource.ts +0 -13
  489. package/types/api/entities/instance.ts +0 -67
  490. package/types/api/entities/instanceRetrieval.ts +0 -46
  491. package/types/api/entities/instanceState.ts +0 -102
  492. package/types/api/entities/pool.ts +0 -27
  493. package/types/api/entities/snapshot.ts +0 -18
  494. package/types/api/entities/wsToken.ts +0 -7
  495. package/types/byte-size/index.d.ts +0 -22
  496. package/utils/api.ts +0 -30
  497. package/utils/clone.ts +0 -31
  498. package/utils/connection.ts +0 -38
  499. package/utils/date.ts +0 -87
  500. package/utils/instance.ts +0 -10
  501. package/utils/react.ts +0 -10
  502. package/utils/snapshot.ts +0 -4
  503. package/utils/units.ts +0 -23
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*--------------------------------------------------------------------------
3
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
4
+ * All Rights Reserved. Proprietary and confidential.
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ *--------------------------------------------------------------------------
7
+ */
8
+ import { makeStyles } from '@material-ui/styles';
9
+ import { colors } from '@postgres.ai/shared/styles/colors';
10
+ import { Day } from './Day';
11
+ const useStyles = makeStyles({
12
+ root: {
13
+ marginTop: '10px',
14
+ },
15
+ container: {
16
+ display: 'flex',
17
+ justifyContent: 'space-between',
18
+ position: 'relative',
19
+ },
20
+ line: {
21
+ margin: '0 9px -23px 9px',
22
+ paddingTop: '22px',
23
+ borderBottom: `1px solid ${colors.pgaiDarkGray}`,
24
+ },
25
+ label: {
26
+ fontSize: '12px',
27
+ },
28
+ }, { index: 1 });
29
+ export const TimeLine = () => {
30
+ const classes = useStyles();
31
+ return (_jsxs("div", { className: classes.root, children: [_jsx("div", { className: classes.line }), _jsxs("div", { className: classes.container, children: [_jsx(Day, { text: "Jun 20" }), _jsx(Day, { text: "Jun 21" }), _jsx(Day, { text: "Jun 22" }), _jsx(Day, { text: "Jun 23" }), _jsx(Day, { text: "Jun 24" }), _jsx(Day, { text: "Jun 25" }), _jsx(Day, { text: "Jun 26" })] }), _jsxs("div", { className: classes.container, children: [_jsx("span", { className: classes.label, children: "16:33:20 UTC" }), _jsx("span", { className: classes.label, children: "10:30:00 UTC" })] })] }));
32
+ };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const Snapshots: (() => JSX.Element) & {
3
+ displayName: string;
4
+ };
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*--------------------------------------------------------------------------
3
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
4
+ * All Rights Reserved. Proprietary and confidential.
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ *--------------------------------------------------------------------------
7
+ */
8
+ import { makeStyles } from '@material-ui/styles';
9
+ import { observer } from 'mobx-react-lite';
10
+ import { formatDistanceToNowStrict } from 'date-fns';
11
+ import { Button } from '@postgres.ai/shared/components/Button2';
12
+ import { Spinner } from '@postgres.ai/shared/components/Spinner';
13
+ import { ErrorStub } from '@postgres.ai/shared/components/ErrorStub';
14
+ import { useStores } from '@postgres.ai/shared/pages/Instance/context';
15
+ import { Section } from '../components/Section';
16
+ import { Property } from '../components/Property';
17
+ import { getEdgeSnapshots } from './utils';
18
+ import { Calendar } from './Calendar';
19
+ const useStyles = makeStyles({
20
+ button: {
21
+ marginTop: '20px',
22
+ },
23
+ }, { index: 1 });
24
+ export const Snapshots = observer(() => {
25
+ var _a;
26
+ const stores = useStores();
27
+ const { snapshots } = stores.main;
28
+ const classes = useStyles();
29
+ const { firstSnapshot, lastSnapshot } = getEdgeSnapshots((_a = snapshots.data) !== null && _a !== void 0 ? _a : []);
30
+ return (_jsxs(Section, { title: "Snapshots", rightContent: !snapshots.data && !snapshots.error && _jsx(Spinner, { size: "sm" }), children: [snapshots.error && _jsx(ErrorStub, { message: snapshots.error, size: "normal" }), snapshots.data && !snapshots.error && (_jsxs(_Fragment, { children: [_jsx(Property, { name: "Number of snapshots", children: snapshots.data.length }), _jsxs(Property, { name: "Oldest data state time", children: [lastSnapshot && (_jsxs(_Fragment, { children: [lastSnapshot.dataStateAt, " (", formatDistanceToNowStrict(lastSnapshot.dataStateAtDate, {
31
+ addSuffix: true,
32
+ }), ")"] })), !lastSnapshot && '-'] }), _jsxs(Property, { name: "Newest data state time", children: [firstSnapshot && (_jsxs(_Fragment, { children: [firstSnapshot.dataStateAt, " (", formatDistanceToNowStrict(firstSnapshot.dataStateAtDate, {
33
+ addSuffix: true,
34
+ }), ")"] })), !firstSnapshot && '-'] }), _jsx(Calendar, { snapshots: snapshots.data, onSelectDate: (date) => stores.snapshotsModal.openModal({ date }) }), _jsx(Button, { className: classes.button, onClick: () => stores.snapshotsModal.openModal(), children: "Show all snapshots" })] }))] }));
35
+ });
@@ -0,0 +1,23 @@
1
+ import { Snapshot } from '@postgres.ai/shared/types/api/entities/snapshot';
2
+ export declare const getEdgeSnapshots: (snapshots: Snapshot[]) => {
3
+ firstSnapshot: {
4
+ createdAtDate: Date;
5
+ dataStateAtDate: Date;
6
+ createdAt: string;
7
+ dataStateAt: string;
8
+ id: string;
9
+ pool: string;
10
+ physicalSize: number;
11
+ logicalSize: number;
12
+ } | null;
13
+ lastSnapshot: {
14
+ createdAtDate: Date;
15
+ dataStateAtDate: Date;
16
+ createdAt: string;
17
+ dataStateAt: string;
18
+ id: string;
19
+ pool: string;
20
+ physicalSize: number;
21
+ logicalSize: number;
22
+ } | null;
23
+ };
@@ -0,0 +1,16 @@
1
+ /*--------------------------------------------------------------------------
2
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
3
+ * All Rights Reserved. Proprietary and confidential.
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ *--------------------------------------------------------------------------
6
+ */
7
+ export const getEdgeSnapshots = (snapshots) => {
8
+ var _a, _b;
9
+ const list = [...snapshots];
10
+ const [first] = list;
11
+ const [last] = list.reverse();
12
+ return {
13
+ firstSnapshot: (_a = first) !== null && _a !== void 0 ? _a : null,
14
+ lastSnapshot: (_b = last) !== null && _b !== void 0 ? _b : null
15
+ };
16
+ };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ };
6
+ export declare const InstanceResponseModal: ((props: Props) => JSX.Element | null) & {
7
+ displayName: string;
8
+ };
9
+ export {};
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { observer } from 'mobx-react-lite';
3
+ import { Modal } from '@postgres.ai/shared/components/Modal';
4
+ import { FormattedText } from '@postgres.ai/shared/components/FormattedText';
5
+ import { useStores } from '@postgres.ai/shared/pages/Instance/context';
6
+ import styles from './styles.module.scss';
7
+ export const InstanceResponseModal = observer((props) => {
8
+ const stores = useStores();
9
+ if (!stores.main.instance)
10
+ return null;
11
+ return (_jsx(Modal, { isOpen: props.isOpen, onClose: props.onClose, title: "Instance Full Response", size: "md", children: _jsx(FormattedText, { value: JSON.stringify(stores.main.instance.dto, null, 2), className: styles.formattedText }) }));
12
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const Status: (() => JSX.Element | null) & {
3
+ displayName: string;
4
+ };
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*--------------------------------------------------------------------------
3
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
4
+ * All Rights Reserved. Proprietary and confidential.
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ *--------------------------------------------------------------------------
7
+ */
8
+ import { useState } from 'react';
9
+ import { observer } from 'mobx-react-lite';
10
+ import { GatewayLink } from '@postgres.ai/shared/components/GatewayLink';
11
+ import { Status as StatusIndicator } from '@postgres.ai/shared/components/Status';
12
+ import { useStores } from '@postgres.ai/shared/pages/Instance/context';
13
+ import { formatDateStd } from '@postgres.ai/shared/utils/date';
14
+ import { Button } from '@postgres.ai/shared/components/Button2';
15
+ import { linksConfig } from '@postgres.ai/shared/config/links';
16
+ import { Section } from '../components/Section';
17
+ import { Property } from '../components/Property';
18
+ import { InstanceResponseModal } from './InstanceResponseModal';
19
+ import { getType, getText } from './utils';
20
+ import styles from './styles.module.scss';
21
+ export const Status = observer(() => {
22
+ const [isOpenInstanceResponseModal, setIsOpenInstanceResponseModal] = useState(false);
23
+ const stores = useStores();
24
+ const { instance } = stores.main;
25
+ if (!instance || !instance.state)
26
+ return null;
27
+ const { code, message } = instance.state.status;
28
+ const { version, startedAt } = instance.state.engine;
29
+ const isStatusOk = code === 'OK';
30
+ return (_jsxs(Section, { title: "Status", children: [_jsx(Property, { name: "Status", children: _jsxs(StatusIndicator, { type: getType(code), children: [getText(code), !isStatusOk && (_jsxs(_Fragment, { children: [_jsx("br", {}), message] }))] }) }), startedAt && (_jsx(Property, { name: "Started", children: formatDateStd(startedAt, { withDistance: true }) })), instance.createdAt && (_jsx(Property, { name: "Registered", children: formatDateStd(instance.createdAt, { withDistance: true }) })), version && _jsx(Property, { name: "Version", children: version }), !isStatusOk && (_jsxs("div", { className: styles.controls, children: [_jsx(Button, { onClick: () => setIsOpenInstanceResponseModal(true), className: styles.button, children: "Show full response" }), _jsx(GatewayLink, { className: styles.button, href: linksConfig.support, children: _jsx(Button, { theme: "accent", children: "Ask support" }) })] })), _jsx(InstanceResponseModal, { isOpen: isOpenInstanceResponseModal, onClose: () => setIsOpenInstanceResponseModal(false) })] }));
31
+ });
@@ -0,0 +1,8 @@
1
+ declare const STATUS_CODE_TO_TYPE: {
2
+ OK: "ok";
3
+ WARNING: "warning";
4
+ NO_RESPONSE: "error";
5
+ };
6
+ export declare const getType: (code: keyof typeof STATUS_CODE_TO_TYPE) => "error" | "warning" | "ok";
7
+ export declare const getText: (code: keyof typeof STATUS_CODE_TO_TYPE) => string;
8
+ export {};
@@ -0,0 +1,23 @@
1
+ /*--------------------------------------------------------------------------
2
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
3
+ * All Rights Reserved. Proprietary and confidential.
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ *--------------------------------------------------------------------------
6
+ */
7
+ import { capitalize } from '@postgres.ai/shared/utils/strings';
8
+ const STATUS_CODE_TO_TYPE = {
9
+ OK: 'ok',
10
+ WARNING: 'warning',
11
+ NO_RESPONSE: 'error'
12
+ };
13
+ export const getType = (code) => {
14
+ var _a;
15
+ return (_a = STATUS_CODE_TO_TYPE[code]) !== null && _a !== void 0 ? _a : 'unknown';
16
+ };
17
+ export const getText = (code) => {
18
+ if (code === 'OK')
19
+ return code;
20
+ if (code === 'NO_RESPONSE')
21
+ return 'No response';
22
+ return capitalize(code);
23
+ };
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ name: React.ReactNode;
4
+ children: React.ReactNode;
5
+ classes?: {
6
+ name?: string;
7
+ content?: string;
8
+ };
9
+ };
10
+ export declare const Property: (props: Props) => JSX.Element;
11
+ export {};
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*--------------------------------------------------------------------------
3
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
4
+ * All Rights Reserved. Proprietary and confidential.
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ *--------------------------------------------------------------------------
7
+ */
8
+ import cn from 'classnames';
9
+ import styles from './styles.module.scss';
10
+ export const Property = (props) => {
11
+ var _a, _b;
12
+ const { name, children } = props;
13
+ return (_jsxs("div", { className: styles.root, children: [_jsx("label", { className: cn(styles.name, (_a = props.classes) === null || _a === void 0 ? void 0 : _a.name), children: name }), _jsx("div", { className: cn(styles.content, (_b = props.classes) === null || _b === void 0 ? void 0 : _b.content), children: children })] }));
14
+ };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare type Props = {
3
+ title: string;
4
+ children: React.ReactNode;
5
+ rightContent?: React.ReactNode;
6
+ };
7
+ export declare const Section: (props: Props) => JSX.Element;
8
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { makeStyles } from '@material-ui/styles';
3
+ import { SectionTitle } from '@postgres.ai/shared/components/SectionTitle';
4
+ const useStyles = makeStyles({
5
+ root: {
6
+ '& + $root': {
7
+ marginTop: '28px',
8
+ },
9
+ },
10
+ content: {
11
+ marginTop: '8px',
12
+ },
13
+ }, { index: 1 });
14
+ export const Section = (props) => {
15
+ const { title, children, rightContent } = props;
16
+ const classes = useStyles();
17
+ return (_jsxs("div", { className: classes.root, children: [_jsx(SectionTitle, { text: title, level: 2, tag: "h3", rightContent: rightContent }), _jsx("div", { className: classes.content, children: children })] }));
18
+ };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { Props as StatusProps } from '@postgres.ai/shared/components/Status';
3
+ declare type Props = {
4
+ children: React.ReactNode;
5
+ type?: StatusProps['type'];
6
+ icon?: StatusProps['icon'];
7
+ };
8
+ export declare const ValueStatus: (props: Props) => JSX.Element;
9
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { makeStyles } from '@material-ui/core';
3
+ import { Status, } from '@postgres.ai/shared/components/Status';
4
+ const useStyles = makeStyles({
5
+ root: {
6
+ fontWeight: 400,
7
+ marginTop: '2px',
8
+ fontSize: '10px',
9
+ },
10
+ icon: {
11
+ alignSelf: 'flex-start',
12
+ },
13
+ }, { index: 1 });
14
+ export const ValueStatus = (props) => {
15
+ const { children, type, icon } = props;
16
+ const classes = useStyles();
17
+ return (_jsx(Status, { className: classes.root, classNameIcon: classes.icon, type: type, icon: icon, children: children }));
18
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Info: () => JSX.Element;
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*--------------------------------------------------------------------------
3
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
4
+ * All Rights Reserved. Proprietary and confidential.
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ *--------------------------------------------------------------------------
7
+ */
8
+ import cn from 'classnames';
9
+ import { useState } from 'react';
10
+ import { makeStyles } from '@material-ui/core';
11
+ import { Button } from '@postgres.ai/shared/components/MenuButton';
12
+ import { useWindowDimensions } from '@postgres.ai/shared/hooks/useWindowDimensions';
13
+ import { ArrowLeft, ArrowRight } from '@postgres.ai/shared/pages/Instance/Info/Icons';
14
+ import { Status } from './Status';
15
+ import { Retrieval } from './Retrieval';
16
+ import { Connection } from './Connection';
17
+ import { Disks } from './Disks';
18
+ import { Snapshots } from './Snapshots';
19
+ const SIDEBAR_COLLAPSED_PARAM = 'overviewSidebarCollapsed';
20
+ const SMALL_BREAKPOINT_PX = 937;
21
+ const useStyles = makeStyles((theme) => ({
22
+ container: {
23
+ minHeight: 0,
24
+ minWidth: 0,
25
+ width: '437px',
26
+ transition: 'width 0.2s ease-out',
27
+ [theme.breakpoints.down('sm')]: {
28
+ width: '100%',
29
+ },
30
+ },
31
+ root: {
32
+ flex: '0 0 auto',
33
+ [theme.breakpoints.down('md')]: {
34
+ width: '300px',
35
+ },
36
+ [theme.breakpoints.down('sm')]: {
37
+ flex: '0 0 auto',
38
+ width: '100%',
39
+ marginTop: '20px',
40
+ },
41
+ },
42
+ collapsed: {
43
+ height: '100%',
44
+ width: '64px',
45
+ },
46
+ collapseBtn: {
47
+ background: '#f9f9f9 !important',
48
+ margin: '20px 0 10px 0',
49
+ fontWeight: 500,
50
+ '& svg': {
51
+ marginRight: '5px',
52
+ },
53
+ '&:hover': {
54
+ background: '#f1f1f1',
55
+ },
56
+ },
57
+ arrowImage: {
58
+ width: '16px',
59
+ height: '16px',
60
+ '& path': {
61
+ fill: '#000',
62
+ },
63
+ },
64
+ }), { index: 1 });
65
+ export const Info = () => {
66
+ const classes = useStyles();
67
+ const width = useWindowDimensions();
68
+ const isMobileScreen = width <= SMALL_BREAKPOINT_PX;
69
+ const [isCollapsed, setIsCollapsed] = useState(() => localStorage.getItem(SIDEBAR_COLLAPSED_PARAM) === '1' && !isMobileScreen);
70
+ const handleClick = () => {
71
+ setIsCollapsed(!isCollapsed);
72
+ localStorage.setItem(SIDEBAR_COLLAPSED_PARAM, isCollapsed ? '0' : '1');
73
+ };
74
+ return (_jsxs("div", { className: cn(classes.container, !isCollapsed ? classes.root : classes.collapsed), children: [!isMobileScreen && (_jsx(Button, { className: classes.collapseBtn, onClick: handleClick, isCollapsed: isCollapsed, icon: isCollapsed ? (_jsx(ArrowLeft, { className: classes.arrowImage })) : (_jsx(ArrowRight, { className: classes.arrowImage })), children: "Collapse" })), !isCollapsed && (_jsxs("div", { children: [_jsx(Status, {}), _jsx(Retrieval, {}), _jsx(Connection, {}), _jsx(Disks, {}), _jsx(Snapshots, {})] }))] }));
75
+ };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const SnapshotsModal: (() => JSX.Element | null) & {
3
+ displayName: string;
4
+ };
@@ -0,0 +1,81 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*--------------------------------------------------------------------------
3
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
4
+ * All Rights Reserved. Proprietary and confidential.
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ *--------------------------------------------------------------------------
7
+ */
8
+ import { observer } from 'mobx-react-lite';
9
+ import { makeStyles } from '@material-ui/core';
10
+ import { formatDistanceToNowStrict } from 'date-fns';
11
+ import copy from 'copy-to-clipboard';
12
+ import { useStores } from '@postgres.ai/shared/pages/Instance/context';
13
+ import { ArrowDropDownIcon } from '@postgres.ai/shared/icons/ArrowDropDown';
14
+ import { Modal as ModalBase } from '@postgres.ai/shared/components/Modal';
15
+ import { HorizontalScrollContainer } from '@postgres.ai/shared/components/HorizontalScrollContainer';
16
+ import { Table, TableHead, TableRow, TableBody, TableHeaderCell, TableBodyCell, TableBodyCellMenu, } from '@postgres.ai/shared/components/Table';
17
+ import { formatBytesIEC } from '@postgres.ai/shared/utils/units';
18
+ import { isSameDayUTC } from '@postgres.ai/shared/utils/date';
19
+ import { Tags } from '@postgres.ai/shared/pages/Instance/components/Tags';
20
+ import { ModalReloadButton } from '@postgres.ai/shared/pages/Instance/components/ModalReloadButton';
21
+ import { getTags } from './utils';
22
+ const useStyles = makeStyles({
23
+ root: {
24
+ fontSize: '14px',
25
+ marginTop: 0,
26
+ display: 'block',
27
+ },
28
+ container: {
29
+ maxHeight: '400px',
30
+ },
31
+ cellContentCentered: {
32
+ display: 'flex',
33
+ alignItems: 'center',
34
+ },
35
+ sortIcon: {
36
+ marginLeft: '8px',
37
+ width: '10px',
38
+ },
39
+ emptyStub: {
40
+ marginTop: '16px',
41
+ },
42
+ }, { index: 1 });
43
+ export const SnapshotsModal = observer(() => {
44
+ const classes = useStyles();
45
+ const stores = useStores();
46
+ const { snapshots } = stores.main;
47
+ if (!snapshots.data)
48
+ return null;
49
+ const filteredSnapshots = snapshots.data.filter((snapshot) => {
50
+ const isMatchedByDate = !stores.snapshotsModal.date ||
51
+ isSameDayUTC(snapshot.dataStateAtDate, stores.snapshotsModal.date);
52
+ const isMatchedByPool = !stores.snapshotsModal.pool ||
53
+ snapshot.pool === stores.snapshotsModal.pool;
54
+ return isMatchedByDate && isMatchedByPool;
55
+ });
56
+ const isEmpty = !filteredSnapshots.length;
57
+ return (_jsxs(ModalBase, { isOpen: stores.snapshotsModal.isOpenModal, onClose: stores.snapshotsModal.closeModal, title: `Snapshots (${filteredSnapshots.length})`, classes: { content: classes.root }, size: "md", titleRightContent: _jsx(ModalReloadButton, { isReloading: stores.main.snapshots.isLoading, onReload: stores.main.reloadSnapshots }), headerContent: _jsx(Tags, { data: getTags({
58
+ date: stores.snapshotsModal.date,
59
+ pool: stores.snapshotsModal.pool,
60
+ }) }), children: [isEmpty && _jsx("p", { className: classes.emptyStub, children: "No snapshots found" }), !isEmpty && (_jsx(HorizontalScrollContainer, { classes: { content: classes.container }, children: _jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [_jsx(TableHeaderCell, {}), _jsx(TableHeaderCell, { children: "Data state time" }), _jsx(TableHeaderCell, { children: _jsxs("div", { className: classes.cellContentCentered, children: ["Created", _jsx(ArrowDropDownIcon, { className: classes.sortIcon })] }) }), _jsx(TableHeaderCell, { children: "Disk" }), _jsx(TableHeaderCell, { children: "Size" })] }) }), _jsx(TableBody, { children: filteredSnapshots.map((snapshot) => {
61
+ var _a;
62
+ return (_jsxs(TableRow, { children: [_jsx(TableBodyCellMenu, { actions: [
63
+ {
64
+ name: 'Copy snapshot ID',
65
+ onClick: () => copy(snapshot.id),
66
+ },
67
+ {
68
+ name: 'Show related clones',
69
+ onClick: () => stores.clonesModal.openModal({
70
+ snapshotId: snapshot.id,
71
+ }),
72
+ },
73
+ ] }), _jsxs(TableBodyCell, { children: [snapshot.dataStateAt, " (", formatDistanceToNowStrict(snapshot.dataStateAtDate, {
74
+ addSuffix: true,
75
+ }), ")"] }), _jsxs(TableBodyCell, { children: [snapshot.createdAt, " (", formatDistanceToNowStrict(snapshot.createdAtDate, {
76
+ addSuffix: true,
77
+ }), ")"] }), _jsx(TableBodyCell, { children: (_a = snapshot.pool) !== null && _a !== void 0 ? _a : '-' }), _jsx(TableBodyCell, { children: snapshot.physicalSize
78
+ ? formatBytesIEC(snapshot.physicalSize)
79
+ : '-' })] }, snapshot.id));
80
+ }) })] }) }))] }));
81
+ });
@@ -0,0 +1,7 @@
1
+ export declare const getTags: ({ date, pool }: {
2
+ date: Date | null;
3
+ pool: string | null;
4
+ }) => {
5
+ name: string;
6
+ value: string;
7
+ }[];
@@ -4,13 +4,12 @@
4
4
  * Unauthorized copying of this file, via any medium is strictly prohibited
5
5
  *--------------------------------------------------------------------------
6
6
  */
7
-
8
- import { Dimensions } from './types';
9
-
10
- export const checkIsVisibleLeftCurtain = (dimensions: Dimensions) => {
11
- return dimensions.scrollLeft > 0;
12
- };
13
-
14
- export const checkIsVisibleRightCurtain = (dimensions: Dimensions) => {
15
- return dimensions.scrollLeft < dimensions.scrollWidth - dimensions.offsetWidth;
7
+ import { formatUTC } from '@postgres.ai/shared/utils/date';
8
+ export const getTags = ({ date, pool }) => {
9
+ const tags = [];
10
+ if (date)
11
+ tags.push({ name: 'Date', value: `${formatUTC(date, 'yyyy-MM-dd')} UTC` });
12
+ if (pool)
13
+ tags.push({ name: 'Disk', value: pool });
14
+ return tags;
16
15
  };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ declare type Props = {
3
+ value: number;
4
+ handleChange: (event: React.ChangeEvent<{}>, newValue: number) => void;
5
+ hasLogs: boolean;
6
+ isPlatform?: boolean;
7
+ };
8
+ export declare const Tabs: (props: Props) => JSX.Element;
9
+ export {};
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { makeStyles, Tab as TabComponent, Tabs as TabsComponent, } from '@material-ui/core';
3
+ import { colors } from '@postgres.ai/shared/styles/colors';
4
+ const useStyles = makeStyles({
5
+ tabsRoot: {
6
+ minHeight: 0,
7
+ marginTop: '-8px',
8
+ },
9
+ tabsIndicator: {
10
+ height: '3px',
11
+ },
12
+ tabRoot: {
13
+ fontWeight: 400,
14
+ minWidth: 0,
15
+ minHeight: 0,
16
+ padding: '6px 16px',
17
+ borderBottom: `3px solid ${colors.consoleStroke}`,
18
+ '& + $tabRoot': {
19
+ marginLeft: '10px',
20
+ },
21
+ '&.Mui-disabled': {
22
+ opacity: 1,
23
+ color: colors.pgaiDarkGray,
24
+ },
25
+ },
26
+ tabHidden: {
27
+ display: 'none',
28
+ },
29
+ }, { index: 1 });
30
+ export const Tabs = (props) => {
31
+ const classes = useStyles();
32
+ const { value, handleChange, hasLogs } = props;
33
+ return (_jsxs(TabsComponent, { value: value, onChange: handleChange, classes: { root: classes.tabsRoot, indicator: classes.tabsIndicator }, children: [_jsx(TabComponent, { label: "Overview", classes: {
34
+ root: classes.tabRoot,
35
+ }, value: 0 }), _jsx(TabComponent, { label: "Logs", disabled: !hasLogs, classes: {
36
+ root: props.isPlatform ? classes.tabHidden : classes.tabRoot,
37
+ }, value: 1 }), _jsx(TabComponent, { label: "Configuration", classes: {
38
+ root: props.isPlatform ? classes.tabHidden : classes.tabRoot,
39
+ }, value: 2 })] }));
40
+ };
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ cloneId: string;
6
+ };
7
+ export declare const ConnectionModal: ((props: Props) => JSX.Element | null) & {
8
+ displayName: string;
9
+ };
10
+ export {};
@@ -0,0 +1,74 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /*--------------------------------------------------------------------------
3
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
4
+ * All Rights Reserved. Proprietary and confidential.
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ *--------------------------------------------------------------------------
7
+ */
8
+ import { observer } from 'mobx-react-lite';
9
+ import { makeStyles, IconButton } from '@material-ui/core';
10
+ import copy from 'copy-to-clipboard';
11
+ import { useStores } from '@postgres.ai/shared/pages/Instance/context';
12
+ import { Tooltip } from '@postgres.ai/shared/components/Tooltip';
13
+ import { Modal } from '@postgres.ai/shared/components/Modal';
14
+ import { TextField } from '@postgres.ai/shared/components/TextField';
15
+ import { icons } from '@postgres.ai/shared/styles/icons';
16
+ import { getSshPortForwardingCommand, getPsqlConnectionStr, getJdbcConnectionStr, } from '@postgres.ai/shared/utils/connection';
17
+ const useStyles = makeStyles({
18
+ root: {
19
+ fontSize: '14px',
20
+ },
21
+ item: {
22
+ '& + $item': {
23
+ marginTop: '16px',
24
+ },
25
+ },
26
+ fieldText: {
27
+ margin: 0,
28
+ },
29
+ field: {
30
+ width: 'calc(100% - 24px)',
31
+ margin: '16px 0 0 0',
32
+ },
33
+ fieldWrapper: {
34
+ display: 'flex',
35
+ alignItems: 'flex-end',
36
+ },
37
+ fieldInfo: {
38
+ display: 'flex',
39
+ alignItems: 'center',
40
+ height: '32px',
41
+ marginLeft: '12px',
42
+ },
43
+ copyButton: {
44
+ width: '32px',
45
+ height: '32px',
46
+ padding: '8px',
47
+ },
48
+ note: {
49
+ margin: '24px 0 0 0',
50
+ fontSize: '12px',
51
+ },
52
+ }, { index: 1 });
53
+ export const ConnectionModal = observer((props) => {
54
+ var _a;
55
+ const { isOpen, onClose, cloneId } = props;
56
+ const classes = useStyles();
57
+ const stores = useStores();
58
+ const { instance } = stores.main;
59
+ if (!instance)
60
+ return null;
61
+ const clone = (_a = instance.state) === null || _a === void 0 ? void 0 : _a.cloning.clones.find((clone) => clone.id === cloneId);
62
+ if (!clone)
63
+ return null;
64
+ const sshPortForwardingCommand = getSshPortForwardingCommand(instance, clone);
65
+ const psqlConnectionStr = getPsqlConnectionStr(clone);
66
+ const jdbcConnectionStr = getJdbcConnectionStr(clone);
67
+ return (_jsx(Modal, { title: "Clone connection info", isOpen: isOpen, onClose: onClose, children: _jsxs("div", { className: classes.root, children: [sshPortForwardingCommand && (_jsxs("div", { className: classes.item, children: [_jsxs("p", { className: classes.fieldText, children: ["In a separate console, set up SSH port forwarding", _jsx("br", {}), "(and keep it running):"] }), _jsx(TextField, { label: "SSH port forwarding", value: sshPortForwardingCommand, className: classes.field, InputProps: {
68
+ endAdornment: (_jsx(IconButton, { className: classes.copyButton, onClick: () => copy(sshPortForwardingCommand), children: icons.copyIcon })),
69
+ } })] })), psqlConnectionStr && (_jsxs("div", { className: classes.item, children: [_jsx("p", { className: classes.fieldText, children: "Connect to Postgres using psql:" }), _jsxs("div", { className: classes.fieldWrapper, children: [_jsx(TextField, { label: "psql connection string", value: psqlConnectionStr, className: classes.field, InputProps: {
70
+ endAdornment: (_jsx(IconButton, { className: classes.copyButton, onClick: () => copy(psqlConnectionStr), children: icons.copyIcon })),
71
+ } }), _jsx(Tooltip, { content: _jsx(_Fragment, { children: "Used to connect to Postgres using psql. Change DBNAME to\u00A0 name of the database you want to connect. Use PGPASSWORD\u00A0 environment variable to set database password or type\u00A0 it when prompted." }), children: _jsx("span", { className: classes.fieldInfo, children: icons.infoIcon }) })] })] })), jdbcConnectionStr && (_jsxs("div", { className: classes.item, children: [_jsx("p", { className: classes.fieldText, children: "Connect to Postgres using JDBC:" }), _jsxs("div", { className: classes.fieldWrapper, children: [_jsx(TextField, { label: "JDBC connection string", value: jdbcConnectionStr, className: classes.field, InputProps: {
72
+ endAdornment: (_jsx(IconButton, { className: classes.copyButton, onClick: () => copy(jdbcConnectionStr), children: icons.copyIcon })),
73
+ } }), _jsx(Tooltip, { content: _jsx(_Fragment, { children: "Used to connect to Postgres using JDBC. Change DBNAME to\u00A0 name of the database you want to connect, change DBPASSWORD\u00A0 to the password you\u2019ve used on clone creation." }), children: _jsx("span", { className: classes.fieldInfo, children: icons.infoIcon }) })] })] })), _jsxs("p", { className: classes.note, children: ["Password was set during clone creation. It\u2019s not being stored.", _jsx("br", {}), "You would need to recreate a clone if the password is lost."] })] }) }));
74
+ });