@cobaltcore-dev/aurora 1.0.0 → 1.2.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 (205) hide show
  1. package/README.md +59 -9
  2. package/dist/client/App.d.ts +2 -1
  3. package/dist/client/AuroraApp.d.ts +45 -0
  4. package/dist/client/{AuthProvider-5TyZKZkx.mjs → AuthProvider-CVSAwW9f.mjs} +23 -9
  5. package/dist/client/AuthProvider-CVSAwW9f.mjs.map +1 -0
  6. package/dist/client/{ContentHeader-D64NtKvo.mjs → ContentHeader-CPJbgYWn.mjs} +18 -18
  7. package/dist/client/{ContentHeader-D64NtKvo.mjs.map → ContentHeader-CPJbgYWn.mjs.map} +1 -1
  8. package/dist/client/DeleteFlavorModal-V44QCJBd.mjs +773 -0
  9. package/dist/client/DeleteFlavorModal-V44QCJBd.mjs.map +1 -0
  10. package/dist/client/DynamicBreadcrumbContext-CVcUQFou.mjs +26 -0
  11. package/dist/client/DynamicBreadcrumbContext-CVcUQFou.mjs.map +1 -0
  12. package/dist/client/{FiltersInput-Bw8TFfwb.mjs → FiltersInput-CKI6zWnm.mjs} +22 -22
  13. package/dist/client/{FiltersInput-Bw8TFfwb.mjs.map → FiltersInput-CKI6zWnm.mjs.map} +1 -1
  14. package/dist/client/FloatingIpActionModals-CwEC5GR-.mjs +460 -0
  15. package/dist/client/FloatingIpActionModals-CwEC5GR-.mjs.map +1 -0
  16. package/dist/client/ImageToastNotifications-m6c3tVPb.mjs +1152 -0
  17. package/dist/client/ImageToastNotifications-m6c3tVPb.mjs.map +1 -0
  18. package/dist/client/{SortInput-DysAXpB3.mjs → SortInput-4g7nSTHW.mjs} +14 -14
  19. package/dist/client/SortInput-4g7nSTHW.mjs.map +1 -0
  20. package/dist/client/{TwoColumnDescriptionList-B3xunXmz.mjs → TwoColumnDescriptionList-NvgvErua.mjs} +6 -6
  21. package/dist/client/{TwoColumnDescriptionList-B3xunXmz.mjs.map → TwoColumnDescriptionList-NvgvErua.mjs.map} +1 -1
  22. package/dist/client/_-CAsCx-Ay.mjs +6 -0
  23. package/dist/client/_-CAsCx-Ay.mjs.map +1 -0
  24. package/dist/client/_auth-SrDjHL6j.mjs +12 -0
  25. package/dist/client/_auth-SrDjHL6j.mjs.map +1 -0
  26. package/dist/client/_flavorId-9PcBBW52.mjs +231 -0
  27. package/dist/client/_flavorId-9PcBBW52.mjs.map +1 -0
  28. package/dist/client/{_flavorId-Zj7LNL-R.mjs → _flavorId-a9Gu66R1.mjs} +3 -9
  29. package/dist/client/_flavorId-a9Gu66R1.mjs.map +1 -0
  30. package/dist/client/_floatingIpId-AE9Fu8l6.mjs +210 -0
  31. package/dist/client/_floatingIpId-AE9Fu8l6.mjs.map +1 -0
  32. package/dist/client/{_floatingIpId-DCQQpNO-.mjs → _floatingIpId-AZ11Ksmu.mjs} +3 -9
  33. package/dist/client/_floatingIpId-AZ11Ksmu.mjs.map +1 -0
  34. package/dist/client/_imageId-BtAql2Kr.mjs +570 -0
  35. package/dist/client/_imageId-BtAql2Kr.mjs.map +1 -0
  36. package/dist/client/_imageId-D76BxvFY.mjs +39 -0
  37. package/dist/client/_imageId-D76BxvFY.mjs.map +1 -0
  38. package/dist/client/_projectId-7Nl1MQTJ.mjs +99 -0
  39. package/dist/client/_projectId-7Nl1MQTJ.mjs.map +1 -0
  40. package/dist/client/_projectId-B3wmSala.mjs +281 -0
  41. package/dist/client/_projectId-B3wmSala.mjs.map +1 -0
  42. package/dist/client/_projectId-DPzv0CCp.mjs +77 -0
  43. package/dist/client/_projectId-DPzv0CCp.mjs.map +1 -0
  44. package/dist/client/_projectId-DfeVJy0G.mjs +30 -0
  45. package/dist/client/_projectId-DfeVJy0G.mjs.map +1 -0
  46. package/dist/client/_securityGroupId-C5huJNfO.mjs +1810 -0
  47. package/dist/client/_securityGroupId-C5huJNfO.mjs.map +1 -0
  48. package/dist/client/{_securityGroupId-Mj8NJT2-.mjs → _securityGroupId-D85mSigA.mjs} +3 -9
  49. package/dist/client/_securityGroupId-D85mSigA.mjs.map +1 -0
  50. package/dist/client/_serviceType-DS8DxsrP.mjs +20 -0
  51. package/dist/client/_serviceType-DS8DxsrP.mjs.map +1 -0
  52. package/dist/client/_serviceType-M8d9rOT6.mjs +6 -0
  53. package/dist/client/_serviceType-M8d9rOT6.mjs.map +1 -0
  54. package/dist/client/_storageType-BRWWJtow.mjs +14 -0
  55. package/dist/client/_storageType-BRWWJtow.mjs.map +1 -0
  56. package/dist/client/_storageType-CzZ4u9x_.mjs +12 -0
  57. package/dist/client/_storageType-CzZ4u9x_.mjs.map +1 -0
  58. package/dist/client/_storageType-Dy9uCVXr.mjs +845 -0
  59. package/dist/client/_storageType-Dy9uCVXr.mjs.map +1 -0
  60. package/dist/client/_storageType-zeSZe--V.mjs.map +1 -1
  61. package/dist/client/{about-WLyShNgE.mjs → about-BmQTyLWc.mjs} +2 -2
  62. package/dist/client/{about-WLyShNgE.mjs.map → about-BmQTyLWc.mjs.map} +1 -1
  63. package/dist/client/assets/{objectDownload.worker-BXFQIIU_.js.map → objectDownload.worker-CWWLPDyb.js.map} +1 -1
  64. package/dist/client/assets/{objectDownload.worker-ECvFtmOF.js.map → objectDownload.worker-kZlQuo3F.js.map} +1 -1
  65. package/dist/client/{aurora-IMO9HhqJ.mjs → aurora-CIml-f2f.mjs} +2 -2
  66. package/dist/client/{aurora-IMO9HhqJ.mjs.map → aurora-CIml-f2f.mjs.map} +1 -1
  67. package/dist/client/{build-DnD-T35u.mjs → build-WuxXRAqf.mjs} +2335 -2667
  68. package/dist/client/{build-DnD-T35u.mjs.map → build-WuxXRAqf.mjs.map} +1 -1
  69. package/dist/client/components/Breadcrumbs.d.ts +1 -0
  70. package/dist/client/components/ListToolbar/SortInput.d.ts +3 -0
  71. package/dist/client/context/BreadcrumbExtensionContext.d.ts +9 -0
  72. package/dist/client/context/DynamicBreadcrumbContext.d.ts +9 -0
  73. package/dist/client/{flavors-Cp0LEGOH.mjs → flavors-B0rbqffG.mjs} +3 -5
  74. package/dist/client/flavors-B0rbqffG.mjs.map +1 -0
  75. package/dist/client/flavors-DWMZ6TuJ.mjs.map +1 -1
  76. package/dist/client/flavors-Rl20bxVU.mjs +628 -0
  77. package/dist/client/flavors-Rl20bxVU.mjs.map +1 -0
  78. package/dist/client/floatingips-Cz9k80cc.mjs +8 -0
  79. package/dist/client/floatingips-Cz9k80cc.mjs.map +1 -0
  80. package/dist/client/floatingips-xbO_mu4f.mjs +576 -0
  81. package/dist/client/floatingips-xbO_mu4f.mjs.map +1 -0
  82. package/dist/client/hooks/useBreadcrumbs.d.ts +16 -0
  83. package/dist/client/hooks/usePushBreadcrumbs.d.ts +10 -0
  84. package/dist/client/hooks/useSetBreadcrumb.d.ts +11 -0
  85. package/dist/client/{hooks-CrriowRk.mjs → hooks-D0yKIumu.mjs} +2 -2
  86. package/dist/client/{hooks-CrriowRk.mjs.map → hooks-D0yKIumu.mjs.map} +1 -1
  87. package/dist/client/images-BGQv9kKT.mjs +1983 -0
  88. package/dist/client/images-BGQv9kKT.mjs.map +1 -0
  89. package/dist/client/{images-DWiM_72I.mjs → images-CPmMa4SQ.mjs} +3 -5
  90. package/dist/client/images-CPmMa4SQ.mjs.map +1 -0
  91. package/dist/client/images-NBf2bV43.mjs.map +1 -1
  92. package/dist/client/index.d.ts +9 -2
  93. package/dist/client/index.js +567 -695
  94. package/dist/client/index.js.map +1 -1
  95. package/dist/client/{md-DNzcRhmz.mjs → md-kvaGCNAK.mjs} +4 -22
  96. package/dist/client/{md-DNzcRhmz.mjs.map → md-kvaGCNAK.mjs.map} +1 -1
  97. package/dist/client/objects-BE_u5yRt.mjs +12950 -0
  98. package/dist/client/objects-BE_u5yRt.mjs.map +1 -0
  99. package/dist/client/objects-BN-59Th0.mjs +66 -0
  100. package/dist/client/objects-BN-59Th0.mjs.map +1 -0
  101. package/dist/client/objects-D9Luf9KB.mjs +66 -0
  102. package/dist/client/objects-D9Luf9KB.mjs.map +1 -0
  103. package/dist/client/projects-yiK0HGSA.mjs.map +1 -1
  104. package/dist/client/routeInfo-DP3v74Wg.mjs +19 -0
  105. package/dist/client/routeInfo-DP3v74Wg.mjs.map +1 -0
  106. package/dist/client/router.d.ts +2 -1
  107. package/dist/client/{routes-B05u5bk4.mjs → routes-CJj7SR_K.mjs} +2 -2
  108. package/dist/client/routes-CJj7SR_K.mjs.map +1 -0
  109. package/dist/client/routes-xofA3ksU.mjs +110 -0
  110. package/dist/client/routes-xofA3ksU.mjs.map +1 -0
  111. package/dist/client/securitygroups-BjhgLBHm.mjs +620 -0
  112. package/dist/client/securitygroups-BjhgLBHm.mjs.map +1 -0
  113. package/dist/client/securitygroups-CtKne8UQ.mjs +8 -0
  114. package/dist/client/securitygroups-CtKne8UQ.mjs.map +1 -0
  115. package/dist/client/{securitygroups-_7SYN2jN.mjs → securitygroups-DEJQBcxm.mjs} +3 -5
  116. package/dist/client/securitygroups-DEJQBcxm.mjs.map +1 -0
  117. package/dist/client/services-D1PbooD1.mjs +6 -0
  118. package/dist/client/services-D1PbooD1.mjs.map +1 -0
  119. package/dist/client/services-DEMVtFyn.mjs +9 -0
  120. package/dist/client/services-DEMVtFyn.mjs.map +1 -0
  121. package/dist/client/trpcClient.d.ts +153 -370
  122. package/dist/client/useBreadcrumbs-ha3IlaxX.mjs +54 -0
  123. package/dist/client/useBreadcrumbs-ha3IlaxX.mjs.map +1 -0
  124. package/dist/client/useModalTracking-BcOKTYRN.mjs +33 -0
  125. package/dist/client/useModalTracking-BcOKTYRN.mjs.map +1 -0
  126. package/dist/client/{useSecurityGroupPermissions-qPwm4mFt.mjs → useSecurityGroupPermissions-BOyLQLdC.mjs} +78 -12
  127. package/dist/client/useSecurityGroupPermissions-BOyLQLdC.mjs.map +1 -0
  128. package/dist/client/useSetBreadcrumb-tn7lBaQV.mjs +19 -0
  129. package/dist/client/useSetBreadcrumb-tn7lBaQV.mjs.map +1 -0
  130. package/dist/client/utils/formatSwiftDate.d.ts +30 -0
  131. package/dist/server/index.d.ts +179 -373
  132. package/dist/server/index.js +910 -530
  133. package/package.json +37 -38
  134. package/dist/client/AuthProvider-5TyZKZkx.mjs.map +0 -1
  135. package/dist/client/DeleteFlavorModal-C2K43ABZ.mjs +0 -732
  136. package/dist/client/DeleteFlavorModal-C2K43ABZ.mjs.map +0 -1
  137. package/dist/client/DeletePcaModal-D9v8E0Ki.mjs +0 -92
  138. package/dist/client/DeletePcaModal-D9v8E0Ki.mjs.map +0 -1
  139. package/dist/client/DetailsInfo-h7rPJ4Jf.mjs +0 -61
  140. package/dist/client/DetailsInfo-h7rPJ4Jf.mjs.map +0 -1
  141. package/dist/client/FloatingIpActionModals-BfEDfYg9.mjs +0 -417
  142. package/dist/client/FloatingIpActionModals-BfEDfYg9.mjs.map +0 -1
  143. package/dist/client/ImageToastNotifications-C0Tluzq-.mjs +0 -1125
  144. package/dist/client/ImageToastNotifications-C0Tluzq-.mjs.map +0 -1
  145. package/dist/client/RouteError-B-NPGIv7.mjs +0 -25
  146. package/dist/client/RouteError-B-NPGIv7.mjs.map +0 -1
  147. package/dist/client/SortInput-DysAXpB3.mjs.map +0 -1
  148. package/dist/client/StatusError-DX-GvLjq.mjs +0 -39
  149. package/dist/client/StatusError-DX-GvLjq.mjs.map +0 -1
  150. package/dist/client/_auth-R5H2yKFf.mjs +0 -11
  151. package/dist/client/_auth-R5H2yKFf.mjs.map +0 -1
  152. package/dist/client/_flavorId-Dit5mM8I.mjs +0 -210
  153. package/dist/client/_flavorId-Dit5mM8I.mjs.map +0 -1
  154. package/dist/client/_flavorId-Zj7LNL-R.mjs.map +0 -1
  155. package/dist/client/_floatingIpId-B0MCoqE3.mjs +0 -215
  156. package/dist/client/_floatingIpId-B0MCoqE3.mjs.map +0 -1
  157. package/dist/client/_floatingIpId-DCQQpNO-.mjs.map +0 -1
  158. package/dist/client/_imageId-CZYzBAVx.mjs +0 -558
  159. package/dist/client/_imageId-CZYzBAVx.mjs.map +0 -1
  160. package/dist/client/_pcaId-CHRRsWmO.mjs +0 -605
  161. package/dist/client/_pcaId-CHRRsWmO.mjs.map +0 -1
  162. package/dist/client/_projectId-B8wWSxPu.mjs +0 -98
  163. package/dist/client/_projectId-B8wWSxPu.mjs.map +0 -1
  164. package/dist/client/_projectId-C5DUYIjt.mjs +0 -291
  165. package/dist/client/_projectId-C5DUYIjt.mjs.map +0 -1
  166. package/dist/client/_projectId-D2pFfYIs.mjs +0 -46
  167. package/dist/client/_projectId-D2pFfYIs.mjs.map +0 -1
  168. package/dist/client/_projectId-DhSWowQo.mjs +0 -29
  169. package/dist/client/_projectId-DhSWowQo.mjs.map +0 -1
  170. package/dist/client/_securityGroupId-DZ4D4WwB.mjs +0 -1801
  171. package/dist/client/_securityGroupId-DZ4D4WwB.mjs.map +0 -1
  172. package/dist/client/_securityGroupId-Mj8NJT2-.mjs.map +0 -1
  173. package/dist/client/_storageType-C-9bNkmZ.mjs +0 -2211
  174. package/dist/client/_storageType-C-9bNkmZ.mjs.map +0 -1
  175. package/dist/client/components/Error/StatusError.d.ts +0 -11
  176. package/dist/client/components/ProjectView/ProjectInfoBox.d.ts +0 -12
  177. package/dist/client/flavors-Cp0LEGOH.mjs.map +0 -1
  178. package/dist/client/flavors-CwMbDRHm2.mjs +0 -650
  179. package/dist/client/flavors-CwMbDRHm2.mjs.map +0 -1
  180. package/dist/client/floatingips-ICwo-rV_.mjs +0 -591
  181. package/dist/client/floatingips-ICwo-rV_.mjs.map +0 -1
  182. package/dist/client/images-DOGZmr3D.mjs +0 -1937
  183. package/dist/client/images-DOGZmr3D.mjs.map +0 -1
  184. package/dist/client/images-DWiM_72I.mjs.map +0 -1
  185. package/dist/client/objects-D2MKUCxc.mjs +0 -56
  186. package/dist/client/objects-D2MKUCxc.mjs.map +0 -1
  187. package/dist/client/objects-DI1-tnKr.mjs +0 -56
  188. package/dist/client/objects-DI1-tnKr.mjs.map +0 -1
  189. package/dist/client/objects-DeK2WD5K.mjs +0 -10078
  190. package/dist/client/objects-DeK2WD5K.mjs.map +0 -1
  191. package/dist/client/pca-BokFv4Gz.mjs +0 -239
  192. package/dist/client/pca-BokFv4Gz.mjs.map +0 -1
  193. package/dist/client/pca-D5jHAl0b.mjs +0 -26
  194. package/dist/client/pca-D5jHAl0b.mjs.map +0 -1
  195. package/dist/client/pcaAccess-Br4kVjLQ.mjs +0 -9
  196. package/dist/client/pcaAccess-Br4kVjLQ.mjs.map +0 -1
  197. package/dist/client/routeInfo-CdTRlSxv.mjs +0 -32
  198. package/dist/client/routeInfo-CdTRlSxv.mjs.map +0 -1
  199. package/dist/client/routes-B05u5bk4.mjs.map +0 -1
  200. package/dist/client/routes-DOJr5onJ.mjs +0 -115
  201. package/dist/client/routes-DOJr5onJ.mjs.map +0 -1
  202. package/dist/client/securitygroups-Be2Qgmew.mjs +0 -595
  203. package/dist/client/securitygroups-Be2Qgmew.mjs.map +0 -1
  204. package/dist/client/securitygroups-_7SYN2jN.mjs.map +0 -1
  205. package/dist/client/useSecurityGroupPermissions-qPwm4mFt.mjs.map +0 -1
