@postgres.ai/shared 3.5.1-pr-1027.0 → 4.0.0-pr-1028

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 (596) 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 +26 -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 +89 -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 +7 -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/PostgresSQL/index.d.ts +2 -0
  88. package/icons/PostgresSQL/index.js +40 -0
  89. package/icons/Renewable/index.d.ts +6 -0
  90. package/icons/Renewable/index.js +12 -0
  91. package/icons/Shield/index.d.ts +6 -0
  92. package/icons/Shield/index.js +12 -0
  93. package/icons/Warning/index.d.ts +6 -0
  94. package/icons/Warning/index.js +6 -0
  95. package/package.json +5 -13
  96. package/pages/Branches/Branch/context.d.ts +22 -0
  97. package/pages/Branches/Branch/context.js +3 -0
  98. package/pages/Branches/Branch/index.d.ts +9 -0
  99. package/pages/Branches/Branch/index.js +172 -0
  100. package/pages/Branches/Branch/stores/Main.d.ts +37 -0
  101. package/pages/Branches/Branch/stores/Main.js +90 -0
  102. package/pages/Branches/Branch/useCreatedStores.d.ts +6 -0
  103. package/pages/Branches/Branch/useCreatedStores.js +5 -0
  104. package/pages/Branches/components/BranchesTable/index.d.ts +10 -0
  105. package/pages/Branches/components/BranchesTable/index.js +107 -0
  106. package/pages/Branches/components/Modals/DeleteBranchModal/index.d.ts +11 -0
  107. package/pages/Branches/components/Modals/DeleteBranchModal/index.js +49 -0
  108. package/pages/Branches/components/Modals/types.d.ts +4 -0
  109. package/pages/Branches/components/Modals/types.js +1 -0
  110. package/pages/Branches/index.d.ts +6 -0
  111. package/pages/Branches/index.js +60 -0
  112. package/pages/Clone/Status/index.d.ts +8 -0
  113. package/pages/Clone/Status/index.js +38 -0
  114. package/pages/Clone/context.d.ts +21 -0
  115. package/pages/Clone/context.js +3 -0
  116. package/pages/Clone/index.d.ts +9 -0
  117. package/pages/Clone/index.js +252 -0
  118. package/pages/Clone/stores/Main.d.ts +47 -0
  119. package/pages/Clone/stores/Main.js +141 -0
  120. package/pages/Clone/useCreatedStores.d.ts +6 -0
  121. package/pages/Clone/useCreatedStores.js +5 -0
  122. package/pages/Clone/utils/index.d.ts +4 -0
  123. package/pages/Clone/utils/index.js +12 -0
  124. package/pages/CreateBranch/index.d.ts +17 -0
  125. package/pages/CreateBranch/index.js +135 -0
  126. package/pages/CreateBranch/stores/Main.d.ts +43 -0
  127. package/pages/CreateBranch/stores/Main.js +59 -0
  128. package/pages/CreateBranch/useCreatedStores.d.ts +6 -0
  129. package/pages/CreateBranch/useCreatedStores.js +5 -0
  130. package/pages/CreateBranch/useForm.d.ts +51 -0
  131. package/pages/CreateBranch/useForm.js +30 -0
  132. package/pages/CreateBranch/utils/index.d.ts +2 -0
  133. package/pages/CreateBranch/utils/index.js +10 -0
  134. package/pages/CreateClone/index.d.ts +19 -0
  135. package/pages/CreateClone/index.js +142 -0
  136. package/pages/CreateClone/stores/Main.d.ts +49 -0
  137. package/pages/CreateClone/stores/Main.js +85 -0
  138. package/pages/CreateClone/styles.module.scss +47 -4
  139. package/pages/CreateClone/useCreatedStores.d.ts +6 -0
  140. package/pages/CreateClone/useCreatedStores.js +5 -0
  141. package/pages/CreateClone/useForm.d.ts +55 -0
  142. package/pages/CreateClone/useForm.js +26 -0
  143. package/pages/CreateClone/utils/index.d.ts +3 -0
  144. package/pages/CreateClone/utils/index.js +17 -0
  145. package/pages/CreateSnapshot/index.d.ts +17 -0
  146. package/pages/CreateSnapshot/index.js +117 -0
  147. package/pages/CreateSnapshot/stores/Main.d.ts +21 -0
  148. package/pages/CreateSnapshot/stores/Main.js +31 -0
  149. package/pages/CreateSnapshot/useCreatedStores.d.ts +6 -0
  150. package/pages/CreateSnapshot/useCreatedStores.js +5 -0
  151. package/pages/CreateSnapshot/useForm.d.ts +53 -0
  152. package/pages/CreateSnapshot/useForm.js +25 -0
  153. package/pages/CreateSnapshot/utils/index.d.ts +1 -0
  154. package/pages/CreateSnapshot/utils/index.js +3 -0
  155. package/pages/Instance/Clones/ClonesList/ConnectionModal/index.d.ts +10 -0
  156. package/pages/Instance/Clones/ClonesList/ConnectionModal/index.js +74 -0
  157. package/pages/Instance/Clones/ClonesList/MenuCell/index.d.ts +11 -0
  158. package/pages/Instance/Clones/ClonesList/MenuCell/index.js +49 -0
  159. package/pages/Instance/Clones/ClonesList/MenuCell/utils.d.ts +3 -0
  160. package/pages/Instance/Clones/ClonesList/MenuCell/utils.js +18 -0
  161. package/pages/Instance/Clones/ClonesList/index.d.ts +9 -0
  162. package/pages/Instance/Clones/ClonesList/index.js +96 -0
  163. package/pages/Instance/{components → Clones}/ClonesList/styles.module.scss +10 -0
  164. package/pages/Instance/Clones/ClonesModal/index.d.ts +4 -0
  165. package/pages/Instance/Clones/ClonesModal/index.js +38 -0
  166. package/pages/Instance/Clones/ClonesModal/utils.d.ts +7 -0
  167. package/pages/Instance/Clones/ClonesModal/utils.js +14 -0
  168. package/pages/Instance/Clones/Header/Item/index.d.ts +7 -0
  169. package/pages/Instance/Clones/Header/Item/index.js +5 -0
  170. package/pages/Instance/Clones/Header/index.d.ts +9 -0
  171. package/pages/Instance/Clones/Header/index.js +16 -0
  172. package/pages/Instance/Clones/Header/styles.module.scss +4 -1
  173. package/pages/Instance/Clones/index.d.ts +8 -0
  174. package/pages/Instance/Clones/index.js +64 -0
  175. package/pages/Instance/Configuration/Header/index.d.ts +11 -0
  176. package/pages/Instance/Configuration/Header/index.js +17 -0
  177. package/pages/Instance/Configuration/InputWithTooltip/index.d.ts +32 -0
  178. package/pages/Instance/Configuration/InputWithTooltip/index.js +64 -0
  179. package/pages/Instance/Configuration/ResponseMessage/index.d.ts +5 -0
  180. package/pages/Instance/Configuration/ResponseMessage/index.js +43 -0
  181. package/pages/Instance/Configuration/configOptions.d.ts +9 -0
  182. package/pages/Instance/Configuration/configOptions.js +59 -0
  183. package/pages/Instance/Configuration/index.d.ts +10 -0
  184. package/pages/Instance/Configuration/index.js +547 -0
  185. package/pages/Instance/Configuration/tooltipText.d.ts +20 -0
  186. package/pages/Instance/Configuration/tooltipText.js +21 -0
  187. package/pages/Instance/Configuration/useForm.d.ts +82 -0
  188. package/pages/Instance/Configuration/useForm.js +74 -0
  189. package/pages/Instance/Configuration/utils/index.d.ts +22 -0
  190. package/pages/Instance/Configuration/utils/index.js +105 -0
  191. package/pages/Instance/InactiveInstance/index.d.ts +6 -0
  192. package/pages/Instance/InactiveInstance/index.js +65 -0
  193. package/pages/Instance/InactiveInstance/utils.d.ts +2 -0
  194. package/pages/Instance/InactiveInstance/utils.js +7 -0
  195. package/pages/Instance/Info/Connection/ConnectModal/Content/index.d.ts +4 -0
  196. package/pages/Instance/Info/Connection/ConnectModal/Content/index.js +73 -0
  197. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.d.ts +3 -0
  198. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.js +20 -0
  199. package/pages/Instance/Info/Connection/ConnectModal/index.d.ts +6 -0
  200. package/pages/Instance/Info/Connection/ConnectModal/index.js +17 -0
  201. package/pages/Instance/Info/Connection/index.d.ts +4 -0
  202. package/pages/Instance/Info/Connection/index.js +44 -0
  203. package/pages/Instance/Info/Details/index.d.ts +2 -0
  204. package/pages/Instance/Info/Details/index.js +6 -0
  205. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.d.ts +8 -0
  206. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.js +47 -0
  207. package/pages/Instance/Info/Disks/Disk/Marker/index.d.ts +6 -0
  208. package/pages/Instance/Info/Disks/Disk/Marker/index.js +15 -0
  209. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.d.ts +5 -0
  210. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.js +2 -0
  211. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.d.ts +8 -0
  212. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.js +45 -0
  213. package/pages/Instance/Info/Disks/Disk/Status/index.d.ts +6 -0
  214. package/pages/Instance/Info/Disks/Disk/Status/index.js +52 -0
  215. package/pages/Instance/Info/Disks/Disk/index.d.ts +15 -0
  216. package/pages/Instance/Info/Disks/Disk/index.js +71 -0
  217. package/pages/Instance/Info/Disks/index.d.ts +4 -0
  218. package/pages/Instance/Info/Disks/index.js +24 -0
  219. package/pages/Instance/Info/Icons/index.d.ts +7 -0
  220. package/pages/Instance/Info/Icons/index.js +3 -0
  221. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.d.ts +4 -0
  222. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.js +15 -0
  223. package/pages/Instance/Info/Retrieval/RetrievalModal/index.d.ts +10 -0
  224. package/pages/Instance/Info/Retrieval/RetrievalModal/index.js +11 -0
  225. package/pages/Instance/Info/Retrieval/RetrievalTable/index.d.ts +6 -0
  226. package/pages/Instance/Info/Retrieval/RetrievalTable/index.js +6 -0
  227. package/pages/Instance/Info/Retrieval/index.d.ts +4 -0
  228. package/pages/Instance/Info/Retrieval/index.js +47 -0
  229. package/pages/Instance/Info/Retrieval/utils.d.ts +2 -0
  230. package/pages/Instance/Info/Retrieval/utils.js +12 -0
  231. package/pages/Instance/Info/Snapshots/Calendar/Day/index.d.ts +11 -0
  232. package/pages/Instance/Info/Snapshots/Calendar/Day/index.js +71 -0
  233. package/pages/Instance/Info/Snapshots/Calendar/index.d.ts +8 -0
  234. package/pages/Instance/Info/Snapshots/Calendar/index.js +67 -0
  235. package/pages/Instance/Info/Snapshots/Calendar/utils.d.ts +27 -0
  236. package/pages/Instance/Info/Snapshots/Calendar/utils.js +41 -0
  237. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.d.ts +6 -0
  238. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.js +58 -0
  239. package/pages/Instance/Info/Snapshots/TimeLine/index.d.ts +2 -0
  240. package/pages/Instance/Info/Snapshots/TimeLine/index.js +32 -0
  241. package/pages/Instance/Info/Snapshots/index.d.ts +4 -0
  242. package/pages/Instance/Info/Snapshots/index.js +40 -0
  243. package/pages/Instance/Info/Snapshots/utils.d.ts +34 -0
  244. package/pages/Instance/Info/Snapshots/utils.js +26 -0
  245. package/pages/Instance/Info/Status/InstanceResponseModal/index.d.ts +9 -0
  246. package/pages/Instance/Info/Status/InstanceResponseModal/index.js +12 -0
  247. package/pages/Instance/Info/Status/index.d.ts +4 -0
  248. package/pages/Instance/Info/Status/index.js +31 -0
  249. package/pages/Instance/Info/Status/utils.d.ts +8 -0
  250. package/pages/Instance/Info/Status/utils.js +23 -0
  251. package/pages/Instance/Info/components/Property/index.d.ts +11 -0
  252. package/pages/Instance/Info/components/Property/index.js +14 -0
  253. package/pages/Instance/Info/components/Section/index.d.ts +8 -0
  254. package/pages/Instance/Info/components/Section/index.js +18 -0
  255. package/pages/Instance/Info/components/ValueStatus/index.d.ts +9 -0
  256. package/pages/Instance/Info/components/ValueStatus/index.js +18 -0
  257. package/pages/Instance/Info/index.d.ts +2 -0
  258. package/pages/Instance/Info/index.js +76 -0
  259. package/pages/Instance/Snapshots/components/SnapshotHeader/index.d.ts +11 -0
  260. package/pages/Instance/Snapshots/components/SnapshotHeader/index.js +36 -0
  261. package/pages/Instance/Snapshots/components/SnapshotsList/index.d.ts +11 -0
  262. package/pages/Instance/Snapshots/components/SnapshotsList/index.js +157 -0
  263. package/pages/Instance/Snapshots/components/SnapshotsModal/utils.d.ts +7 -0
  264. package/{components/HorizontalScrollContainer/utils.ts → pages/Instance/Snapshots/components/SnapshotsModal/utils.js} +8 -9
  265. package/pages/Instance/Snapshots/components/SnapshotsTable/index.d.ts +6 -0
  266. package/pages/Instance/Snapshots/components/SnapshotsTable/index.js +125 -0
  267. package/pages/Instance/Snapshots/index.d.ts +6 -0
  268. package/pages/Instance/Snapshots/index.js +92 -0
  269. package/pages/Instance/Snapshots/utils/index.d.ts +16 -0
  270. package/pages/Instance/Snapshots/utils/index.js +30 -0
  271. package/pages/Instance/SnapshotsModal/index.d.ts +4 -0
  272. package/pages/Instance/SnapshotsModal/index.js +81 -0
  273. package/pages/Instance/Tabs/PlatformTabs.d.ts +10 -0
  274. package/pages/Instance/Tabs/PlatformTabs.js +51 -0
  275. package/pages/Instance/Tabs/index.d.ts +26 -0
  276. package/pages/Instance/Tabs/index.js +75 -0
  277. package/pages/Instance/Tabs/styles.d.ts +1 -0
  278. package/pages/Instance/Tabs/styles.js +62 -0
  279. package/pages/Instance/components/ErrorStub/index.d.ts +9 -0
  280. package/pages/Instance/components/ErrorStub/index.js +42 -0
  281. package/pages/Instance/components/ModalReloadButton/index.d.ts +7 -0
  282. package/pages/Instance/components/ModalReloadButton/index.js +22 -0
  283. package/pages/Instance/components/Tags/Tag/index.d.ts +7 -0
  284. package/pages/Instance/components/Tags/Tag/index.js +35 -0
  285. package/pages/Instance/components/Tags/index.d.ts +8 -0
  286. package/pages/Instance/components/Tags/index.js +16 -0
  287. package/pages/Instance/context.d.ts +38 -0
  288. package/pages/Instance/{ClonesModal/utils.ts → context.js} +5 -15
  289. package/pages/Instance/index.d.ts +8 -0
  290. package/pages/Instance/index.js +94 -0
  291. package/pages/Instance/stores/ClonesModal.d.ts +13 -0
  292. package/pages/Instance/stores/ClonesModal.js +24 -0
  293. package/pages/Instance/stores/Main.d.ts +141 -0
  294. package/pages/Instance/stores/Main.js +302 -0
  295. package/pages/Instance/stores/SnapshotsModal.d.ts +13 -0
  296. package/pages/Instance/stores/SnapshotsModal.js +24 -0
  297. package/pages/Instance/styles.scss +1 -4
  298. package/pages/Instance/useCreatedStores.d.ts +10 -0
  299. package/pages/Instance/useCreatedStores.js +9 -0
  300. package/pages/Logs/Icons/PlusIcon.d.ts +2 -0
  301. package/pages/Logs/Icons/PlusIcon.js +2 -0
  302. package/pages/Logs/constants/index.d.ts +5 -0
  303. package/pages/Logs/constants/index.js +5 -0
  304. package/pages/Logs/hooks/useWsScroll.d.ts +1 -0
  305. package/pages/Logs/hooks/useWsScroll.js +37 -0
  306. package/pages/Logs/index.d.ts +6 -0
  307. package/pages/Logs/index.js +200 -0
  308. package/pages/Logs/utils/index.d.ts +2 -0
  309. package/pages/Logs/utils/index.js +15 -0
  310. package/pages/Logs/wsLogs.d.ts +3 -0
  311. package/pages/Logs/wsLogs.js +92 -0
  312. package/pages/Logs/wsSnackbar.d.ts +1 -0
  313. package/pages/Logs/wsSnackbar.js +25 -0
  314. package/pages/Snapshots/Snapshot/DestorySnapshotModal/index.d.ts +12 -0
  315. package/pages/Snapshots/Snapshot/DestorySnapshotModal/index.js +69 -0
  316. package/pages/Snapshots/Snapshot/context.d.ts +23 -0
  317. package/pages/Snapshots/Snapshot/context.js +3 -0
  318. package/pages/Snapshots/Snapshot/index.d.ts +9 -0
  319. package/pages/Snapshots/Snapshot/index.js +171 -0
  320. package/pages/Snapshots/Snapshot/stores/Main.d.ts +33 -0
  321. package/pages/Snapshots/Snapshot/stores/Main.js +71 -0
  322. package/pages/Snapshots/Snapshot/useCreatedStores.d.ts +6 -0
  323. package/pages/Snapshots/Snapshot/useCreatedStores.js +5 -0
  324. package/stores/Snapshots.d.ts +24 -0
  325. package/stores/Snapshots.js +59 -0
  326. package/styles/colors.d.ts +60 -0
  327. package/styles/colors.js +66 -0
  328. package/styles/icons.d.ts +63 -0
  329. package/styles/icons.js +69 -0
  330. package/styles/styles.d.ts +1 -0
  331. package/styles/styles.js +83 -0
  332. package/styles/theme.d.ts +1 -0
  333. package/styles/theme.js +50 -0
  334. package/styles/vars.d.ts +25 -0
  335. package/styles/{vars.ts → vars.js} +20 -28
  336. package/types/api/endpoints/createBranch.d.ts +12 -0
  337. package/types/api/endpoints/createBranch.js +1 -0
  338. package/types/api/endpoints/createClone.d.ts +13 -0
  339. package/types/api/endpoints/createClone.js +1 -0
  340. package/types/api/endpoints/createSnapshot.d.ts +5 -0
  341. package/types/api/endpoints/createSnapshot.js +1 -0
  342. package/types/api/endpoints/deleteBranch.d.ts +4 -0
  343. package/types/api/endpoints/deleteBranch.js +1 -0
  344. package/types/api/endpoints/destroyClone.d.ts +7 -0
  345. package/types/api/endpoints/destroyClone.js +1 -0
  346. package/types/api/endpoints/destroySnapshot.d.ts +4 -0
  347. package/types/api/endpoints/destroySnapshot.js +1 -0
  348. package/types/api/endpoints/getBranchSnapshot.d.ts +5 -0
  349. package/types/api/endpoints/getBranchSnapshot.js +1 -0
  350. package/types/api/endpoints/getBranches.d.ts +18 -0
  351. package/types/api/endpoints/getBranches.js +5 -0
  352. package/types/api/endpoints/getClone.d.ts +8 -0
  353. package/types/api/endpoints/getClone.js +1 -0
  354. package/types/api/endpoints/getConfig.d.ts +5 -0
  355. package/types/api/endpoints/getConfig.js +1 -0
  356. package/types/api/endpoints/getEngine.d.ts +10 -0
  357. package/types/api/endpoints/getEngine.js +1 -0
  358. package/types/api/endpoints/getFullConfig.d.ts +4 -0
  359. package/types/api/endpoints/getFullConfig.js +1 -0
  360. package/types/api/endpoints/getInstance.d.ts +7 -0
  361. package/types/api/endpoints/getInstance.js +1 -0
  362. package/types/api/endpoints/getInstanceRetrieval.d.ts +7 -0
  363. package/types/api/endpoints/getInstanceRetrieval.js +1 -0
  364. package/types/api/endpoints/getSeImages.d.ts +19 -0
  365. package/types/api/endpoints/getSeImages.js +1 -0
  366. package/types/api/endpoints/getSnapshotList.d.ts +10 -0
  367. package/types/api/endpoints/getSnapshotList.js +1 -0
  368. package/types/api/endpoints/getSnapshots.d.ts +8 -0
  369. package/types/api/endpoints/getSnapshots.js +1 -0
  370. package/types/api/endpoints/getWSToken.d.ts +7 -0
  371. package/types/api/endpoints/getWSToken.js +1 -0
  372. package/types/api/endpoints/initWS.d.ts +1 -0
  373. package/types/api/endpoints/initWS.js +1 -0
  374. package/types/api/endpoints/refreshInstance.d.ts +6 -0
  375. package/types/api/endpoints/refreshInstance.js +1 -0
  376. package/types/api/endpoints/resetClone.d.ts +8 -0
  377. package/types/api/endpoints/resetClone.js +1 -0
  378. package/types/api/endpoints/testDbSource.d.ts +22 -0
  379. package/types/api/endpoints/testDbSource.js +23 -0
  380. package/types/api/endpoints/updateClone.d.ts +10 -0
  381. package/types/api/endpoints/updateClone.js +1 -0
  382. package/types/api/endpoints/updateConfig.d.ts +5 -0
  383. package/types/api/endpoints/updateConfig.js +1 -0
  384. package/types/api/entities/branchSnapshot.d.ts +6 -0
  385. package/types/api/entities/branchSnapshot.js +1 -0
  386. package/types/api/entities/branchSnapshots.d.ts +15 -0
  387. package/types/api/entities/branchSnapshots.js +7 -0
  388. package/types/api/entities/clone.d.ts +56 -0
  389. package/{components/Text/index.tsx → types/api/entities/clone.js} +8 -22
  390. package/types/api/entities/config.d.ts +72 -0
  391. package/types/api/entities/config.js +35 -0
  392. package/types/api/entities/createBranch.d.ts +5 -0
  393. package/types/api/entities/createBranch.js +1 -0
  394. package/types/api/entities/createSnapshot.d.ts +5 -0
  395. package/types/api/entities/createSnapshot.js +1 -0
  396. package/types/api/entities/dbSource.d.ts +13 -0
  397. package/types/api/entities/dbSource.js +1 -0
  398. package/types/api/entities/instance.d.ts +114 -0
  399. package/types/api/entities/instance.js +31 -0
  400. package/types/api/entities/instanceRetrieval.d.ts +42 -0
  401. package/types/api/entities/instanceRetrieval.js +19 -0
  402. package/types/api/entities/instanceState.d.ts +114 -0
  403. package/types/api/entities/instanceState.js +42 -0
  404. package/types/api/entities/pool.d.ts +18 -0
  405. package/{utils/numbers.ts → types/api/entities/pool.js} +1 -5
  406. package/types/api/entities/snapshot.d.ts +27 -0
  407. package/types/api/entities/snapshot.js +6 -0
  408. package/types/api/entities/wsToken.d.ts +5 -0
  409. package/types/api/entities/wsToken.js +1 -0
  410. package/utils/api.d.ts +1 -0
  411. package/utils/api.js +28 -0
  412. package/utils/clone.d.ts +13 -0
  413. package/utils/clone.js +21 -0
  414. package/utils/connection.d.ts +5 -0
  415. package/utils/connection.js +28 -0
  416. package/utils/date.d.ts +18 -0
  417. package/utils/date.js +40 -0
  418. package/utils/instance.d.ts +5 -0
  419. package/utils/instance.js +11 -0
  420. package/utils/numbers.d.ts +1 -0
  421. package/utils/{strings.ts → numbers.js} +4 -5
  422. package/utils/react.d.ts +5 -0
  423. package/utils/react.js +8 -0
  424. package/utils/snapshot.d.ts +5 -0
  425. package/utils/snapshot.js +6 -0
  426. package/utils/strings.d.ts +1 -0
  427. package/utils/strings.js +10 -0
  428. package/utils/units.d.ts +5 -0
  429. package/utils/units.js +15 -0
  430. package/.gitlab-ci.yml +0 -60
  431. package/components/AlertSnackbar/index.tsx +0 -23
  432. package/components/AlertSnackbar/useAlertSnackbar.tsx +0 -65
  433. package/components/Button/index.tsx +0 -79
  434. package/components/Button2/index.tsx +0 -43
  435. package/components/DestroyCloneModal/index.tsx +0 -56
  436. package/components/DestroyCloneRestrictionModal/index.tsx +0 -50
  437. package/components/ErrorStub/index.tsx +0 -83
  438. package/components/FormattedText/index.tsx +0 -44
  439. package/components/GatewayLink/index.tsx +0 -33
  440. package/components/HorizontalScrollContainer/index.tsx +0 -131
  441. package/components/ImportantText/index.tsx +0 -29
  442. package/components/Link2/index.tsx +0 -31
  443. package/components/MenuButton/index.tsx +0 -80
  444. package/components/Modal/index.tsx +0 -93
  445. package/components/ResetCloneModal/index.tsx +0 -154
  446. package/components/SectionTitle/index.tsx +0 -74
  447. package/components/Select/index.tsx +0 -42
  448. package/components/SimpleModalControls/index.tsx +0 -56
  449. package/components/Spinner/icon.tsx +0 -29
  450. package/components/Spinner/index.tsx +0 -16
  451. package/components/Status/index.tsx +0 -61
  452. package/components/StubContainer/index.tsx +0 -41
  453. package/components/StubSpinner/index.tsx +0 -49
  454. package/components/StubSpinnerFlex/index.tsx +0 -20
  455. package/components/SyntaxHighlight/index.tsx +0 -107
  456. package/components/Table/RowMenu/index.tsx +0 -111
  457. package/components/Table/index.tsx +0 -140
  458. package/components/TextField/index.tsx +0 -117
  459. package/components/Tooltip/index.tsx +0 -52
  460. package/config/index.ts +0 -32
  461. package/config/links.ts +0 -6
  462. package/craco.config.js +0 -80
  463. package/helpers/getEntropy.ts +0 -232
  464. package/helpers/localStorage.ts +0 -15
  465. package/helpers/request.ts +0 -47
  466. package/hooks/useWindowDimensions.ts +0 -16
  467. package/icons/ArrowDropDown/index.tsx +0 -29
  468. package/icons/Circle/index.tsx +0 -27
  469. package/icons/External/index.tsx +0 -14
  470. package/icons/Info/index.tsx +0 -12
  471. package/icons/Renewable/index.tsx +0 -65
  472. package/icons/Shield/index.tsx +0 -33
  473. package/icons/Warning/index.tsx +0 -29
  474. package/pages/Clone/Status/index.tsx +0 -73
  475. package/pages/Clone/context.ts +0 -22
  476. package/pages/Clone/index.tsx +0 -634
  477. package/pages/Clone/stores/Main.ts +0 -206
  478. package/pages/Clone/useCreatedStores.ts +0 -11
  479. package/pages/Configuration/Header/index.tsx +0 -84
  480. package/pages/Configuration/InputWithTooltip/index.tsx +0 -240
  481. package/pages/Configuration/ResponseMessage/index.tsx +0 -71
  482. package/pages/Configuration/configOptions.ts +0 -60
  483. package/pages/Configuration/index.tsx +0 -1184
  484. package/pages/Configuration/tooltipText.tsx +0 -157
  485. package/pages/Configuration/useForm.ts +0 -108
  486. package/pages/Configuration/utils/index.ts +0 -153
  487. package/pages/CreateClone/index.tsx +0 -311
  488. package/pages/CreateClone/stores/Main.ts +0 -107
  489. package/pages/CreateClone/useCreatedStores.ts +0 -11
  490. package/pages/CreateClone/useForm.ts +0 -36
  491. package/pages/Instance/Clones/Header/Item/index.tsx +0 -15
  492. package/pages/Instance/Clones/Header/index.tsx +0 -74
  493. package/pages/Instance/Clones/index.tsx +0 -135
  494. package/pages/Instance/ClonesModal/index.tsx +0 -71
  495. package/pages/Instance/InactiveInstance/index.tsx +0 -165
  496. package/pages/Instance/InactiveInstance/utils.ts +0 -9
  497. package/pages/Instance/Info/Connection/ConnectModal/Content/index.tsx +0 -176
  498. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.ts +0 -24
  499. package/pages/Instance/Info/Connection/ConnectModal/index.tsx +0 -36
  500. package/pages/Instance/Info/Connection/index.tsx +0 -81
  501. package/pages/Instance/Info/Details/index.tsx +0 -20
  502. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.tsx +0 -100
  503. package/pages/Instance/Info/Disks/Disk/Marker/index.tsx +0 -26
  504. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.tsx +0 -20
  505. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.tsx +0 -73
  506. package/pages/Instance/Info/Disks/Disk/Status/index.tsx +0 -75
  507. package/pages/Instance/Info/Disks/Disk/index.tsx +0 -168
  508. package/pages/Instance/Info/Disks/index.tsx +0 -65
  509. package/pages/Instance/Info/Icons/index.tsx +0 -39
  510. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.tsx +0 -32
  511. package/pages/Instance/Info/Retrieval/RetrievalModal/index.tsx +0 -49
  512. package/pages/Instance/Info/Retrieval/RetrievalTable/index.tsx +0 -53
  513. package/pages/Instance/Info/Retrieval/index.tsx +0 -95
  514. package/pages/Instance/Info/Retrieval/utils.ts +0 -10
  515. package/pages/Instance/Info/Snapshots/Calendar/Day/index.tsx +0 -125
  516. package/pages/Instance/Info/Snapshots/Calendar/index.tsx +0 -133
  517. package/pages/Instance/Info/Snapshots/Calendar/utils.ts +0 -74
  518. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.tsx +0 -79
  519. package/pages/Instance/Info/Snapshots/TimeLine/index.tsx +0 -57
  520. package/pages/Instance/Info/Snapshots/index.tsx +0 -97
  521. package/pages/Instance/Info/Snapshots/utils.ts +0 -18
  522. package/pages/Instance/Info/Status/InstanceResponseModal/index.tsx +0 -32
  523. package/pages/Instance/Info/Status/index.tsx +0 -85
  524. package/pages/Instance/Info/Status/utils.ts +0 -24
  525. package/pages/Instance/Info/components/Property/index.tsx +0 -32
  526. package/pages/Instance/Info/components/Section/index.tsx +0 -50
  527. package/pages/Instance/Info/components/ValueStatus/index.tsx +0 -51
  528. package/pages/Instance/Info/index.tsx +0 -129
  529. package/pages/Instance/SnapshotsModal/index.tsx +0 -169
  530. package/pages/Instance/SnapshotsModal/utils.ts +0 -17
  531. package/pages/Instance/Tabs/index.tsx +0 -98
  532. package/pages/Instance/components/ClonesList/ConnectionModal/index.tsx +0 -196
  533. package/pages/Instance/components/ClonesList/MenuCell/index.tsx +0 -98
  534. package/pages/Instance/components/ClonesList/MenuCell/utils.ts +0 -21
  535. package/pages/Instance/components/ClonesList/index.tsx +0 -189
  536. package/pages/Instance/components/ErrorStub/index.tsx +0 -77
  537. package/pages/Instance/components/ModalReloadButton/index.tsx +0 -43
  538. package/pages/Instance/components/Tags/Tag/index.tsx +0 -60
  539. package/pages/Instance/components/Tags/index.tsx +0 -42
  540. package/pages/Instance/context.ts +0 -39
  541. package/pages/Instance/index.tsx +0 -235
  542. package/pages/Instance/stores/ClonesModal.ts +0 -35
  543. package/pages/Instance/stores/Main.ts +0 -335
  544. package/pages/Instance/stores/SnapshotsModal.ts +0 -35
  545. package/pages/Instance/useCreatedStores.ts +0 -14
  546. package/pages/Logs/Icons/PlusIcon.tsx +0 -8
  547. package/pages/Logs/constants/index.ts +0 -7
  548. package/pages/Logs/hooks/useWsScroll.tsx +0 -44
  549. package/pages/Logs/index.tsx +0 -267
  550. package/pages/Logs/utils/index.ts +0 -20
  551. package/pages/Logs/wsLogs.ts +0 -110
  552. package/pages/Logs/wsSnackbar.ts +0 -27
  553. package/postgres.ai-shared-3.5.0.tgz +0 -0
  554. package/scripts/copy-assets.js +0 -30
  555. package/scripts/pack.js +0 -70
  556. package/stores/Snapshots.ts +0 -54
  557. package/styles/colors.ts +0 -67
  558. package/styles/icons.tsx +0 -1917
  559. package/styles/styles.ts +0 -87
  560. package/styles/theme.ts +0 -53
  561. package/types/api/endpoints/createClone.ts +0 -10
  562. package/types/api/endpoints/destroyClone.ts +0 -7
  563. package/types/api/endpoints/getClone.ts +0 -6
  564. package/types/api/endpoints/getConfig.ts +0 -6
  565. package/types/api/endpoints/getEngine.ts +0 -13
  566. package/types/api/endpoints/getFullConfig.ts +0 -4
  567. package/types/api/endpoints/getInstance.ts +0 -6
  568. package/types/api/endpoints/getInstanceRetrieval.ts +0 -6
  569. package/types/api/endpoints/getSeImages.ts +0 -22
  570. package/types/api/endpoints/getSnapshots.ts +0 -6
  571. package/types/api/endpoints/getWSToken.ts +0 -6
  572. package/types/api/endpoints/initWS.ts +0 -1
  573. package/types/api/endpoints/refreshInstance.ts +0 -4
  574. package/types/api/endpoints/resetClone.ts +0 -8
  575. package/types/api/endpoints/testDbSource.ts +0 -48
  576. package/types/api/endpoints/updateClone.ts +0 -10
  577. package/types/api/endpoints/updateConfig.ts +0 -6
  578. package/types/api/entities/clone.ts +0 -42
  579. package/types/api/entities/config.ts +0 -114
  580. package/types/api/entities/dbSource.ts +0 -13
  581. package/types/api/entities/instance.ts +0 -67
  582. package/types/api/entities/instanceRetrieval.ts +0 -46
  583. package/types/api/entities/instanceState.ts +0 -102
  584. package/types/api/entities/pool.ts +0 -27
  585. package/types/api/entities/snapshot.ts +0 -18
  586. package/types/api/entities/wsToken.ts +0 -7
  587. package/types/byte-size/index.d.ts +0 -22
  588. package/utils/api.ts +0 -30
  589. package/utils/clone.ts +0 -31
  590. package/utils/connection.ts +0 -38
  591. package/utils/date.ts +0 -87
  592. package/utils/instance.ts +0 -10
  593. package/utils/react.ts +0 -10
  594. package/utils/snapshot.ts +0 -4
  595. package/utils/units.ts +0 -23
  596. /package/pages/{Configuration → Instance/Configuration}/styles.module.scss +0 -0
