@cobaltcore-dev/aurora 0.23.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/client/App.d.ts +3 -2
  2. package/dist/client/AuroraApp.d.ts +25 -0
  3. package/dist/client/{AuthProvider-CQ6Yppoh.mjs → AuthProvider-BS5OVv8n.mjs} +4 -4
  4. package/dist/client/AuthProvider-BS5OVv8n.mjs.map +1 -0
  5. package/dist/client/{ContentHeader-9KZdhOoA.mjs → ContentHeader-BHMUzd9H.mjs} +27 -26
  6. package/dist/client/ContentHeader-BHMUzd9H.mjs.map +1 -0
  7. package/dist/client/DeleteFlavorModal-BP83t9zX.mjs +721 -0
  8. package/dist/client/DeleteFlavorModal-BP83t9zX.mjs.map +1 -0
  9. package/dist/client/FiltersInput-B8CNBg1L.mjs +82 -0
  10. package/dist/client/FiltersInput-B8CNBg1L.mjs.map +1 -0
  11. package/dist/client/{FloatingIpActionModals-BcceUHcg.mjs → FloatingIpActionModals-BraiJWBi.mjs} +66 -66
  12. package/dist/client/{FloatingIpActionModals-BcceUHcg.mjs.map → FloatingIpActionModals-BraiJWBi.mjs.map} +1 -1
  13. package/dist/client/ImageToastNotifications-BXMHJaIH.mjs +1131 -0
  14. package/dist/client/ImageToastNotifications-BXMHJaIH.mjs.map +1 -0
  15. package/dist/client/{RouteError-Rm08PcxN.mjs → RouteError-hAF8_jbe.mjs} +2 -2
  16. package/dist/client/{RouteError-Rm08PcxN.mjs.map → RouteError-hAF8_jbe.mjs.map} +1 -1
  17. package/dist/client/Slot-CWb612-_.mjs.map +1 -1
  18. package/dist/client/{SortInput-D_q_jDfe.mjs → SortInput-Cqs2poV3.mjs} +9 -9
  19. package/dist/client/{SortInput-D_q_jDfe.mjs.map → SortInput-Cqs2poV3.mjs.map} +1 -1
  20. package/dist/client/{StatusError-2ZU1gFpu.mjs → StatusError-C5KodQOq.mjs} +7 -7
  21. package/dist/client/{StatusError-2ZU1gFpu.mjs.map → StatusError-C5KodQOq.mjs.map} +1 -1
  22. package/dist/client/TwoColumnDescriptionList-DiDx3PnH.mjs +22 -0
  23. package/dist/client/TwoColumnDescriptionList-DiDx3PnH.mjs.map +1 -0
  24. package/dist/client/{_auth-D5_QNUos.mjs → _auth-DJ9wHZaj.mjs} +2 -2
  25. package/dist/client/_auth-DJ9wHZaj.mjs.map +1 -0
  26. package/dist/client/{_flavorId-CFmkmg2Y.mjs → _flavorId-BN_qessZ.mjs} +4 -4
  27. package/dist/client/{_flavorId-CFmkmg2Y.mjs.map → _flavorId-BN_qessZ.mjs.map} +1 -1
  28. package/dist/client/_flavorId-CJjEB_Ao.mjs +210 -0
  29. package/dist/client/_flavorId-CJjEB_Ao.mjs.map +1 -0
  30. package/dist/client/{_floatingIpId-Dzh6_JCI.mjs → _floatingIpId-CwDGHkWm.mjs} +4 -4
  31. package/dist/client/{_floatingIpId-Dzh6_JCI.mjs.map → _floatingIpId-CwDGHkWm.mjs.map} +1 -1
  32. package/dist/client/_floatingIpId-foMIwbE4.mjs +215 -0
  33. package/dist/client/_floatingIpId-foMIwbE4.mjs.map +1 -0
  34. package/dist/client/_imageId-BtJ7GmYB.mjs +558 -0
  35. package/dist/client/_imageId-BtJ7GmYB.mjs.map +1 -0
  36. package/dist/client/{_projectId-D-b7paXE.mjs → _projectId-BmtCuzJu.mjs} +4 -4
  37. package/dist/client/{_projectId-D-b7paXE.mjs.map → _projectId-BmtCuzJu.mjs.map} +1 -1
  38. package/dist/client/_projectId-Byt3GQDW.mjs +99 -0
  39. package/dist/client/_projectId-Byt3GQDW.mjs.map +1 -0
  40. package/dist/client/_projectId-NYk1IN_a.mjs +291 -0
  41. package/dist/client/_projectId-NYk1IN_a.mjs.map +1 -0
  42. package/dist/client/{_projectId-CAQkJHZ4.mjs → _projectId-QueiFczy.mjs} +3 -3
  43. package/dist/client/{_projectId-CAQkJHZ4.mjs.map → _projectId-QueiFczy.mjs.map} +1 -1
  44. package/dist/client/{_securityGroupId-DRkY3Gt6.mjs → _securityGroupId-BcbkRhsN.mjs} +4 -4
  45. package/dist/client/{_securityGroupId-DRkY3Gt6.mjs.map → _securityGroupId-BcbkRhsN.mjs.map} +1 -1
  46. package/dist/client/{_securityGroupId-DFdNKa2l.mjs → _securityGroupId-pPtJsCoe.mjs} +541 -527
  47. package/dist/client/_securityGroupId-pPtJsCoe.mjs.map +1 -0
  48. package/dist/client/_storageType-BmqrU06i.mjs +2202 -0
  49. package/dist/client/_storageType-BmqrU06i.mjs.map +1 -0
  50. package/dist/client/_storageType-zeSZe--V.mjs.map +1 -1
  51. package/dist/client/{about-C8tTrQaW.mjs → about-_73VmpTB.mjs} +8 -8
  52. package/dist/client/about-_73VmpTB.mjs.map +1 -0
  53. package/dist/client/assets/objectDownload.worker-CWWLPDyb.js.map +1 -0
  54. package/dist/client/assets/objectDownload.worker-kZlQuo3F.js.map +1 -0
  55. package/dist/client/{aurora-jyvXcI4T.mjs → aurora-EbwGRLLf.mjs} +2 -2
  56. package/dist/client/aurora-EbwGRLLf.mjs.map +1 -0
  57. package/dist/client/{build-CRLQyqu2.mjs → build-C_4vRMCq.mjs} +8072 -8533
  58. package/dist/client/build-C_4vRMCq.mjs.map +1 -0
  59. package/dist/client/components/Auth/LoginForm.d.ts +1 -1
  60. package/dist/client/components/Auth/SessionExpirationTimer.d.ts +1 -1
  61. package/dist/client/components/ContentHeader/ContentHeader.d.ts +1 -1
  62. package/dist/client/components/Error/RouteError.d.ts +1 -1
  63. package/dist/client/components/Error/StatusError.d.ts +1 -1
  64. package/dist/client/components/JsonEditor.d.ts +1 -1
  65. package/dist/client/components/ListToolbar/FiltersInput.d.ts +3 -1
  66. package/dist/client/components/ListToolbar/SelectedFilters.d.ts +1 -1
  67. package/dist/client/components/ListToolbar/index.d.ts +1 -1
  68. package/dist/client/components/ProjectView/ProjectInfoBox.d.ts +1 -1
  69. package/dist/client/components/Slot.d.ts +1 -1
  70. package/dist/client/components/TwoColumnDescriptionList.d.ts +11 -0
  71. package/dist/client/components/navigation/LanguageSelect.d.ts +1 -1
  72. package/dist/client/components/navigation/MainNavigation.d.ts +1 -1
  73. package/dist/client/components/navigation/UserMenu.d.ts +1 -1
  74. package/dist/client/{flavors-Dy-2mRGv.mjs → flavors-CiHCYrtZ.mjs} +2 -2
  75. package/dist/client/{flavors-Dy-2mRGv.mjs.map → flavors-CiHCYrtZ.mjs.map} +1 -1
  76. package/dist/client/flavors-DWMZ6TuJ.mjs.map +1 -1
  77. package/dist/client/{flavors-BfTXqmoD.mjs → flavors-DY-bDc8l.mjs} +196 -194
  78. package/dist/client/flavors-DY-bDc8l.mjs.map +1 -0
  79. package/dist/client/floatingips-Ci4jHkaG.mjs +591 -0
  80. package/dist/client/floatingips-Ci4jHkaG.mjs.map +1 -0
  81. package/dist/client/formatBytes-CZv_XyCY.mjs.map +1 -1
  82. package/dist/client/helpers-1PpYf-fC.mjs.map +1 -1
  83. package/dist/client/hooks/useAvailableViewportHeight.d.ts +8 -5
  84. package/dist/client/hooks/useVirtualizedTableBody.d.ts +1 -3
  85. package/dist/client/{hooks-Bw3sHHOg.mjs → hooks-LutR2Yg3.mjs} +2 -2
  86. package/dist/client/{hooks-Bw3sHHOg.mjs.map → hooks-LutR2Yg3.mjs.map} +1 -1
  87. package/dist/client/images-91U7tr9Y2.mjs +1976 -0
  88. package/dist/client/images-91U7tr9Y2.mjs.map +1 -0
  89. package/dist/client/{images-DPKUXryV.mjs → images-CS4kZQyu.mjs} +2 -2
  90. package/dist/client/{images-DPKUXryV.mjs.map → images-CS4kZQyu.mjs.map} +1 -1
  91. package/dist/client/images-NBf2bV43.mjs.map +1 -1
  92. package/dist/client/index.d.ts +4 -1
  93. package/dist/client/index.js +559 -545
  94. package/dist/client/index.js.map +1 -1
  95. package/dist/client/{md-CyCflQee.mjs → md-kvaGCNAK.mjs} +6 -78
  96. package/dist/client/{md-CyCflQee.mjs.map → md-kvaGCNAK.mjs.map} +1 -1
  97. package/dist/client/network-DuZm76BZ.mjs.map +1 -1
  98. package/dist/client/objects-C3azvW8m.mjs +10074 -0
  99. package/dist/client/objects-C3azvW8m.mjs.map +1 -0
  100. package/dist/client/objects-CM265S6b.mjs +56 -0
  101. package/dist/client/objects-CM265S6b.mjs.map +1 -0
  102. package/dist/client/objects-EE9Cd1wI.mjs +56 -0
  103. package/dist/client/objects-EE9Cd1wI.mjs.map +1 -0
  104. package/dist/client/projects-yiK0HGSA.mjs.map +1 -1
  105. package/dist/client/{routeInfo-CdTRlSxv.mjs → routeInfo-DXqB2HCf.mjs} +3 -3
  106. package/dist/client/routeInfo-DXqB2HCf.mjs.map +1 -0
  107. package/dist/client/router.d.ts +2 -1
  108. package/dist/client/{routes-BOf-GDMM.mjs → routes-CBd8CCuM.mjs} +27 -24
  109. package/dist/client/routes-CBd8CCuM.mjs.map +1 -0
  110. package/dist/client/{routes-CtfnI-aY.mjs → routes-CdDm-hhO.mjs} +2 -2
  111. package/dist/client/{routes-CtfnI-aY.mjs.map → routes-CdDm-hhO.mjs.map} +1 -1
  112. package/dist/client/securitygroups-Bd_uV4S9.mjs +595 -0
  113. package/dist/client/securitygroups-Bd_uV4S9.mjs.map +1 -0
  114. package/dist/client/{securitygroups-B8aLyFK7.mjs → securitygroups-Byte-iSp.mjs} +2 -2
  115. package/dist/client/{securitygroups-B8aLyFK7.mjs.map → securitygroups-Byte-iSp.mjs.map} +1 -1
  116. package/dist/client/services-D1PbooD1.mjs +6 -0
  117. package/dist/client/services-D1PbooD1.mjs.map +1 -0
  118. package/dist/client/services-DEMVtFyn.mjs +9 -0
  119. package/dist/client/services-DEMVtFyn.mjs.map +1 -0
  120. package/dist/client/store/AuthProvider.d.ts +1 -1
  121. package/dist/client/{trpcClient-Di56hpVv.mjs → trpcClient-D7gpR7YG.mjs} +2 -2
  122. package/dist/client/{trpcClient-Di56hpVv.mjs.map → trpcClient-D7gpR7YG.mjs.map} +1 -1
  123. package/dist/client/trpcClient.d.ts +139 -374
  124. package/dist/client/useModal-DCs1OJh7.mjs.map +1 -1
  125. package/dist/client/{useSecurityGroupPermissions-BPS1ibWq.mjs → useSecurityGroupPermissions-C29mzb3b.mjs} +15 -15
  126. package/dist/client/{useSecurityGroupPermissions-BPS1ibWq.mjs.map → useSecurityGroupPermissions-C29mzb3b.mjs.map} +1 -1
  127. package/dist/server/index.d.ts +164 -376
  128. package/dist/server/index.js +4223 -3131
  129. package/package.json +7 -9
  130. package/dist/client/AuthProvider-CQ6Yppoh.mjs.map +0 -1
  131. package/dist/client/BucketToastNotifications-Dq4dudkM.mjs +0 -665
  132. package/dist/client/BucketToastNotifications-Dq4dudkM.mjs.map +0 -1
  133. package/dist/client/ContentHeader-9KZdhOoA.mjs.map +0 -1
  134. package/dist/client/DeleteFlavorModal-Be2qZo4w.mjs +0 -713
  135. package/dist/client/DeleteFlavorModal-Be2qZo4w.mjs.map +0 -1
  136. package/dist/client/DeletePcaModal-CIFsGWyj.mjs +0 -80
  137. package/dist/client/DeletePcaModal-CIFsGWyj.mjs.map +0 -1
  138. package/dist/client/DetailsInfo-CHVD7d-W.mjs +0 -52
  139. package/dist/client/DetailsInfo-CHVD7d-W.mjs.map +0 -1
  140. package/dist/client/FiltersInput-DqT08Ib-.mjs +0 -81
  141. package/dist/client/FiltersInput-DqT08Ib-.mjs.map +0 -1
  142. package/dist/client/ImageToastNotifications-BGyX2J6j.mjs +0 -1219
  143. package/dist/client/ImageToastNotifications-BGyX2J6j.mjs.map +0 -1
  144. package/dist/client/_auth-D5_QNUos.mjs.map +0 -1
  145. package/dist/client/_flavorId-BsmqS9hP.mjs +0 -194
  146. package/dist/client/_flavorId-BsmqS9hP.mjs.map +0 -1
  147. package/dist/client/_floatingIpId-Bb9ZEJ6b.mjs +0 -228
  148. package/dist/client/_floatingIpId-Bb9ZEJ6b.mjs.map +0 -1
  149. package/dist/client/_imageId-C3As7sHE.mjs +0 -534
  150. package/dist/client/_imageId-C3As7sHE.mjs.map +0 -1
  151. package/dist/client/_pcaId-n0q0aDb6.mjs +0 -545
  152. package/dist/client/_pcaId-n0q0aDb6.mjs.map +0 -1
  153. package/dist/client/_projectId-BuBIFdgG.mjs +0 -291
  154. package/dist/client/_projectId-BuBIFdgG.mjs.map +0 -1
  155. package/dist/client/_projectId-DNZsNxJw.mjs +0 -98
  156. package/dist/client/_projectId-DNZsNxJw.mjs.map +0 -1
  157. package/dist/client/_securityGroupId-DFdNKa2l.mjs.map +0 -1
  158. package/dist/client/_storageType-Cn7TSOki.mjs +0 -81
  159. package/dist/client/_storageType-Cn7TSOki.mjs.map +0 -1
  160. package/dist/client/_storageType-_8Ambhxc.mjs +0 -2859
  161. package/dist/client/_storageType-_8Ambhxc.mjs.map +0 -1
  162. package/dist/client/about-C8tTrQaW.mjs.map +0 -1
  163. package/dist/client/assets/objectDownload.worker-BAc5Au4B.js.map +0 -1
  164. package/dist/client/aurora-jyvXcI4T.mjs.map +0 -1
  165. package/dist/client/build-CRLQyqu2.mjs.map +0 -1
  166. package/dist/client/flavors-BfTXqmoD.mjs.map +0 -1
  167. package/dist/client/floatingips-zhNK6Xxn.mjs +0 -562
  168. package/dist/client/floatingips-zhNK6Xxn.mjs.map +0 -1
  169. package/dist/client/images-DhZnqUG_.mjs +0 -1890
  170. package/dist/client/images-DhZnqUG_.mjs.map +0 -1
  171. package/dist/client/objects-B3mbk6V0.mjs +0 -6636
  172. package/dist/client/objects-B3mbk6V0.mjs.map +0 -1
  173. package/dist/client/objects-BQ8xvSW8.mjs +0 -103
  174. package/dist/client/objects-BQ8xvSW8.mjs.map +0 -1
  175. package/dist/client/objects-o2Cj_ndZ.mjs +0 -8
  176. package/dist/client/objects-o2Cj_ndZ.mjs.map +0 -1
  177. package/dist/client/pca-B60iWWfG.mjs +0 -251
  178. package/dist/client/pca-B60iWWfG.mjs.map +0 -1
  179. package/dist/client/pca-D0kKxHp4.mjs +0 -25
  180. package/dist/client/pca-D0kKxHp4.mjs.map +0 -1
  181. package/dist/client/pcaAccess-Br4kVjLQ.mjs +0 -9
  182. package/dist/client/pcaAccess-Br4kVjLQ.mjs.map +0 -1
  183. package/dist/client/routeInfo-CdTRlSxv.mjs.map +0 -1
  184. package/dist/client/routes-BOf-GDMM.mjs.map +0 -1
  185. package/dist/client/securitygroups-DRhFle2O.mjs +0 -589
  186. package/dist/client/securitygroups-DRhFle2O.mjs.map +0 -1
  187. package/dist/client/useListWithFiltering-aPTUNRaW.mjs +0 -32
  188. package/dist/client/useListWithFiltering-aPTUNRaW.mjs.map +0 -1
