@cobaltcore-dev/aurora 0.7.0 → 0.8.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 (101) hide show
  1. package/README.md +101 -7
  2. package/dist/client/AuroraApp.d.ts +38 -0
  3. package/dist/client/{ContentHeader-kx1Th5Sq.mjs → ContentHeader-DqsGNvtD.mjs} +17 -17
  4. package/dist/client/{ContentHeader-kx1Th5Sq.mjs.map → ContentHeader-DqsGNvtD.mjs.map} +1 -1
  5. package/dist/client/{DeleteFlavorModal-C3cb7YiJ.mjs → DeleteFlavorModal-C3m7bQJu.mjs} +163 -163
  6. package/dist/client/{DeleteFlavorModal-C3cb7YiJ.mjs.map → DeleteFlavorModal-C3m7bQJu.mjs.map} +1 -1
  7. package/dist/client/{EditSecurityGroupModal-CpP54WIK.mjs → EditSecurityGroupModal-DKusxfta.mjs} +18 -18
  8. package/dist/client/{EditSecurityGroupModal-CpP54WIK.mjs.map → EditSecurityGroupModal-DKusxfta.mjs.map} +1 -1
  9. package/dist/client/{FiltersInput-DxcyR6Bp.mjs → FiltersInput-GzR4D0q6.mjs} +21 -21
  10. package/dist/client/{FiltersInput-DxcyR6Bp.mjs.map → FiltersInput-GzR4D0q6.mjs.map} +1 -1
  11. package/dist/client/{FloatingIpActionModals-BP8RWHbu.mjs → FloatingIpActionModals-CRvROJ3H.mjs} +51 -51
  12. package/dist/client/{FloatingIpActionModals-BP8RWHbu.mjs.map → FloatingIpActionModals-CRvROJ3H.mjs.map} +1 -1
  13. package/dist/client/{ImageToastNotifications-TZ3EfQg-.mjs → ImageToastNotifications-BuDXpTkl.mjs} +344 -344
  14. package/dist/client/{ImageToastNotifications-TZ3EfQg-.mjs.map → ImageToastNotifications-BuDXpTkl.mjs.map} +1 -1
  15. package/dist/client/{RouteError-QSV7qOoJ.mjs → RouteError-DVAiT0mT.mjs} +2 -2
  16. package/dist/client/{RouteError-QSV7qOoJ.mjs.map → RouteError-DVAiT0mT.mjs.map} +1 -1
  17. package/dist/client/{SortInput-CYv2_Pur.mjs → SortInput-VK7IYqQv.mjs} +6 -6
  18. package/dist/client/{SortInput-CYv2_Pur.mjs.map → SortInput-VK7IYqQv.mjs.map} +1 -1
  19. package/dist/client/{_flavorId-C2x43-6S.mjs → _flavorId-B9Vqkraj.mjs} +8 -8
  20. package/dist/client/{_flavorId-C2x43-6S.mjs.map → _flavorId-B9Vqkraj.mjs.map} +1 -1
  21. package/dist/client/{_flavorId-CR8ZUI-P.mjs → _flavorId-CFpNGz52.mjs} +62 -62
  22. package/dist/client/{_flavorId-CR8ZUI-P.mjs.map → _flavorId-CFpNGz52.mjs.map} +1 -1
  23. package/dist/client/{_floatingIpId-BCk41_Lb.mjs → _floatingIpId-B5GMSLeQ.mjs} +2 -2
  24. package/dist/client/{_floatingIpId-BCk41_Lb.mjs.map → _floatingIpId-B5GMSLeQ.mjs.map} +1 -1
  25. package/dist/client/{_floatingIpId-BGrOAmPT.mjs → _floatingIpId-C2-BeRmF.mjs} +27 -27
  26. package/dist/client/{_floatingIpId-BGrOAmPT.mjs.map → _floatingIpId-C2-BeRmF.mjs.map} +1 -1
  27. package/dist/client/_imageId-9NZytfNs.mjs +534 -0
  28. package/dist/client/{_imageId-CvfD832b.mjs.map → _imageId-9NZytfNs.mjs.map} +1 -1
  29. package/dist/client/_pcaId-BwTvJJgh.mjs +479 -0
  30. package/dist/client/_pcaId-BwTvJJgh.mjs.map +1 -0
  31. package/dist/client/{_pcaId-DOHycvCf.mjs → _pcaId-DUHQd0rB.mjs} +2 -2
  32. package/dist/client/{_pcaId-DOHycvCf.mjs.map → _pcaId-DUHQd0rB.mjs.map} +1 -1
  33. package/dist/client/{_projectId-DOgwFiqD.mjs → _projectId-B_2sZKk-.mjs} +2 -2
  34. package/dist/client/{_projectId-DOgwFiqD.mjs.map → _projectId-B_2sZKk-.mjs.map} +1 -1
  35. package/dist/client/{_projectId-MxcHrXW4.mjs → _projectId-CLgClx24.mjs} +3 -3
  36. package/dist/client/{_projectId-MxcHrXW4.mjs.map → _projectId-CLgClx24.mjs.map} +1 -1
  37. package/dist/client/_projectId-cW9aQ4Ag.mjs +271 -0
  38. package/dist/client/_projectId-cW9aQ4Ag.mjs.map +1 -0
  39. package/dist/client/{_securityGroupId-KKw4RPdH.mjs → _securityGroupId-DYxmXUOP.mjs} +319 -319
  40. package/dist/client/{_securityGroupId-KKw4RPdH.mjs.map → _securityGroupId-DYxmXUOP.mjs.map} +1 -1
  41. package/dist/client/{_securityGroupId-CJJanWiY.mjs → _securityGroupId-fhK1CuZh.mjs} +2 -2
  42. package/dist/client/{_securityGroupId-CJJanWiY.mjs.map → _securityGroupId-fhK1CuZh.mjs.map} +1 -1
  43. package/dist/client/{_storageType-DYjo-6ej.mjs → _storageType-2_fau4B5.mjs} +698 -698
  44. package/dist/client/{_storageType-DYjo-6ej.mjs.map → _storageType-2_fau4B5.mjs.map} +1 -1
  45. package/dist/client/{_storageType-4wSxI__0.mjs → _storageType-dRTFMKG3.mjs} +2 -2
  46. package/dist/client/{_storageType-4wSxI__0.mjs.map → _storageType-dRTFMKG3.mjs.map} +1 -1
  47. package/dist/client/{about-Bo9vxGHy.mjs → about-Nsxkyh9U.mjs} +2 -2
  48. package/dist/client/{about-Bo9vxGHy.mjs.map → about-Nsxkyh9U.mjs.map} +1 -1
  49. package/dist/client/{build-DeJcDjPi.mjs → build-BdRRmNf5.mjs} +3290 -3274
  50. package/dist/client/{build-DeJcDjPi.mjs.map → build-BdRRmNf5.mjs.map} +1 -1
  51. package/dist/client/{constants-BmcGYeR-.mjs → constants-J5nm9hbP.mjs} +15 -15
  52. package/dist/client/{constants-BmcGYeR-.mjs.map → constants-J5nm9hbP.mjs.map} +1 -1
  53. package/dist/client/{flavors-BxFVqgnb.mjs → flavors-_P7R-CeT.mjs} +2 -2
  54. package/dist/client/{flavors-BxFVqgnb.mjs.map → flavors-_P7R-CeT.mjs.map} +1 -1
  55. package/dist/client/{flavors-CfdgjsZY.mjs → flavors-m1qDHzeS.mjs} +238 -221
  56. package/dist/client/flavors-m1qDHzeS.mjs.map +1 -0
  57. package/dist/client/{floatingips-ByRb82wS.mjs → floatingips-Dq4DXQYb.mjs} +90 -90
  58. package/dist/client/{floatingips-ByRb82wS.mjs.map → floatingips-Dq4DXQYb.mjs.map} +1 -1
  59. package/dist/client/{images-CenluYV8.mjs → images-CpM-T_jM.mjs} +2 -2
  60. package/dist/client/{images-CenluYV8.mjs.map → images-CpM-T_jM.mjs.map} +1 -1
  61. package/dist/client/images-DHmVgQAh2.mjs +1890 -0
  62. package/dist/client/images-DHmVgQAh2.mjs.map +1 -0
  63. package/dist/client/{images-C_dX7nY6.mjs → images-Dbjo4yKn.mjs} +2 -2
  64. package/dist/client/{images-C_dX7nY6.mjs.map → images-Dbjo4yKn.mjs.map} +1 -1
  65. package/dist/client/index.d.ts +1 -1
  66. package/dist/client/index.js +382 -351
  67. package/dist/client/index.js.map +1 -1
  68. package/dist/client/{objects-gxSjvbvF.mjs → objects-DKWp9RtR.mjs} +2 -2
  69. package/dist/client/{objects-gxSjvbvF.mjs.map → objects-DKWp9RtR.mjs.map} +1 -1
  70. package/dist/client/{objects-BJM6YeuF.mjs → objects-DaCuy_CB.mjs} +1156 -1156
  71. package/dist/client/{objects-BJM6YeuF.mjs.map → objects-DaCuy_CB.mjs.map} +1 -1
  72. package/dist/client/{pca-Bl8NmoVZ.mjs → pca-C8zWTSSt.mjs} +2 -2
  73. package/dist/client/{pca-Bl8NmoVZ.mjs.map → pca-C8zWTSSt.mjs.map} +1 -1
  74. package/dist/client/pca-CK5-j7Kk.mjs +202 -0
  75. package/dist/client/pca-CK5-j7Kk.mjs.map +1 -0
  76. package/dist/client/{projects-pe2_dCnV.mjs → projects-CHYn7L5e.mjs} +2 -2
  77. package/dist/client/{projects-pe2_dCnV.mjs.map → projects-CHYn7L5e.mjs.map} +1 -1
  78. package/dist/client/{projects-D2iewAzu.mjs → projects-CeLhtLvf.mjs} +2 -2
  79. package/dist/client/{projects-D2iewAzu.mjs.map → projects-CeLhtLvf.mjs.map} +1 -1
  80. package/dist/client/{projects-CgclWI16.mjs → projects-ClViaUuv.mjs} +11 -11
  81. package/dist/client/{projects-CgclWI16.mjs.map → projects-ClViaUuv.mjs.map} +1 -1
  82. package/dist/client/{_projectId-BDSWnMGj.mjs → routeInfo-DlDJZnpg.mjs} +34 -8
  83. package/dist/client/routeInfo-DlDJZnpg.mjs.map +1 -0
  84. package/dist/client/{securitygroups-DahZkVYQ.mjs → securitygroups-CNFLu9zS.mjs} +112 -112
  85. package/dist/client/{securitygroups-DahZkVYQ.mjs.map → securitygroups-CNFLu9zS.mjs.map} +1 -1
  86. package/dist/client/{useListWithFiltering-DaYcu5AB.mjs → useListWithFiltering-v2A0-SZb.mjs} +9 -9
  87. package/dist/client/{useListWithFiltering-DaYcu5AB.mjs.map → useListWithFiltering-v2A0-SZb.mjs.map} +1 -1
  88. package/dist/server/index.d.ts +6 -1
  89. package/dist/server/index.js +37 -12
  90. package/package.json +4 -4
  91. package/dist/client/_imageId-CvfD832b.mjs +0 -534
  92. package/dist/client/_pcaId-BxBt5DXi.mjs +0 -459
  93. package/dist/client/_pcaId-BxBt5DXi.mjs.map +0 -1
  94. package/dist/client/_projectId-BDSWnMGj.mjs.map +0 -1
  95. package/dist/client/_projectId-DS4nR59B.mjs +0 -299
  96. package/dist/client/_projectId-DS4nR59B.mjs.map +0 -1
  97. package/dist/client/flavors-CfdgjsZY.mjs.map +0 -1
  98. package/dist/client/images-CKqIXUq52.mjs +0 -1873
  99. package/dist/client/images-CKqIXUq52.mjs.map +0 -1
  100. package/dist/client/pca-RSiWpJs9.mjs +0 -182
  101. package/dist/client/pca-RSiWpJs9.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { B as e, H as t, Q as n, R as r, S as i, U as a, a as o, r as s } from "./build-DeJcDjPi.mjs";
