@cobaltcore-dev/aurora 2.1.0 → 2.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 (171) hide show
  1. package/README.md +31 -25
  2. package/dist/client/AuroraApp.d.ts +9 -2
  3. package/dist/client/context/AppConfigContext.d.ts +44 -0
  4. package/dist/client/index.d.ts +2 -0
  5. package/dist/client/index.js +41221 -844
  6. package/dist/client/index.js.map +1 -1
  7. package/dist/client/trpcClient.d.ts +314 -1
  8. package/dist/client/utils/appConfigGating.d.ts +21 -0
  9. package/dist/server/index.d.ts +694 -4
  10. package/dist/server/index.js +2521 -1243
  11. package/package.json +2 -2
  12. package/dist/client/AuthProvider-CVSAwW9f.mjs +0 -83
  13. package/dist/client/AuthProvider-CVSAwW9f.mjs.map +0 -1
  14. package/dist/client/ContentHeader-fKKZVu-o.mjs +0 -116
  15. package/dist/client/ContentHeader-fKKZVu-o.mjs.map +0 -1
  16. package/dist/client/DeleteFlavorModal-Be2GFiB_.mjs +0 -802
  17. package/dist/client/DeleteFlavorModal-Be2GFiB_.mjs.map +0 -1
  18. package/dist/client/DynamicBreadcrumbContext-CVcUQFou.mjs +0 -26
  19. package/dist/client/DynamicBreadcrumbContext-CVcUQFou.mjs.map +0 -1
  20. package/dist/client/FiltersInput-Becwxo_J.mjs +0 -85
  21. package/dist/client/FiltersInput-Becwxo_J.mjs.map +0 -1
  22. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs +0 -466
  23. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs.map +0 -1
  24. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs +0 -1135
  25. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs.map +0 -1
  26. package/dist/client/RouteIdLevelDefaultError-DPF_x2tG.mjs +0 -26
  27. package/dist/client/RouteIdLevelDefaultError-DPF_x2tG.mjs.map +0 -1
  28. package/dist/client/Slot-CWb612-_.mjs +0 -28
  29. package/dist/client/Slot-CWb612-_.mjs.map +0 -1
  30. package/dist/client/SortInput-4g7nSTHW.mjs +0 -34
  31. package/dist/client/SortInput-4g7nSTHW.mjs.map +0 -1
  32. package/dist/client/StorageNotFound-B-zVinVD.mjs +0 -30
  33. package/dist/client/StorageNotFound-B-zVinVD.mjs.map +0 -1
  34. package/dist/client/TwoColumnDescriptionList-DKS42RKa.mjs +0 -28
  35. package/dist/client/TwoColumnDescriptionList-DKS42RKa.mjs.map +0 -1
  36. package/dist/client/_-CAsCx-Ay.mjs +0 -6
  37. package/dist/client/_-CAsCx-Ay.mjs.map +0 -1
  38. package/dist/client/_auth-SrDjHL6j.mjs +0 -12
  39. package/dist/client/_auth-SrDjHL6j.mjs.map +0 -1
  40. package/dist/client/_flavorId-0PioWpEp.mjs +0 -276
  41. package/dist/client/_flavorId-0PioWpEp.mjs.map +0 -1
  42. package/dist/client/_flavorId-B7fp6Nk8.mjs +0 -22
  43. package/dist/client/_flavorId-B7fp6Nk8.mjs.map +0 -1
  44. package/dist/client/_flavorId-CgueqKTs.mjs +0 -27
  45. package/dist/client/_flavorId-CgueqKTs.mjs.map +0 -1
  46. package/dist/client/_floatingIpId-B8r64AL9.mjs +0 -196
  47. package/dist/client/_floatingIpId-B8r64AL9.mjs.map +0 -1
  48. package/dist/client/_floatingIpId-lEobpOER.mjs +0 -26
  49. package/dist/client/_floatingIpId-lEobpOER.mjs.map +0 -1
  50. package/dist/client/_imageId-Ccv8PedW.mjs +0 -40
  51. package/dist/client/_imageId-Ccv8PedW.mjs.map +0 -1
  52. package/dist/client/_imageId-CiqEQB_J.mjs +0 -558
  53. package/dist/client/_imageId-CiqEQB_J.mjs.map +0 -1
  54. package/dist/client/_imageId-D9LR-02T.mjs +0 -22
  55. package/dist/client/_imageId-D9LR-02T.mjs.map +0 -1
  56. package/dist/client/_projectId-BDARsteX.mjs +0 -77
  57. package/dist/client/_projectId-BDARsteX.mjs.map +0 -1
  58. package/dist/client/_projectId-CtyAHqhH.mjs +0 -30
  59. package/dist/client/_projectId-CtyAHqhH.mjs.map +0 -1
  60. package/dist/client/_projectId-D3VOH5lN.mjs +0 -94
  61. package/dist/client/_projectId-D3VOH5lN.mjs.map +0 -1
  62. package/dist/client/_projectId-ZBk6vka0.mjs +0 -283
  63. package/dist/client/_projectId-ZBk6vka0.mjs.map +0 -1
  64. package/dist/client/_securityGroupId-BwgZnoiR.mjs +0 -29
  65. package/dist/client/_securityGroupId-BwgZnoiR.mjs.map +0 -1
  66. package/dist/client/_securityGroupId-Cz2NUHdB.mjs +0 -1819
  67. package/dist/client/_securityGroupId-Cz2NUHdB.mjs.map +0 -1
  68. package/dist/client/_serviceType-DS8DxsrP.mjs +0 -20
  69. package/dist/client/_serviceType-DS8DxsrP.mjs.map +0 -1
  70. package/dist/client/_serviceType-M8d9rOT6.mjs +0 -6
  71. package/dist/client/_serviceType-M8d9rOT6.mjs.map +0 -1
  72. package/dist/client/_storageType-BNpP1A2N.mjs +0 -13
  73. package/dist/client/_storageType-BNpP1A2N.mjs.map +0 -1
  74. package/dist/client/_storageType-BxSGKhAI.mjs +0 -15
  75. package/dist/client/_storageType-BxSGKhAI.mjs.map +0 -1
  76. package/dist/client/_storageType-DZYCmiLt.mjs +0 -30
  77. package/dist/client/_storageType-DZYCmiLt.mjs.map +0 -1
  78. package/dist/client/_storageType-UqAMP-8d.mjs +0 -859
  79. package/dist/client/_storageType-UqAMP-8d.mjs.map +0 -1
  80. package/dist/client/_storageType-u51_7OwJ.mjs +0 -7
  81. package/dist/client/_storageType-u51_7OwJ.mjs.map +0 -1
  82. package/dist/client/about-BmQTyLWc.mjs +0 -92
  83. package/dist/client/about-BmQTyLWc.mjs.map +0 -1
  84. package/dist/client/assets/__mocks__/svgMock.d.ts +0 -3
  85. package/dist/client/aurora-CIml-f2f.mjs +0 -19
  86. package/dist/client/aurora-CIml-f2f.mjs.map +0 -1
  87. package/dist/client/build-WuxXRAqf.mjs +0 -14530
  88. package/dist/client/build-WuxXRAqf.mjs.map +0 -1
  89. package/dist/client/cn-DM4Cy3jv.mjs +0 -10
  90. package/dist/client/cn-DM4Cy3jv.mjs.map +0 -1
  91. package/dist/client/flavors-Ce3J-cFa.mjs +0 -15
  92. package/dist/client/flavors-Ce3J-cFa.mjs.map +0 -1
  93. package/dist/client/flavors-D5ThLaXO.mjs +0 -666
  94. package/dist/client/flavors-D5ThLaXO.mjs.map +0 -1
  95. package/dist/client/flavors-DWMZ6TuJ.mjs +0 -8
  96. package/dist/client/flavors-DWMZ6TuJ.mjs.map +0 -1
  97. package/dist/client/floatingips-Cz9k80cc.mjs +0 -8
  98. package/dist/client/floatingips-Cz9k80cc.mjs.map +0 -1
  99. package/dist/client/floatingips-DXnRlLvV.mjs +0 -551
  100. package/dist/client/floatingips-DXnRlLvV.mjs.map +0 -1
  101. package/dist/client/floatingips-HRbuLxiN.mjs +0 -22
  102. package/dist/client/floatingips-HRbuLxiN.mjs.map +0 -1
  103. package/dist/client/floatingips-nN1kQmsu.mjs +0 -14
  104. package/dist/client/floatingips-nN1kQmsu.mjs.map +0 -1
  105. package/dist/client/formatBytes-CZv_XyCY.mjs +0 -38
  106. package/dist/client/formatBytes-CZv_XyCY.mjs.map +0 -1
  107. package/dist/client/helpers-1PpYf-fC.mjs +0 -6
  108. package/dist/client/helpers-1PpYf-fC.mjs.map +0 -1
  109. package/dist/client/hooks-D0yKIumu.mjs +0 -22
  110. package/dist/client/hooks-D0yKIumu.mjs.map +0 -1
  111. package/dist/client/images-C8M3ysWR.mjs +0 -2023
  112. package/dist/client/images-C8M3ysWR.mjs.map +0 -1
  113. package/dist/client/images-Cf5R28NR.mjs +0 -15
  114. package/dist/client/images-Cf5R28NR.mjs.map +0 -1
  115. package/dist/client/images-NBf2bV43.mjs +0 -8
  116. package/dist/client/images-NBf2bV43.mjs.map +0 -1
  117. package/dist/client/md-kvaGCNAK.mjs +0 -336
  118. package/dist/client/md-kvaGCNAK.mjs.map +0 -1
  119. package/dist/client/network-DuZm76BZ.mjs +0 -8
  120. package/dist/client/network-DuZm76BZ.mjs.map +0 -1
  121. package/dist/client/objects-BudUAfWY.mjs +0 -12909
  122. package/dist/client/objects-BudUAfWY.mjs.map +0 -1
  123. package/dist/client/objects-Dc7sKUr8.mjs +0 -67
  124. package/dist/client/objects-Dc7sKUr8.mjs.map +0 -1
  125. package/dist/client/objects-Dw7oeTq2.mjs +0 -80
  126. package/dist/client/objects-Dw7oeTq2.mjs.map +0 -1
  127. package/dist/client/objects-_g7nGIn5.mjs +0 -25
  128. package/dist/client/objects-_g7nGIn5.mjs.map +0 -1
  129. package/dist/client/objects-eBxvY6_n.mjs +0 -78
  130. package/dist/client/objects-eBxvY6_n.mjs.map +0 -1
  131. package/dist/client/projects-yiK0HGSA.mjs +0 -7
  132. package/dist/client/projects-yiK0HGSA.mjs.map +0 -1
  133. package/dist/client/routeInfo-DP3v74Wg.mjs +0 -19
  134. package/dist/client/routeInfo-DP3v74Wg.mjs.map +0 -1
  135. package/dist/client/routes-CJj7SR_K.mjs +0 -10
  136. package/dist/client/routes-CJj7SR_K.mjs.map +0 -1
  137. package/dist/client/routes-xofA3ksU.mjs +0 -110
  138. package/dist/client/routes-xofA3ksU.mjs.map +0 -1
  139. package/dist/client/securitygroups-67fFxiwt.mjs +0 -15
  140. package/dist/client/securitygroups-67fFxiwt.mjs.map +0 -1
  141. package/dist/client/securitygroups-CtKne8UQ.mjs +0 -8
  142. package/dist/client/securitygroups-CtKne8UQ.mjs.map +0 -1
  143. package/dist/client/securitygroups-DXrfyuVF.mjs +0 -580
  144. package/dist/client/securitygroups-DXrfyuVF.mjs.map +0 -1
  145. package/dist/client/securitygroups-WLB1_IM6.mjs +0 -22
  146. package/dist/client/securitygroups-WLB1_IM6.mjs.map +0 -1
  147. package/dist/client/securitygroups-o0IXZM6S.mjs +0 -14
  148. package/dist/client/securitygroups-o0IXZM6S.mjs.map +0 -1
  149. package/dist/client/serviceCatalog-B3lKWC9V.mjs +0 -6
  150. package/dist/client/serviceCatalog-B3lKWC9V.mjs.map +0 -1
  151. package/dist/client/services-D1PbooD1.mjs +0 -6
  152. package/dist/client/services-D1PbooD1.mjs.map +0 -1
  153. package/dist/client/services-DEMVtFyn.mjs +0 -9
  154. package/dist/client/services-DEMVtFyn.mjs.map +0 -1
  155. package/dist/client/storageProviders-CJ5rOh13.mjs +0 -15
  156. package/dist/client/storageProviders-CJ5rOh13.mjs.map +0 -1
  157. package/dist/client/trpcClient-D7gpR7YG.mjs +0 -71
  158. package/dist/client/trpcClient-D7gpR7YG.mjs.map +0 -1
  159. package/dist/client/useBreadcrumbs-ha3IlaxX.mjs +0 -54
  160. package/dist/client/useBreadcrumbs-ha3IlaxX.mjs.map +0 -1
  161. package/dist/client/useModal-DCs1OJh7.mjs +0 -12
  162. package/dist/client/useModal-DCs1OJh7.mjs.map +0 -1
  163. package/dist/client/useModalTracking-BYd37pXm.mjs +0 -37
  164. package/dist/client/useModalTracking-BYd37pXm.mjs.map +0 -1
  165. package/dist/client/useProjectId-DBc5lpoU.mjs +0 -11
  166. package/dist/client/useProjectId-DBc5lpoU.mjs.map +0 -1
  167. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs +0 -294
  168. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs.map +0 -1
  169. package/dist/client/useSetBreadcrumb-tn7lBaQV.mjs +0 -19
  170. package/dist/client/useSetBreadcrumb-tn7lBaQV.mjs.map +0 -1
  171. package/dist/client/utils/trpcErrors.d.ts +0 -13