@@ -0,0 +1,5 @@
1
+ export declare type WSTokenDTO = {
2
+ token: string;
3
+ };
4
+ export declare const formatWSTokenDto: (dto: WSTokenDTO) => WSTokenDTO;
5
+ export declare type WSToken = ReturnType<typeof formatWSTokenDto>;
@@ -0,0 +1 @@
1
+ export const formatWSTokenDto = (dto) => dto;
package/utils/api.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const getTextFromUnknownApiError: (error: Response) => Promise<string>;
package/utils/api.js ADDED
@@ -0,0 +1,28 @@
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 getTextFromUnknownApiError = async (error) => {
8
+ const log = (text) => console.error('Unknown API error', text);
9
+ try {
10
+ const result = await error.json();
11
+ log(result);
12
+ return JSON.stringify(result);
13
+ }
14
+ catch (e) {
15
+ // not a json
16
+ }
17
+ try {
18
+ const result = await error.text();
19
+ log(result);
20
+ return result;
21
+ }
22
+ catch (e) {
23
+ // not a text
24
+ }
25
+ const result = `${error.status} ${error.statusText}`;
26
+ log(result);
27
+ return result;
28
+ };
@@ -0,0 +1,13 @@
1
+ import { Clone } from '@postgres.ai/shared/types/api/entities/clone';
2
+ declare const STATUS_CODE_TO_TYPE: {
3
+ OK: "ok";
4
+ CREATING: "waiting";
5
+ DELETING: "waiting";
6
+ RESETTING: "waiting";
7
+ FATAL: "error";
8
+ };
9
+ declare type StatusCode = keyof typeof STATUS_CODE_TO_TYPE;
10
+ export declare const getCloneStatusType: (statusCode: StatusCode) => "error" | "waiting" | "ok";
11
+ export declare const getCloneStatusText: (statusCode: StatusCode) => string;
12
+ export declare const checkIsCloneStable: (clone: Clone) => boolean;
13
+ export {};
package/utils/clone.js ADDED
@@ -0,0 +1,21 @@
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
+ CREATING: 'waiting',
11
+ DELETING: 'waiting',
12
+ RESETTING: 'waiting',
13
+ FATAL: 'error',
14
+ };
15
+ export const getCloneStatusType = (statusCode) => { var _a; return (_a = STATUS_CODE_TO_TYPE[statusCode]) !== null && _a !== void 0 ? _a : 'unknown'; };
16
+ export const getCloneStatusText = (statusCode) => {
17
+ if (statusCode === 'OK')
18
+ return statusCode;
19
+ return capitalize(statusCode);
20
+ };
21
+ export const checkIsCloneStable = (clone) => clone.status.code === 'OK' || clone.status.code === 'FATAL';
@@ -0,0 +1,5 @@
1
+ import { Instance } from '@postgres.ai/shared/types/api/entities/instance';
2
+ import { Clone } from '@postgres.ai/shared/types/api/entities/clone';
3
+ export declare const getSshPortForwardingCommand: (instance: Instance, clone: Clone) => string | null;
4
+ export declare const getPsqlConnectionStr: (clone: Clone) => string | null;
5
+ export declare const getJdbcConnectionStr: (clone: Clone) => string | null;
@@ -0,0 +1,28 @@
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
+ const isEmptyDbData = (clone) => {
8
+ const { host, port, username } = clone.db;
9
+ // 'host', 'port' or 'username' can be empty string.
10
+ return !host || !port || !username;
11
+ };
12
+ export const getSshPortForwardingCommand = (instance, clone) => {
13
+ if (!instance.sshServerUrl)
14
+ return null;
15
+ if (isEmptyDbData(clone))
16
+ return null;
17
+ return `ssh -NTML ${clone.db.port}:localhost:${clone.db.port} ${instance.sshServerUrl} -i ~/.ssh/id_rsa`;
18
+ };
19
+ export const getPsqlConnectionStr = (clone) => {
20
+ if (isEmptyDbData(clone))
21
+ return null;
22
+ return `"host=${clone.db.host} port=${clone.db.port} user=${clone.db.username} dbname=DBNAME"`;
23
+ };
24
+ export const getJdbcConnectionStr = (clone) => {
25
+ if (isEmptyDbData(clone))
26
+ return null;
27
+ return `jdbc:postgresql://${clone.db.host}:${clone.db.port}/DBNAME?user=${clone.db.username}&password=DBPASSWORD`;
28
+ };
@@ -0,0 +1,18 @@
1
+ export declare const formatDateToISO: (dateString: string) => string;
2
+ export declare const parseDate: (dateStr: string) => Date;
3
+ export declare const startOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
4
+ export declare const startOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
5
+ export declare const endOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
6
+ export declare const endOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
7
+ export declare const startOfDayUTC: (date: Date, ...otherArgs: unknown[]) => Date;
8
+ export declare const addDaysUTC: (date: Date, ...otherArgs: unknown[]) => Date;
9
+ export declare const addMonthsUTC: (date: Date, ...otherArgs: unknown[]) => Date;
10
+ export declare const differenceInDaysUTC: (date1: Date, date2: Date) => number;
11
+ export declare const isSameMonthUTC: (date1: Date, date2: Date) => boolean;
12
+ export declare const formatUTC: (date: Date, formatStr: string) => string;
13
+ export declare const isSameDayUTC: (date1: Date, date2: Date) => boolean;
14
+ export declare const formatDistanceStd: (date: Date) => string;
15
+ export declare const formatDateStd: (date: Date, options?: {
16
+ withDistance?: boolean;
17
+ }) => string;
18
+ export declare const isValidDate: (dateObject: Date) => boolean;
package/utils/date.js ADDED
@@ -0,0 +1,40 @@
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 { parse, startOfDay, isSameDay, startOfMonth, startOfWeek, endOfMonth, endOfWeek, differenceInDays, addDays, addMonths, isSameMonth, format, formatDistanceToNowStrict, } from 'date-fns';
8
+ export const formatDateToISO = (dateString) => {
9
+ const parsedDate = parse(dateString, 'yyyyMMddHHmmss', new Date());
10
+ return format(parsedDate, "yyyy-MM-dd'T'HH:mm:ssXXX");
11
+ };
12
+ // parseDate parses date of both format: '2006-01-02 15:04:05 UTC' and `2006-01-02T15:04:05Z` (RFC3339).
13
+ export const parseDate = (dateStr) => parse(dateStr.replace(' UTC', 'Z').replace('T', ' '), 'yyyy-MM-dd HH:mm:ssX', new Date());
14
+ // UTCf - UTC formatted, but not actually UTC.
15
+ // date-fns using this approach because browser don't have an opportunity to switch single date
16
+ // object in different timezones.
17
+ // Example: 15:00:00 <some date> Moscow Standard Time -> 12:00:00 <same date> Moscow Standard Time.
18
+ // In example above just ignore real timezone "Moscow Standard Time" and imagine that it is UTC.
19
+ const toUTCf = (date) => new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
20
+ const toLocal = (date) => new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000);
21
+ const inUTC =
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ (func) => (date, ...otherArgs) => toLocal(func(toUTCf(date), ...otherArgs));
24
+ export const startOfMonthUTC = inUTC(startOfMonth);
25
+ export const startOfWeekUTC = inUTC(startOfWeek);
26
+ export const endOfMonthUTC = inUTC(endOfMonth);
27
+ export const endOfWeekUTC = inUTC(endOfWeek);
28
+ export const startOfDayUTC = inUTC(startOfDay);
29
+ export const addDaysUTC = inUTC(addDays);
30
+ export const addMonthsUTC = inUTC(addMonths);
31
+ export const differenceInDaysUTC = (date1, date2) => differenceInDays(toUTCf(date1), toUTCf(date2));
32
+ export const isSameMonthUTC = (date1, date2) => isSameMonth(toUTCf(date1), toUTCf(date2));
33
+ export const formatUTC = (date, formatStr) => format(toUTCf(date), formatStr);
34
+ export const isSameDayUTC = (date1, date2) => isSameDay(toUTCf(date1), toUTCf(date2));
35
+ // Std date utils.
36
+ export const formatDistanceStd = (date) => formatDistanceToNowStrict(date, { addSuffix: true });
37
+ export const formatDateStd = (date, options) => `${formatUTC(date, 'yyyy-MM-dd HH:mm:ss')} UTC ${(options === null || options === void 0 ? void 0 : options.withDistance) ? `(${formatDistanceStd(date)})` : ''}`;
38
+ export const isValidDate = (dateObject) => {
39
+ return new Date(dateObject).toString() !== 'Invalid Date';
40
+ };
@@ -0,0 +1,5 @@
1
+ export declare const parseEngineVersion: (str: string) => {
2
+ major: number;
3
+ minor: number;
4
+ patch: number;
5
+ } | null;
@@ -0,0 +1,11 @@
1
+ export const parseEngineVersion = (str) => {
2
+ const [versionStr] = str.split('-');
3
+ const [major, minor, patch] = versionStr.split('.');
4
+ if (!major || !minor || !patch)
5
+ return null;
6
+ return {
7
+ major: Number(major),
8
+ minor: Number(minor),
9
+ patch: Number(patch),
10
+ };
11
+ };
@@ -0,0 +1 @@
1
+ export declare const round: (value: number, precision?: number) => number;
@@ -4,8 +4,7 @@
4
4
  * Unauthorized copying of this file, via any medium is strictly prohibited
