@cobaltcore-dev/aurora 0.2.2 → 0.3.1

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 (130) hide show
  1. package/dist/client/AuroraApp.d.ts +10 -0
  2. package/dist/client/{ContentHeader-DtBiIwRY.mjs → ContentHeader-BXZoN3B9.mjs} +15 -15
  3. package/dist/client/{ContentHeader-DtBiIwRY.mjs.map → ContentHeader-BXZoN3B9.mjs.map} +1 -1
  4. package/dist/client/{DeleteFlavorModal-rmuYIafD.mjs → DeleteFlavorModal-BusYn32r.mjs} +148 -148
  5. package/dist/client/{DeleteFlavorModal-rmuYIafD.mjs.map → DeleteFlavorModal-BusYn32r.mjs.map} +1 -1
  6. package/dist/client/{EditSecurityGroupModal-B7Sz9puM.mjs → EditSecurityGroupModal-Dl6m7wUe.mjs} +16 -16
  7. package/dist/client/{EditSecurityGroupModal-B7Sz9puM.mjs.map → EditSecurityGroupModal-Dl6m7wUe.mjs.map} +1 -1
  8. package/dist/client/FiltersInput-BgNaHFBt.mjs +81 -0
  9. package/dist/client/FiltersInput-BgNaHFBt.mjs.map +1 -0
  10. package/dist/client/{FloatingIpActionModals-CfRJiZqD.mjs → FloatingIpActionModals-By2hXR9m.mjs} +51 -51
  11. package/dist/client/{FloatingIpActionModals-CfRJiZqD.mjs.map → FloatingIpActionModals-By2hXR9m.mjs.map} +1 -1
  12. package/dist/client/{ImageToastNotifications-Cw30RXsw.mjs → ImageToastNotifications-fHI8jB2j.mjs} +369 -369
  13. package/dist/client/{ImageToastNotifications-Cw30RXsw.mjs.map → ImageToastNotifications-fHI8jB2j.mjs.map} +1 -1
  14. package/dist/client/ListToolbar-BvtCo8dk.mjs +129 -0
  15. package/dist/client/ListToolbar-BvtCo8dk.mjs.map +1 -0
  16. package/dist/client/{RouteError-Cyto623-.mjs → RouteError-pDEWC_k7.mjs} +2 -2
  17. package/dist/client/{RouteError-Cyto623-.mjs.map → RouteError-pDEWC_k7.mjs.map} +1 -1
  18. package/dist/client/SortInput-DXWSqSny.mjs +34 -0
  19. package/dist/client/SortInput-DXWSqSny.mjs.map +1 -0
  20. package/dist/client/{_flavorId-B-1fYadl.mjs → _flavorId-BRonXvCo.mjs} +46 -46
  21. package/dist/client/_flavorId-BRonXvCo.mjs.map +1 -0
  22. package/dist/client/{_flavorId-BYfIHIV_.mjs → _flavorId-BoNcxYmF.mjs} +10 -10
  23. package/dist/client/_flavorId-BoNcxYmF.mjs.map +1 -0
  24. package/dist/client/_floatingIpId-BpUfL8Im2.mjs +228 -0
  25. package/dist/client/_floatingIpId-BpUfL8Im2.mjs.map +1 -0
  26. package/dist/client/{_floatingIpId-IrnN-ozB.mjs → _floatingIpId-CwHiXazi.mjs} +2 -2
  27. package/dist/client/{_floatingIpId-IrnN-ozB.mjs.map → _floatingIpId-CwHiXazi.mjs.map} +1 -1
  28. package/dist/client/{_imageId-Tx_9bqEc.mjs → _imageId-CdOOJjw0.mjs} +158 -158
  29. package/dist/client/_imageId-CdOOJjw0.mjs.map +1 -0
  30. package/dist/client/{_pcaId-CFuKY82d.mjs → _pcaId-CwlH1Kvl.mjs} +132 -132
  31. package/dist/client/{_pcaId-CFuKY82d.mjs.map → _pcaId-CwlH1Kvl.mjs.map} +1 -1
  32. package/dist/client/{_pcaId-Bck7S7gJ.mjs → _pcaId-D1ZEaCdp.mjs} +2 -2
  33. package/dist/client/{_pcaId-Bck7S7gJ.mjs.map → _pcaId-D1ZEaCdp.mjs.map} +1 -1
  34. package/dist/client/_projectId-D1gGribM.mjs +316 -0
  35. package/dist/client/_projectId-D1gGribM.mjs.map +1 -0
  36. package/dist/client/{_projectId-PSpuCKO7.mjs → _projectId-DhLpIalx.mjs} +9 -9
  37. package/dist/client/{_projectId-PSpuCKO7.mjs.map → _projectId-DhLpIalx.mjs.map} +1 -1
  38. package/dist/client/{_projectId-B1VjDd0Z.mjs → _projectId-Dj_InfSc.mjs} +3 -3
  39. package/dist/client/{_projectId-B1VjDd0Z.mjs.map → _projectId-Dj_InfSc.mjs.map} +1 -1
  40. package/dist/client/{_projectId-Pxp-RXK4.mjs → _projectId-OW2xkK43.mjs} +2 -2
  41. package/dist/client/{_projectId-Pxp-RXK4.mjs.map → _projectId-OW2xkK43.mjs.map} +1 -1
  42. package/dist/client/{_securityGroupId-VV2lUcGQ.mjs → _securityGroupId-B0llWH9A.mjs} +2 -2
  43. package/dist/client/{_securityGroupId-VV2lUcGQ.mjs.map → _securityGroupId-B0llWH9A.mjs.map} +1 -1
  44. package/dist/client/{_securityGroupId-Dqi6ddw4.mjs → _securityGroupId-gbUnd5Wv.mjs} +363 -363
  45. package/dist/client/{_securityGroupId-Dqi6ddw4.mjs.map → _securityGroupId-gbUnd5Wv.mjs.map} +1 -1
  46. package/dist/client/{about-B2AzqxFI.mjs → about-DCe6LsKz.mjs} +8 -8
  47. package/dist/client/{about-B2AzqxFI.mjs.map → about-DCe6LsKz.mjs.map} +1 -1
  48. package/dist/client/{build-Cf7iWbpH.mjs → build-BJDfnAyi.mjs} +1573 -1564
  49. package/dist/client/{build-Cf7iWbpH.mjs.map → build-BJDfnAyi.mjs.map} +1 -1
  50. package/dist/client/{buildFilterParams-ngVK3ybs.mjs → buildFilterParams-By33pG59.mjs} +1 -1
  51. package/dist/client/{buildFilterParams-ngVK3ybs.mjs.map → buildFilterParams-By33pG59.mjs.map} +1 -1
  52. package/dist/client/{constants-CCgR6fKI.mjs → constants-CAjjRTo_.mjs} +9 -9
  53. package/dist/client/{constants-CCgR6fKI.mjs.map → constants-CAjjRTo_.mjs.map} +1 -1
  54. package/dist/client/{containers-BWERuY0O.mjs → containers-BuXUVb1N.mjs} +811 -811
  55. package/dist/client/{containers-BWERuY0O.mjs.map → containers-BuXUVb1N.mjs.map} +1 -1
  56. package/dist/client/{containers-Cs5vOeR2.mjs → containers-Ca5V1EBS.mjs} +1 -1
  57. package/dist/client/containers-Ca5V1EBS.mjs.map +1 -0
  58. package/dist/client/{containers-DovytjVP.mjs → containers-NW7RnHTI.mjs} +6 -6
  59. package/dist/client/containers-NW7RnHTI.mjs.map +1 -0
  60. package/dist/client/flavors-BXPYAFyQ.mjs.map +1 -1
  61. package/dist/client/{flavors-CUiALHcB.mjs → flavors-D8oElC2K.mjs} +2 -2
  62. package/dist/client/{flavors-CUiALHcB.mjs.map → flavors-D8oElC2K.mjs.map} +1 -1
  63. package/dist/client/flavors-qvgPSI7J.mjs +613 -0
  64. package/dist/client/flavors-qvgPSI7J.mjs.map +1 -0
  65. package/dist/client/{floatingips-BrjDiY2t.mjs → floatingips-Be3zLoaD.mjs} +126 -126
  66. package/dist/client/{floatingips-BrjDiY2t.mjs.map → floatingips-Be3zLoaD.mjs.map} +1 -1
  67. package/dist/client/{images-BZP3pBqj.mjs → images-BiEBENaj.mjs} +2 -2
  68. package/dist/client/{images-BZP3pBqj.mjs.map → images-BiEBENaj.mjs.map} +1 -1
  69. package/dist/client/images-CCYBAphP2.mjs +1900 -0
  70. package/dist/client/images-CCYBAphP2.mjs.map +1 -0
  71. package/dist/client/images-DM9I8G0p.mjs.map +1 -1
  72. package/dist/client/index.d.ts +2 -1
  73. package/dist/client/index.js +410 -412
  74. package/dist/client/index.js.map +1 -1
  75. package/dist/client/{network-SCVadZsv.mjs → network-nbSbl0X0.mjs} +1 -1
  76. package/dist/client/{network-SCVadZsv.mjs.map → network-nbSbl0X0.mjs.map} +1 -1
  77. package/dist/client/{objects-D4zBka5e.mjs → objects-CU5ws07o.mjs} +6 -6
  78. package/dist/client/objects-CU5ws07o.mjs.map +1 -0
  79. package/dist/client/objects-FXN0VWLI.mjs +4760 -0
  80. package/dist/client/{objects-Cw4Vu01M.mjs.map → objects-FXN0VWLI.mjs.map} +1 -1
  81. package/dist/client/{objects-B4yrYf_a.mjs → objects-GmuIOaHd.mjs} +1 -1
  82. package/dist/client/objects-GmuIOaHd.mjs.map +1 -0
  83. package/dist/client/{overview-BtIXpYBo.mjs → overview-B3gdnWTG.mjs} +2 -2
  84. package/dist/client/{overview-BtIXpYBo.mjs.map → overview-B3gdnWTG.mjs.map} +1 -1
  85. package/dist/client/{overview-2J54-loz.mjs → overview-DzYBiNfD.mjs} +2 -2
  86. package/dist/client/{overview-2J54-loz.mjs.map → overview-DzYBiNfD.mjs.map} +1 -1
  87. package/dist/client/{overview-D0AAvsmL.mjs → overview-EhfPY8Je.mjs} +2 -2
  88. package/dist/client/{overview-D0AAvsmL.mjs.map → overview-EhfPY8Je.mjs.map} +1 -1
  89. package/dist/client/{overview-BnmukbFh.mjs → overview-XueZI4LQ.mjs} +7 -7
  90. package/dist/client/{overview-BnmukbFh.mjs.map → overview-XueZI4LQ.mjs.map} +1 -1
  91. package/dist/client/{pca-BqZycwCu.mjs → pca-DSM71LhW.mjs} +2 -2
  92. package/dist/client/{pca-BqZycwCu.mjs.map → pca-DSM71LhW.mjs.map} +1 -1
  93. package/dist/client/{pca-V2aaOxZA.mjs → pca-x9if8xU-.mjs} +59 -59
  94. package/dist/client/{pca-V2aaOxZA.mjs.map → pca-x9if8xU-.mjs.map} +1 -1
  95. package/dist/client/{projects-jyIHL6DE.mjs → projects-B6BPo2Ar.mjs} +2 -2
  96. package/dist/client/projects-B6BPo2Ar.mjs.map +1 -0
  97. package/dist/client/{projects-BsN4bvU2.mjs → projects-BilrmHLu.mjs} +1 -1
  98. package/dist/client/projects-BilrmHLu.mjs.map +1 -0
  99. package/dist/client/{projects-0feOw_b6.mjs → projects-Bt0XptpG.mjs} +2 -2
  100. package/dist/client/projects-Bt0XptpG.mjs.map +1 -0
  101. package/dist/client/projects-CnmZIB2Q.mjs +95 -0
  102. package/dist/client/projects-CnmZIB2Q.mjs.map +1 -0
  103. package/dist/client/{securitygroups-B4MkSBtI.mjs → securitygroups-BdzieS7Z.mjs} +121 -121
  104. package/dist/client/{securitygroups-B4MkSBtI.mjs.map → securitygroups-BdzieS7Z.mjs.map} +1 -1
  105. package/dist/client/{useListWithFiltering-CEDh1LO-.mjs → useListWithFiltering-CqQbAjEe.mjs} +1 -1
  106. package/dist/client/{useListWithFiltering-CEDh1LO-.mjs.map → useListWithFiltering-CqQbAjEe.mjs.map} +1 -1
  107. package/package.json +2 -2
  108. package/dist/client/ListToolbar-DuazvsAu.mjs +0 -223
  109. package/dist/client/ListToolbar-DuazvsAu.mjs.map +0 -1
  110. package/dist/client/_flavorId-B-1fYadl.mjs.map +0 -1
  111. package/dist/client/_flavorId-BYfIHIV_.mjs.map +0 -1
  112. package/dist/client/_floatingIpId-FQ5P2qMV.mjs +0 -228
  113. package/dist/client/_floatingIpId-FQ5P2qMV.mjs.map +0 -1
  114. package/dist/client/_imageId-Tx_9bqEc.mjs.map +0 -1
  115. package/dist/client/_projectId-Bs4W9hos.mjs +0 -283
  116. package/dist/client/_projectId-Bs4W9hos.mjs.map +0 -1
  117. package/dist/client/containers-Cs5vOeR2.mjs.map +0 -1
  118. package/dist/client/containers-DovytjVP.mjs.map +0 -1
  119. package/dist/client/flavors-Bovz-I2U.mjs +0 -565
  120. package/dist/client/flavors-Bovz-I2U.mjs.map +0 -1
  121. package/dist/client/images-DaaCUXMI.mjs +0 -1797
  122. package/dist/client/images-DaaCUXMI.mjs.map +0 -1
  123. package/dist/client/objects-B4yrYf_a.mjs.map +0 -1
  124. package/dist/client/objects-Cw4Vu01M.mjs +0 -4760
  125. package/dist/client/objects-D4zBka5e.mjs.map +0 -1
  126. package/dist/client/projects-0feOw_b6.mjs.map +0 -1
  127. package/dist/client/projects-BsN4bvU2.mjs.map +0 -1
  128. package/dist/client/projects-C1IYOvFQ.mjs +0 -144
  129. package/dist/client/projects-C1IYOvFQ.mjs.map +0 -1
  130. package/dist/client/projects-jyIHL6DE.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-Bt0XptpG.mjs","names":["createFileRoute","z","searchSchema","object","search","string","optional","Route","component","lazyRouteComponent","$$splitComponentImporter","errorComponent","$$splitErrorComponentImporter","notFoundComponent","$$splitNotFoundComponentImporter","validateSearch","loaderDeps","loader","context","deps","allProjects","trpcClient","project","getAuthProjects","query","projects","trim","searchTermLower","toLowerCase","filter","name","includes","description"],"sources":["../../src/client/routes/_auth/projects/index.tsx"],"sourcesContent":["import { createFileRoute } from \"@tanstack/react-router\"\nimport { ProjectsOverviewNavBar } from \"@/client/routes/_auth/projects/-components/ProjectOverviewNavBar\"\nimport { ProjectCardView } from \"@/client/routes/_auth/projects/-components/ProjectCardView\"\nimport { RouteError } from \"@/client/components/Error/RouteError\"\nimport { TRPCClientError } from \"@trpc/client\"\nimport { Container, ContentHeading } from \"@cloudoperators/juno-ui-components\"\nimport { Trans } from \"@lingui/react/macro\"\nimport { z } from \"zod\"\n\nconst searchSchema = z.object({\n search: z.string().optional(),\n})\n\nexport const Route = createFileRoute(\"/_auth/projects/\")({\n component: ProjectsOverview,\n errorComponent: ({ error }) => (\n <RouteError error={error} safeErrorMessage={error instanceof TRPCClientError ? error.message : undefined} />\n ),\n notFoundComponent: () => {\n return <p>Projects not found</p>\n },\n validateSearch: searchSchema,\n loaderDeps: ({ search }) => ({\n search: search.search || \"\",\n }),\n loader: async ({ context, deps }) => {\n const allProjects = await context.trpcClient?.project.getAuthProjects.query()\n\n let projects = allProjects\n if (deps.search && deps.search.trim() !== \"\") {\n const searchTermLower = deps.search.toLowerCase()\n projects = allProjects?.filter(\n (project) =>\n project.name?.toLowerCase().includes(searchTermLower) ||\n project.description?.toLowerCase().includes(searchTermLower)\n )\n }\n\n return { projects }\n },\n})\n\nfunction ProjectsOverview() {\n const { projects } = Route.useLoaderData()\n const { search = \"\" } = Route.useSearch()\n const navigate = Route.useNavigate()\n\n const handleSearch = (value: string) => {\n navigate({ search: { search: value }, replace: true })\n }\n\n return (\n <Container>\n <ContentHeading>\n <Trans>Projects</Trans>\n </ContentHeading>\n <ProjectsOverviewNavBar searchTerm={search} onSearch={handleSearch} />\n <div className=\"pt-5\">\n <ProjectCardView projects={projects} />\n </div>\n </Container>\n )\n}\n"],"mappings":";;;2IASME,IAAeD,EAAEE,OAAO,EAC5BC,QAAQH,EAAEI,QAAM,CAAGC,UAAQ,EAC7B,CAAA,EAEaC,IAAQP,EAAgB,mBAAA,CAAoB;CACvDQ,WAASC,EAAAC,GAAA,YAAA;CACTC,gBAAcF,EAAAG,GAAA,iBAAA;CAGdC,mBAAiBJ,EAAAK,GAAA,oBAAA;CAGjBC,gBAAgBb;CAChBc,aAAa,EAAEZ,iBAAc,EAC3BA,QAAQA,EAAOA,UAAU,IAC3B;CACAa,QAAQ,OAAO,EAAEC,YAASC,cAAM;EAC9B,IAAMC,IAAc,MAAMF,EAAQG,YAAYC,QAAQC,gBAAgBC,OAAAA,EAElEC,IAAWL;AACf,MAAID,EAAKf,UAAUe,EAAKf,OAAOsB,MAAI,KAAO,IAAI;GAC5C,IAAMC,IAAkBR,EAAKf,OAAOwB,aAAW;AAC/CH,OAAWL,GAAaS,QACrBP,MACCA,EAAQQ,MAAMF,aAAAA,CAAcG,SAASJ,EAAAA,IACrCL,EAAQU,aAAaJ,aAAAA,CAAcG,SAASJ,EAAAA,CAAAA;;AAIlD,SAAO,EAAEF,aAAS;;CAEtB,CAAA"}