@@ -0,0 +1,620 @@
1
+ import { C as e, D as t, K as n, L as r, M as i, P as a, Q as o, S as s, T as c, X as l, ft as u, g as d, h as f, i as p, l as m, lt as h, m as g, o as _, ot as v, p as y, rt as b, st as x, t as S, x as C } from "./build-WuxXRAqf.mjs";
2
+ import { a as w } from "./trpcClient-D7gpR7YG.mjs";
3
+ import { t as T } from "./securitygroups-DEJQBcxm.mjs";
4
+ import { t as E } from "./useProjectId-DBc5lpoU.mjs";
5
+ import { t as D } from "./SortInput-4g7nSTHW.mjs";
6
+ import { t as O } from "./useModalTracking-BcOKTYRN.mjs";
7
+ import { t as k } from "./ContentHeader-CPJbgYWn.mjs";
8
+ import "./hooks-D0yKIumu.mjs";
9
+ import { n as A, t as j } from "./FiltersInput-CKI6zWnm.mjs";
10
+ import { c as ee, m as te, n as ne, p as M, s as N, t as P } from "./useSecurityGroupPermissions-BOyLQLdC.mjs";
11
+ import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
12
+ import { useEffect as R, useRef as z, useState as B } from "react";
13
+ import { useNavigate as V, useSearch as re } from "@tanstack/react-router";
14
+ import { Trans as H, useLingui as U } from "@lingui/react";
15
+ import { z as W } from "zod";
16
+ import { useForm as G, useStore as K } from "@tanstack/react-form";
17
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/-modals/DeleteSecurityGroupDialog.tsx
18
+ var q = ({ isOpen: e, onClose: t, securityGroup: n, onDelete: i, isDeleting: a = !1, error: s = null }) => {
19
+ let { i18n: c, _: d } = U(), { trackClose: f, markSubmitted: p, resetTracking: m } = O({
20
+ isOpen: e,
21
+ actionPrefix: "network.securitygroup.delete"
22
+ }), h = W.object({ confirm: W.string().refine((e) => e === "delete", { message: c._({ id: "QytzQr" }) }) }), _ = G({
23
+ defaultValues: { confirm: "" },
24
+ validators: { onSubmit: h },
25
+ onSubmit: async () => {
26
+ a || (p(), i(n.id));
27
+ }
28
+ }), v = K(_.store, (e) => e.isSubmitting || e.values.confirm !== "delete"), b = n.name || n.id;
29
+ return /*#__PURE__*/ I(l, {
30
+ open: e,
31
+ onCancel: () => {
32
+ f(), _.reset(), m(), t();
33
+ },
34
+ size: "small",
35
+ title: c._({
36
+ id: "Y+2SDm",
37
+ values: { securityGroupName: b }
38
+ }),
39
+ confirmButtonLabel: a ? c._({ id: "EF2EU9" }) : c._({ id: "cnGeoo" }),
40
+ confirmButtonVariant: "primary-danger",
41
+ onConfirm: _.handleSubmit,
42
+ cancelButtonLabel: c._({ id: "dEgA5A" }),
43
+ disableConfirmButton: v || a,
44
+ disableCancelButton: a,
45
+ disableCloseButton: a,
46
+ children: /*#__PURE__*/ L(o, {
47
+ direction: "vertical",
48
+ gap: "4",
49
+ children: [
50
+ s && /*#__PURE__*/ I(r, {
51
+ variant: "error",
52
+ children: s
53
+ }),
54
+ /*#__PURE__*/ I("p", {
55
+ className: "text-theme-default",
56
+ children: /*#__PURE__*/ I(H, { id: "Qb+14I" })
57
+ }),
58
+ /*#__PURE__*/ I(u, {
59
+ className: "mb-0",
60
+ id: "delete-security-group-form",
61
+ onSubmit: (e) => {
62
+ e.preventDefault(), _.handleSubmit();
63
+ },
64
+ children: /*#__PURE__*/ I(y, { children: /*#__PURE__*/ I(_.Field, {
65
+ name: "confirm",
66
+ children: (e) => /*#__PURE__*/ I(g, {
67
+ label: c._({ id: "QytzQr" }),
68
+ id: e.name,
69
+ name: e.name,
70
+ value: e.state.value,
71
+ onChange: (t) => e.handleChange(t.target.value),
72
+ placeholder: "delete",
73
+ disabled: a,
74
+ autoComplete: "off",
75
+ autoFocus: !0,
76
+ "data-testid": "delete-confirmation-input",
77
+ required: !0
78
+ })
79
+ }) })
80
+ })
81
+ ]
82
+ })
83
+ });
84
+ };
85
+ //#endregion
86
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupTableRow.tsx
87
+ function J({ securityGroup: e, permissions: n, onEdit: r, onDelete: i, onViewDetails: a, isReadOnly: o = !1, showSelectColumn: s = !1, isSelected: l = !1, onSelect: u }) {
88
+ let { i18n: f, _: p } = U(), m = ({ value: e }) => /*#__PURE__*/ I("span", { children: e ? f._({ id: "l75CjT" }) : f._({ id: "1UzENP" }) }), h = () => {
89
+ a && a(e);
90
+ };
91
+ return /*#__PURE__*/ L(c, {
92
+ "data-testid": `security-group-row-${e.id}`,
93
+ onClick: h,
94
+ className: "hover:bg-theme-background-lvl-2 cursor-pointer",
95
+ children: [
96
+ s && /*#__PURE__*/ I(S, {
97
+ onClick: (e) => e.stopPropagation(),
98
+ children: /*#__PURE__*/ I(x, {
99
+ checked: l,
100
+ onChange: () => u?.(e)
101
+ })
102
+ }),
103
+ /*#__PURE__*/ I(S, { children: /*#__PURE__*/ I("div", { children: /*#__PURE__*/ I("p", {
104
+ className: "text-md",
105
+ children: e.name
106
+ }) }) }),
107
+ /*#__PURE__*/ I(S, { children: e.description || f._({ id: "h47p9L" }) }),
108
+ /*#__PURE__*/ L(S, { children: [/*#__PURE__*/ I(m, { value: e.shared }), e.shared && /*#__PURE__*/ L("p", { children: [
109
+ /*#__PURE__*/ I(H, { id: "LtI9AS" }),
110
+ ": ",
111
+ /*#__PURE__*/ I("span", {
112
+ className: "text-theme-light text-xs",
113
+ children: e.project_id
114
+ })
115
+ ] })] }),
116
+ /*#__PURE__*/ I(S, { children: /*#__PURE__*/ I(m, { value: e.stateful }) }),
117
+ /*#__PURE__*/ I(S, {
118
+ onClick: (e) => e.stopPropagation(),
119
+ className: "items-end justify-end pr-0",
120
+ children: /*#__PURE__*/ I(t, { children: /*#__PURE__*/ L(d, { children: [
121
+ /*#__PURE__*/ I(C, {
122
+ label: f._({ id: "v0hPHE" }),
123
+ onClick: () => h()
124
+ }),
125
+ n.canUpdate && !o && /*#__PURE__*/ I(C, {
126
+ label: f._({ id: "ePK91l" }),
127
+ onClick: () => r(e)
128
+ }),
129
+ n.canDelete && !o && /*#__PURE__*/ I(C, {
130
+ label: f._({ id: "cnGeoo" }),
131
+ onClick: () => i(e)
132
+ })
133
+ ] }) })
134
+ })
135
+ ]
136
+ }, e.id);
137
+ }
138
+ //#endregion
139
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupListContainer.tsx
140
+ var ie = ({ securityGroups: e, isLoading: t, isError: n, error: r, permissions: i, onDeleteSecurityGroup: a, isDeletingSecurityGroup: o = !1, deleteError: l = null, onUpdateSecurityGroup: u, isUpdatingSecurityGroup: d = !1, updateError: f = null, currentProjectId: p, hasAnyBulkAction: m = !1, onClearUpdateError: h }) => {
141
+ let { i18n: g, _: v } = U(), y = V(), x = E(), [C, w] = B(null), [T, D] = B(!1), [O, k] = B(!1), A = z(!1), j = z(!1), ee = (e) => {
142
+ C && C.id !== e.id && h && h(), w(e), D(!0);
143
+ }, te = (e) => {
144
+ w(e), k(!0);
145
+ }, M = (e) => {
146
+ y({
147
+ to: "/projects/$projectId/network/securitygroups/$securityGroupId",
148
+ params: {
149
+ projectId: x,
150
+ securityGroupId: e.id
151
+ }
152
+ });
153
+ }, N = () => {
154
+ w(null), D(!1);
155
+ }, P = () => {
156
+ w(null), k(!1);
157
+ };
158
+ return R(() => {
159
+ A.current && !o && O && !l && P(), A.current = o;
160
+ }, [
161
+ o,
162
+ l,
163
+ O
164
+ ]), R(() => {
165
+ j.current && !d && T && !f && N(), j.current = d;
166
+ }, [
167
+ d,
168
+ f,
169
+ T
170
+ ]), t ? /*#__PURE__*/ I(b, {
171
+ status: "progress",
172
+ title: g._({ id: "Z3FXyt" })
173
+ }) : n ? /*#__PURE__*/ I(b, {
174
+ status: "error",
175
+ title: r?.message ?? g._({ id: "Wca9WC" })
176
+ }) : /*#__PURE__*/ L(F, { children: [/*#__PURE__*/ L(_, {
177
+ columns: m ? 6 : 5,
178
+ minContentColumns: m ? [5] : [4],
179
+ children: [/*#__PURE__*/ L(c, { children: [m && /*#__PURE__*/ I(s, {}), [
180
+ g._({ id: "6YtxFj" }),
181
+ g._({ id: "Nu4oKW" }),
182
+ g._({ id: "0Gd0NU" }),
183
+ g._({ id: "Jim5X9" }),
184
+ ""
185
+ ].map((e) => /*#__PURE__*/ I(s, { children: e }, e))] }), e && e.length > 0 ? e.map((e) => {
186
+ let t = !!(p && e.project_id && e.project_id !== p);
187
+ return /*#__PURE__*/ I(J, {
188
+ securityGroup: e,
189
+ permissions: i,
190
+ onEdit: ee,
191
+ onDelete: te,
192
+ onViewDetails: M,
193
+ isReadOnly: t,
194
+ showSelectColumn: m,
195
+ isSelected: !1,
196
+ onSelect: () => {}
197
+ }, e.id);
198
+ }) : /*#__PURE__*/ I(c, { children: /*#__PURE__*/ I(S, {
199
+ colSpan: m ? 6 : 5,
200
+ children: /*#__PURE__*/ I(b, {
201
+ status: "empty",
202
+ title: g._({ id: "f+UUtj" }),
203
+ body: g._({ id: "jqJG6j" })
204
+ })
205
+ }) })]
206
+ }), C && /*#__PURE__*/ L(F, { children: [/*#__PURE__*/ I(ne, {
207
+ securityGroup: C,
208
+ open: T,
209
+ onClose: N,
210
+ onUpdate: (e, t) => u ? u(e, t) : Promise.resolve(),
211
+ isLoading: d,
212
+ error: f
213
+ }), /*#__PURE__*/ I(q, {
214
+ securityGroup: C,
215
+ isOpen: O,
216
+ onClose: P,
217
+ onDelete: (e) => {
218
+ a && a(e);
219
+ },
220
+ isDeleting: o,
221
+ error: l
222
+ })] })] });
223
+ }, Y = {
224
+ name: "",
225
+ description: "",
226
+ stateful: !0
227
+ }, ae = ({ isOpen: e, onClose: t, onCreate: o, isLoading: s = !1, error: c = null }) => {
228
+ let { i18n: d, _: m } = U(), [_, v] = B({ ...Y }), [b, S] = B({}), C = (e) => {
229
+ let { name: t, value: n, type: r } = e.target, i = e.target.checked;
230
+ v((e) => ({
231
+ ...e,
232
+ [t]: r === "checkbox" ? i : n
233
+ })), b[t] && S((e) => {
234
+ let n = { ...e };
235
+ return delete n[t], n;
236
+ });
237
+ }, w = () => {
238
+ let e = {};
239
+ return (!_.name || _.name.trim() === "") && (e.name = d._({ id: "lN/Z9n" })), S(e), Object.keys(e).length === 0;
240
+ }, T = async (e) => {
241
+ e.preventDefault(), w() && (await o({
242
+ name: _.name.trim(),
243
+ description: _.description.trim() || void 0,
244
+ stateful: _.stateful
245
+ }), E());
246
+ }, E = () => {
247
+ v({ ...Y }), S({}), t();
248
+ };
249
+ return /*#__PURE__*/ L(l, {
250
+ open: e,
251
+ onCancel: E,
252
+ size: "large",
253
+ title: d._({ id: "YjAOtb" }),
254
+ modalFooter: /*#__PURE__*/ I(a, {
255
+ className: "flex justify-end",
256
+ children: /*#__PURE__*/ L(i, { children: [/*#__PURE__*/ I(p, {
257
+ variant: "default",
258
+ onClick: E,
259
+ disabled: s,
260
+ children: /*#__PURE__*/ I(H, { id: "dEgA5A" })
261
+ }), /*#__PURE__*/ I(p, {
262
+ variant: "primary",
263
+ onClick: (e) => {
264
+ T(e);
265
+ },
266
+ disabled: s,
267
+ "data-testid": "create-security-group-button",
268
+ children: s ? /*#__PURE__*/ I(n, { size: "small" }) : /*#__PURE__*/ I(H, { id: "YjAOtb" })
269
+ })] })
270
+ }),
271
+ children: [
272
+ c && /*#__PURE__*/ I(r, {
273
+ dismissible: !1,
274
+ variant: "error",
275
+ className: "mb-4",
276
+ children: c
277
+ }),
278
+ s && /*#__PURE__*/ L("div", {
279
+ className: "mb-4 flex items-center justify-center gap-2",
280
+ children: [/*#__PURE__*/ I(n, { variant: "primary" }), /*#__PURE__*/ I("span", {
281
+ className: "text-theme-high text-sm",
282
+ children: /*#__PURE__*/ I(H, { id: "Km4AGG" })
283
+ })]
284
+ }),
285
+ !s && /*#__PURE__*/ I(u, {
286
+ className: "mb-6",
287
+ children: /*#__PURE__*/ L(y, {
288
+ className: "mb-6",
289
+ children: [
290
+ /*#__PURE__*/ I(f, {
291
+ className: "mb-6",
292
+ children: /*#__PURE__*/ I(g, {
293
+ id: "name",
294
+ name: "name",
295
+ label: d._({ id: "6YtxFj" }),
296
+ value: _.name,
297
+ onChange: C,
298
+ required: !0,
299
+ errortext: b.name,
300
+ placeholder: d._({ id: "Ac6dy9" }),
301
+ disabled: s
302
+ })
303
+ }),
304
+ /*#__PURE__*/ I(f, {
305
+ className: "mb-6",
306
+ children: /*#__PURE__*/ I(h, {
307
+ id: "description",
308
+ name: "description",
309
+ label: d._({ id: "Nu4oKW" }),
310
+ value: _.description,
311
+ onChange: C,
312
+ placeholder: d._({ id: "Nu4oKW" }),
313
+ disabled: s,
314
+ rows: 3
315
+ })
316
+ }),
317
+ /*#__PURE__*/ I(f, {
318
+ className: "mb-0",
319
+ children: /*#__PURE__*/ I(x, {
320
+ id: "stateful",
321
+ name: "stateful",
322
+ label: d._({ id: "Jim5X9" }),
323
+ checked: _.stateful,
324
+ onChange: C,
325
+ disabled: s,
326
+ helptext: d._({ id: "4cQTyf" })
327
+ })
328
+ })
329
+ ]
330
+ })
331
+ })
332
+ ]
333
+ });
334
+ }, X = (e) => {
335
+ let t = [];
336
+ return e.shared && t.push({
337
+ name: "shared",
338
+ value: e.shared
339
+ }), t;
340
+ }, oe = (e, t) => {
341
+ let n = {};
342
+ if (!e?.length) return n;
343
+ let r = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
344
+ return Object.entries(r).forEach(([e, r]) => {
345
+ t.find((t) => t.filterName === e)?.supportsMultiValue && r.length > 1 ? n[e] = `in:${r.join(",")}` : n[e] = r[0];
346
+ }), n;
347
+ }, se = (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], ce = (e, t, n) => {
348
+ let r = {
349
+ search: n.search,
350
+ sortBy: n.sortBy,
351
+ sortDirection: n.sortDirection
352
+ };
353
+ if (!e?.length) return r;
354
+ let i = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
355
+ return Object.entries(i).forEach(([e, n]) => {
356
+ t.find((t) => t.filterName === e)?.supportsMultiValue && n.length > 1 ? r[e] = `in:${n.join(",")}` : r[e] = n[0];
357
+ }), r;
358
+ }, le = ({ project: t }) => {
359
+ let { i18n: n, _: r } = U(), i = V(), a = re({ strict: !1 }), [s, c] = B({
360
+ options: [{
361
+ label: n._({ id: "6YtxFj" }),
362
+ value: "name"
363
+ }, {
364
+ label: n._({ id: "podzPY" }),
365
+ value: "project_id"
366
+ }],
367
+ sortBy: a.sortBy || "name",
368
+ sortDirection: a.sortDirection || "asc"
369
+ }), [l, u] = B({
370
+ filters: [{
371
+ displayName: n._({ id: "0Gd0NU" }),
372
+ filterName: "shared",
373
+ values: ["true", "false"],
374
+ supportsMultiValue: !1
375
+ }],
376
+ selectedFilters: X(a)
377
+ }), [d, f] = B(a.search || ""), [h, g] = B(!1), [_, y] = B(null), [x, S] = B(null), [C, T] = B(null), E = w.useUtils();
378
+ R(() => {
379
+ c((e) => ({
380
+ ...e,
381
+ sortBy: a.sortBy || "name",
382
+ sortDirection: a.sortDirection || "asc"
383
+ })), u((e) => ({
384
+ ...e,
385
+ selectedFilters: X(a)
386
+ })), f(a.search || "");
387
+ }, [
388
+ a.sortBy,
389
+ a.sortDirection,
390
+ a.search,
391
+ a.shared
392
+ ]);
393
+ let O = X(a), ne = a.sortBy || "name", z = a.sortDirection || "asc", W = a.search || "", { data: G, isLoading: K, isError: q, error: J } = w.network.securityGroup.list.useQuery({
394
+ project_id: t || "",
395
+ sort_key: ne,
396
+ sort_dir: z,
397
+ ...oe(O, l.filters),
398
+ ...W ? { searchTerm: W } : {}
399
+ }, { refetchOnWindowFocus: !1 }), Y = G || [], le = q && J?.data?.code === "FORBIDDEN" ? n._({ id: "MdfAJn" }) : null, { permissions: Z } = P(t), ue = w.network.securityGroup.create.useMutation({
400
+ onSuccess: (e) => {
401
+ E.network.securityGroup.list.invalidate(), E.network.securityGroup.getById.invalidate(), S(null), i({
402
+ to: "/projects/$projectId/network/securitygroups/$securityGroupId",
403
+ params: {
404
+ projectId: t,
405
+ securityGroupId: e.id
406
+ }
407
+ });
408
+ },
409
+ onError: (e) => {
410
+ S(e.message || n._({ id: "o6M6l0" }));
411
+ }
412
+ }), de = w.network.securityGroup.deleteById.useMutation({
413
+ onSuccess: () => {
414
+ E.network.securityGroup.list.invalidate(), E.network.securityGroup.getById.invalidate(), y(null);
415
+ },
416
+ onError: (e) => {
417
+ y(e.message || n._({ id: "d0pLfy" }));
418
+ let { message: t, ...r } = N(e.message);
419
+ v.error(t, r);
420
+ }
421
+ }), Q = w.network.securityGroup.update.useMutation({
422
+ onSuccess: () => {
423
+ E.network.securityGroup.list.invalidate(), E.network.securityGroup.getById.invalidate(), T(null);
424
+ },
425
+ onError: (e) => {
426
+ T(e.message || n._({ id: "jPxavx" }));
427
+ let { message: t, ...r } = M(e.message);
428
+ v.error(t, r);
429
+ }
430
+ }), fe = async (e) => {
431
+ S(null);
432
+ try {
433
+ await ue.mutateAsync({
434
+ project_id: t,
435
+ ...e
436
+ });
437
+ } catch {}
438
+ }, pe = (e) => {
439
+ y(null);
440
+ let n = Y.find((t) => t.id === e)?.name || e;
441
+ de.mutate({
442
+ project_id: t,
443
+ securityGroupId: e
444
+ }, { onSuccess: () => {
445
+ let { message: e, ...t } = ee(n);
446
+ v.success(e, t);
447
+ } });
448
+ }, me = async (e, n) => {
449
+ T(null);
450
+ let r = n.name || Y.find((t) => t.id === e)?.name || e;
451
+ try {
452
+ await Q.mutateAsync({
453
+ project_id: t,
454
+ securityGroupId: e,
455
+ ...n
456
+ });
457
+ let { message: i, ...a } = te(r);
458
+ v.success(i, a);
459
+ } catch {}
460
+ }, he = () => {
461
+ T(null);
462
+ }, ge = (e) => {
463
+ let t = {
464
+ options: e.options,
465
+ sortBy: e.sortBy?.toString() || "name",
466
+ sortDirection: e.sortDirection || "asc"
467
+ };
468
+ c(t), i({
469
+ search: (e) => ({
470
+ ...e,
471
+ sortBy: t.sortBy,
472
+ sortDirection: t.sortDirection
473
+ }),
474
+ replace: !0
475
+ });
476
+ }, $ = (e) => {
477
+ u(e), i({
478
+ search: (t) => ce(e.selectedFilters || [], e.filters, {
479
+ search: t.search,
480
+ sortBy: t.sortBy,
481
+ sortDirection: t.sortDirection
482
+ }),
483
+ replace: !0
484
+ });
485
+ }, _e = (e) => {
486
+ let t = typeof e == "string" ? e : "";
487
+ f(t), i({
488
+ search: (e) => ({
489
+ ...e,
490
+ search: t || void 0
491
+ }),
492
+ replace: !0
493
+ });
494
+ };
495
+ return K ? /*#__PURE__*/ I(b, {
496
+ status: "progress",
497
+ title: n._({ id: "YsgZl3" })
498
+ }) : q && !Y.length ? /*#__PURE__*/ I(o, {
499
+ className: "py-8",
500
+ distribution: "center",
501
+ alignment: "center",
502
+ direction: "vertical",
503
+ children: le || n._({ id: "Wca9WC" })
504
+ }) : /*#__PURE__*/ L(F, { children: [
505
+ /*#__PURE__*/ I(k, {
506
+ title: n._({ id: "4opp4r" }),
507
+ projectId: t
508
+ }),
509
+ /*#__PURE__*/ I(o, {
510
+ distribution: "end",
511
+ alignment: "center",
512
+ gap: "2",
513
+ className: "pb-2",
514
+ children: /*#__PURE__*/ L(o, {
515
+ gap: "2",
516
+ children: [/*#__PURE__*/ I(D, {
517
+ options: s.options,
518
+ sortBy: s.sortBy,
519
+ sortDirection: s.sortDirection ?? "asc",
520
+ selectClassName: "min-w-40",
521
+ onSortByChange: (e) => ge({
522
+ ...s,
523
+ sortBy: e,
524
+ sortDirection: s.sortDirection
525
+ }),
526
+ onSortDirectionChange: (e) => ge({
527
+ ...s,
528
+ sortDirection: e
529
+ })
530
+ }), Z.canCreate && /*#__PURE__*/ I(p, {
531
+ onClick: () => g(!0),
532
+ variant: "primary",
533
+ className: "whitespace-nowrap",
534
+ children: /*#__PURE__*/ I(H, { id: "YjAOtb" })
535
+ })]
536
+ })
537
+ }),
538
+ /*#__PURE__*/ I(m, { children: /*#__PURE__*/ L(o, {
539
+ direction: "vertical",
540
+ gap: "2",
541
+ children: [/*#__PURE__*/ L(o, {
542
+ distribution: "between",
543
+ alignment: "center",
544
+ children: [/*#__PURE__*/ I(j, {
545
+ filters: l.filters,
546
+ selectClassName: "sm:min-w-40",
547
+ comboboxClassName: "sm:min-w-40",
548
+ onChange: (e) => {
549
+ let t = se(l.selectedFilters || [], e, l.filters);
550
+ t !== (l.selectedFilters || []) && $({
551
+ ...l,
552
+ selectedFilters: t
553
+ });
554
+ }
555
+ }), /*#__PURE__*/ I(e, {
556
+ placeholder: n._({ id: "rp7Ili" }),
557
+ "data-testid": "searchbar",
558
+ value: d,
559
+ onInput: (e) => {
560
+ let t = e.currentTarget.value;
561
+ f(t);
562
+ },
563
+ onSearch: (e) => {
564
+ _e(typeof e == "string" ? e : "");
565
+ },
566
+ onClear: () => {
567
+ f(""), _e("");
568
+ }
569
+ })]
570
+ }), l.selectedFilters && l.selectedFilters.length > 0 && /*#__PURE__*/ I(A, {
571
+ selectedFilters: l.selectedFilters,
572
+ onDelete: (e) => $({
573
+ ...l,
574
+ selectedFilters: (l.selectedFilters || []).filter((t) => t.name !== e.name || t.value !== e.value)
575
+ }),
576
+ onClear: () => $({
577
+ ...l,
578
+ selectedFilters: []
579
+ })
580
+ })]
581
+ }) }),
582
+ /*#__PURE__*/ I(ie, {
583
+ securityGroups: Y,
584
+ isLoading: !1,
585
+ isError: !1,
586
+ error: null,
587
+ permissions: Z,
588
+ onCreateClick: () => g(!0),
589
+ onDeleteSecurityGroup: pe,
590
+ isDeletingSecurityGroup: de.isPending,
591
+ deleteError: _,
592
+ onUpdateSecurityGroup: me,
593
+ isUpdatingSecurityGroup: Q.isPending,
594
+ updateError: C,
595
+ currentProjectId: t,
596
+ hasAnyBulkAction: !1,
597
+ onClearUpdateError: he
598
+ }),
599
+ /*#__PURE__*/ I(ae, {
600
+ isOpen: h,
601
+ onClose: () => {
602
+ S(null), g(!1);
603
+ },
604
+ onCreate: fe,
605
+ isLoading: ue.isPending,
606
+ error: x
607
+ })
608
+ ] });
609
+ };
610
+ //#endregion
611
+ //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/index.tsx?tsr-split=component
612
+ function Z() {
613
+ let { projectId: e } = T.useParams(), { trpcClient: t } = T.useRouteContext();
614
+ if (!t) throw Error("trpcClient is not available in route context");
615
+ return /*#__PURE__*/ I(le, { project: e });
616
+ }
617
+ //#endregion
618
+ export { Z as component };
619
+
620
+ //# sourceMappingURL=securitygroups-BjhgLBHm.mjs.map