5
5
  *--------------------------------------------------------------------------
6
6
  */
7
-
8
- export const capitalize = (value: string) => {
9
- const [firstChar, ...otherChars] = value.split('')
10
- return `${firstChar.toUpperCase()}${otherChars.join('').toLowerCase()}`
11
- }
7
+ export const round = (value, precision = 0) => {
8
+ const multiplier = 10 ** precision;
9
+ return Math.round(value * multiplier) / multiplier;
10
+ };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const createStrictContext: <Value>() => {
3
+ useStrictContext: () => Value;
4
+ Provider: import("react").Provider<Value>;
5
+ };
package/utils/react.js ADDED
@@ -0,0 +1,8 @@
1
+ import { useContext, createContext } from 'react';
2
+ export const createStrictContext = () => {
3
+ const Context = createContext(undefined);
4
+ return {
5
+ useStrictContext: () => useContext(Context),
6
+ Provider: Context.Provider,
7
+ };
8
+ };
@@ -0,0 +1,5 @@
1
+ export declare const compareSnapshotsDesc: (a: {
2
+ dataStateAtDate: Date;
3
+ }, b: {
4
+ dataStateAtDate: Date;
5
+ }) => number;
@@ -0,0 +1,6 @@
1
+ export const compareSnapshotsDesc = (a, b) => {
2
+ var _a, _b, _c, _d;
3
+ const dataStateAtDateA = (_b = (_a = a.dataStateAtDate) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0;
4
+ const dataStateAtDateB = (_d = (_c = b.dataStateAtDate) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : 0;
5
+ return dataStateAtDateB - dataStateAtDateA;
6
+ };
@@ -0,0 +1 @@
1
+ export declare const capitalize: (value: string) => string;
@@ -0,0 +1,10 @@
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 capitalize = (value) => {
8
+ const [firstChar, ...otherChars] = value.split('');
9
+ return `${firstChar.toUpperCase()}${otherChars.join('').toLowerCase()}`;
10
+ };
@@ -0,0 +1,5 @@
1
+ declare type Options = {
2
+ precision?: number;
3
+ };
4
+ export declare const formatBytesIEC: (bytes: number, options?: Options) => string;
5
+ export {};
package/utils/units.js ADDED
@@ -0,0 +1,15 @@
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 byteSize from 'byte-size';
8
+ export const formatBytesIEC = (bytes, options) => {
9
+ const { precision = 3 } = options !== null && options !== void 0 ? options : {};
10
+ const result = byteSize(bytes, {
11
+ precision,
12
+ units: 'iec',
13
+ });
14
+ return `${result.value} ${result.unit}`;
15
+ };
package/.gitlab-ci.yml DELETED
@@ -1,60 +0,0 @@
1
- # Conditions.
2
- .only_ui_feature: &only_ui_feature
3
- rules:
4
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
5
-
6
- .only_ui_tag_release: &only_ui_tag_release
7
- rules:
8
- - if: $CI_COMMIT_TAG =~ /^v[a-zA-Z0-9_.-]*/
9
-
10
- .shared_base: &shared_base
11
- image: node:lts-alpine
12
- cache:
13
- key: "$CI_COMMIT_REF_SLUG"
14
- paths:
15
- - .pnpm-store
16
- before_script:
17
- - apk add --no-cache rsync
18
- - corepack enable
19
- - corepack prepare pnpm@8.9.2 --activate
20
- - pnpm config set store-dir .pnpm-store
21
- - pnpm --dir ui/packages/shared install --frozen-lockfile
22
-
23
- build-and-pack-shared:
24
- <<: *shared_base
25
- stage: build
26
- rules:
27
- - changes:
28
- - ui/packages/shared/**/*
29
- script:
30
- - cd ui/packages/shared
31
- - pnpm run pack
32
- artifacts:
33
- paths:
34
- - ui/packages/shared/postgres.ai-shared-*.tgz
35
-
36
- publish-shared-preview:
37
- <<: [*shared_base, *only_ui_feature]
38
- stage: publish
39
- needs:
40
- - job: build-and-pack-shared
41
- artifacts: true
42
- script:
43
- - cd ui/packages/shared
44
- - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
45
- - export PREID="pr-${CI_MERGE_REQUEST_IID:-preview}"
46
- - npm version prerelease --preid $PREID --no-git-tag-version
47
- - pnpm publish --no-git-checks --tag $PREID
48
-
49
- publish-shared-release:
50
- <<: [*shared_base, *only_ui_tag_release]
51
- stage: publish
52
- needs:
53
- - job: build-and-pack-shared
54
- artifacts: true
55
- script:
56
- - cd ui/packages/shared
57
- - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
58
- - export VERSION=${CI_COMMIT_TAG#"v"} # remove leading "v"
59
- - npm version "$VERSION" --no-git-tag-version
60
- - pnpm publish --no-git-checks
@@ -1,23 +0,0 @@
1
- import React from "react";
2
- import Snackbar from '@mui/material/Snackbar';
3
- import Alert from '@mui/material/Alert';
4
- import {useAlertSnackbar} from "./useAlertSnackbar";
5
-
6
- export const AlertSnackbar = () => {
7
- const { snackbarMessage, closeSnackbar } = useAlertSnackbar();
8
- return (
9
- <Snackbar
10
- open={!!snackbarMessage}
11
- onClose={closeSnackbar}
12
- >
13
- <Alert
14
- onClose={closeSnackbar}
15
- severity="error"
16
- variant="filled"
17
- sx={{ width: '100%' }}
18
- >
19
- {snackbarMessage?.message}
20
- </Alert>
21
- </Snackbar>
22
- )
23
- }
@@ -1,65 +0,0 @@
1
- import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
2
- import {AlertSnackbar} from "./index";
3
-
4
- type AlertSnackbarMessage = {
5
- message: string,
6
- key: number
7
- }
8
-
9
- type AlertSnackbarContextType = {
10
- snackbarMessage: AlertSnackbarMessage | null;
11
- showMessage: (message: string) => void;
12
- closeSnackbar: () => void;
13
- }
14
-
15
- const AlertSnackbarContext = createContext<AlertSnackbarContextType | undefined>(undefined);
16
-
17
- export const useAlertSnackbar = () => {
18
- const context = useContext(AlertSnackbarContext);
19
- if (context === undefined) {
20
- throw new Error('useSnackbar must be used within a SnackbarProvider');
21
- }
22
- return context;
23
- };
24
-
25
- type SnackbarProviderProps = {
26
- children: React.ReactNode
27
- }
28
-
29
- export const AlertSnackbarProvider = (props: SnackbarProviderProps) => {
30
- const { children } = props;
31
- const [snackbarMessage, setSnackbarMessage] = useState<AlertSnackbarMessage | null>(null);
32
- const isMounted = useRef(true);
33
-
34
- useEffect(() => {
35
- return () => {
36
- isMounted.current = false;
37
- };
38
- }, []);
39
-
40
- const showMessage = useCallback((message: string) => {
41
- if (isMounted.current) {
42
- setSnackbarMessage({message, key: new Date().getTime()});
43
- }
44
- }, []);
45
-
46
- const closeSnackbar = useCallback(() => {
47
- if (isMounted.current) {
48
- setSnackbarMessage(null);
49
- }
50
- }, []);
51
-
52
- const value = {
53
- snackbarMessage,
54
- showMessage,
55
- closeSnackbar,
56
- };
57
-
58
- return (
59
- <AlertSnackbarContext.Provider value={value}>
60
- {children}
61
- <AlertSnackbar />
62
- </AlertSnackbarContext.Provider>
63
- );
64
-
65
- }
@@ -1,79 +0,0 @@
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
-
8
- import React, { forwardRef } from 'react'
9
- import { makeStyles } from '@material-ui/styles'
10
- import { Button as ButtonBase, ButtonProps } from '@material-ui/core'
11
- import clsx from 'clsx'
12
-
13
- import { colors } from '@postgres.ai/shared/styles/colors'
14
-
15
- type Props = Omit<
16
- ButtonProps,
17
- 'variant' | 'color' | 'className' | 'disabled'
18
- > & {
19
- variant?: 'primary' | 'secondary'
20
- className?: string
21
- isDisabled?: boolean
22
- }
23
-
24
- const useStyles = makeStyles(
25
- {
26
- root: {
27
- whiteSpace: 'nowrap',
28
-
29
- '&.MuiButton-outlinedPrimary': {
30
- background: colors.white,
31
-
32
- '&:hover': {
33
- background: '#f4f6f7',
34
- },
35
- },
36
-
37
- '&:disabled': {
38
- cursor: 'not-allowed',
39
- pointerEvents: 'all',
40
-
41
- '&.MuiButton-outlinedPrimary:hover': {
42
- background: colors.white,
43
- border: '1px solid rgba(0, 0, 0, 0.12)',
44
- },
45
- },
46
- },
47
- },
48
- { index: 1 },
49
- )
50
-
51
- const VARIANT_MAP = {
52
- primary: 'contained' as const,
53
- secondary: 'outlined' as const,
54
- }
55
-
56
- export const Button = forwardRef(
57
- (props: Props, ref: React.Ref<HTMLButtonElement>) => {
58
- const {
59
- variant = 'secondary',
60
- className,
61
- isDisabled,
62
- size = 'small',
63
- ...buttonProps
64
- } = props
65
- const classes = useStyles()
66
-
67
- return (
68
- <ButtonBase
69
- {...buttonProps}
70
- size={size}
71
- ref={ref}
72
- disabled={isDisabled}
73
- className={clsx(classes.root, className)}
74
- variant={VARIANT_MAP[variant]}
75
- color="primary"
76
- />
77
- )
78
- },
79
- )
@@ -1,43 +0,0 @@
1
- import React from 'react'
2
- import cn from 'classnames'
3
-
4
- import { Spinner } from '@postgres.ai/shared/components/Spinner'
5
-
6
- import styles from './styles.module.scss'
7
-
8
- type Props = {
9
- type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type']
10
- children: React.ReactNode
11
- onClick?: React.DOMAttributes<HTMLButtonElement>['onClick']
12
- size?: 'sm' | 'md' | 'lg'
13
- theme?: 'primary' | 'secondary' | 'accent'
14
- className?: string
15
- isDisabled?: boolean
16
- isLoading?: boolean
17
- }
18
-
19
- export const Button = React.forwardRef<HTMLButtonElement, Props>(
20
- (props, ref) => {
21
- const { type = 'button', size = 'md', theme = 'secondary' } = props
22
-
23
- const isDisabled = props.isDisabled || props.isLoading
24
-
25
- return (
26
- <button
27
- ref={ref}
28
- className={cn(
29
- styles.root,
30
- styles[size],
31
- styles[theme],
32
- props.className,
33
- )}
34
- type={type}
35
- onClick={props.onClick}
36
- disabled={isDisabled}
37
- >
38
- {props.children}
39
- {props.isLoading && <Spinner size="sm" className={styles.spinner} />}
40
- </button>
41
- )
42
- },
43
- )
@@ -1,56 +0,0 @@
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
-
8
- import React from 'react'
9
-
10
- import { Modal } from '@postgres.ai/shared/components/Modal'
11
- import { ImportantText } from '@postgres.ai/shared/components/ImportantText'
12
- import { Text } from '@postgres.ai/shared/components/Text'
13
- import { SimpleModalControls } from '@postgres.ai/shared/components/SimpleModalControls'
14
-
15
- type Props = {
16
- cloneId: string
17
- isOpen: boolean
18
- onClose: () => void
19
- onDestroyClone: () => void
20
- }
21
-
22
- export const DestroyCloneModal = (props: Props) => {
23
- const { cloneId, isOpen, onClose, onDestroyClone } = props
24
-
25
- const handleClickDestroy = () => {
26
- onDestroyClone()
27
- onClose()
28
- }
29
-
30
- return (
31
- <Modal
32
- title={`Destroy clone ${cloneId}`}
33
- onClose={onClose}
34
- isOpen={isOpen}
35
- >
36
- <Text>
37
- Are you sure you want to destroy clone{' '}
38
- <ImportantText>{cloneId}</ImportantText>?
39
- </Text>
40
-
41
- <SimpleModalControls
42
- items={[
43
- {
44
- text: 'Cancel',
45
- onClick: onClose,
46
- },
47
- {
48
- text: 'Destroy clone',
49
- variant: 'primary',
50
- onClick: handleClickDestroy,
51
- }
52
- ]}
53
- />
54
- </Modal>
55
- )
56
- }
@@ -1,50 +0,0 @@
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
-
8
- import React from 'react'
9
- import { observer } from 'mobx-react-lite'
10
-
11
- import { Modal } from '@postgres.ai/shared/components/Modal'
12
- import { Link } from '@postgres.ai/shared/components/Link2'
13
- import { ImportantText } from '@postgres.ai/shared/components/ImportantText'
14
- import { Text } from '@postgres.ai/shared/components/Text'
15
- import { SimpleModalControls } from '@postgres.ai/shared/components/SimpleModalControls'
16
-
17
- type Props = {
18
- isOpen: boolean
19
- onClose: () => void
20
- cloneId: string
21
- clonePagePath?: string
22
- }
23
-
24
- export const DestroyCloneRestrictionModal = observer((props: Props) => {
25
- const { isOpen, onClose, cloneId, clonePagePath } = props
26
-
27
- return (
28
- <Modal title="Cannot destroy clone" isOpen={isOpen} onClose={onClose}>
29
- <Text>
30
- Cannot destroy clone <ImportantText>{cloneId}</ImportantText> because
31
- deletion protection is enabled. You can disable deletion protection on{' '}
32
- {clonePagePath ? (
33
- <Link to={clonePagePath}>the clone page</Link>
34
- ) : (
35
- 'this page'
36
- )}
37
- .
38
- </Text>
39
-
40
- <SimpleModalControls
41
- items={[
42
- {
43
- text: 'Close',
44
- onClick: onClose,
45
- },
46
- ]}
47
- />
48
- </Modal>
49
- )
50
- })