@cobaltcore-dev/aurora 1.2.0 → 2.0.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 (132) hide show
  1. package/dist/client/DeleteFlavorModal-C2MqUgGR.mjs +801 -0
  2. package/dist/client/DeleteFlavorModal-C2MqUgGR.mjs.map +1 -0
  3. package/dist/client/{FiltersInput-CKI6zWnm.mjs → FiltersInput-Becwxo_J.mjs} +36 -33
  4. package/dist/client/FiltersInput-Becwxo_J.mjs.map +1 -0
  5. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs +466 -0
  6. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs.map +1 -0
  7. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs +1135 -0
  8. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs.map +1 -0
  9. package/dist/client/RouteIdLevelDefaultError-CSseJ1yG.mjs +26 -0
  10. package/dist/client/RouteIdLevelDefaultError-CSseJ1yG.mjs.map +1 -0
  11. package/dist/client/{TwoColumnDescriptionList-NvgvErua.mjs → TwoColumnDescriptionList-DKS42RKa.mjs} +9 -3
  12. package/dist/client/TwoColumnDescriptionList-DKS42RKa.mjs.map +1 -0
  13. package/dist/client/{_flavorId-a9Gu66R1.mjs → _flavorId-CaA4-Pnf.mjs} +4 -3
  14. package/dist/client/_flavorId-CaA4-Pnf.mjs.map +1 -0
  15. package/dist/client/_flavorId-DYv_StX22.mjs +276 -0
  16. package/dist/client/_flavorId-DYv_StX22.mjs.map +1 -0
  17. package/dist/client/_flavorId-YV3jCS5g.mjs +22 -0
  18. package/dist/client/_flavorId-YV3jCS5g.mjs.map +1 -0
  19. package/dist/client/{_floatingIpId-AZ11Ksmu.mjs → _floatingIpId-BeYElanB.mjs} +2 -2
  20. package/dist/client/_floatingIpId-BeYElanB.mjs.map +1 -0
  21. package/dist/client/_floatingIpId-Dpsc7GU4.mjs +196 -0
  22. package/dist/client/_floatingIpId-Dpsc7GU4.mjs.map +1 -0
  23. package/dist/client/_imageId-mfKp3JHn.mjs +558 -0
  24. package/dist/client/_imageId-mfKp3JHn.mjs.map +1 -0
  25. package/dist/client/_imageId-mpXUMCh_.mjs +22 -0
  26. package/dist/client/_imageId-mpXUMCh_.mjs.map +1 -0
  27. package/dist/client/{_imageId-D76BxvFY.mjs → _imageId-pBSS0YcC.mjs} +4 -3
  28. package/dist/client/_imageId-pBSS0YcC.mjs.map +1 -0
  29. package/dist/client/{_projectId-B3wmSala.mjs → _projectId-AjgJX6Gl.mjs} +2 -2
  30. package/dist/client/_projectId-AjgJX6Gl.mjs.map +1 -0
  31. package/dist/client/{_projectId-DPzv0CCp.mjs → _projectId-BnTBxKfp.mjs} +4 -4
  32. package/dist/client/_projectId-BnTBxKfp.mjs.map +1 -0
  33. package/dist/client/{_projectId-DfeVJy0G.mjs → _projectId-CVrdJ52s.mjs} +2 -2
  34. package/dist/client/_projectId-CVrdJ52s.mjs.map +1 -0
  35. package/dist/client/_projectId-DgciZslU.mjs +92 -0
  36. package/dist/client/_projectId-DgciZslU.mjs.map +1 -0
  37. package/dist/client/{_securityGroupId-D85mSigA.mjs → _securityGroupId-AO3wnH8g.mjs} +2 -2
  38. package/dist/client/_securityGroupId-AO3wnH8g.mjs.map +1 -0
  39. package/dist/client/{_securityGroupId-C5huJNfO.mjs → _securityGroupId-Bq0ZyG6z.mjs} +750 -741
  40. package/dist/client/_securityGroupId-Bq0ZyG6z.mjs.map +1 -0
  41. package/dist/client/_storageType-c-DAu8qr.mjs +858 -0
  42. package/dist/client/_storageType-c-DAu8qr.mjs.map +1 -0
  43. package/dist/client/components/{Error → Errors}/RouteError.d.ts +5 -0
  44. package/dist/client/components/Errors/RouteIdLevelDefaultError.d.ts +17 -0
  45. package/dist/client/components/Errors/ServiceLevelDefaultError.d.ts +9 -0
  46. package/dist/client/components/ListToolbar/SelectedFilters.d.ts +7 -2
  47. package/dist/client/components/ListToolbar/types.d.ts +6 -0
  48. package/dist/client/components/ListToolbar/valueLabels.d.ts +11 -0
  49. package/dist/client/flavors-Bgq3KZmx.mjs +659 -0
  50. package/dist/client/flavors-Bgq3KZmx.mjs.map +1 -0
  51. package/dist/client/{flavors-B0rbqffG.mjs → flavors-ZudiAiTU.mjs} +2 -2
  52. package/dist/client/{flavors-B0rbqffG.mjs.map → flavors-ZudiAiTU.mjs.map} +1 -1
  53. package/dist/client/floatingips-B1oLH8z6.mjs +551 -0
  54. package/dist/client/floatingips-B1oLH8z6.mjs.map +1 -0
  55. package/dist/client/floatingips-BeQEkVH8.mjs +14 -0
  56. package/dist/client/floatingips-BeQEkVH8.mjs.map +1 -0
  57. package/dist/client/floatingips-BtLg3yEQ.mjs +22 -0
  58. package/dist/client/floatingips-BtLg3yEQ.mjs.map +1 -0
  59. package/dist/client/floatingips-Cz9k80cc.mjs.map +1 -1
  60. package/dist/client/{images-BGQv9kKT.mjs → images-CnTW3bpy.mjs} +810 -770
  61. package/dist/client/images-CnTW3bpy.mjs.map +1 -0
  62. package/dist/client/{images-CPmMa4SQ.mjs → images-DZHDYDQu.mjs} +2 -2
  63. package/dist/client/{images-CPmMa4SQ.mjs.map → images-DZHDYDQu.mjs.map} +1 -1
  64. package/dist/client/index.js +412 -409
  65. package/dist/client/index.js.map +1 -1
  66. package/dist/client/{objects-BN-59Th0.mjs → objects-25xsh4Ia.mjs} +2 -2
  67. package/dist/client/objects-25xsh4Ia.mjs.map +1 -0
  68. package/dist/client/objects-KXY6dgwq.mjs +82 -0
  69. package/dist/client/objects-KXY6dgwq.mjs.map +1 -0
  70. package/dist/client/objects-QryuClU3.mjs +82 -0
  71. package/dist/client/objects-QryuClU3.mjs.map +1 -0
  72. package/dist/client/{objects-BE_u5yRt.mjs → objects-jYQBFzwg.mjs} +4671 -4702
  73. package/dist/client/objects-jYQBFzwg.mjs.map +1 -0
  74. package/dist/client/projects-yiK0HGSA.mjs.map +1 -1
  75. package/dist/client/securitygroups--0PS2wbM.mjs +580 -0
  76. package/dist/client/securitygroups--0PS2wbM.mjs.map +1 -0
  77. package/dist/client/{securitygroups-DEJQBcxm.mjs → securitygroups-BRndk7wh.mjs} +2 -2
  78. package/dist/client/{securitygroups-DEJQBcxm.mjs.map → securitygroups-BRndk7wh.mjs.map} +1 -1
  79. package/dist/client/securitygroups-CdN4yAAw.mjs +14 -0
  80. package/dist/client/securitygroups-CdN4yAAw.mjs.map +1 -0
  81. package/dist/client/securitygroups-Cs2Op-tu.mjs +22 -0
  82. package/dist/client/securitygroups-Cs2Op-tu.mjs.map +1 -0
  83. package/dist/client/securitygroups-CtKne8UQ.mjs.map +1 -1
  84. package/dist/client/trpcClient.d.ts +6 -1
  85. package/dist/client/useModalTracking-BYd37pXm.mjs +37 -0
  86. package/dist/client/useModalTracking-BYd37pXm.mjs.map +1 -0
  87. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs +294 -0
  88. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs.map +1 -0
  89. package/dist/server/index.d.ts +6 -1
  90. package/dist/server/index.js +96 -30
  91. package/package.json +4 -4
  92. package/dist/client/DeleteFlavorModal-V44QCJBd.mjs +0 -773
  93. package/dist/client/DeleteFlavorModal-V44QCJBd.mjs.map +0 -1
  94. package/dist/client/FiltersInput-CKI6zWnm.mjs.map +0 -1
  95. package/dist/client/FloatingIpActionModals-CwEC5GR-.mjs +0 -460
  96. package/dist/client/FloatingIpActionModals-CwEC5GR-.mjs.map +0 -1
  97. package/dist/client/ImageToastNotifications-m6c3tVPb.mjs +0 -1152
  98. package/dist/client/ImageToastNotifications-m6c3tVPb.mjs.map +0 -1
  99. package/dist/client/TwoColumnDescriptionList-NvgvErua.mjs.map +0 -1
  100. package/dist/client/_flavorId-9PcBBW52.mjs +0 -231
  101. package/dist/client/_flavorId-9PcBBW52.mjs.map +0 -1
  102. package/dist/client/_flavorId-a9Gu66R1.mjs.map +0 -1
  103. package/dist/client/_floatingIpId-AE9Fu8l6.mjs +0 -210
  104. package/dist/client/_floatingIpId-AE9Fu8l6.mjs.map +0 -1
  105. package/dist/client/_floatingIpId-AZ11Ksmu.mjs.map +0 -1
  106. package/dist/client/_imageId-BtAql2Kr.mjs +0 -570
  107. package/dist/client/_imageId-BtAql2Kr.mjs.map +0 -1
  108. package/dist/client/_imageId-D76BxvFY.mjs.map +0 -1
  109. package/dist/client/_projectId-7Nl1MQTJ.mjs +0 -99
  110. package/dist/client/_projectId-7Nl1MQTJ.mjs.map +0 -1
  111. package/dist/client/_projectId-B3wmSala.mjs.map +0 -1
  112. package/dist/client/_projectId-DPzv0CCp.mjs.map +0 -1
  113. package/dist/client/_projectId-DfeVJy0G.mjs.map +0 -1
  114. package/dist/client/_securityGroupId-C5huJNfO.mjs.map +0 -1
  115. package/dist/client/_securityGroupId-D85mSigA.mjs.map +0 -1
  116. package/dist/client/_storageType-Dy9uCVXr.mjs +0 -845
  117. package/dist/client/_storageType-Dy9uCVXr.mjs.map +0 -1
  118. package/dist/client/flavors-Rl20bxVU.mjs +0 -628
  119. package/dist/client/flavors-Rl20bxVU.mjs.map +0 -1
  120. package/dist/client/floatingips-xbO_mu4f.mjs +0 -576
  121. package/dist/client/floatingips-xbO_mu4f.mjs.map +0 -1
  122. package/dist/client/images-BGQv9kKT.mjs.map +0 -1
  123. package/dist/client/objects-BE_u5yRt.mjs.map +0 -1
  124. package/dist/client/objects-BN-59Th0.mjs.map +0 -1
  125. package/dist/client/objects-D9Luf9KB.mjs +0 -66
  126. package/dist/client/objects-D9Luf9KB.mjs.map +0 -1
  127. package/dist/client/securitygroups-BjhgLBHm.mjs +0 -620
  128. package/dist/client/securitygroups-BjhgLBHm.mjs.map +0 -1
  129. package/dist/client/useModalTracking-BcOKTYRN.mjs +0 -33
  130. package/dist/client/useModalTracking-BcOKTYRN.mjs.map +0 -1
  131. package/dist/client/useSecurityGroupPermissions-BOyLQLdC.mjs +0 -227
  132. package/dist/client/useSecurityGroupPermissions-BOyLQLdC.mjs.map +0 -1