@@ -0,0 +1,95 @@
1
+ import { f as e, j as t, v as n, z as r } from "./build-BJDfnAyi.mjs";
2
+ import { t as i } from "./projects-Bt0XptpG.mjs";
3
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
+ import { useEffect as s, useRef as c, useState as l } from "react";
5
+ import { useNavigate as u } from "@tanstack/react-router";
6
+ import { Trans as d, useLingui as f } from "@lingui/react";
7
+ //#region src/client/routes/_auth/projects/-components/ProjectOverviewNavBar.tsx
8
+ function p({ onSearch: t, searchTerm: n = "" }) {
9
+ let { i18n: r, _: i } = f(), o = c(null), u = c(!1), [d, p] = l(n);
10
+ return s(() => {
11
+ !u.current && !o.current && n !== d && p(n);
12
+ }, [n]), s(() => () => {
13
+ o.current && clearTimeout(o.current);
14
+ }, []), /* @__PURE__ */ a(e, {
15
+ className: "w-full",
16
+ type: "text",
17
+ placeholder: r._({ id: "YIix5Y" }),
18
+ onChange: (e) => {
19
+ let n = e.target.value;
20
+ p(n), o.current && clearTimeout(o.current), o.current = setTimeout(() => {
21
+ o.current = null, t(n);
22
+ }, 300);
23
+ },
24
+ onFocus: () => {
25
+ u.current = !0;
26
+ },
27
+ onBlur: () => {
28
+ u.current = !1;
29
+ },
30
+ onClear: () => {
31
+ o.current &&= (clearTimeout(o.current), null), p(""), t("");
32
+ },
33
+ value: d
34
+ });
35
+ }
36
+ //#endregion
37
+ //#region src/client/routes/_auth/projects/-components/ProjectCardView.tsx
38
+ function m({ project: e }) {
39
+ let r = u();
40
+ return /* @__PURE__ */ a(n, {
41
+ padding: !0,
42
+ onClick: () => r({
43
+ to: "/projects/$projectId",
44
+ params: { projectId: e.id }
45
+ }),
46
+ className: "min-h-50",
47
+ children: /* @__PURE__ */ o("div", {
48
+ className: "w-full",
49
+ children: [/* @__PURE__ */ a(t, {
50
+ className: "text-theme-accent",
51
+ children: e.name
52
+ }), /* @__PURE__ */ a("p", {
53
+ className: "mt-4 line-clamp-3 pr-4 leading-relaxed",
54
+ children: e.description
55
+ })]
56
+ })
57
+ });
58
+ }
59
+ function h({ projects: e }) {
60
+ return /* @__PURE__ */ a("div", {
61
+ className: "w-full",
62
+ children: /* @__PURE__ */ a("div", {
63
+ className: "grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4",
64
+ children: e?.length ? e.map((e) => /* @__PURE__ */ a(m, { project: e }, e.id)) : /* @__PURE__ */ a("p", {
65
+ className: "text-center",
66
+ children: /* @__PURE__ */ a(d, { id: "Zgp2Sm" })
67
+ })
68
+ })
69
+ });
70
+ }
71
+ //#endregion
72
+ //#region src/client/routes/_auth/projects/index.tsx?tsr-split=component
73
+ function g() {
74
+ let { projects: e } = i.useLoaderData(), { search: n = "" } = i.useSearch(), s = i.useNavigate();
75
+ return /* @__PURE__ */ o(r, { children: [
76
+ /* @__PURE__ */ a(t, { children: /* @__PURE__ */ a(d, { id: "+0B+ue" }) }),
77
+ /* @__PURE__ */ a(p, {
78
+ searchTerm: n,
79
+ onSearch: (e) => {
80
+ s({
81
+ search: { search: e },
82
+ replace: !0
83
+ });
84
+ }
85
+ }),
86
+ /* @__PURE__ */ a("div", {
87
+ className: "pt-5",
88
+ children: /* @__PURE__ */ a(h, { projects: e })
89
+ })
90
+ ] });
91
+ }
92
+ //#endregion
93
+ export { g as component };
94
+
95
+ //# sourceMappingURL=projects-CnmZIB2Q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-CnmZIB2Q.mjs","names":["useEffect","useRef","useState","SearchInput","ProjectsOverviewNavBar","onSearch","searchTerm","useLingui","timerRef","inputFocusedRef","inputValue","setInputValue","current","clearTimeout","handleSearchChange","e","value","target","setTimeout","handleClear","className","type","placeholder","t","onChange","onFocus","onBlur","onClear","useNavigate","Card","ContentHeading","ProjectCard","project","navigate","padding","onClick","to","params","projectId","id","className","div","name","p","description","ProjectCardView","projects","length","map","ProjectsOverviewNavBar","ProjectCardView","Container","ContentHeading","Trans","Route","ProjectsOverview","projects","useLoaderData","search","useSearch","navigate","useNavigate","handleSearch","value","replace","component"],"sources":["../../src/client/routes/_auth/projects/-components/ProjectOverviewNavBar.tsx","../../src/client/routes/_auth/projects/-components/ProjectCardView.tsx","../../src/client/routes/_auth/projects/index.tsx?tsr-split=component"],"sourcesContent":["import { ChangeEvent, useEffect, useRef, useState } from \"react\"\nimport { SearchInput } from \"@cloudoperators/juno-ui-components\"\nimport { useLingui } from \"@lingui/react/macro\"\n\ntype ProjectsOverviewNavBarProps = {\n searchTerm?: string\n onSearch: (value: string) => void\n}\n\nexport function ProjectsOverviewNavBar({ onSearch, searchTerm = \"\" }: ProjectsOverviewNavBarProps) {\n const { t } = useLingui()\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const inputFocusedRef = useRef(false)\n const [inputValue, setInputValue] = useState(searchTerm)\n\n useEffect(() => {\n if (!inputFocusedRef.current && !timerRef.current && searchTerm !== inputValue) {\n setInputValue(searchTerm)\n }\n }, [searchTerm])\n\n useEffect(() => {\n return () => {\n if (timerRef.current) clearTimeout(timerRef.current)\n }\n }, [])\n\n const handleSearchChange = (e: ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value\n setInputValue(value)\n if (timerRef.current) clearTimeout(timerRef.current)\n timerRef.current = setTimeout(() => {\n timerRef.current = null\n onSearch(value)\n }, 300)\n }\n\n const handleClear = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n }\n setInputValue(\"\")\n onSearch(\"\")\n }\n\n return (\n <SearchInput\n className=\"w-full\"\n type=\"text\"\n placeholder={t`Search...`}\n onChange={handleSearchChange}\n onFocus={() => {\n inputFocusedRef.current = true\n }}\n onBlur={() => {\n inputFocusedRef.current = false\n }}\n onClear={handleClear}\n value={inputValue}\n />\n )\n}\n","import { useNavigate } from \"@tanstack/react-router\"\nimport { Project } from \"@/server/Project/types/models\"\nimport { Card, ContentHeading } from \"@cloudoperators/juno-ui-components\"\nimport { Trans } from \"@lingui/react/macro\"\n\ntype ProjectCardProps = {\n project: Project\n}\ntype ProjectCardViewProps = {\n projects: Project[] | undefined\n}\n\nexport function ProjectCard({ project }: ProjectCardProps) {\n const navigate = useNavigate()\n return (\n <Card\n padding\n onClick={() => navigate({ to: \"/projects/$projectId\", params: { projectId: project.id } })}\n className=\"min-h-50\"\n >\n <div className=\"w-full\">\n <ContentHeading className=\"text-theme-accent\">{project.name}</ContentHeading>\n <p className=\"mt-4 line-clamp-3 pr-4 leading-relaxed\">{project.description}</p>\n </div>\n </Card>\n )\n}\n\nexport function ProjectCardView({ projects }: ProjectCardViewProps) {\n return (\n <div className=\"w-full\">\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4\">\n {projects?.length ? (\n projects.map((project) => <ProjectCard key={project.id} project={project} />)\n ) : (\n <p className=\"text-center\">\n <Trans>No projects available.</Trans>\n </p>\n )}\n </div>\n </div>\n )\n}\n","import { createFileRoute } from \"@tanstack/react-router\"\nimport { ProjectsOverviewNavBar } from \"@/client/routes/_auth/projects/-components/ProjectOverviewNavBar\"\nimport { ProjectCardView } from \"@/client/routes/_auth/projects/-components/ProjectCardView\"\nimport { RouteError } from \"@/client/components/Error/RouteError\"\nimport { TRPCClientError } from \"@trpc/client\"\nimport { Container, ContentHeading } from \"@cloudoperators/juno-ui-components\"\nimport { Trans } from \"@lingui/react/macro\"\nimport { z } from \"zod\"\n\nconst searchSchema = z.object({\n search: z.string().optional(),\n})\n\nexport const Route = createFileRoute(\"/_auth/projects/\")({\n component: ProjectsOverview,\n errorComponent: ({ error }) => (\n <RouteError error={error} safeErrorMessage={error instanceof TRPCClientError ? error.message : undefined} />\n ),\n notFoundComponent: () => {\n return <p>Projects not found</p>\n },\n validateSearch: searchSchema,\n loaderDeps: ({ search }) => ({\n search: search.search || \"\",\n }),\n loader: async ({ context, deps }) => {\n const allProjects = await context.trpcClient?.project.getAuthProjects.query()\n\n let projects = allProjects\n if (deps.search && deps.search.trim() !== \"\") {\n const searchTermLower = deps.search.toLowerCase()\n projects = allProjects?.filter(\n (project) =>\n project.name?.toLowerCase().includes(searchTermLower) ||\n project.description?.toLowerCase().includes(searchTermLower)\n )\n }\n\n return { projects }\n },\n})\n\nfunction ProjectsOverview() {\n const { projects } = Route.useLoaderData()\n const { search = \"\" } = Route.useSearch()\n const navigate = Route.useNavigate()\n\n const handleSearch = (value: string) => {\n navigate({ search: { search: value }, replace: true })\n }\n\n return (\n <Container>\n <ContentHeading>\n <Trans>Projects</Trans>\n </ContentHeading>\n <ProjectsOverviewNavBar searchTerm={search} onSearch={handleSearch} />\n <div className=\"pt-5\">\n <ProjectCardView projects={projects} />\n </div>\n </Container>\n )\n}\n"],"mappings":";;;;;;;AASA,SAAgBI,EAAuB,EAAEC,aAAUC,gBAAa,MAAiC;CAC/F,IAAM,EAAA,MAAA,GAAA,GAAA,MAAQC,GAAAA,EACRC,IAAWP,EAA6C,KAAA,EACxDQ,IAAkBR,EAAO,GAAA,EACzB,CAACS,GAAYC,KAAiBT,EAASI,EAAAA;AAiC7C,QA/BAN,QAAU;AACR,EAAI,CAACS,EAAgBG,WAAW,CAACJ,EAASI,WAAWN,MAAeI,KAClEC,EAAcL,EAAAA;IAEf,CAACA,EAAW,CAAA,EAEfN,cACS;AACL,EAAIQ,EAASI,WAASC,aAAaL,EAASI,QAAO;IAEpD,EAAE,CAAA,EAsBH,kBAACT,GAAAA;EACCiB,WAAU;EACVC,MAAK;EACLC,aAAaC,EAAAA,EAAC,EAAA,IAAA,UAAU,CAAA;EACxBC,WAxBwBT,MAAAA;GAC1B,IAAMC,IAAQD,EAAEE,OAAOD;AAGvBR,GAFAG,EAAcK,EAAAA,EACVR,EAASI,WAASC,aAAaL,EAASI,QAAO,EACnDJ,EAASI,UAAUM,iBAAW;AAE5Bb,IADAG,EAASI,UAAU,MACnBP,EAASW,EAAAA;MACR,IAAA;;EAkBDS,eAAS;AACPhB,KAAgBG,UAAU;;EAE5Bc,cAAQ;AACNjB,KAAgBG,UAAU;;EAE5Be,eArBgB;AAMlBtB,GALA,AAEEG,EAASI,aADTC,aAAaL,EAASI,QAAO,EACV,OAErBD,EAAc,GAAA,EACdN,EAAS,GAAA;;EAgBPW,OAAON;;;;;AC/Cb,SAAgBqB,EAAY,EAAEC,cAA2B;CACvD,IAAMC,IAAWL,GAAAA;AACjB,QACE,kBAACC,GAAAA;EACCK,SAAO;EACPC,eAAeF,EAAS;GAAEG,IAAI;GAAwBC,QAAQ,EAAEC,WAAWN,EAAQO,IAAG;GAAE,CAAA;EACxFC,WAAU;YAEV,kBAACC,OAAAA;GAAID,WAAU;cACb,kBAACV,GAAAA;IAAeU,WAAU;cAAqBR,EAAQU;OACvD,kBAACC,KAAAA;IAAEH,WAAU;cAA0CR,EAAQY;;;;;AAMvE,SAAgBC,EAAgB,EAAEC,eAAgC;AAChE,QACE,kBAACL,OAAAA;EAAID,WAAU;YACb,kBAACC,OAAAA;GAAID,WAAU;aACZM,GAAUC,SACTD,EAASE,KAAKhB,MAAY,kBAACD,GAAAA,EAAsCC,YAAAA,EAArBA,EAAQO,GAAE,CAAA,GAEtD,kBAACI,KAAAA;IAAEH,WAAU;cACX,kBAAA,GAAA,EAAA,IAAA,UAAA,CAAA;;;;;;;ACMZ,SAASe,IAAAA;CACP,IAAM,EAAEC,gBAAaF,EAAMG,eAAa,EAClC,EAAEC,YAAS,OAAOJ,EAAMK,WAAS,EACjCC,IAAWN,EAAMO,aAAW;AAMlC,QACE,kBAAC,GAAA,EAAA,UAAA;EACC,kBAAC,GAAA,EAAA,UACC,kBAAA,GAAA,EAAA,IAAA,UAAA,CAAA,EAAA,CAAA;EAEF,kBAAC,GAAA;GAAuB,YAAYH;GAAQ,WAT1BK,MAAAA;AACpBH,MAAS;KAAEF,QAAQ,EAAEA,QAAQK,GAAM;KAAGC,SAAS;KAAK,CAAA;;;EASlD,kBAAC,OAAA;GAAI,WAAU;aACb,kBAAC,GAAA,EAA0BR,aAAAA,CAAAA"}
@@ -1,51 +1,51 @@
1
- import { $ as e, A as t, C as n, K as r, L as i, N as a, O as o, T as s, U as c, V as l, W as u, Y as d, c as f, h as p, it as m, l as h, nt as g, r as _, rt as v, w as y, z as b } from "./build-Cf7iWbpH.mjs";
1
+ import { B as e, E as t, G as n, I as r, M as i, Q as a, T as o, U as s, Y as c, at as l, c as u, et as d, h as f, it as p, j as m, n as h, nt as g, ot as _, q as v, s as y, w as b } from "./build-BJDfnAyi.mjs";
2
2
  import { r as x } from "./trpcClient-BxguzNYF.mjs";