1
+ import { H as e, J as t, T as n, Y as r, ct as i, m as a, p as o, x as s } from "./build-BdRRmNf5.mjs";
2
2
  import { r as c } from "./trpcClient-BzPUgiM2.mjs";
3
3
  import { t as l } from "./useProjectId-DBc5lpoU.mjs";
4
4
  import "./hooks-dSArr2Ca.mjs";
@@ -9,20 +9,20 @@ import { z as y } from "zod";
9
9
  import { i18n as b } from "@lingui/core";
10
10
  import { useForm as x, useStore as S } from "@tanstack/react-form";
11
11
  //#region src/client/routes/_auth/projects/$projectId/services/pca/-components/-modals/DeletePcaModal.tsx
12
- var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
12
+ var C = ({ pca: n, open: u, onClose: d, onSuccess: f }) => {
13
13
  let { i18n: p, _: m } = v(), b = l(), C = c.useUtils(), { isPending: w, ...T } = c.services.pca.delete.useMutation({ onSettled: () => C.services.pca.list.invalidate() }), E = x({
14
14
  defaultValues: { delete: "" },
15
15
  validators: { onSubmit: y.object({ delete: y.string().refine((e) => e === "delete", { message: p._({ id: "fnCEAB" }) }) }) },
16
16
  onSubmit: async () => {
17
17
  w || (await T.mutateAsync({
18
18
  project_id: b,
19
- certificate_authority_id: i.id
19
+ certificate_authority_id: n.id
20
20
  }), O(), f?.());
21
21
  }
22
22
  }), D = S(E.store, (e) => e.isSubmitting || e.values.delete !== "delete"), O = () => {
23
23
  E.reset(), d();
24
24
  };
25
- return /*#__PURE__*/ g(s, {
25
+ return /*#__PURE__*/ g(i, {
26
26
  open: u,
27
27
  size: "large",
28
28
  title: p._({ id: "ctc4XR" }),
@@ -32,7 +32,7 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
32
32
  onConfirm: E.handleSubmit,
33
33
  disableConfirmButton: w || D,
34
34
  children: [
35
- T.error?.message && /*#__PURE__*/ h(e, {
35
+ T.error?.message && /*#__PURE__*/ h(t, {
36
36
  dismissible: !1,
37
37
  variant: "error",
38
38
  className: "mb-4",
@@ -40,12 +40,12 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
40
40
  }),
41
41
  w && /*#__PURE__*/ g("div", {
42
42
  className: "mb-4 flex items-center justify-center gap-2",
43
- children: [/*#__PURE__*/ h(r, { variant: "primary" }), /*#__PURE__*/ h("span", {
43
+ children: [/*#__PURE__*/ h(e, { variant: "primary" }), /*#__PURE__*/ h("span", {
44
44
  className: "text-theme-high text-sm",
45
45
  children: /*#__PURE__*/ h(_, { id: "nWNviN" })
46
46
  })]
47
47
  }),
48
- /*#__PURE__*/ g(n, {
48
+ /*#__PURE__*/ g(r, {
49
49
  gap: "2.5",
50
50
  direction: "vertical",
51
51
  className: "mb-2.5",
@@ -54,13 +54,13 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
54
54
  components: { 0: /*#__PURE__*/ h("strong", {}) }
55
55
  }) })]
56
56
  }),
57
- !w && /*#__PURE__*/ h(o, {
57
+ !w && /*#__PURE__*/ h(s, {
58
58
  className: "mb-0",
59
59
  id: "delete-pca-form",
60
60
  onSubmit: (e) => {
61
61
  e.preventDefault(), E.handleSubmit();
62
62
  },
63
- children: /*#__PURE__*/ h(t, { children: /*#__PURE__*/ h(E.Field, {
63
+ children: /*#__PURE__*/ h(o, { children: /*#__PURE__*/ h(E.Field, {
64
64
  name: "delete",
65
65
  children: (e) => /*#__PURE__*/ h(a, {
66
66
  id: e.name,
@@ -83,7 +83,7 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
83
83
  color: "white",
84
84
  fill: "#1976D2"
85
85
  }),
86
- badge: /*#__PURE__*/ h(i, {
86
+ badge: /*#__PURE__*/ h(n, {
87
87
  icon: "bolt",
88
88
  variant: "info",
89
89
  text: "Creating"
@@ -96,7 +96,7 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
96
96
  color: "white",
97
97
  fill: "#FBC02D"
98
98
  }),
99
- badge: /*#__PURE__*/ h(i, {
99
+ badge: /*#__PURE__*/ h(n, {
100
100
  icon: "accessTime",
101
101
  variant: "warning",
102
102
  text: "Awaiting Certificate"
@@ -109,7 +109,7 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
109
109
  color: "white",
110
110
  fill: "#4FB81C"
111
111
  }),
112
- badge: /*#__PURE__*/ h(i, {
112
+ badge: /*#__PURE__*/ h(n, {
113
113
  icon: "checkCircle",
114
114
  variant: "success",
115
115
  text: "Ready"
@@ -122,7 +122,7 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
122
122
  color: "white",
123
123
  fill: "#D32F2F"
124
124
  }),
125
- badge: /*#__PURE__*/ h(i, {
125
+ badge: /*#__PURE__*/ h(n, {
126
126
  icon: "error",
127
127
  variant: "error",
128
128
  text: "Failed"
@@ -135,7 +135,7 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
135
135
  color: "white",
136
136
  fill: "#757575"
137
137
  }),
138
- badge: /*#__PURE__*/ h(i, {
138
+ badge: /*#__PURE__*/ h(n, {
139
139
  icon: "severityUnknown",
140
140
  variant: "default",
141
141
  text: "Unexpected"
@@ -150,4 +150,4 @@ var C = ({ pca: i, open: u, onClose: d, onSuccess: f }) => {
150
150
  //#endregion
151
151
  export { T as n, C as r, w as t };
152
152
 
153
- //# sourceMappingURL=constants-BmcGYeR-.mjs.map
153
+ //# sourceMappingURL=constants-J5nm9hbP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-BmcGYeR-.mjs","names":["z","useForm","useStore","Modal","Form","FormSection","Spinner","Message","TextInput","Stack","trpcReact","useProjectId","DeletePcaModal","pca","open","onClose","onSuccess","useLingui","projectId","utils","useUtils","isPending","deletePcaMutation","services","delete","useMutation","onSettled","list","invalidate","formSchema","object","string","refine","value","message","t","form","defaultValues","validators","onSubmit","mutateAsync","project_id","certificate_authority_id","id","handleClose","canDelete","store","state","isSubmitting","values","reset","size","title","onCancel","cancelButtonLabel","confirmButtonLabel","onConfirm","handleSubmit","disableConfirmButton","error","dismissible","variant","className","div","span","gap","direction","p","strong","e","preventDefault","Field","name","children","field","onChange","handleChange","target","placeholder","helptext","required","MdCheckCircle","MdReportProblem","MdHourglassEmpty","MdAutorenew","MdHelpOutline","Badge","STATE_CONFIG","CREATING","text","icon","size","color","fill","badge","variant","AWAITING_CERTIFICATE","READY","FAILED","UNEXPECTED","TABLE_COLUMNS","t"],"sources":["../../src/client/routes/_auth/projects/$projectId/services/pca/-components/-modals/DeletePcaModal.tsx","../../src/client/routes/_auth/projects/$projectId/services/pca/-components/-table/constants.tsx"],"sourcesContent":["import { z } from \"zod\"\nimport { useForm, useStore } from \"@tanstack/react-form\"\nimport { Trans, useLingui } from \"@lingui/react/macro\"\nimport { Modal, Form, FormSection, Spinner, Message, TextInput, Stack } from \"@cloudoperators/juno-ui-components\"\nimport type { CertificateAuthority } from \"@/server/Services/types/pca\"\nimport { trpcReact } from \"@/client/trpcClient\"\nimport { useProjectId } from \"@/client/hooks\"\n\nexport interface DeletePcaModalProps {\n pca: CertificateAuthority\n open: boolean\n onClose: () => void\n onSuccess?: () => void\n}\n\nexport const DeletePcaModal = ({ pca, open, onClose, onSuccess }: DeletePcaModalProps) => {\n const { t } = useLingui()\n const projectId = useProjectId()\n const utils = trpcReact.useUtils()\n\n const { isPending, ...deletePcaMutation } = trpcReact.services.pca.delete.useMutation({\n onSettled: () => utils.services.pca.list.invalidate(),\n })\n\n const formSchema = z.object({\n delete: z.string().refine((value) => value === \"delete\", {\n message: t`Type “delete” to confirm`,\n }),\n })\n\n const form = useForm({\n defaultValues: {\n delete: \"\",\n },\n validators: {\n onSubmit: formSchema,\n },\n onSubmit: async () => {\n if (isPending) return\n\n await deletePcaMutation.mutateAsync({\n project_id: projectId,\n certificate_authority_id: pca.id,\n })\n handleClose()\n onSuccess?.()\n },\n })\n\n // creates a reactive subscription so the component re-renders, which allows the confirm button to enable once the user types \"delete\".\n const canDelete = useStore(form.store, (state) => state.isSubmitting || state.values.delete !== \"delete\")\n\n const handleClose = () => {\n form.reset()\n onClose()\n }\n\n return (\n <Modal\n open={open}\n size=\"large\"\n title={t`Delete certificate authority`}\n onCancel={handleClose}\n cancelButtonLabel={t`Cancel`}\n confirmButtonLabel={t`Delete`}\n onConfirm={form.handleSubmit}\n disableConfirmButton={isPending || canDelete}\n >\n {deletePcaMutation.error?.message && (\n <Message dismissible={false} variant=\"error\" className=\"mb-4\">\n {deletePcaMutation.error.message}\n </Message>\n )}\n\n {isPending && (\n <div className=\"mb-4 flex items-center justify-center gap-2\">\n <Spinner variant=\"primary\" />\n <span className=\"text-theme-high text-sm\">\n <Trans>Deleting certificate authority...</Trans>\n </span>\n </div>\n )}\n\n <Stack gap=\"2.5\" direction=\"vertical\" className=\"mb-2.5\">\n <p>\n <Trans>\n Deleting this Certificate Authority is permanent, and all the associated certificates will no longer apply\n to entities.\n </Trans>\n </p>\n <p>\n <Trans>\n To confirm, type <strong>\"delete\"</strong> in the field below.\n </Trans>\n </p>\n </Stack>\n\n {!isPending && (\n <Form\n className=\"mb-0\"\n id=\"delete-pca-form\"\n onSubmit={(e) => {\n e.preventDefault()\n form.handleSubmit()\n }}\n >\n <FormSection>\n <form.Field\n name=\"delete\"\n children={(field) => (\n <TextInput\n id={field.name}\n name={field.name}\n value={field.state.value}\n onChange={(e) => field.handleChange(e.target.value)}\n placeholder={t`Type \"delete\" to confirm`}\n helptext={t`The text must match “delete” in lowercase.`}\n required\n />\n )}\n />\n </FormSection>\n </Form>\n )}\n </Modal>\n )\n}\n","import { MdCheckCircle, MdReportProblem, MdHourglassEmpty, MdAutorenew, MdHelpOutline } from \"react-icons/md\"\nimport { t } from \"@lingui/core/macro\"\nimport { Badge } from \"@cloudoperators/juno-ui-components/index\"\nimport { CertificateAuthorityState } from \"@/server/Services/types/pca\"\n\ntype PcaDisplayState = {\n text: string\n icon: React.ReactNode\n badge: React.ReactNode\n}\n\nexport const STATE_CONFIG: Record<CertificateAuthorityState, PcaDisplayState> = {\n CREATING: {\n text: \"Creating\",\n icon: <MdAutorenew size={20} color=\"white\" fill=\"#1976D2\" />,\n badge: <Badge icon=\"bolt\" variant=\"info\" text=\"Creating\" />,\n },\n AWAITING_CERTIFICATE: {\n text: \"Awaiting Certificate\",\n icon: <MdHourglassEmpty size={20} color=\"white\" fill=\"#FBC02D\" />,\n badge: <Badge icon=\"accessTime\" variant=\"warning\" text=\"Awaiting Certificate\" />,\n },\n READY: {\n text: \"Ready\",\n icon: <MdCheckCircle size={20} color=\"white\" fill=\"#4FB81C\" />,\n badge: <Badge icon=\"checkCircle\" variant=\"success\" text=\"Ready\" />,\n },\n FAILED: {\n text: \"Failed\",\n icon: <MdReportProblem size={20} color=\"white\" fill=\"#D32F2F\" />,\n badge: <Badge icon=\"error\" variant=\"error\" text=\"Failed\" />,\n },\n UNEXPECTED: {\n text: \"Unexpected\",\n icon: <MdHelpOutline size={20} color=\"white\" fill=\"#757575\" />,\n badge: <Badge icon=\"severityUnknown\" variant=\"default\" text=\"Unexpected\" />,\n },\n} as const\n\nexport const TABLE_COLUMNS = () =>\n [\n t`State`,\n t`ID`,\n t`Subject information`,\n \"\", // empty column for item-action with context menu containing \"Delete CA\" button\n ] as const\n"],"mappings":"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"}
1
+ {"version":3,"file":"constants-J5nm9hbP.mjs","names":["z","useForm","useStore","Modal","Form","FormSection","Spinner","Message","TextInput","Stack","trpcReact","useProjectId","DeletePcaModal","pca","open","onClose","onSuccess","useLingui","projectId","utils","useUtils","isPending","deletePcaMutation","services","delete","useMutation","onSettled","list","invalidate","formSchema","object","string","refine","value","message","t","form","defaultValues","validators","onSubmit","mutateAsync","project_id","certificate_authority_id","id","handleClose","canDelete","store","state","isSubmitting","values","reset","size","title","onCancel","cancelButtonLabel","confirmButtonLabel","onConfirm","handleSubmit","disableConfirmButton","error","dismissible","variant","className","div","span","gap","direction","p","strong","e","preventDefault","Field","name","children","field","onChange","handleChange","target","placeholder","helptext","required","MdCheckCircle","MdReportProblem","MdHourglassEmpty","MdAutorenew","MdHelpOutline","Badge","STATE_CONFIG","CREATING","text","icon","size","color","fill","badge","variant","AWAITING_CERTIFICATE","READY","FAILED","UNEXPECTED","TABLE_COLUMNS","t"],"sources":["../../src/client/routes/_auth/projects/$projectId/services/pca/-components/-modals/DeletePcaModal.tsx","../../src/client/routes/_auth/projects/$projectId/services/pca/-components/-table/constants.tsx"],"sourcesContent":["import { z } from \"zod\"\nimport { useForm, useStore } from \"@tanstack/react-form\"\nimport { Trans, useLingui } from \"@lingui/react/macro\"\nimport { Modal, Form, FormSection, Spinner, Message, TextInput, Stack } from \"@cloudoperators/juno-ui-components\"\nimport type { CertificateAuthority } from \"@/server/Services/types/pca\"\nimport { trpcReact } from \"@/client/trpcClient\"\nimport { useProjectId } from \"@/client/hooks\"\n\nexport interface DeletePcaModalProps {\n pca: CertificateAuthority\n open: boolean\n onClose: () => void\n onSuccess?: () => void\n}\n\nexport const DeletePcaModal = ({ pca, open, onClose, onSuccess }: DeletePcaModalProps) => {\n const { t } = useLingui()\n const projectId = useProjectId()\n const utils = trpcReact.useUtils()\n\n const { isPending, ...deletePcaMutation } = trpcReact.services.pca.delete.useMutation({\n onSettled: () => utils.services.pca.list.invalidate(),\n })\n\n const formSchema = z.object({\n delete: z.string().refine((value) => value === \"delete\", {\n message: t`Type “delete” to confirm`,\n }),\n })\n\n const form = useForm({\n defaultValues: {\n delete: \"\",\n },\n validators: {\n onSubmit: formSchema,\n },\n onSubmit: async () => {\n if (isPending) return\n\n await deletePcaMutation.mutateAsync({\n project_id: projectId,\n certificate_authority_id: pca.id,\n })\n handleClose()\n onSuccess?.()\n },\n })\n\n // creates a reactive subscription so the component re-renders, which allows the confirm button to enable once the user types \"delete\".\n const canDelete = useStore(form.store, (state) => state.isSubmitting || state.values.delete !== \"delete\")\n\n const handleClose = () => {\n form.reset()\n onClose()\n }\n\n return (\n <Modal\n open={open}\n size=\"large\"\n title={t`Delete certificate authority`}\n onCancel={handleClose}\n cancelButtonLabel={t`Cancel`}\n confirmButtonLabel={t`Delete`}\n onConfirm={form.handleSubmit}\n disableConfirmButton={isPending || canDelete}\n >\n {deletePcaMutation.error?.message && (\n <Message dismissible={false} variant=\"error\" className=\"mb-4\">\n {deletePcaMutation.error.message}\n </Message>\n )}\n\n {isPending && (\n <div className=\"mb-4 flex items-center justify-center gap-2\">\n <Spinner variant=\"primary\" />\n <span className=\"text-theme-high text-sm\">\n <Trans>Deleting certificate authority...</Trans>\n </span>\n </div>\n )}\n\n <Stack gap=\"2.5\" direction=\"vertical\" className=\"mb-2.5\">\n <p>\n <Trans>\n Deleting this Certificate Authority is permanent, and all the associated certificates will no longer apply\n to entities.\n </Trans>\n </p>\n <p>\n <Trans>\n To confirm, type <strong>\"delete\"</strong> in the field below.\n </Trans>\n </p>\n </Stack>\n\n {!isPending && (\n <Form\n className=\"mb-0\"\n id=\"delete-pca-form\"\n onSubmit={(e) => {\n e.preventDefault()\n form.handleSubmit()\n }}\n >\n <FormSection>\n <form.Field\n name=\"delete\"\n children={(field) => (\n <TextInput\n id={field.name}\n name={field.name}\n value={field.state.value}\n onChange={(e) => field.handleChange(e.target.value)}\n placeholder={t`Type \"delete\" to confirm`}\n helptext={t`The text must match “delete” in lowercase.`}\n required\n />\n )}\n />\n </FormSection>\n </Form>\n )}\n </Modal>\n )\n}\n","import { MdCheckCircle, MdReportProblem, MdHourglassEmpty, MdAutorenew, MdHelpOutline } from \"react-icons/md\"\nimport { t } from \"@lingui/core/macro\"\nimport { Badge } from \"@cloudoperators/juno-ui-components/index\"\nimport { CertificateAuthorityState } from \"@/server/Services/types/pca\"\n\ntype PcaDisplayState = {\n text: string\n icon: React.ReactNode\n badge: React.ReactNode\n}\n\nexport const STATE_CONFIG: Record<CertificateAuthorityState, PcaDisplayState> = {\n CREATING: {\n text: \"Creating\",\n icon: <MdAutorenew size={20} color=\"white\" fill=\"#1976D2\" />,\n badge: <Badge icon=\"bolt\" variant=\"info\" text=\"Creating\" />,\n },\n AWAITING_CERTIFICATE: {\n text: \"Awaiting Certificate\",\n icon: <MdHourglassEmpty size={20} color=\"white\" fill=\"#FBC02D\" />,\n badge: <Badge icon=\"accessTime\" variant=\"warning\" text=\"Awaiting Certificate\" />,\n },\n READY: {\n text: \"Ready\",\n icon: <MdCheckCircle size={20} color=\"white\" fill=\"#4FB81C\" />,\n badge: <Badge icon=\"checkCircle\" variant=\"success\" text=\"Ready\" />,\n },\n FAILED: {\n text: \"Failed\",\n icon: <MdReportProblem size={20} color=\"white\" fill=\"#D32F2F\" />,\n badge: <Badge icon=\"error\" variant=\"error\" text=\"Failed\" />,\n },\n UNEXPECTED: {\n text: \"Unexpected\",\n icon: <MdHelpOutline size={20} color=\"white\" fill=\"#757575\" />,\n badge: <Badge icon=\"severityUnknown\" variant=\"default\" text=\"Unexpected\" />,\n },\n} as const\n\nexport const TABLE_COLUMNS = () =>\n [\n t`State`,\n t`ID`,\n t`Subject information`,\n \"\", // empty column for item-action with context menu containing \"Delete CA\" button\n ] as const\n"],"mappings":"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"}
@@ -8,9 +8,9 @@ var r = e("/_auth/projects/$projectId/compute/flavors/")({
8
8
  crumb: { labelKey: "Flavors" }
9
9
  },
10
10
  head: () => ({ meta: [{ title: n._({ id: "neiJm0" }) }] }),
11
- component: t(() => import("./flavors-CfdgjsZY.mjs"), "component")
11
+ component: t(() => import("./flavors-m1qDHzeS.mjs"), "component")
12
12
  });
13
13
  //#endregion
14
14
  export { r as t };
15
15
 
16
- //# sourceMappingURL=flavors-BxFVqgnb.mjs.map
16
+ //# sourceMappingURL=flavors-_P7R-CeT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"flavors-BxFVqgnb.mjs","names":["createFileRoute","t","Route","staticData","section","service","sectionCrumb","labelKey","crumb","RouteInfo","head","meta","title","component","lazyRouteComponent","$$splitComponentImporter"],"sources":["../../src/client/routes/_auth/projects/$projectId/compute/flavors/index.tsx"],"sourcesContent":["import { createFileRoute } from \"@tanstack/react-router\"\nimport { t } from \"@lingui/core/macro\"\nimport { useLingui } from \"@lingui/react/macro\"\nimport { Flavors } from \"../-components/Flavors/List\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\nimport { ContentHeader } from \"@/client/components/ContentHeader/ContentHeader\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/compute/flavors/\")({\n staticData: {\n section: \"compute\",\n service: \"flavors\",\n sectionCrumb: { labelKey: \"Compute\" },\n crumb: { labelKey: \"Flavors\" },\n } satisfies RouteInfo,\n head: () => ({ meta: [{ title: t`Flavors` }] }),\n component: RouteComponent,\n})\n\nfunction RouteComponent() {\n const { t } = useLingui()\n const { projectId } = Route.useParams()\n const { trpcClient } = Route.useRouteContext()\n return (\n <>\n <ContentHeader title={t`Flavors`} projectId={projectId} />\n <Flavors project={projectId} client={trpcClient!} />\n </>\n )\n}\n"],"mappings":";;AAOA,IAAaE,IAAQF,EAAgB,6CAAA,EAA+C;CAClFG,YAAY;EACVC,SAAS;EACTC,SAAS;EACTC,cAAc,EAAEC,UAAU,UAAU;EACpCC,OAAO,EAAED,UAAU,UAAU;CAC/B;CACAG,aAAa,EAAEC,MAAM,CAAC,EAAEC,OAAOX,EAAAA,EAAC,EAAA,IAAA,SAAA,CAAA,EAAU,CAAA,EAAG;CAC7CY,WAASC,0CAAA,WAAA;AACX,CAAA"}
1
+ {"version":3,"file":"flavors-_P7R-CeT.mjs","names":["createFileRoute","t","Route","staticData","section","service","sectionCrumb","labelKey","crumb","RouteInfo","head","meta","title","component","lazyRouteComponent","$$splitComponentImporter"],"sources":["../../src/client/routes/_auth/projects/$projectId/compute/flavors/index.tsx"],"sourcesContent":["import { createFileRoute } from \"@tanstack/react-router\"\nimport { t } from \"@lingui/core/macro\"\nimport { useLingui } from \"@lingui/react/macro\"\nimport { Flavors } from \"../-components/Flavors/List\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\nimport { ContentHeader } from \"@/client/components/ContentHeader/ContentHeader\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/compute/flavors/\")({\n staticData: {\n section: \"compute\",\n service: \"flavors\",\n sectionCrumb: { labelKey: \"Compute\" },\n crumb: { labelKey: \"Flavors\" },\n } satisfies RouteInfo,\n head: () => ({ meta: [{ title: t`Flavors` }] }),\n component: RouteComponent,\n})\n\nfunction RouteComponent() {\n const { t } = useLingui()\n const { projectId } = Route.useParams()\n const { trpcClient } = Route.useRouteContext()\n return (\n <>\n <ContentHeader title={t`Flavors`} projectId={projectId} />\n <Flavors project={projectId} client={trpcClient!} />\n </>\n )\n}\n"],"mappings":";;AAOA,IAAaE,IAAQF,EAAgB,6CAAA,EAA+C;CAClFG,YAAY;EACVC,SAAS;EACTC,SAAS;EACTC,cAAc,EAAEC,UAAU,UAAU;EACpCC,OAAO,EAAED,UAAU,UAAU;CAC/B;CACAG,aAAa,EAAEC,MAAM,CAAC,EAAEC,OAAOX,EAAAA,EAAC,EAAA,IAAA,SAAA,CAAA,EAAU,CAAA,EAAG;CAC7CY,WAASC,0CAAA,WAAA;AACX,CAAA"}