@@ -1,576 +0,0 @@
1
- import { C as e, D as t, K as n, L as r, Q as i, R as a, S as o, T as s, X as c, ft as l, g as u, i as d, it as f, l as p, lt as m, m as h, o as g, ot as _, p as v, rt as y, t as b, x } from "./build-WuxXRAqf.mjs";
2
- import { a as S } from "./trpcClient-D7gpR7YG.mjs";
3
- import { t as C } from "./useProjectId-DBc5lpoU.mjs";
4
- import { t as w } from "./SortInput-4g7nSTHW.mjs";
5
- import { d as T, n as E, o as D } from "./md-kvaGCNAK.mjs";
6
- import { t as O } from "./ContentHeader-CPJbgYWn.mjs";
7
- import "./hooks-D0yKIumu.mjs";
8
- import { t as k } from "./useModal-DCs1OJh7.mjs";
9
- import { n as A, t as j } from "./FiltersInput-CKI6zWnm.mjs";
10
- import { n as M, t as N } from "./FloatingIpActionModals-CwEC5GR-.mjs";
11
- import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
12
- import { useEffect as L, useRef as R, useState as z } from "react";
13
- import { useNavigate as B, useSearch as ee } from "@tanstack/react-router";
14
- import { Trans as V, useLingui as H } from "@lingui/react";
15
- import { z as U } from "zod";
16
- import { i18n as W } from "@lingui/core";
17
- import { useForm as G, useStore as K } from "@tanstack/react-form";
18
- //#region src/client/routes/_auth/projects/$projectId/network/floatingips/-components/-table/constants.tsx
19
- var q = {
20
- ACTIVE: {
21
- text: "Active",
22
- icon: /*#__PURE__*/ F(E, {
23
- size: 18,
24
- color: "white",
25
- fill: "#4FB81C"
26
- })
27
- },
28
- DOWN: {
29
- text: "Down",
30
- icon: /*#__PURE__*/ F(T, {
31
- size: 18,
32
- color: "white",
33
- fill: "#969696"
34
- })
35
- },
36
- ERROR: {
37
- text: "Error",
38
- icon: /*#__PURE__*/ F(D, {
39
- size: 18,
40
- color: "white",
41
- fill: "#C70000"
42
- })
43
- }
44
- }, J = () => [
45
- W._({ id: "uAQUqI" }),
46
- W._({ id: "xNG/3n" }),
47
- W._({ id: "Nc7QKU" }),
48
- W._({ id: "7NC3vm" }),
49
- W._({ id: "Nu4oKW" }),
50
- ""
51
- ], Y = ({ floatingIp: e }) => {
52
- let { i18n: n, _: r } = H(), i = B(), a = C(), o = () => {
53
- i({
54
- to: "/projects/$projectId/network/floatingips/$floatingIpId",
55
- params: {
56
- projectId: a,
57
- floatingIpId: e.id
58
- }
59
- });
60
- };
61
- return /*#__PURE__*/ I(s, {
62
- "data-testid": `floating-ip-row-${e.id}`,
63
- onClick: o,
64
- children: [
65
- /*#__PURE__*/ F(b, { children: /*#__PURE__*/ I("div", {
66
- className: "flex items-center gap-2",
67
- children: [q[e.status].icon, q[e.status].text]
68
- }) }),
69
- /*#__PURE__*/ F(b, { children: e.floating_ip_address }),
70
- /*#__PURE__*/ F(b, { children: e.fixed_ip_address || "—" }),
71
- /*#__PURE__*/ F(b, { children: e.floating_network_id }),
72
- /*#__PURE__*/ F(b, { children: e.description || "—" }),
73
- /*#__PURE__*/ F(b, {
74
- onClick: (e) => e.stopPropagation(),
75
- className: "items-end pr-0",
76
- children: /*#__PURE__*/ F(N, {
77
- floatingIp: e,
78
- children: ({ toggleEditModal: e, toggleAttachModal: r, toggleDetachModal: i, toggleReleaseModal: a }) => /*#__PURE__*/ F(t, { children: /*#__PURE__*/ I(u, { children: [
79
- /*#__PURE__*/ F(x, {
80
- label: n._({ id: "rdUucN" }),
81
- onClick: o
82
- }),
83
- /*#__PURE__*/ F(x, {
84
- label: n._({ id: "n22YIM" }),
85
- onClick: e
86
- }),
87
- /*#__PURE__*/ F(x, {
88
- label: n._({ id: "igVDFt" }),
89
- onClick: r
90
- }),
91
- /*#__PURE__*/ F(x, {
92
- label: n._({ id: "FOcBn3" }),
93
- onClick: i
94
- }),
95
- /*#__PURE__*/ F(x, {
96
- label: n._({ id: "H+a5j6" }),
97
- onClick: a
98
- })
99
- ] }) })
100
- })
101
- })
102
- ]
103
- }, e.id);
104
- }, X = ({ floatingIps: e, isLoading: t, isError: n, error: r }) => {
105
- let { i18n: i, _: a } = H(), c = J(), l = c.length;
106
- return t ? /*#__PURE__*/ F(y, {
107
- status: "progress",
108
- title: i._({ id: "odksI6" })
109
- }) : n ? /*#__PURE__*/ F(y, {
110
- status: "error",
111
- title: r?.message ?? i._({ id: "+Nx1wc" })
112
- }) : /*#__PURE__*/ I(g, {
113
- columns: l,
114
- minContentColumns: [l - 1],
115
- children: [/*#__PURE__*/ F(s, { children: c.map((e) => /*#__PURE__*/ F(o, { children: e }, e)) }), e.length > 0 ? e.map((e) => /*#__PURE__*/ F(Y, { floatingIp: e }, e.id)) : /*#__PURE__*/ F(s, { children: /*#__PURE__*/ F(b, {
116
- colSpan: l,
117
- children: /*#__PURE__*/ F(y, {
118
- status: "empty",
119
- title: i._({ id: "WCLyHI" }),
120
- body: i._({ id: "0eY8Mz" })
121
- })
122
- }) })]
123
- });
124
- }, te = /^(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/, ne = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|(([0-9a-fA-F]{1,4}:){1,7}:)|(([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4})|(([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2})|(([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3})|(([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4})|(([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5})|([0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6}))|(:((:[0-9a-fA-F]{1,4}){1,7}|:))|(::([fF]{4}(:0{1,4})?:)?((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|(([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})))$/, re = (e) => te.test(e) || ne.test(e), ie = /^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$/, ae = ({ open: e, onClose: t }) => {
125
- let { i18n: i, _: o } = H(), s = C(), u = S.useUtils(), { isPending: d, ...p } = S.network.floatingIp.create.useMutation({ onSettled: () => u.network.floatingIp.list.invalidate() }), { data: g = [], isLoading: y, error: b } = S.network.floatingIp.listExternalNetworks.useQuery({ project_id: s }), { data: x = [], isLoading: w, error: T } = S.network.floatingIp.listDnsDomains.useQuery({ project_id: s }), { data: E = [], isLoading: D, error: O } = S.network.floatingIp.listAvailablePorts.useQuery({ project_id: s }), k = U.object({
126
- floating_network_id: U.string(),
127
- dns_domain: U.string(),
128
- dns_name: U.string().trim().max(63, i._({ id: "Zq6Y5u" })).refine((e) => e === "" || ie.test(e), { message: i._({ id: "R6kcsL" }) }),
129
- description: U.string().trim().max(255, i._({ id: "lZvIXd" })),
130
- floating_ip_address: U.string().trim().refine((e) => e === "" || re(e), { message: i._({ id: "AZyHwC" }) }),
131
- port_id: U.string(),
132
- fixed_ip_address: U.string()
133
- }), A = G({
134
- defaultValues: {
135
- floating_network_id: "",
136
- dns_domain: "",
137
- dns_name: "",
138
- description: "",
139
- floating_ip_address: "",
140
- port_id: "",
141
- fixed_ip_address: ""
142
- },
143
- validators: { onSubmit: k },
144
- onSubmit: async ({ value: e }) => {
145
- if (d) return;
146
- let t = await p.mutateAsync({
147
- project_id: s,
148
- floating_network_id: e.floating_network_id,
149
- ...e.dns_domain && { dns_domain: e.dns_domain },
150
- ...e.dns_name && { dns_name: e.dns_name },
151
- ...e.description && { description: e.description },
152
- ...e.floating_ip_address && { floating_ip_address: e.floating_ip_address },
153
- ...e.port_id && { port_id: e.port_id },
154
- ...e.fixed_ip_address && { fixed_ip_address: e.fixed_ip_address }
155
- }), { message: n, ...r } = M(t.floating_ip_address ?? t.id);
156
- _.success(n, r), j();
157
- }
158
- }), j = () => {
159
- d || (A.reset(), p.reset(), t());
160
- }, N = K(A.store, (e) => e.values.port_id), P = K(A.store, (e) => e.values.floating_network_id), L = E.find((e) => e.id === N)?.fixed_ips ?? [], R = (b?.message || T?.message || O?.message) ?? p.error?.message ?? null;
161
- return /*#__PURE__*/ I(c, {
162
- open: e,
163
- size: "large",
164
- title: i._({ id: "h99+4y" }),
165
- onCancel: j,
166
- cancelButtonLabel: i._({ id: "dEgA5A" }),
167
- confirmButtonLabel: i._({ id: "9X8lAk" }),
168
- onConfirm: A.handleSubmit,
169
- disableConfirmButton: d || !P,
170
- children: [
171
- R && /*#__PURE__*/ F(r, {
172
- dismissible: !1,
173
- variant: "error",
174
- className: "mb-4",
175
- children: R
176
- }),
177
- d && /*#__PURE__*/ I("div", {
178
- className: "mb-4 flex items-center justify-center gap-2",
179
- children: [/*#__PURE__*/ F(n, { variant: "primary" }), /*#__PURE__*/ F("span", {
180
- className: "text-theme-high text-sm",
181
- children: /*#__PURE__*/ F(V, { id: "HuA8iQ" })
182
- })]
183
- }),
184
- !d && /*#__PURE__*/ I(l, {
185
- className: "mb-0",
186
- id: "allocate-floating-ip-form",
187
- onSubmit: (e) => {
188
- e.preventDefault(), A.handleSubmit();
189
- },
190
- children: [
191
- /*#__PURE__*/ F(v, {
192
- className: "mb-4",
193
- children: /*#__PURE__*/ F(A.Field, {
194
- name: "floating_network_id",
195
- children: (e) => /*#__PURE__*/ F(f, {
196
- id: e.name,
197
- name: e.name,
198
- value: e.state.value,
199
- onChange: (t) => e.handleChange(typeof t == "string" ? t : ""),
200
- label: i._({ id: "kA2lMP" }),
201
- helptext: i._({ id: "BoIAP6" }),
202
- placeholder: i._({ id: "T6Gm5y" }),
203
- disabled: d || y,
204
- required: !0,
205
- loading: y,
206
- children: g.map(({ id: e, name: t }) => /*#__PURE__*/ F(a, {
207
- value: e,
208
- label: t ? `${t} (${e})` : e
209
- }, e))
210
- })
211
- })
212
- }),
213
- /*#__PURE__*/ F(v, {
214
- className: "mb-4",
215
- children: /*#__PURE__*/ F(A.Field, {
216
- name: "dns_domain",
217
- children: (e) => /*#__PURE__*/ F(f, {
218
- id: e.name,
219
- name: e.name,
220
- value: e.state.value,
221
- onChange: (t) => e.handleChange(typeof t == "string" ? t : ""),
222
- label: i._({ id: "WlpcJv" }),
223
- helptext: i._({ id: "1ojTVo" }),
224
- disabled: d || w,
225
- loading: w,
226
- children: x.map(({ id: e, name: t }) => /*#__PURE__*/ F(a, {
227
- value: t,
228
- label: t
229
- }, e))
230
- })
231
- })
232
- }),
233
- /*#__PURE__*/ F(v, {
234
- className: "mb-4",
235
- children: /*#__PURE__*/ F(A.Field, {
236
- name: "dns_name",
237
- children: (e) => /*#__PURE__*/ F(h, {
238
- id: e.name,
239
- name: e.name,
240
- value: e.state.value,
241
- onBlur: e.handleBlur,
242
- onChange: (t) => e.handleChange(t.target.value),
243
- label: i._({ id: "eGEHJE" }),
244
- placeholder: i._({ id: "SLEH7X" }),
245
- helptext: i._({ id: "Tx4Ym+" }),
246
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
247
- disabled: d
248
- })
249
- })
250
- }),
251
- /*#__PURE__*/ F(v, {
252
- className: "mb-4",
253
- children: /*#__PURE__*/ F(A.Field, {
254
- name: "description",
255
- children: (e) => /*#__PURE__*/ F(m, {
256
- id: e.name,
257
- name: e.name,
258
- value: e.state.value,
259
- onBlur: e.handleBlur,
260
- onChange: (t) => e.handleChange(t.target.value),
261
- placeholder: i._({ id: "Nu4oKW" }),
262
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
263
- disabled: d
264
- })
265
- })
266
- }),
267
- /*#__PURE__*/ F(v, {
268
- className: "mb-4",
269
- children: /*#__PURE__*/ F(A.Field, {
270
- name: "floating_ip_address",
271
- children: (e) => /*#__PURE__*/ F(h, {
272
- id: e.name,
273
- name: e.name,
274
- value: e.state.value,
275
- onBlur: e.handleBlur,
276
- onChange: (t) => e.handleChange(t.target.value),
277
- label: i._({ id: "xNG/3n" }),
278
- placeholder: i._({ id: "5/wyf8" }),
279
- helptext: i._({ id: "PAKSdy" }),
280
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
281
- disabled: d
282
- })
283
- })
284
- }),
285
- /*#__PURE__*/ F(v, {
286
- className: "mb-4",
287
- children: /*#__PURE__*/ F(A.Field, {
288
- name: "port_id",
289
- children: (e) => /*#__PURE__*/ F(f, {
290
- id: e.name,
291
- name: e.name,
292
- value: e.state.value,
293
- onChange: (t) => {
294
- let n = typeof t == "string" ? t : "";
295
- e.handleChange(n);
296
- let r = E.find((e) => e.id === n)?.fixed_ips ?? [];
297
- A.setFieldValue("fixed_ip_address", r.length === 1 ? r[0].ip_address : "");
298
- },
299
- label: i._({ id: "eks7oA" }),
300
- placeholder: i._({ id: "UztfYZ" }),
301
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
302
- disabled: d || D,
303
- loading: D,
304
- children: E.map((e) => /*#__PURE__*/ F(a, {
305
- value: e.id,
306
- label: e.name ? `${e.name} (${e.id})` : e.id
307
- }, e.id))
308
- })
309
- })
310
- }),
311
- /*#__PURE__*/ F(v, { children: /*#__PURE__*/ F(A.Field, {
312
- name: "fixed_ip_address",
313
- children: (e) => /*#__PURE__*/ F(f, {
314
- id: e.name,
315
- name: e.name,
316
- value: e.state.value,
317
- onBlur: e.handleBlur,
318
- onChange: (t) => e.handleChange(typeof t == "string" ? t : ""),
319
- label: i._({ id: "Nc7QKU" }),
320
- placeholder: i._({ id: "i41Xuw" }),
321
- helptext: i._({ id: "PtjzS+" }),
322
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
323
- disabled: d || L.length === 0,
324
- children: L.map(({ ip_address: e }) => /*#__PURE__*/ F(a, {
325
- value: e,
326
- label: e
327
- }, e))
328
- })
329
- }) })
330
- ]
331
- })
332
- ]
333
- });
334
- }, Z = (e) => {
335
- let t = [];
336
- return e.status && t.push({
337
- name: "status",
338
- value: e.status
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
- }, Q = "fixed_ip_address", $ = "asc", le = () => {
359
- let { i18n: t, _: n } = H(), a = B(), o = ee({ strict: !1 }), s = C(), [c, l] = k(!1), [u, f] = z(o.search || ""), m = R(void 0);
360
- L(() => () => clearTimeout(m.current), []);
361
- let [h, g] = z({
362
- options: [
363
- {
364
- label: t._({ id: "Nc7QKU" }),
365
- value: "fixed_ip_address"
366
- },
367
- {
368
- label: t._({ id: "xNG/3n" }),
369
- value: "floating_ip_address"
370
- },
371
- {
372
- label: t._({ id: "2cJIlz" }),
373
- value: "floating_network_id"
374
- },
375
- {
376
- label: t._({ id: "S0kLOH" }),
377
- value: "id"
378
- },
379
- {
380
- label: t._({ id: "/bUiYk" }),
381
- value: "router_id"
382
- },
383
- {
384
- label: t._({ id: "uAQUqI" }),
385
- value: "status"
386
- },
387
- {
388
- label: t._({ id: "T9Mtpi" }),
389
- value: "tenant_id"
390
- },
391
- {
392
- label: t._({ id: "mSfwLL" }),
393
- value: "project_id"
394
- }
395
- ],
396
- sortBy: o.sortBy || Q,
397
- sortDirection: o.sortDirection || $
398
- }), [_, v] = z({
399
- filters: [{
400
- displayName: t._({ id: "uAQUqI" }),
401
- filterName: "status",
402
- values: [
403
- "ACTIVE",
404
- "DOWN",
405
- "ERROR"
406
- ],
407
- supportsMultiValue: !1
408
- }],
409
- selectedFilters: Z(o)
410
- }), b = o.search || "", { data: x } = S.network.canUser.useQuery({
411
- project_id: s,
412
- permission: ["network:floatingips:create"]
413
- }, { select: ([e]) => ({ canCreate: e }) });
414
- L(() => {
415
- let e = Z(o), t = o.sortBy || Q, n = o.sortDirection || $, r = o.search || "";
416
- v((t) => ({
417
- ...t,
418
- selectedFilters: e
419
- })), g((e) => ({
420
- ...e,
421
- sortBy: t,
422
- sortDirection: n
423
- })), f(r);
424
- }, [
425
- o.status,
426
- o.sortBy,
427
- o.sortDirection,
428
- o.search
429
- ]);
430
- let T = (e) => {
431
- let t = {
432
- options: e.options,
433
- sortBy: e.sortBy?.toString() || Q,
434
- sortDirection: e.sortDirection || $
435
- };
436
- g(t), a({
437
- search: (e) => ({
438
- ...e,
439
- sortBy: t.sortBy,
440
- sortDirection: t.sortDirection
441
- }),
442
- replace: !1
443
- });
444
- }, E = (e) => {
445
- v(e), a({
446
- search: (t) => ce(e.selectedFilters || [], e.filters, {
447
- search: t.search,
448
- sortBy: t.sortBy,
449
- sortDirection: t.sortDirection
450
- }),
451
- replace: !1
452
- });
453
- }, D = (e, t = !1) => {
454
- a({
455
- search: (t) => ({
456
- ...t,
457
- search: e || void 0
458
- }),
459
- replace: t
460
- });
461
- }, { data: M = [], isLoading: N, isError: U, error: W } = S.network.floatingIp.list.useQuery({
462
- project_id: s,
463
- sort_key: h.sortBy,
464
- sort_dir: h.sortDirection,
465
- ...oe(_.selectedFilters || [], _.filters),
466
- ...b ? { searchTerm: b } : {}
467
- }, { placeholderData: (e) => e });
468
- return U && !M.length ? /*#__PURE__*/ F(y, {
469
- status: "error",
470
- title: W?.message ?? t._({ id: "+Nx1wc" })
471
- }) : /*#__PURE__*/ I(P, { children: [/*#__PURE__*/ F(O, {
472
- title: t._({ id: "u77/s4" }),
473
- projectId: s
474
- }), /*#__PURE__*/ I("div", {
475
- className: "relative",
476
- children: [
477
- U && M.length > 0 && /*#__PURE__*/ F(r, {
478
- variant: "error",
479
- className: "mb-4",
480
- children: W?.message ?? t._({ id: "cL8dHR" })
481
- }),
482
- /*#__PURE__*/ F(i, {
483
- distribution: "end",
484
- alignment: "center",
485
- gap: "2",
486
- className: "pb-2",
487
- children: /*#__PURE__*/ I(i, {
488
- gap: "2",
489
- children: [/*#__PURE__*/ F(w, {
490
- options: h.options,
491
- sortBy: h.sortBy,
492
- sortDirection: h.sortDirection ?? "asc",
493
- selectClassName: "min-w-52",
494
- onSortByChange: (e) => T({
495
- ...h,
496
- sortBy: e,
497
- sortDirection: h.sortDirection
498
- }),
499
- onSortDirectionChange: (e) => T({
500
- ...h,
501
- sortDirection: e
502
- })
503
- }), x?.canCreate && /*#__PURE__*/ F(d, {
504
- onClick: l,
505
- variant: "primary",
506
- className: "whitespace-nowrap",
507
- children: /*#__PURE__*/ F(V, { id: "h99+4y" })
508
- })]
509
- })
510
- }),
511
- /*#__PURE__*/ F(p, { children: /*#__PURE__*/ I(i, {
512
- direction: "vertical",
513
- gap: "2",
514
- children: [/*#__PURE__*/ I(i, {
515
- distribution: "between",
516
- alignment: "center",
517
- children: [/*#__PURE__*/ F(j, {
518
- filters: _.filters,
519
- selectClassName: "sm:min-w-40",
520
- comboboxClassName: "sm:min-w-40",
521
- onChange: (e) => {
522
- let t = se(_.selectedFilters || [], e, _.filters);
523
- t !== (_.selectedFilters || []) && E({
524
- ..._,
525
- selectedFilters: t
526
- });
527
- }
528
- }), /*#__PURE__*/ F(e, {
529
- placeholder: t._({ id: "s6lr1k" }),
530
- "data-testid": "searchbar",
531
- value: u,
532
- onInput: (e) => {
533
- let t = e.currentTarget.value;
534
- f(t), clearTimeout(m.current), m.current = window.setTimeout(() => D(t, !0), 500);
535
- },
536
- onSearch: (e) => {
537
- clearTimeout(m.current), D(typeof e == "string" ? e : "", !1);
538
- },
539
- onClear: () => {
540
- clearTimeout(m.current), f(""), D("", !1);
541
- }
542
- })]
543
- }), _.selectedFilters && _.selectedFilters.length > 0 && /*#__PURE__*/ F(A, {
544
- selectedFilters: _.selectedFilters,
545
- onDelete: (e) => E({
546
- ..._,
547
- selectedFilters: (_.selectedFilters || []).filter((t) => t.name !== e.name || t.value !== e.value)
548
- }),
549
- onClear: () => E({
550
- ..._,
551
- selectedFilters: []
552
- })
553
- })]
554
- }) }),
555
- /*#__PURE__*/ F(X, {
556
- floatingIps: M,
557
- isLoading: N,
558
- isError: U && !M.length,
559
- error: W
560
- }),
561
- c && /*#__PURE__*/ F(ae, {
562
- open: c,
563
- onClose: l
564
- })
565
- ]
566
- })] });
567
- };
568
- //#endregion
569
- //#region src/client/routes/_auth/projects/$projectId/network/floatingips/index.tsx?tsr-split=component
570
- function ue() {
571
- return /*#__PURE__*/ F(le, {});
572
- }
573
- //#endregion
574
- export { ue as component };
575
-
576
- //# sourceMappingURL=floatingips-xbO_mu4f.mjs.map