@@ -0,0 +1,595 @@
1
+ import { C as e, F as t, J as n, N as r, O as i, S as a, T as o, W as s, X as c, a as l, at as u, g as d, h as f, j as p, l as m, m as h, nt as g, o as _, p as v, st as y, t as b, ut as x, x as S } from "./build-C_4vRMCq.mjs";
2
+ import { a as C } from "./trpcClient-D7gpR7YG.mjs";
3
+ import { t as w } from "./securitygroups-Byte-iSp.mjs";
4
+ import { t as T } from "./useProjectId-DBc5lpoU.mjs";
5
+ import { t as E } from "./SortInput-Cqs2poV3.mjs";
6
+ import "./hooks-LutR2Yg3.mjs";
7
+ import { n as D, t as O } from "./FiltersInput-B8CNBg1L.mjs";
8
+ import { n as k, t as A } from "./useSecurityGroupPermissions-C29mzb3b.mjs";
9
+ import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
10
+ import { useEffect as P, useRef as F, useState as I } from "react";
11
+ import { useNavigate as ee, useSearch as L } from "@tanstack/react-router";
12
+ import { Trans as R, useLingui as z } from "@lingui/react";
13
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/-modals/DeleteSecurityGroupDialog.tsx
14
+ var B = ({ isOpen: e, onClose: i, securityGroup: a, onDelete: o, isDeleting: s = !1, error: c = null }) => {
15
+ let { i18n: u, _: d } = z(), [f, m] = I(""), g = u._({ id: "HNlEFZ" }), _ = f.toLowerCase() === g.toLowerCase(), v = a.name || a.id, y = (e) => {
16
+ e.preventDefault(), _ && !s && o(a.id);
17
+ }, b = () => {
18
+ m(""), i();
19
+ };
20
+ return /*#__PURE__*/ M(n, {
21
+ open: e,
22
+ onCancel: b,
23
+ size: "small",
24
+ title: u._({
25
+ id: "Y+2SDm",
26
+ values: { securityGroupName: v }
27
+ }),
28
+ modalFooter: /*#__PURE__*/ M(r, {
29
+ className: "flex justify-end",
30
+ children: /*#__PURE__*/ N(p, { children: [/*#__PURE__*/ M(l, {
31
+ variant: "default",
32
+ onClick: b,
33
+ disabled: s,
34
+ children: /*#__PURE__*/ M(R, { id: "dEgA5A" })
35
+ }), /*#__PURE__*/ M(l, {
36
+ variant: "primary-danger",
37
+ onClick: y,
38
+ disabled: !_ || s,
39
+ "data-testid": "confirm-delete-button",
40
+ children: s ? /*#__PURE__*/ M(R, { id: "EF2EU9" }) : /*#__PURE__*/ M(R, { id: "cnGeoo" })
41
+ })] })
42
+ }),
43
+ children: /*#__PURE__*/ N("div", { children: [
44
+ c && /*#__PURE__*/ M(t, {
45
+ dismissible: !1,
46
+ variant: "error",
47
+ className: "mt-4",
48
+ children: c
49
+ }),
50
+ /*#__PURE__*/ M(R, { id: "Qb+14I" }),
51
+ /*#__PURE__*/ N("div", {
52
+ className: "mt-4",
53
+ children: [/*#__PURE__*/ M("p", {
54
+ className: "mb-2 text-sm",
55
+ children: /*#__PURE__*/ M(R, {
56
+ id: "hLp49h",
57
+ values: { deleteWord: g },
58
+ components: { 0: /*#__PURE__*/ M("strong", {}) }
59
+ })
60
+ }), /*#__PURE__*/ M(h, {
61
+ id: "confirmation",
62
+ name: "confirmation",
63
+ value: f,
64
+ onChange: (e) => m(e.target.value),
65
+ placeholder: g,
66
+ disabled: s,
67
+ autoComplete: "off",
68
+ "data-testid": "delete-confirmation-input"
69
+ })]
70
+ })
71
+ ] })
72
+ });
73
+ };
74
+ //#endregion
75
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupTableRow.tsx
76
+ function V({ securityGroup: e, permissions: t, onEdit: n, onDelete: r, onViewDetails: a, isReadOnly: s = !1, showSelectColumn: c = !1, isSelected: l = !1, onSelect: f }) {
77
+ let { i18n: p, _: m } = z(), h = ({ value: e }) => /*#__PURE__*/ M("span", { children: e ? p._({ id: "l75CjT" }) : p._({ id: "1UzENP" }) }), g = () => {
78
+ a && a(e);
79
+ };
80
+ return /*#__PURE__*/ N(o, {
81
+ "data-testid": `security-group-row-${e.id}`,
82
+ onClick: g,
83
+ className: "hover:bg-theme-background-lvl-2 cursor-pointer",
84
+ children: [
85
+ c && /*#__PURE__*/ M(b, {
86
+ onClick: (e) => e.stopPropagation(),
87
+ children: /*#__PURE__*/ M(u, {
88
+ checked: l,
89
+ onChange: () => f?.(e)
90
+ })
91
+ }),
92
+ /*#__PURE__*/ M(b, { children: /*#__PURE__*/ N("div", { children: [/*#__PURE__*/ M("p", {
93
+ className: "text-md",
94
+ children: e.name
95
+ }), /*#__PURE__*/ M("p", {
96
+ className: "text-theme-light text-xs",
97
+ children: e.id
98
+ })] }) }),
99
+ /*#__PURE__*/ M(b, { children: e.description || p._({ id: "h47p9L" }) }),
100
+ /*#__PURE__*/ N(b, { children: [/*#__PURE__*/ M(h, { value: e.shared }), e.shared && /*#__PURE__*/ N("p", { children: [
101
+ /*#__PURE__*/ M(R, { id: "LtI9AS" }),
102
+ ": ",
103
+ /*#__PURE__*/ M("span", {
104
+ className: "text-theme-light text-xs",
105
+ children: e.project_id
106
+ })
107
+ ] })] }),
108
+ /*#__PURE__*/ M(b, { children: /*#__PURE__*/ M(h, { value: e.stateful }) }),
109
+ /*#__PURE__*/ M(b, {
110
+ onClick: (e) => e.stopPropagation(),
111
+ className: "items-end justify-end pr-0",
112
+ children: /*#__PURE__*/ M(i, { children: /*#__PURE__*/ N(d, { children: [
113
+ /*#__PURE__*/ M(S, {
114
+ label: p._({ id: "v0hPHE" }),
115
+ onClick: () => g()
116
+ }),
117
+ t.canUpdate && !s && /*#__PURE__*/ M(S, {
118
+ label: p._({ id: "ePK91l" }),
119
+ onClick: () => n(e)
120
+ }),
121
+ t.canDelete && !s && /*#__PURE__*/ M(S, {
122
+ label: p._({ id: "cnGeoo" }),
123
+ onClick: () => r(e)
124
+ })
125
+ ] }) })
126
+ })
127
+ ]
128
+ }, e.id);
129
+ }
130
+ //#endregion
131
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupListContainer.tsx
132
+ var H = ({ securityGroups: e, isLoading: t, isError: n, error: r, permissions: i, onDeleteSecurityGroup: l, isDeletingSecurityGroup: u = !1, deleteError: d = null, onUpdateSecurityGroup: f, isUpdatingSecurityGroup: p = !1, updateError: m = null, currentProjectId: h, hasAnyBulkAction: g = !1, onClearUpdateError: v }) => {
133
+ let { i18n: y, _: b } = z(), x = ee(), S = T(), [C, w] = I(null), [E, D] = I(!1), [O, A] = I(!1), L = F(!1), H = F(!1), U = (e) => {
134
+ C && C.id !== e.id && v && v(), w(e), D(!0);
135
+ }, W = (e) => {
136
+ w(e), A(!0);
137
+ }, G = (e) => {
138
+ x({
139
+ to: "/projects/$projectId/network/securitygroups/$securityGroupId",
140
+ params: {
141
+ projectId: S,
142
+ securityGroupId: e.id
143
+ }
144
+ });
145
+ }, K = () => {
146
+ w(null), D(!1);
147
+ }, q = () => {
148
+ w(null), A(!1);
149
+ };
150
+ return P(() => {
151
+ L.current && !u && O && !d && q(), L.current = u;
152
+ }, [
153
+ u,
154
+ d,
155
+ O
156
+ ]), P(() => {
157
+ H.current && !p && E && !m && K(), H.current = p;
158
+ }, [
159
+ p,
160
+ m,
161
+ E
162
+ ]), t ? /*#__PURE__*/ N(c, {
163
+ className: "py-8",
164
+ distribution: "center",
165
+ alignment: "center",
166
+ direction: "vertical",
167
+ children: [/*#__PURE__*/ M(s, {
168
+ variant: "primary",
169
+ size: "large",
170
+ className: "mb-2"
171
+ }), /*#__PURE__*/ M(R, { id: "Z3FXyt" })]
172
+ }) : n ? /*#__PURE__*/ M(c, {
173
+ className: "py-8",
174
+ distribution: "center",
175
+ alignment: "center",
176
+ direction: "vertical",
177
+ children: r?.message ?? y._({ id: "Wca9WC" })
178
+ }) : e.length === 0 ? /*#__PURE__*/ M(R, { id: "SfW/3r" }) : /*#__PURE__*/ N(j, { children: [/*#__PURE__*/ N(_, {
179
+ columns: g ? 6 : 5,
180
+ children: [/*#__PURE__*/ N(o, { children: [g && /*#__PURE__*/ M(a, {}), [
181
+ y._({ id: "6YtxFj" }),
182
+ y._({ id: "Nu4oKW" }),
183
+ y._({ id: "0Gd0NU" }),
184
+ y._({ id: "Jim5X9" }),
185
+ ""
186
+ ].map((e) => /*#__PURE__*/ M(a, { children: e }, e))] }), e.map((e) => {
187
+ let t = !!(h && e.project_id && e.project_id !== h);
188
+ return /*#__PURE__*/ M(V, {
189
+ securityGroup: e,
190
+ permissions: i,
191
+ onEdit: U,
192
+ onDelete: W,
193
+ onViewDetails: G,
194
+ isReadOnly: t,
195
+ showSelectColumn: g,
196
+ isSelected: !1,
197
+ onSelect: () => {}
198
+ }, e.id);
199
+ })]
200
+ }), C && /*#__PURE__*/ N(j, { children: [/*#__PURE__*/ M(k, {
201
+ securityGroup: C,
202
+ open: E,
203
+ onClose: K,
204
+ onUpdate: (e, t) => f ? f(e, t) : Promise.resolve(),
205
+ isLoading: p,
206
+ error: m
207
+ }), /*#__PURE__*/ M(B, {
208
+ securityGroup: C,
209
+ isOpen: O,
210
+ onClose: q,
211
+ onDelete: (e) => {
212
+ l && l(e);
213
+ },
214
+ isDeleting: u,
215
+ error: d
216
+ })] })] });
217
+ }, U = {
218
+ name: "",
219
+ description: "",
220
+ stateful: !0
221
+ }, W = ({ isOpen: e, onClose: i, onCreate: a, isLoading: o = !1, error: c = null }) => {
222
+ let { i18n: d, _: m } = z(), [g, _] = I({ ...U }), [b, S] = I({}), C = (e) => {
223
+ let { name: t, value: n, type: r } = e.target, i = e.target.checked;
224
+ _((e) => ({
225
+ ...e,
226
+ [t]: r === "checkbox" ? i : n
227
+ })), b[t] && S((e) => {
228
+ let n = { ...e };
229
+ return delete n[t], n;
230
+ });
231
+ }, w = () => {
232
+ let e = {};
233
+ return (!g.name || g.name.trim() === "") && (e.name = d._({ id: "lN/Z9n" })), S(e), Object.keys(e).length === 0;
234
+ }, T = async (e) => {
235
+ e.preventDefault(), w() && (await a({
236
+ name: g.name.trim(),
237
+ description: g.description.trim() || void 0,
238
+ stateful: g.stateful
239
+ }), E());
240
+ }, E = () => {
241
+ _({ ...U }), S({}), i();
242
+ };
243
+ return /*#__PURE__*/ N(n, {
244
+ open: e,
245
+ onCancel: E,
246
+ size: "large",
247
+ title: d._({ id: "YjAOtb" }),
248
+ modalFooter: /*#__PURE__*/ M(r, {
249
+ className: "flex justify-end",
250
+ children: /*#__PURE__*/ N(p, { children: [/*#__PURE__*/ M(l, {
251
+ variant: "default",
252
+ onClick: E,
253
+ disabled: o,
254
+ children: /*#__PURE__*/ M(R, { id: "dEgA5A" })
255
+ }), /*#__PURE__*/ M(l, {
256
+ variant: "primary",
257
+ onClick: (e) => {
258
+ T(e);
259
+ },
260
+ disabled: o,
261
+ "data-testid": "create-security-group-button",
262
+ children: o ? /*#__PURE__*/ M(s, { size: "small" }) : /*#__PURE__*/ M(R, { id: "YjAOtb" })
263
+ })] })
264
+ }),
265
+ children: [
266
+ c && /*#__PURE__*/ M(t, {
267
+ dismissible: !1,
268
+ variant: "error",
269
+ className: "mb-4",
270
+ children: c
271
+ }),
272
+ o && /*#__PURE__*/ N("div", {
273
+ className: "mb-4 flex items-center justify-center gap-2",
274
+ children: [/*#__PURE__*/ M(s, { variant: "primary" }), /*#__PURE__*/ M("span", {
275
+ className: "text-theme-high text-sm",
276
+ children: /*#__PURE__*/ M(R, { id: "Km4AGG" })
277
+ })]
278
+ }),
279
+ !o && /*#__PURE__*/ M(x, {
280
+ className: "mb-6",
281
+ children: /*#__PURE__*/ N(v, {
282
+ className: "mb-6",
283
+ children: [
284
+ /*#__PURE__*/ M(f, {
285
+ className: "mb-6",
286
+ children: /*#__PURE__*/ M(h, {
287
+ id: "name",
288
+ name: "name",
289
+ label: d._({ id: "6YtxFj" }),
290
+ value: g.name,
291
+ onChange: C,
292
+ required: !0,
293
+ errortext: b.name,
294
+ placeholder: d._({ id: "Ac6dy9" }),
295
+ disabled: o
296
+ })
297
+ }),
298
+ /*#__PURE__*/ M(f, {
299
+ className: "mb-6",
300
+ children: /*#__PURE__*/ M(y, {
301
+ id: "description",
302
+ name: "description",
303
+ label: d._({ id: "Nu4oKW" }),
304
+ value: g.description,
305
+ onChange: C,
306
+ placeholder: d._({ id: "Nu4oKW" }),
307
+ disabled: o,
308
+ rows: 3
309
+ })
310
+ }),
311
+ /*#__PURE__*/ M(f, {
312
+ className: "mb-0",
313
+ children: /*#__PURE__*/ M(u, {
314
+ id: "stateful",
315
+ name: "stateful",
316
+ label: d._({ id: "Jim5X9" }),
317
+ checked: g.stateful,
318
+ onChange: C,
319
+ disabled: o,
320
+ helptext: d._({ id: "4cQTyf" })
321
+ })
322
+ })
323
+ ]
324
+ })
325
+ })
326
+ ]
327
+ });
328
+ }, G = (e) => {
329
+ let t = [];
330
+ return e.shared && t.push({
331
+ name: "shared",
332
+ value: e.shared
333
+ }), t;
334
+ }, K = (e, t) => {
335
+ let n = {};
336
+ if (!e?.length) return n;
337
+ let r = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
338
+ return Object.entries(r).forEach(([e, r]) => {
339
+ t.find((t) => t.filterName === e)?.supportsMultiValue && r.length > 1 ? n[e] = `in:${r.join(",")}` : n[e] = r[0];
340
+ }), n;
341
+ }, q = (e, t, n) => e.some((e) => e.name === t.name && e.value === t.value) ? e : n.find((e) => e.filterName === t.name)?.supportsMultiValue ? [...e, t] : [...e.filter((e) => e.name !== t.name), t], te = (e, t, n) => {
342
+ let r = {
343
+ search: n.search,
344
+ sortBy: n.sortBy,
345
+ sortDirection: n.sortDirection
346
+ };
347
+ if (!e?.length) return r;
348
+ let i = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
349
+ return Object.entries(i).forEach(([e, n]) => {
350
+ t.find((t) => t.filterName === e)?.supportsMultiValue && n.length > 1 ? r[e] = `in:${n.join(",")}` : r[e] = n[0];
351
+ }), r;
352
+ }, J = ({ project: t }) => {
353
+ let { i18n: n, _: r } = z(), i = ee(), a = L({ strict: !1 }), [o, s] = I({
354
+ options: [{
355
+ label: n._({ id: "6YtxFj" }),
356
+ value: "name"
357
+ }, {
358
+ label: n._({ id: "podzPY" }),
359
+ value: "project_id"
360
+ }],
361
+ sortBy: a.sortBy || "name",
362
+ sortDirection: a.sortDirection || "asc"
363
+ }), [u, d] = I({
364
+ filters: [{
365
+ displayName: n._({ id: "0Gd0NU" }),
366
+ filterName: "shared",
367
+ values: ["true", "false"],
368
+ supportsMultiValue: !1
369
+ }],
370
+ selectedFilters: G(a)
371
+ }), [f, p] = I(a.search || ""), [h, g] = I(!1), [_, v] = I(null), [y, b] = I(null), [x, S] = I(null), w = C.useUtils();
372
+ P(() => {
373
+ s((e) => ({
374
+ ...e,
375
+ sortBy: a.sortBy || "name",
376
+ sortDirection: a.sortDirection || "asc"
377
+ })), d((e) => ({
378
+ ...e,
379
+ selectedFilters: G(a)
380
+ })), p(a.search || "");
381
+ }, [
382
+ a.sortBy,
383
+ a.sortDirection,
384
+ a.search,
385
+ a.shared
386
+ ]);
387
+ let T = G(a), k = a.sortBy || "name", F = a.sortDirection || "asc", B = a.search || "", { data: V, isLoading: U, isError: J, error: Y } = C.network.securityGroup.list.useQuery({
388
+ project_id: t || "",
389
+ sort_key: k,
390
+ sort_dir: F,
391
+ ...K(T, u.filters),
392
+ ...B ? { searchTerm: B } : {}
393
+ }, { refetchOnWindowFocus: !1 }), X = V || [], ne = J && Y?.data?.code === "FORBIDDEN" ? n._({ id: "MdfAJn" }) : null, { permissions: Z } = A(t), Q = C.network.securityGroup.create.useMutation({
394
+ onSuccess: (e) => {
395
+ w.network.securityGroup.list.invalidate(), w.network.securityGroup.getById.invalidate(), b(null), i({
396
+ to: "/projects/$projectId/network/securitygroups/$securityGroupId",
397
+ params: {
398
+ projectId: t,
399
+ securityGroupId: e.id
400
+ }
401
+ });
402
+ },
403
+ onError: (e) => {
404
+ b(e.message || n._({ id: "o6M6l0" }));
405
+ }
406
+ }), re = C.network.securityGroup.deleteById.useMutation({
407
+ onSuccess: () => {
408
+ w.network.securityGroup.list.invalidate(), w.network.securityGroup.getById.invalidate(), v(null);
409
+ },
410
+ onError: (e) => {
411
+ v(e.message || n._({ id: "d0pLfy" }));
412
+ }
413
+ }), ie = C.network.securityGroup.update.useMutation({
414
+ onSuccess: () => {
415
+ w.network.securityGroup.list.invalidate(), w.network.securityGroup.getById.invalidate(), S(null);
416
+ },
417
+ onError: (e) => {
418
+ S(e.message || n._({ id: "jPxavx" }));
419
+ }
420
+ }), ae = async (e) => {
421
+ b(null), await Q.mutateAsync({
422
+ project_id: t,
423
+ ...e
424
+ });
425
+ }, oe = (e) => {
426
+ v(null), re.mutate({
427
+ project_id: t,
428
+ securityGroupId: e
429
+ });
430
+ }, se = async (e, n) => {
431
+ S(null), await ie.mutateAsync({
432
+ project_id: t,
433
+ securityGroupId: e,
434
+ ...n
435
+ });
436
+ }, ce = () => {
437
+ S(null);
438
+ }, le = (e) => {
439
+ let t = {
440
+ options: e.options,
441
+ sortBy: e.sortBy?.toString() || "name",
442
+ sortDirection: e.sortDirection || "asc"
443
+ };
444
+ s(t), i({
445
+ search: (e) => ({
446
+ ...e,
447
+ sortBy: t.sortBy,
448
+ sortDirection: t.sortDirection
449
+ }),
450
+ replace: !0
451
+ });
452
+ }, $ = (e) => {
453
+ d(e), i({
454
+ search: (t) => te(e.selectedFilters || [], e.filters, {
455
+ search: t.search,
456
+ sortBy: t.sortBy,
457
+ sortDirection: t.sortDirection
458
+ }),
459
+ replace: !0
460
+ });
461
+ }, ue = (e) => {
462
+ let t = typeof e == "string" ? e : "";
463
+ p(t), i({
464
+ search: (e) => ({
465
+ ...e,
466
+ search: t || void 0
467
+ }),
468
+ replace: !0
469
+ });
470
+ };
471
+ return U ? /*#__PURE__*/ M(c, {
472
+ className: "py-8",
473
+ distribution: "center",
474
+ alignment: "center",
475
+ direction: "vertical",
476
+ children: /*#__PURE__*/ M(R, { id: "Z3FXyt" })
477
+ }) : J && !X.length ? /*#__PURE__*/ M(c, {
478
+ className: "py-8",
479
+ distribution: "center",
480
+ alignment: "center",
481
+ direction: "vertical",
482
+ children: ne || n._({ id: "Wca9WC" })
483
+ }) : /*#__PURE__*/ N(j, { children: [
484
+ /*#__PURE__*/ M(c, {
485
+ distribution: "end",
486
+ alignment: "center",
487
+ gap: "2",
488
+ className: "pb-2",
489
+ children: /*#__PURE__*/ N(c, {
490
+ gap: "2",
491
+ children: [/*#__PURE__*/ M(E, {
492
+ options: o.options,
493
+ sortBy: o.sortBy,
494
+ sortDirection: o.sortDirection ?? "asc",
495
+ selectClassName: "min-w-40",
496
+ onSortByChange: (e) => le({
497
+ ...o,
498
+ sortBy: e,
499
+ sortDirection: o.sortDirection
500
+ }),
501
+ onSortDirectionChange: (e) => le({
502
+ ...o,
503
+ sortDirection: e
504
+ })
505
+ }), Z.canCreate && /*#__PURE__*/ M(l, {
506
+ onClick: () => g(!0),
507
+ variant: "primary",
508
+ className: "whitespace-nowrap",
509
+ children: /*#__PURE__*/ M(R, { id: "YjAOtb" })
510
+ })]
511
+ })
512
+ }),
513
+ /*#__PURE__*/ M(m, { children: /*#__PURE__*/ N(c, {
514
+ direction: "vertical",
515
+ gap: "2",
516
+ children: [/*#__PURE__*/ N(c, {
517
+ distribution: "between",
518
+ alignment: "center",
519
+ children: [/*#__PURE__*/ M(O, {
520
+ filters: u.filters,
521
+ selectClassName: "sm:min-w-40",
522
+ comboboxClassName: "sm:min-w-40",
523
+ onChange: (e) => {
524
+ let t = q(u.selectedFilters || [], e, u.filters);
525
+ t !== (u.selectedFilters || []) && $({
526
+ ...u,
527
+ selectedFilters: t
528
+ });
529
+ }
530
+ }), /*#__PURE__*/ M(e, {
531
+ placeholder: n._({ id: "rp7Ili" }),
532
+ "data-testid": "searchbar",
533
+ value: f,
534
+ onInput: (e) => {
535
+ let t = e.currentTarget.value;
536
+ p(t);
537
+ },
538
+ onSearch: (e) => {
539
+ ue(typeof e == "string" ? e : "");
540
+ },
541
+ onClear: () => {
542
+ p(""), ue("");
543
+ }
544
+ })]
545
+ }), u.selectedFilters && u.selectedFilters.length > 0 && /*#__PURE__*/ M(D, {
546
+ selectedFilters: u.selectedFilters,
547
+ onDelete: (e) => $({
548
+ ...u,
549
+ selectedFilters: (u.selectedFilters || []).filter((t) => t.name !== e.name || t.value !== e.value)
550
+ }),
551
+ onClear: () => $({
552
+ ...u,
553
+ selectedFilters: []
554
+ })
555
+ })]
556
+ }) }),
557
+ /*#__PURE__*/ M(H, {
558
+ securityGroups: X,
559
+ isLoading: !1,
560
+ isError: !1,
561
+ error: null,
562
+ permissions: Z,
563
+ onCreateClick: () => g(!0),
564
+ onDeleteSecurityGroup: oe,
565
+ isDeletingSecurityGroup: re.isPending,
566
+ deleteError: _,
567
+ onUpdateSecurityGroup: se,
568
+ isUpdatingSecurityGroup: ie.isPending,
569
+ updateError: x,
570
+ currentProjectId: t,
571
+ hasAnyBulkAction: !1,
572
+ onClearUpdateError: ce
573
+ }),
574
+ /*#__PURE__*/ M(W, {
575
+ isOpen: h,
576
+ onClose: () => {
577
+ b(null), g(!1);
578
+ },
579
+ onCreate: ae,
580
+ isLoading: Q.isPending,
581
+ error: y
582
+ })
583
+ ] });
584
+ };
585
+ //#endregion
586
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/index.tsx?tsr-split=component
587
+ function Y() {
588
+ let { i18n: e, _: t } = z(), { projectId: n } = w.useParams(), { trpcClient: r } = w.useRouteContext();
589
+ if (!r) throw Error("trpcClient is not available in route context");
590
+ return /*#__PURE__*/ N(j, { children: [/*#__PURE__*/ M(g, { children: e._({ id: "4opp4r" }) }), /*#__PURE__*/ M(J, { project: n })] });
591
+ }
592
+ //#endregion
593
+ export { Y as component };
594
+
595
+ //# sourceMappingURL=securitygroups-Bd_uV4S9.mjs.map