@@ -1,551 +0,0 @@
1
- import { C as e, D as t, L as n, Q as r, R as i, S as a, T as o, X as s, ft as c, g as l, i as u, it as d, l as f, lt as p, m, o as h, p as g, rt as _, t as v, x as y } from "./build-WuxXRAqf.mjs";
2
- import { a as b } from "./trpcClient-D7gpR7YG.mjs";
3
- import { t as x } from "./useProjectId-DBc5lpoU.mjs";
4
- import { t as S } from "./SortInput-4g7nSTHW.mjs";
5
- import { d as C, n as w, o as T } from "./md-kvaGCNAK.mjs";
6
- import { t as E } from "./ContentHeader-fKKZVu-o.mjs";
7
- import "./hooks-D0yKIumu.mjs";
8
- import { t as D } from "./useModal-DCs1OJh7.mjs";
9
- import { n as O, t as k } from "./FiltersInput-Becwxo_J.mjs";
10
- import { t as A } from "./FloatingIpActionModals-Cq10WljB.mjs";
11
- import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
12
- import { useEffect as P, useRef as F, useState as I } from "react";
13
- import { useNavigate as L, useSearch as R } from "@tanstack/react-router";
14
- import { Trans as z, useLingui as B } from "@lingui/react";
15
- import { z as V } from "zod";
16
- import { i18n as H } from "@lingui/core";
17
- import { useForm as U, useStore as W } from "@tanstack/react-form";
18
- //#region src/client/routes/_auth/projects/$projectId/network/floatingips/-components/-table/constants.tsx
19
- var G = {
20
- ACTIVE: {
21
- text: "Active",
22
- icon: /*#__PURE__*/ M(w, {
23
- size: 18,
24
- color: "white",
25
- fill: "#4FB81C"
26
- })
27
- },
28
- DOWN: {
29
- text: "Down",
30
- icon: /*#__PURE__*/ M(C, {
31
- size: 18,
32
- color: "white",
33
- fill: "#969696"
34
- })
35
- },
36
- ERROR: {
37
- text: "Error",
38
- icon: /*#__PURE__*/ M(T, {
39
- size: 18,
40
- color: "white",
41
- fill: "#C70000"
42
- })
43
- }
44
- }, K = () => [
45
- H._({ id: "uAQUqI" }),
46
- H._({ id: "xNG/3n" }),
47
- H._({ id: "Nc7QKU" }),
48
- H._({ id: "7NC3vm" }),
49
- H._({ id: "Nu4oKW" }),
50
- ""
51
- ], q = ({ floatingIp: e }) => {
52
- let { i18n: n, _: r } = B(), i = L(), a = x(), s = () => {
53
- i({
54
- to: "/projects/$projectId/network/floatingips/$floatingIpId",
55
- params: {
56
- projectId: a,
57
- floatingIpId: e.id
58
- }
59
- });
60
- };
61
- return /*#__PURE__*/ N(o, {
62
- "data-testid": `floating-ip-row-${e.id}`,
63
- onClick: s,
64
- children: [
65
- /*#__PURE__*/ M(v, { children: /*#__PURE__*/ N("div", {
66
- className: "flex items-center gap-2",
67
- children: [G[e.status].icon, G[e.status].text]
68
- }) }),
69
- /*#__PURE__*/ M(v, { children: e.floating_ip_address }),
70
- /*#__PURE__*/ M(v, { children: e.fixed_ip_address || "—" }),
71
- /*#__PURE__*/ M(v, { children: e.floating_network_id }),
72
- /*#__PURE__*/ M(v, { children: /*#__PURE__*/ M("div", {
73
- className: "truncate",
74
- children: e.description || "—"
75
- }) }),
76
- /*#__PURE__*/ M(v, {
77
- onClick: (e) => e.stopPropagation(),
78
- className: "items-end pr-0",
79
- children: /*#__PURE__*/ M(A, {
80
- floatingIp: e,
81
- children: ({ toggleEditModal: e, toggleAttachModal: r, toggleDetachModal: i, toggleReleaseModal: a }) => /*#__PURE__*/ M(t, { children: /*#__PURE__*/ N(l, { children: [
82
- /*#__PURE__*/ M(y, {
83
- label: n._({ id: "v0hPHE" }),
84
- onClick: s
85
- }),
86
- /*#__PURE__*/ M(y, {
87
- label: n._({ id: "n22YIM" }),
88
- onClick: e
89
- }),
90
- /*#__PURE__*/ M(y, {
91
- label: n._({ id: "igVDFt" }),
92
- onClick: r
93
- }),
94
- /*#__PURE__*/ M(y, {
95
- label: n._({ id: "FOcBn3" }),
96
- onClick: i
97
- }),
98
- /*#__PURE__*/ M(y, {
99
- label: n._({ id: "H+a5j6" }),
100
- onClick: a
101
- })
102
- ] }) })
103
- })
104
- })
105
- ]
106
- }, e.id);
107
- }, J = ({ floatingIps: e, isLoading: t, isError: n, error: r }) => {
108
- let { i18n: i, _: s } = B(), c = K(), l = c.length;
109
- return t ? /*#__PURE__*/ M(_, {
110
- status: "progress",
111
- title: i._({ id: "odksI6" })
112
- }) : n ? /*#__PURE__*/ M(_, {
113
- status: "error",
114
- title: r?.message ?? i._({ id: "/sdjzP" })
115
- }) : /*#__PURE__*/ N(h, {
116
- columns: l,
117
- minContentColumns: [l - 1],
118
- children: [/*#__PURE__*/ M(o, { children: c.map((e) => /*#__PURE__*/ M(a, { children: e }, e)) }), e.length > 0 ? e.map((e) => /*#__PURE__*/ M(q, { floatingIp: e }, e.id)) : /*#__PURE__*/ M(o, { children: /*#__PURE__*/ M(v, {
119
- colSpan: l,
120
- children: /*#__PURE__*/ M(_, {
121
- status: "empty",
122
- title: i._({ id: "JiQKPG" }),
123
- body: i._({ id: "0eY8Mz" })
124
- })
125
- }) })]
126
- });
127
- }, Y = /^(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}$/, X = /^(([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})))$/, ee = (e) => Y.test(e) || X.test(e), te = /^([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])?$/, ne = ({ open: e, onClose: t }) => {
128
- let { i18n: r, _: a } = B(), o = x(), l = L(), u = b.useUtils(), { isPending: f, ...h } = b.network.floatingIp.create.useMutation({ onSettled: () => u.network.floatingIp.list.invalidate() }), { data: v = [], isLoading: y, error: S } = b.network.floatingIp.listExternalNetworks.useQuery({ project_id: o }), { data: C = [], isLoading: w, error: T } = b.network.floatingIp.listDnsDomains.useQuery({ project_id: o }), { data: E = [], isLoading: D, error: O } = b.network.floatingIp.listAvailablePorts.useQuery({ project_id: o }), k = V.object({
129
- floating_network_id: V.string(),
130
- dns_domain: V.string(),
131
- dns_name: V.string().trim().max(63, r._({ id: "Zq6Y5u" })).refine((e) => e === "" || te.test(e), { message: r._({ id: "R6kcsL" }) }),
132
- description: V.string().trim().max(255, r._({ id: "lZvIXd" })),
133
- floating_ip_address: V.string().trim().refine((e) => e === "" || ee(e), { message: r._({ id: "AZyHwC" }) }),
134
- port_id: V.string(),
135
- fixed_ip_address: V.string()
136
- }), A = U({
137
- defaultValues: {
138
- floating_network_id: "",
139
- dns_domain: "",
140
- dns_name: "",
141
- description: "",
142
- floating_ip_address: "",
143
- port_id: "",
144
- fixed_ip_address: ""
145
- },
146
- validators: { onSubmit: k },
147
- onSubmit: async ({ value: e }) => {
148
- if (f) return;
149
- let t = await h.mutateAsync({
150
- project_id: o,
151
- floating_network_id: e.floating_network_id,
152
- ...e.dns_domain && { dns_domain: e.dns_domain },
153
- ...e.dns_name && { dns_name: e.dns_name },
154
- ...e.description && { description: e.description },
155
- ...e.floating_ip_address && { floating_ip_address: e.floating_ip_address },
156
- ...e.port_id && { port_id: e.port_id },
157
- ...e.fixed_ip_address && { fixed_ip_address: e.fixed_ip_address }
158
- });
159
- j(), l({
160
- to: "/projects/$projectId/network/floatingips/$floatingIpId",
161
- params: {
162
- projectId: o,
163
- floatingIpId: t.id
164
- }
165
- });
166
- }
167
- }), j = () => {
168
- f || (A.reset(), h.reset(), t());
169
- }, P = W(A.store, (e) => e.values.port_id), F = W(A.store, (e) => e.values.floating_network_id), I = E.find((e) => e.id === P)?.fixed_ips ?? [], R = (S?.message || T?.message || O?.message) ?? h.error?.message ?? null;
170
- return /*#__PURE__*/ N(s, {
171
- open: e,
172
- size: "large",
173
- title: r._({ id: "h99+4y" }),
174
- onCancel: j,
175
- cancelButtonLabel: r._({ id: "dEgA5A" }),
176
- confirmButtonLabel: r._({ id: "9X8lAk" }),
177
- onConfirm: A.handleSubmit,
178
- disableConfirmButton: f || !F,
179
- disableCancelButton: f,
180
- disableCloseButton: f,
181
- children: [R && /*#__PURE__*/ M(n, {
182
- dismissible: !1,
183
- variant: "error",
184
- className: "mb-4",
185
- children: R
186
- }), f ? /*#__PURE__*/ M(_, {
187
- status: "progress",
188
- title: r._({ id: "HuA8iQ" }),
189
- className: "mt-0"
190
- }) : /*#__PURE__*/ N(c, {
191
- className: "mb-0",
192
- id: "allocate-floating-ip-form",
193
- onSubmit: (e) => {
194
- e.preventDefault(), A.handleSubmit();
195
- },
196
- children: [
197
- /*#__PURE__*/ M(g, {
198
- className: "mb-4",
199
- children: /*#__PURE__*/ M(A.Field, {
200
- name: "floating_network_id",
201
- children: (e) => /*#__PURE__*/ M(d, {
202
- id: e.name,
203
- name: e.name,
204
- value: e.state.value,
205
- onChange: (t) => e.handleChange(typeof t == "string" ? t : ""),
206
- label: r._({ id: "kA2lMP" }),
207
- helptext: r._({ id: "BoIAP6" }),
208
- placeholder: r._({ id: "T6Gm5y" }),
209
- disabled: f || y,
210
- required: !0,
211
- loading: y,
212
- children: v.map(({ id: e, name: t }) => /*#__PURE__*/ M(i, {
213
- value: e,
214
- label: t ? `${t} (${e})` : e
215
- }, e))
216
- })
217
- })
218
- }),
219
- /*#__PURE__*/ M(g, {
220
- className: "mb-4",
221
- children: /*#__PURE__*/ M(A.Field, {
222
- name: "dns_domain",
223
- children: (e) => /*#__PURE__*/ M(d, {
224
- id: e.name,
225
- name: e.name,
226
- value: e.state.value,
227
- onChange: (t) => e.handleChange(typeof t == "string" ? t : ""),
228
- label: r._({ id: "WlpcJv" }),
229
- helptext: r._({ id: "1ojTVo" }),
230
- disabled: f || w,
231
- loading: w,
232
- children: C.map(({ id: e, name: t }) => /*#__PURE__*/ M(i, {
233
- value: t,
234
- label: t
235
- }, e))
236
- })
237
- })
238
- }),
239
- /*#__PURE__*/ M(g, {
240
- className: "mb-4",
241
- children: /*#__PURE__*/ M(A.Field, {
242
- name: "dns_name",
243
- children: (e) => /*#__PURE__*/ M(m, {
244
- id: e.name,
245
- name: e.name,
246
- value: e.state.value,
247
- onBlur: e.handleBlur,
248
- onChange: (t) => e.handleChange(t.target.value),
249
- label: r._({ id: "eGEHJE" }),
250
- placeholder: r._({ id: "SLEH7X" }),
251
- helptext: r._({ id: "Tx4Ym+" }),
252
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
253
- disabled: f
254
- })
255
- })
256
- }),
257
- /*#__PURE__*/ M(g, {
258
- className: "mb-4",
259
- children: /*#__PURE__*/ M(A.Field, {
260
- name: "description",
261
- children: (e) => /*#__PURE__*/ M(p, {
262
- id: e.name,
263
- name: e.name,
264
- value: e.state.value,
265
- onBlur: e.handleBlur,
266
- onChange: (t) => e.handleChange(t.target.value),
267
- placeholder: r._({ id: "Nu4oKW" }),
268
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
269
- disabled: f
270
- })
271
- })
272
- }),
273
- /*#__PURE__*/ M(g, {
274
- className: "mb-4",
275
- children: /*#__PURE__*/ M(A.Field, {
276
- name: "floating_ip_address",
277
- children: (e) => /*#__PURE__*/ M(m, {
278
- id: e.name,
279
- name: e.name,
280
- value: e.state.value,
281
- onBlur: e.handleBlur,
282
- onChange: (t) => e.handleChange(t.target.value),
283
- label: r._({ id: "xNG/3n" }),
284
- placeholder: r._({ id: "5/wyf8" }),
285
- helptext: r._({ id: "PAKSdy" }),
286
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
287
- disabled: f
288
- })
289
- })
290
- }),
291
- /*#__PURE__*/ M(g, {
292
- className: "mb-4",
293
- children: /*#__PURE__*/ M(A.Field, {
294
- name: "port_id",
295
- children: (e) => /*#__PURE__*/ M(d, {
296
- id: e.name,
297
- name: e.name,
298
- value: e.state.value,
299
- onChange: (t) => {
300
- let n = typeof t == "string" ? t : "";
301
- e.handleChange(n);
302
- let r = E.find((e) => e.id === n)?.fixed_ips ?? [];
303
- A.setFieldValue("fixed_ip_address", r.length === 1 ? r[0].ip_address : "");
304
- },
305
- label: r._({ id: "eks7oA" }),
306
- placeholder: r._({ id: "UztfYZ" }),
307
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
308
- disabled: f || D,
309
- loading: D,
310
- children: E.map((e) => /*#__PURE__*/ M(i, {
311
- value: e.id,
312
- label: e.name ? `${e.name} (${e.id})` : e.id
313
- }, e.id))
314
- })
315
- })
316
- }),
317
- /*#__PURE__*/ M(g, { children: /*#__PURE__*/ M(A.Field, {
318
- name: "fixed_ip_address",
319
- children: (e) => /*#__PURE__*/ M(d, {
320
- id: e.name,
321
- name: e.name,
322
- value: e.state.value,
323
- onBlur: e.handleBlur,
324
- onChange: (t) => e.handleChange(typeof t == "string" ? t : ""),
325
- label: r._({ id: "Nc7QKU" }),
326
- placeholder: r._({ id: "i41Xuw" }),
327
- helptext: r._({ id: "PtjzS+" }),
328
- errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
329
- disabled: f || I.length === 0,
330
- children: I.map(({ ip_address: e }) => /*#__PURE__*/ M(i, {
331
- value: e,
332
- label: e
333
- }, e))
334
- })
335
- }) })
336
- ]
337
- })]
338
- });
339
- }, Z = (e) => {
340
- let t = [];
341
- return e.status && t.push({
342
- name: "status",
343
- value: e.status
344
- }), t;
345
- }, re = (e, t) => {
346
- let n = {};
347
- if (!e?.length) return n;
348
- let r = 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(r).forEach(([e, r]) => {
350
- t.find((t) => t.filterName === e)?.supportsMultiValue && r.length > 1 ? n[e] = `in:${r.join(",")}` : n[e] = r[0];
351
- }), n;
352
- }, ie = (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], ae = (e, t, n) => {
353
- let r = {
354
- search: n.search,
355
- sortBy: n.sortBy,
356
- sortDirection: n.sortDirection
357
- };
358
- if (!e?.length) return r;
359
- let i = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
360
- return Object.entries(i).forEach(([e, n]) => {
361
- t.find((t) => t.filterName === e)?.supportsMultiValue && n.length > 1 ? r[e] = `in:${n.join(",")}` : r[e] = n[0];
362
- }), r;
363
- }, Q = "status", $ = "asc", oe = () => {
364
- let { i18n: t, _: i } = B(), a = L(), o = R({ strict: !1 }), s = x(), [c, l] = D(!1), [d, p] = I(o.search || ""), m = F(void 0);
365
- P(() => () => clearTimeout(m.current), []);
366
- let [h, g] = I({
367
- options: [{
368
- label: t._({ id: "uAQUqI" }),
369
- value: "status"
370
- }],
371
- sortBy: o.sortBy || Q,
372
- sortDirection: o.sortDirection || $
373
- }), [v, y] = I({
374
- filters: [{
375
- displayName: t._({ id: "uAQUqI" }),
376
- filterName: "status",
377
- values: [
378
- "ACTIVE",
379
- "DOWN",
380
- "ERROR"
381
- ],
382
- supportsMultiValue: !1
383
- }],
384
- selectedFilters: Z(o)
385
- }), C = o.search || "", { data: w } = b.network.canUser.useQuery({
386
- project_id: s,
387
- permission: ["network:floatingips:create"]
388
- }, { select: ([e]) => ({ canCreate: e }) });
389
- P(() => {
390
- let e = Z(o), t = o.sortBy || Q, n = o.sortDirection || $, r = o.search || "";
391
- y((t) => ({
392
- ...t,
393
- selectedFilters: e
394
- })), g((e) => ({
395
- ...e,
396
- sortBy: t,
397
- sortDirection: n
398
- })), p(r);
399
- }, [
400
- o.status,
401
- o.sortBy,
402
- o.sortDirection,
403
- o.search
404
- ]);
405
- let T = (e) => {
406
- let t = {
407
- options: e.options,
408
- sortBy: e.sortBy?.toString() || Q,
409
- sortDirection: e.sortDirection || $
410
- };
411
- g(t), a({
412
- search: (e) => ({
413
- ...e,
414
- sortBy: t.sortBy,
415
- sortDirection: t.sortDirection
416
- }),
417
- replace: !1
418
- });
419
- }, A = (e) => {
420
- y(e), a({
421
- search: (t) => ae(e.selectedFilters || [], e.filters, {
422
- search: t.search,
423
- sortBy: t.sortBy,
424
- sortDirection: t.sortDirection
425
- }),
426
- replace: !1
427
- });
428
- }, V = (e, t = !1) => {
429
- a({
430
- search: (t) => ({
431
- ...t,
432
- search: e || void 0
433
- }),
434
- replace: t
435
- });
436
- }, { data: H = [], isLoading: U, isError: W, error: G } = b.network.floatingIp.list.useQuery({
437
- project_id: s,
438
- sort_key: h.sortBy,
439
- sort_dir: h.sortDirection,
440
- ...re(v.selectedFilters || [], v.filters),
441
- ...C ? { searchTerm: C } : {}
442
- }, { placeholderData: (e) => e });
443
- return W && !H.length ? /*#__PURE__*/ M(_, {
444
- status: "error",
445
- title: G?.message ?? t._({ id: "/sdjzP" })
446
- }) : /*#__PURE__*/ N(j, { children: [/*#__PURE__*/ M(E, {
447
- title: t._({ id: "u77/s4" }),
448
- projectId: s
449
- }), /*#__PURE__*/ N("div", {
450
- className: "relative",
451
- children: [
452
- W && H.length > 0 && /*#__PURE__*/ M(n, {
453
- variant: "error",
454
- className: "mb-4",
455
- children: G?.message ?? t._({ id: "cL8dHR" })
456
- }),
457
- /*#__PURE__*/ M(r, {
458
- distribution: "end",
459
- alignment: "center",
460
- gap: "2",
461
- className: "pb-2",
462
- children: /*#__PURE__*/ N(r, {
463
- gap: "2",
464
- children: [/*#__PURE__*/ M(S, {
465
- options: h.options,
466
- sortBy: h.sortBy,
467
- sortDirection: h.sortDirection ?? "asc",
468
- selectClassName: "min-w-52",
469
- onSortByChange: (e) => T({
470
- ...h,
471
- sortBy: e,
472
- sortDirection: h.sortDirection
473
- }),
474
- onSortDirectionChange: (e) => T({
475
- ...h,
476
- sortDirection: e
477
- })
478
- }), w?.canCreate && /*#__PURE__*/ M(u, {
479
- onClick: l,
480
- variant: "primary",
481
- className: "whitespace-nowrap",
482
- children: /*#__PURE__*/ M(z, { id: "h99+4y" })
483
- })]
484
- })
485
- }),
486
- /*#__PURE__*/ M(f, { children: /*#__PURE__*/ N(r, {
487
- direction: "vertical",
488
- gap: "2",
489
- children: [/*#__PURE__*/ N(r, {
490
- distribution: "between",
491
- alignment: "center",
492
- children: [/*#__PURE__*/ M(k, {
493
- filters: v.filters,
494
- selectClassName: "sm:min-w-40",
495
- comboboxClassName: "sm:min-w-40",
496
- onChange: (e) => {
497
- let t = ie(v.selectedFilters || [], e, v.filters);
498
- t !== (v.selectedFilters || []) && A({
499
- ...v,
500
- selectedFilters: t
501
- });
502
- }
503
- }), /*#__PURE__*/ M(e, {
504
- placeholder: t._({ id: "s6lr1k" }),
505
- "data-testid": "searchbar",
506
- value: d,
507
- onInput: (e) => {
508
- let t = e.currentTarget.value;
509
- p(t), clearTimeout(m.current), m.current = window.setTimeout(() => V(t, !0), 500);
510
- },
511
- onSearch: (e) => {
512
- clearTimeout(m.current), V(typeof e == "string" ? e : "", !1);
513
- },
514
- onClear: () => {
515
- clearTimeout(m.current), p(""), V("", !1);
516
- }
517
- })]
518
- }), v.selectedFilters && v.selectedFilters.length > 0 && /*#__PURE__*/ M(O, {
519
- selectedFilters: v.selectedFilters,
520
- onDelete: (e) => A({
521
- ...v,
522
- selectedFilters: (v.selectedFilters || []).filter((t) => t.name !== e.name || t.value !== e.value)
523
- }),
524
- onClear: () => A({
525
- ...v,
526
- selectedFilters: []
527
- })
528
- })]
529
- }) }),
530
- /*#__PURE__*/ M(J, {
531
- floatingIps: H,
532
- isLoading: U,
533
- isError: W && !H.length,
534
- error: G
535
- }),
536
- c && /*#__PURE__*/ M(ne, {
537
- open: c,
538
- onClose: l
539
- })
540
- ]
541
- })] });
542
- };
543
- //#endregion
544
- //#region src/client/routes/_auth/projects/$projectId/network/floatingips/index.tsx?tsr-split=component
545
- function se() {
546
- return /*#__PURE__*/ M(oe, {});
547
- }
548
- //#endregion
549
- export { se as component };
550
-
551
- //# sourceMappingURL=floatingips-DXnRlLvV.mjs.map