3
- import { t as S } from "./ListToolbar-DuazvsAu.mjs";
4
- import { t as C } from "./useProjectId-CgOTejka.mjs";
3
+ import { t as S } from "./useProjectId-CgOTejka.mjs";
5
4
  import "./hooks-D0krAKvo.mjs";
6
- import { t as w } from "./buildFilterParams-ngVK3ybs.mjs";
7
- import { t as T } from "./useListWithFiltering-CEDh1LO-.mjs";
8
- import { t as E } from "./EditSecurityGroupModal-B7Sz9puM.mjs";
5
+ import { t as C } from "./ListToolbar-BvtCo8dk.mjs";
6
+ import { t as w } from "./buildFilterParams-By33pG59.mjs";
7
+ import { t as T } from "./useListWithFiltering-CqQbAjEe.mjs";
8
+ import { t as E } from "./EditSecurityGroupModal-Dl6m7wUe.mjs";
9
9
  import { Fragment as D, jsx as O, jsxs as k } from "react/jsx-runtime";
10
10
  import { useEffect as A, useRef as j, useState as M } from "react";
11
11
  import { useNavigate as N } from "@tanstack/react-router";
12
12
  import { Trans as P, useLingui as F } from "@lingui/react";
13
13
  //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/-modals/DeleteSecurityGroupDialog.tsx
14
- var I = ({ isOpen: e, onClose: t, securityGroup: n, onDelete: r, isDeleting: a = !1, error: o = null }) => {
15
- let { i18n: s, _: l } = F(), [u, d] = M(""), f = s._({ id: "HNlEFZ" }), g = u.toLowerCase() === f.toLowerCase(), _ = n.name || n.id, v = (e) => {
16
- e.preventDefault(), g && !a && r(n.id);
14
+ var I = ({ isOpen: t, onClose: n, securityGroup: r, onDelete: i, isDeleting: a = !1, error: s = null }) => {
15
+ let { i18n: c, _: l } = F(), [d, p] = M(""), m = c._({ id: "HNlEFZ" }), h = d.toLowerCase() === m.toLowerCase(), g = r.name || r.id, y = (e) => {
16
+ e.preventDefault(), h && !a && i(r.id);
17
17
  }, b = () => {
18
- d(""), t();
18
+ p(""), n();
19
19
  };
20
- return /* @__PURE__ */ O(m, {
21
- open: e,
20
+ return /* @__PURE__ */ O(_, {
21
+ open: t,
22
22
  onCancel: b,
23
23
  size: "small",
24
- title: s._({
24
+ title: c._({
25
25
  id: "Y+2SDm",
26
- values: { securityGroupName: _ }
26
+ values: { securityGroupName: g }
27
27
  }),
28
- modalFooter: /* @__PURE__ */ O(i, {
28
+ modalFooter: /* @__PURE__ */ O(e, {
29
29
  className: "flex justify-end",
30
- children: /* @__PURE__ */ k(p, { children: [/* @__PURE__ */ O(h, {
30
+ children: /* @__PURE__ */ k(f, { children: [/* @__PURE__ */ O(u, {
31
31
  variant: "default",
32
32
  onClick: b,
33
33
  disabled: a,
34
34
  children: /* @__PURE__ */ O(P, { id: "dEgA5A" })
35
- }), /* @__PURE__ */ O(h, {
35
+ }), /* @__PURE__ */ O(u, {
36
36
  variant: "primary-danger",
37
- onClick: v,
38
- disabled: !g || a,
37
+ onClick: y,
38
+ disabled: !h || a,
39
39
  "data-testid": "confirm-delete-button",
40
40
  children: a ? /* @__PURE__ */ O(P, { id: "EF2EU9" }) : /* @__PURE__ */ O(P, { id: "cnGeoo" })
41
41
  })] })
42
42
  }),
43
43
  children: /* @__PURE__ */ k("div", { children: [
44
- o && /* @__PURE__ */ O(c, {
44
+ s && /* @__PURE__ */ O(v, {
45
45
  dismissible: !1,
46
46
  variant: "error",
47
47
  className: "mt-4",
48
- children: o
48
+ children: s
49
49
  }),
50
50
  /* @__PURE__ */ O(P, { id: "Qb+14I" }),
51
51
  /* @__PURE__ */ k("div", {
@@ -54,15 +54,15 @@ var I = ({ isOpen: e, onClose: t, securityGroup: n, onDelete: r, isDeleting: a =
54
54
  className: "mb-2 text-sm",
55
55
  children: /* @__PURE__ */ O(P, {
56
56
  id: "hLp49h",
57
- values: { deleteWord: f },
57
+ values: { deleteWord: m },
58
58
  components: { 0: /* @__PURE__ */ O("strong", {}) }
59
59
  })
60
- }), /* @__PURE__ */ O(y, {
60
+ }), /* @__PURE__ */ O(o, {
61
61
  id: "confirmation",
62
62
  name: "confirmation",
63
- value: u,
64
- onChange: (e) => d(e.target.value),
65
- placeholder: f,
63
+ value: d,
64
+ onChange: (e) => p(e.target.value),
65
+ placeholder: m,
66
66
  disabled: a,
67
67
  autoComplete: "off",
68
68
  "data-testid": "delete-confirmation-input"
@@ -73,24 +73,24 @@ var I = ({ isOpen: e, onClose: t, securityGroup: n, onDelete: r, isDeleting: a =
73
73
  };
74
74
  //#endregion
75
75
  //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupTableRow.tsx
76
- function L({ securityGroup: e, permissions: n, onEdit: r, onDelete: i, onViewDetails: o, isReadOnly: c = !1 }) {
77
- let { i18n: l, _: f } = F(), p = ({ value: e }) => /* @__PURE__ */ O("span", { children: e ? l._({ id: "l75CjT" }) : l._({ id: "1UzENP" }) }), m = () => {
78
- o && o(e);
76
+ function L({ securityGroup: e, permissions: n, onEdit: a, onDelete: o, onViewDetails: s, isReadOnly: l = !1 }) {
77
+ let { i18n: u, _: f } = F(), p = ({ value: e }) => /* @__PURE__ */ O("span", { children: e ? u._({ id: "l75CjT" }) : u._({ id: "1UzENP" }) }), m = () => {
78
+ s && s(e);
79
79
  };
80
- return /* @__PURE__ */ k(a, {
80
+ return /* @__PURE__ */ k(r, {
81
81
  "data-testid": `security-group-row-${e.id}`,
82
82
  onClick: m,
83
83
  className: "hover:bg-theme-background-lvl-2 cursor-pointer",
84
84
  children: [
85
- /* @__PURE__ */ O(t, { children: /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("p", {
85
+ /* @__PURE__ */ O(i, { children: /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("p", {
86
86
  className: "text-md",
87
87
  children: e.name
88
88
  }), /* @__PURE__ */ O("p", {
89
89
  className: "text-theme-light text-xs",
90
90
  children: e.id
91
91
  })] }) }),
92
- /* @__PURE__ */ O(t, { children: e.description || l._({ id: "h47p9L" }) }),
93
- /* @__PURE__ */ k(t, { children: [/* @__PURE__ */ O(p, { value: e.shared }), e.shared && /* @__PURE__ */ k("p", { children: [
92
+ /* @__PURE__ */ O(i, { children: e.description || u._({ id: "h47p9L" }) }),
93
+ /* @__PURE__ */ k(i, { children: [/* @__PURE__ */ O(p, { value: e.shared }), e.shared && /* @__PURE__ */ k("p", { children: [
94
94
  /* @__PURE__ */ O(P, { id: "LtI9AS" }),
95
95
  ": ",
96
96
  /* @__PURE__ */ O("span", {
@@ -98,22 +98,22 @@ function L({ securityGroup: e, permissions: n, onEdit: r, onDelete: i, onViewDet
98
98
  children: e.project_id
99
99
  })
100
100
  ] })] }),
101
- /* @__PURE__ */ O(t, { children: /* @__PURE__ */ O(p, { value: e.stateful }) }),
102
- /* @__PURE__ */ O(t, {
101
+ /* @__PURE__ */ O(i, { children: /* @__PURE__ */ O(p, { value: e.stateful }) }),
102
+ /* @__PURE__ */ O(i, {
103
103
  onClick: (e) => e.stopPropagation(),
104
104
  className: "items-end justify-end pr-0",
105
- children: /* @__PURE__ */ O(d, { children: /* @__PURE__ */ k(s, { children: [
106
- /* @__PURE__ */ O(u, {
107
- label: l._({ id: "v0hPHE" }),
105
+ children: /* @__PURE__ */ O(d, { children: /* @__PURE__ */ k(t, { children: [
106
+ /* @__PURE__ */ O(c, {
107
+ label: u._({ id: "v0hPHE" }),
108
108
  onClick: () => m()
109
109
  }),
110
- n.canUpdate && !c && /* @__PURE__ */ O(u, {
111
- label: l._({ id: "ePK91l" }),
112
- onClick: () => r(e)
110
+ n.canUpdate && !l && /* @__PURE__ */ O(c, {
111
+ label: u._({ id: "ePK91l" }),
112
+ onClick: () => a(e)
113
113
  }),
114
- n.canDelete && !c && /* @__PURE__ */ O(u, {
115
- label: l._({ id: "cnGeoo" }),
116
- onClick: () => i(e)
114
+ n.canDelete && !l && /* @__PURE__ */ O(c, {
115
+ label: u._({ id: "cnGeoo" }),
116
+ onClick: () => o(e)
117
117
  })
118
118
  ] }) })
119
119
  })
@@ -122,23 +122,23 @@ function L({ securityGroup: e, permissions: n, onEdit: r, onDelete: i, onViewDet
122
122
  }
123
123
  //#endregion
124
124
  //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupListContainer.tsx
125
- var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s, onDeleteSecurityGroup: c, isDeletingSecurityGroup: u = !1, deleteError: d = null, onUpdateSecurityGroup: f, isUpdatingSecurityGroup: p = !1, updateError: m = null, currentProjectId: h }) => {
126
- let { i18n: g, _ } = F(), v = N(), y = C(), [x, S] = M(null), [w, T] = M(!1), [R, z] = M(!1), B = j(!1), V = j(!1), H = (e) => {
127
- S(e), T(!0);
125
+ var R = ({ securityGroups: e, isLoading: t, isError: i, error: o, permissions: c, onDeleteSecurityGroup: l, isDeletingSecurityGroup: u = !1, deleteError: d = null, onUpdateSecurityGroup: f, isUpdatingSecurityGroup: p = !1, updateError: m = null, currentProjectId: h }) => {
126
+ let { i18n: _, _: v } = F(), y = N(), b = S(), [x, C] = M(null), [w, T] = M(!1), [R, z] = M(!1), B = j(!1), V = j(!1), H = (e) => {
127
+ C(e), T(!0);
128
128
  }, U = (e) => {
129
- S(e), z(!0);
129
+ C(e), z(!0);
130
130
  }, W = (e) => {
131
- v({
131
+ y({
132
132
  to: "/projects/$projectId/network/securitygroups/$securityGroupId",
133
133
  params: {
134
- projectId: y,
134
+ projectId: b,
135
135
  securityGroupId: e.id
136
136
  }
137
137
  });
138
138
  }, G = () => {
139
- S(null), T(!1);
139
+ C(null), T(!1);
140
140
  }, K = () => {
141
- S(null), z(!1);
141
+ C(null), z(!1);
142
142
  };
143
143
  return A(() => {
144
144
  B.current && !u && R && !d && K(), B.current = u;
@@ -152,33 +152,33 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
152
152
  p,
153
153
  m,
154
154
  w
155
- ]), n ? /* @__PURE__ */ k(e, {
155
+ ]), t ? /* @__PURE__ */ k(g, {
156
156
  className: "py-8",
157
157
  distribution: "center",
158
158
  alignment: "center",
159
159
  direction: "vertical",
160
- children: [/* @__PURE__ */ O(r, {
160
+ children: [/* @__PURE__ */ O(a, {
161
161
  variant: "primary",
162
162
  size: "large",
163
163
  className: "mb-2"
164
164
  }), /* @__PURE__ */ O(P, { id: "Z3FXyt" })]
165
- }) : i ? /* @__PURE__ */ O(e, {
165
+ }) : i ? /* @__PURE__ */ O(g, {
166
166
  className: "py-8",
167
167
  distribution: "center",
168
168
  alignment: "center",
169
169
  direction: "vertical",
170
- children: o?.message ?? g._({ id: "Wca9WC" })
171
- }) : t.length === 0 ? /* @__PURE__ */ O(P, { id: "SfW/3r" }) : /* @__PURE__ */ k(D, { children: [/* @__PURE__ */ k(b, {
170
+ children: o?.message ?? _._({ id: "Wca9WC" })
171
+ }) : e.length === 0 ? /* @__PURE__ */ O(P, { id: "SfW/3r" }) : /* @__PURE__ */ k(D, { children: [/* @__PURE__ */ k(s, {
172
172
  columns: 5,
173
- children: [/* @__PURE__ */ O(a, { children: [
174
- g._({ id: "6YtxFj" }),
175
- g._({ id: "Nu4oKW" }),
176
- g._({ id: "0Gd0NU" }),
177
- g._({ id: "Jim5X9" }),
173
+ children: [/* @__PURE__ */ O(r, { children: [
174
+ _._({ id: "6YtxFj" }),
175
+ _._({ id: "Nu4oKW" }),
176
+ _._({ id: "0Gd0NU" }),
177
+ _._({ id: "Jim5X9" }),
178
178
  ""
179
- ].map((e) => /* @__PURE__ */ O(l, { children: e }, e)) }), t.map((e) => /* @__PURE__ */ O(L, {
179
+ ].map((e) => /* @__PURE__ */ O(n, { children: e }, e)) }), e.map((e) => /* @__PURE__ */ O(L, {
180
180
  securityGroup: e,
181
- permissions: s,
181
+ permissions: c,
182
182
  onEdit: H,
183
183
  onDelete: U,
184
184
  onViewDetails: W,
@@ -198,7 +198,7 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
198
198
  isOpen: R,
199
199
  onClose: K,
200
200
  onDelete: (e) => {
201
- c && c(e);
201
+ l && l(e);
202
202
  },
203
203
  isDeleting: u,
204
204
  error: d
@@ -207,10 +207,10 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
207
207
  name: "",
208
208
  description: "",
209
209
  stateful: !0
210
- }, B = ({ isOpen: e, onClose: t, onCreate: a, isLoading: o = !1, error: s = null }) => {
211
- let { i18n: l, _: u } = F(), [d, b] = M({ ...z }), [x, S] = M({}), C = (e) => {
210
+ }, B = ({ isOpen: t, onClose: n, onCreate: r, isLoading: i = !1, error: s = null }) => {
211
+ let { i18n: c, _: d } = F(), [m, g] = M({ ...z }), [x, S] = M({}), C = (e) => {
212
212
  let { name: t, value: n, type: r } = e.target, i = e.target.checked;
213
- b((e) => ({
213
+ g((e) => ({
214
214
  ...e,
215
215
  [t]: r === "checkbox" ? i : n
216
216
  })), x[t] && S((e) => {
@@ -219,93 +219,93 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
219
219
  });
220
220
  }, w = () => {
221
221
  let e = {};
222
- return (!d.name || d.name.trim() === "") && (e.name = l._({ id: "lN/Z9n" })), S(e), Object.keys(e).length === 0;
222
+ return (!m.name || m.name.trim() === "") && (e.name = c._({ id: "lN/Z9n" })), S(e), Object.keys(e).length === 0;
223
223
  }, T = async (e) => {
224
- e.preventDefault(), w() && (await a({
225
- name: d.name.trim(),
226
- description: d.description.trim() || void 0,
227
- stateful: d.stateful
224
+ e.preventDefault(), w() && (await r({
225
+ name: m.name.trim(),
226
+ description: m.description.trim() || void 0,
227
+ stateful: m.stateful
228
228
  }), E());
229
229
  }, E = () => {
230
- b({ ...z }), S({}), t();
230
+ g({ ...z }), S({}), n();
231
231
  };
232
- return /* @__PURE__ */ k(m, {
233
- open: e,
232
+ return /* @__PURE__ */ k(_, {
233
+ open: t,
234
234
  onCancel: E,
235
235
  size: "large",
236
- title: l._({ id: "YjAOtb" }),
237
- modalFooter: /* @__PURE__ */ O(i, {
236
+ title: c._({ id: "YjAOtb" }),
237
+ modalFooter: /* @__PURE__ */ O(e, {
238
238
  className: "flex justify-end",
239
- children: /* @__PURE__ */ k(p, { children: [/* @__PURE__ */ O(h, {
239
+ children: /* @__PURE__ */ k(f, { children: [/* @__PURE__ */ O(u, {
240
240
  variant: "default",
241
241
  onClick: E,
242
- disabled: o,
242
+ disabled: i,
243
243
  children: /* @__PURE__ */ O(P, { id: "dEgA5A" })
244
- }), /* @__PURE__ */ O(h, {
244
+ }), /* @__PURE__ */ O(u, {
245
245
  variant: "primary",
246
246
  onClick: (e) => {
247
247
  T(e);
248
248
  },
249
- disabled: o,
249
+ disabled: i,
250
250
  "data-testid": "create-security-group-button",
251
- children: o ? /* @__PURE__ */ O(r, { size: "small" }) : /* @__PURE__ */ O(P, { id: "YjAOtb" })
251
+ children: i ? /* @__PURE__ */ O(a, { size: "small" }) : /* @__PURE__ */ O(P, { id: "YjAOtb" })
252
252
  })] })
253
253
  }),
254
254
  children: [
255
- s && /* @__PURE__ */ O(c, {
255
+ s && /* @__PURE__ */ O(v, {
256
256
  dismissible: !1,
257
257
  variant: "error",
258
258
  className: "mb-4",
259
259
  children: s
260
260
  }),
261
- o && /* @__PURE__ */ k("div", {
261
+ i && /* @__PURE__ */ k("div", {
262
262
  className: "mb-4 flex items-center justify-center gap-2",
263
- children: [/* @__PURE__ */ O(r, { variant: "primary" }), /* @__PURE__ */ O("span", {
263
+ children: [/* @__PURE__ */ O(a, { variant: "primary" }), /* @__PURE__ */ O("span", {
264
264
  className: "text-theme-high text-sm",
265
265
  children: /* @__PURE__ */ O(P, { id: "Km4AGG" })
266
266
  })]
267
267
  }),
268
- !o && /* @__PURE__ */ O(v, {
268
+ !i && /* @__PURE__ */ O(l, {
269
269
  className: "mb-6",
270
- children: /* @__PURE__ */ k(_, {
270
+ children: /* @__PURE__ */ k(h, {
271
271
  className: "mb-6",
272
272
  children: [
273
- /* @__PURE__ */ O(g, {
273
+ /* @__PURE__ */ O(p, {
274
274
  className: "mb-6",
275
- children: /* @__PURE__ */ O(y, {
275
+ children: /* @__PURE__ */ O(o, {
276
276
  id: "name",
277
277
  name: "name",
278
- label: l._({ id: "6YtxFj" }),
279
- value: d.name,
278
+ label: c._({ id: "6YtxFj" }),
279
+ value: m.name,
280
280
  onChange: C,
281
281
  required: !0,
282
282
  errortext: x.name,
283
- placeholder: l._({ id: "Ac6dy9" }),
284
- disabled: o
283
+ placeholder: c._({ id: "Ac6dy9" }),
284
+ disabled: i
285
285
  })
286
286
  }),
287
- /* @__PURE__ */ O(g, {
287
+ /* @__PURE__ */ O(p, {
288
288
  className: "mb-6",
289
- children: /* @__PURE__ */ O(f, {
289
+ children: /* @__PURE__ */ O(y, {
290
290
  id: "description",
291
291
  name: "description",
292
- label: l._({ id: "Nu4oKW" }),
293
- value: d.description,
292
+ label: c._({ id: "Nu4oKW" }),
293
+ value: m.description,
294
294
  onChange: C,
295
- placeholder: l._({ id: "Nu4oKW" }),
296
- disabled: o,
295
+ placeholder: c._({ id: "Nu4oKW" }),
296
+ disabled: i,
297
297
  rows: 3
298
298
  })
299
299
  }),
300
- /* @__PURE__ */ O(g, {
300
+ /* @__PURE__ */ O(p, {
301
301
  className: "mb-0",
302
- children: /* @__PURE__ */ O(n, {
302
+ children: /* @__PURE__ */ O(b, {
303
303
  id: "stateful",
304
304
  name: "stateful",
305
- label: l._({ id: "Jim5X9" }),
306
- checked: d.stateful,
305
+ label: c._({ id: "Jim5X9" }),
306
+ checked: m.stateful,
307
307
  onChange: C,
308
- disabled: o
308
+ disabled: i
309
309
  })
310
310
  })
311
311
  ]
@@ -317,7 +317,7 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
317
317
  TRUE: "true",
318
318
  FALSE: "false"
319
319
  }, H = () => {
320
- let { i18n: e, _: t } = F(), n = N(), r = C(), [i, a] = M(!1), [o, s] = M(null), [c, l] = M(null), [u, d] = M(null), { searchTerm: f, sortSettings: p, filterSettings: m, handleSearchChange: g, handleSortChange: _, handleFilterChange: v } = T({
320
+ let { i18n: e, _: t } = F(), n = N(), r = S(), [i, a] = M(!1), [o, s] = M(null), [c, l] = M(null), [d, f] = M(null), { searchTerm: p, sortSettings: m, filterSettings: h, handleSearchChange: g, handleSortChange: _, handleFilterChange: v } = T({
321
321
  defaultSortKey: "name",
322
322
  defaultSortDir: "asc",
323
323
  sortOptions: [{
@@ -340,10 +340,10 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
340
340
  canManageAccess: !0
341
341
  }, { data: E = [], isLoading: D, isError: A, error: j } = x.network.securityGroup.list.useQuery({
342
342
  project_id: r || "",
343
- sort_key: p.sortBy,
344
- sort_dir: p.sortDirection,
345
- ...w(m),
346
- ...f ? { searchTerm: f } : {}
343
+ sort_key: m.sortBy,
344
+ sort_dir: m.sortDirection,
345
+ ...w(h),
346
+ ...p ? { searchTerm: p } : {}
347
347
  }, { enabled: !!r }), I = x.network.securityGroup.create.useMutation({
348
348
  onSuccess: (e) => {
349
349
  y.network.securityGroup.list.invalidate(), l(null), n({
@@ -366,23 +366,23 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
366
366
  }
367
367
  }), z = x.network.securityGroup.update.useMutation({
368
368
  onSuccess: () => {
369
- y.network.securityGroup.list.invalidate(), d(null);
369
+ y.network.securityGroup.list.invalidate(), f(null);
370
370
  },
371
371
  onError: (t) => {
372
- d(t.message || e._({ id: "jPxavx" }));
372
+ f(t.message || e._({ id: "jPxavx" }));
373
373
  }
374
374
  });
375
375
  return /* @__PURE__ */ k("div", {
376
376
  className: "relative",
377
377
  children: [
378
- /* @__PURE__ */ O(S, {
379
- sortSettings: p,
380
- filterSettings: m,
381
- searchTerm: f,
378
+ /* @__PURE__ */ O(C, {
379
+ sortSettings: m,
380
+ filterSettings: h,
381
+ searchTerm: p,
382
382
  onSort: _,
383
383
  onFilter: v,
384
384
  onSearch: g,
385
- actions: b.canCreate && /* @__PURE__ */ O(h, {
385
+ actions: b.canCreate && /* @__PURE__ */ O(u, {
386
386
  onClick: () => a(!0),
387
387
  variant: "primary",
388
388
  children: /* @__PURE__ */ O(P, { id: "YjAOtb" })
@@ -404,14 +404,14 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
404
404
  isDeletingSecurityGroup: L.isPending,
405
405
  deleteError: o,
406
406
  onUpdateSecurityGroup: async (e, t) => {
407
- d(null), await z.mutateAsync({
407
+ f(null), await z.mutateAsync({
408
408
  project_id: r,
409
409
  securityGroupId: e,
410
410
  ...t
411
411
  });
412
412
  },
413
413
  isUpdatingSecurityGroup: z.isPending,
414
- updateError: u,
414
+ updateError: d,
415
415
  currentProjectId: r
416
416
  }),
417
417
  /* @__PURE__ */ O(B, {
@@ -433,9 +433,9 @@ var R = ({ securityGroups: t, isLoading: n, isError: i, error: o, permissions: s
433
433
  //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/index.tsx?tsr-split=component
434
434
  function U() {
435
435
  let { i18n: e, _: t } = F();
436
- return /* @__PURE__ */ k(D, { children: [/* @__PURE__ */ O(o, { children: e._({ id: "4opp4r" }) }), /* @__PURE__ */ O(H, {})] });
436
+ return /* @__PURE__ */ k(D, { children: [/* @__PURE__ */ O(m, { children: e._({ id: "4opp4r" }) }), /* @__PURE__ */ O(H, {})] });
437
437
  }
438
438
  //#endregion
439
439
  export { U as component };
440
440
 
441
- //# sourceMappingURL=securitygroups-B4MkSBtI.mjs.map
441
+ //# sourceMappingURL=securitygroups-BdzieS7Z.mjs.map