@cobaltcore-dev/aurora 0.2.0 → 0.2.2

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 (175) hide show
  1. package/dist/client/{ContentHeader-H8KGY3Wd.mjs → ContentHeader-DtBiIwRY.mjs} +15 -15
  2. package/dist/client/{ContentHeader-H8KGY3Wd.mjs.map → ContentHeader-DtBiIwRY.mjs.map} +1 -1
  3. package/dist/client/{DeleteFlavorModal-B98oiHWx.mjs → DeleteFlavorModal-rmuYIafD.mjs} +142 -142
  4. package/dist/client/{DeleteFlavorModal-B98oiHWx.mjs.map → DeleteFlavorModal-rmuYIafD.mjs.map} +1 -1
  5. package/dist/client/{EditSecurityGroupModal-wQVNIVg1.mjs → EditSecurityGroupModal-B7Sz9puM.mjs} +15 -15
  6. package/dist/client/{EditSecurityGroupModal-wQVNIVg1.mjs.map → EditSecurityGroupModal-B7Sz9puM.mjs.map} +1 -1
  7. package/dist/client/{FloatingIpActionModals-qu1NMI5a.mjs → FloatingIpActionModals-CfRJiZqD.mjs} +59 -59
  8. package/dist/client/{FloatingIpActionModals-qu1NMI5a.mjs.map → FloatingIpActionModals-CfRJiZqD.mjs.map} +1 -1
  9. package/dist/client/{ImageToastNotifications-wsQDNEh7.mjs → ImageToastNotifications-Cw30RXsw.mjs} +374 -374
  10. package/dist/client/{ImageToastNotifications-wsQDNEh7.mjs.map → ImageToastNotifications-Cw30RXsw.mjs.map} +1 -1
  11. package/dist/client/{ListToolbar-CHlkZrpl.mjs → ListToolbar-DuazvsAu.mjs} +61 -61
  12. package/dist/client/{ListToolbar-CHlkZrpl.mjs.map → ListToolbar-DuazvsAu.mjs.map} +1 -1
  13. package/dist/client/{RouteError-BwgDIwJE.mjs → RouteError-Cyto623-.mjs} +2 -2
  14. package/dist/client/{RouteError-BwgDIwJE.mjs.map → RouteError-Cyto623-.mjs.map} +1 -1
  15. package/dist/client/{_auth-CsliQdkJ.mjs → _auth-CJj1Cnbm.mjs} +1 -1
  16. package/dist/client/{_auth-CsliQdkJ.mjs.map → _auth-CJj1Cnbm.mjs.map} +1 -1
  17. package/dist/client/_flavorId-B-1fYadl.mjs +188 -0
  18. package/dist/client/_flavorId-B-1fYadl.mjs.map +1 -0
  19. package/dist/client/{_flavorId-D_A53VYa.mjs → _flavorId-BYfIHIV_.mjs} +20 -10
  20. package/dist/client/_flavorId-BYfIHIV_.mjs.map +1 -0
  21. package/dist/client/_floatingIpId-FQ5P2qMV.mjs +228 -0
  22. package/dist/client/_floatingIpId-FQ5P2qMV.mjs.map +1 -0
  23. package/dist/client/{_floatingIpId-BGgftRBQ.mjs → _floatingIpId-IrnN-ozB.mjs} +13 -3
  24. package/dist/client/_floatingIpId-IrnN-ozB.mjs.map +1 -0
  25. package/dist/client/_imageId-Tx_9bqEc.mjs +527 -0
  26. package/dist/client/_imageId-Tx_9bqEc.mjs.map +1 -0
  27. package/dist/client/{_pcaId-DBgz5V_9.mjs → _pcaId-Bck7S7gJ.mjs} +16 -3
  28. package/dist/client/_pcaId-Bck7S7gJ.mjs.map +1 -0
  29. package/dist/client/_pcaId-CFuKY82d.mjs +369 -0
  30. package/dist/client/_pcaId-CFuKY82d.mjs.map +1 -0
  31. package/dist/client/{_projectId-INhedXor.mjs → _projectId-B1VjDd0Z.mjs} +3 -3
  32. package/dist/client/{_projectId-INhedXor.mjs.map → _projectId-B1VjDd0Z.mjs.map} +1 -1
  33. package/dist/client/_projectId-Bs4W9hos.mjs +283 -0
  34. package/dist/client/_projectId-Bs4W9hos.mjs.map +1 -0
  35. package/dist/client/{_projectId-C-E4NNgo.mjs → _projectId-PSpuCKO7.mjs} +9 -9
  36. package/dist/client/{_projectId-C-E4NNgo.mjs.map → _projectId-PSpuCKO7.mjs.map} +1 -1
  37. package/dist/client/{_projectId-B9fln31N.mjs → _projectId-Pxp-RXK4.mjs} +2 -2
  38. package/dist/client/{_projectId-B9fln31N.mjs.map → _projectId-Pxp-RXK4.mjs.map} +1 -1
  39. package/dist/client/{_securityGroupId-DQoRQ-yA.mjs → _securityGroupId-Dqi6ddw4.mjs} +499 -499
  40. package/dist/client/_securityGroupId-Dqi6ddw4.mjs.map +1 -0
  41. package/dist/client/{_securityGroupId-ihjy8Lcd.mjs → _securityGroupId-VV2lUcGQ.mjs} +16 -3
  42. package/dist/client/_securityGroupId-VV2lUcGQ.mjs.map +1 -0
  43. package/dist/client/{about-oT6ccz8T.mjs → about-B2AzqxFI.mjs} +8 -8
  44. package/dist/client/{about-oT6ccz8T.mjs.map → about-B2AzqxFI.mjs.map} +1 -1
  45. package/dist/client/{aurora-D_NPTbo-.mjs → aurora-CRcxVUCo.mjs} +1 -1
  46. package/dist/client/{aurora-D_NPTbo-.mjs.map → aurora-CRcxVUCo.mjs.map} +1 -1
  47. package/dist/client/{build-eu9eg0zF.mjs → build-Cf7iWbpH.mjs} +2727 -2646
  48. package/dist/client/build-Cf7iWbpH.mjs.map +1 -0
  49. package/dist/client/{buildFilterParams-BDOIRDeD.mjs → buildFilterParams-ngVK3ybs.mjs} +1 -1
  50. package/dist/client/{buildFilterParams-BDOIRDeD.mjs.map → buildFilterParams-ngVK3ybs.mjs.map} +1 -1
  51. package/dist/client/{constants-ByHCdNsI.mjs → constants-CCgR6fKI.mjs} +15 -15
  52. package/dist/client/{constants-ByHCdNsI.mjs.map → constants-CCgR6fKI.mjs.map} +1 -1
  53. package/dist/client/{containers-rn_ntCJu.mjs → containers-BWERuY0O.mjs} +978 -976
  54. package/dist/client/containers-BWERuY0O.mjs.map +1 -0
  55. package/dist/client/{containers-Dx7TYruP.mjs → containers-Cs5vOeR2.mjs} +1 -1
  56. package/dist/client/{containers-Dx7TYruP.mjs.map → containers-Cs5vOeR2.mjs.map} +1 -1
  57. package/dist/client/{containers-B_ozmVlx.mjs → containers-DovytjVP.mjs} +6 -3
  58. package/dist/client/containers-DovytjVP.mjs.map +1 -0
  59. package/dist/client/{flavors-DRZb9LJP.mjs → flavors-BXPYAFyQ.mjs} +1 -1
  60. package/dist/client/flavors-BXPYAFyQ.mjs.map +1 -0
  61. package/dist/client/{flavors-CT4auvLO.mjs → flavors-Bovz-I2U.mjs} +137 -137
  62. package/dist/client/flavors-Bovz-I2U.mjs.map +1 -0
  63. package/dist/client/flavors-CUiALHcB.mjs +16 -0
  64. package/dist/client/flavors-CUiALHcB.mjs.map +1 -0
  65. package/dist/client/floatingips-BrjDiY2t.mjs +435 -0
  66. package/dist/client/floatingips-BrjDiY2t.mjs.map +1 -0
  67. package/dist/client/{formatBytes-GYujK0dP.mjs → formatBytes-D6oa0wU9.mjs} +1 -1
  68. package/dist/client/{formatBytes-GYujK0dP.mjs.map → formatBytes-D6oa0wU9.mjs.map} +1 -1
  69. package/dist/client/{hooks-s-I8vWww.mjs → hooks-D0krAKvo.mjs} +1 -1
  70. package/dist/client/images-BZP3pBqj.mjs +16 -0
  71. package/dist/client/images-BZP3pBqj.mjs.map +1 -0
  72. package/dist/client/{images-DRTfx8k2.mjs → images-DM9I8G0p.mjs} +1 -1
  73. package/dist/client/images-DM9I8G0p.mjs.map +1 -0
  74. package/dist/client/{images-BTqRflJv2.mjs → images-DaaCUXMI.mjs} +413 -410
  75. package/dist/client/images-DaaCUXMI.mjs.map +1 -0
  76. package/dist/client/index.js +494 -414
  77. package/dist/client/index.js.map +1 -1
  78. package/dist/client/{md-CI9FmfYv.mjs → md-BivyCkGC.mjs} +1 -1
  79. package/dist/client/{md-CI9FmfYv.mjs.map → md-BivyCkGC.mjs.map} +1 -1
  80. package/dist/client/{network-DFVVVNS5.mjs → network-SCVadZsv.mjs} +1 -1
  81. package/dist/client/{network-DFVVVNS5.mjs.map → network-SCVadZsv.mjs.map} +1 -1
  82. package/dist/client/{objects-DkDKVSmQ.mjs → objects-B4yrYf_a.mjs} +1 -1
  83. package/dist/client/objects-B4yrYf_a.mjs.map +1 -0
  84. package/dist/client/objects-Cw4Vu01M.mjs +4760 -0
  85. package/dist/client/objects-Cw4Vu01M.mjs.map +1 -0
  86. package/dist/client/{objects-r_Vl31oj.mjs → objects-D4zBka5e.mjs} +9 -3
  87. package/dist/client/objects-D4zBka5e.mjs.map +1 -0
  88. package/dist/client/overview-2J54-loz.mjs +15 -0
  89. package/dist/client/overview-2J54-loz.mjs.map +1 -0
  90. package/dist/client/{overview-B7pXx6bt.mjs → overview-BnmukbFh.mjs} +5 -5
  91. package/dist/client/overview-BnmukbFh.mjs.map +1 -0
  92. package/dist/client/overview-BtIXpYBo.mjs +15 -0
  93. package/dist/client/overview-BtIXpYBo.mjs.map +1 -0
  94. package/dist/client/overview-D0AAvsmL.mjs +15 -0
  95. package/dist/client/overview-D0AAvsmL.mjs.map +1 -0
  96. package/dist/client/pca-BqZycwCu.mjs +16 -0
  97. package/dist/client/pca-BqZycwCu.mjs.map +1 -0
  98. package/dist/client/pca-V2aaOxZA.mjs +167 -0
  99. package/dist/client/pca-V2aaOxZA.mjs.map +1 -0
  100. package/dist/client/{projects-_Dfn6eQT.mjs → projects-0feOw_b6.mjs} +2 -2
  101. package/dist/client/{projects-_Dfn6eQT.mjs.map → projects-0feOw_b6.mjs.map} +1 -1
  102. package/dist/client/{projects-MbS1USl2.mjs → projects-BsN4bvU2.mjs} +1 -1
  103. package/dist/client/{projects-MbS1USl2.mjs.map → projects-BsN4bvU2.mjs.map} +1 -1
  104. package/dist/client/{projects-BuN69cxO.mjs → projects-C1IYOvFQ.mjs} +29 -29
  105. package/dist/client/{projects-BuN69cxO.mjs.map → projects-C1IYOvFQ.mjs.map} +1 -1
  106. package/dist/client/{projects-D1pP0XdA.mjs → projects-jyIHL6DE.mjs} +2 -2
  107. package/dist/client/{projects-D1pP0XdA.mjs.map → projects-jyIHL6DE.mjs.map} +1 -1
  108. package/dist/client/securitygroups-B4MkSBtI.mjs +441 -0
  109. package/dist/client/securitygroups-B4MkSBtI.mjs.map +1 -0
  110. package/dist/client/trpcClient-BxguzNYF.mjs.map +1 -1
  111. package/dist/client/{useListWithFiltering-mMX_EfyI.mjs → useListWithFiltering-CEDh1LO-.mjs} +1 -1
  112. package/dist/client/{useListWithFiltering-mMX_EfyI.mjs.map → useListWithFiltering-CEDh1LO-.mjs.map} +1 -1
  113. package/dist/client/{useModal-Dg4CBeqL.mjs → useModal-DxxlilRm.mjs} +1 -1
  114. package/dist/client/{useModal-Dg4CBeqL.mjs.map → useModal-DxxlilRm.mjs.map} +1 -1
  115. package/dist/client/{useProjectId-BWaeJZOy.mjs → useProjectId-CgOTejka.mjs} +1 -1
  116. package/dist/client/{useProjectId-BWaeJZOy.mjs.map → useProjectId-CgOTejka.mjs.map} +1 -1
  117. package/dist/server/index.js +624 -306
  118. package/package.json +8 -7
  119. package/permission_policies/compute.yaml +975 -0
  120. package/permission_policies/image.yaml +71 -0
  121. package/dist/client/_flavorId-D_A53VYa.mjs.map +0 -1
  122. package/dist/client/_flavorId-DbhYLFxY.mjs +0 -190
  123. package/dist/client/_flavorId-DbhYLFxY.mjs.map +0 -1
  124. package/dist/client/_floatingIpId-BGgftRBQ.mjs.map +0 -1
  125. package/dist/client/_floatingIpId-D5myuLFz.mjs +0 -228
  126. package/dist/client/_floatingIpId-D5myuLFz.mjs.map +0 -1
  127. package/dist/client/_imageId-BoHX155h.mjs +0 -27
  128. package/dist/client/_imageId-BoHX155h.mjs.map +0 -1
  129. package/dist/client/_imageId-CTa0c3Av.mjs +0 -530
  130. package/dist/client/_imageId-CTa0c3Av.mjs.map +0 -1
  131. package/dist/client/_pcaId-C7Lrv1H_.mjs +0 -242
  132. package/dist/client/_pcaId-C7Lrv1H_.mjs.map +0 -1
  133. package/dist/client/_pcaId-DBgz5V_9.mjs.map +0 -1
  134. package/dist/client/_projectId-Be1Erj68.mjs +0 -300
  135. package/dist/client/_projectId-Be1Erj68.mjs.map +0 -1
  136. package/dist/client/_securityGroupId-DQoRQ-yA.mjs.map +0 -1
  137. package/dist/client/_securityGroupId-ihjy8Lcd.mjs.map +0 -1
  138. package/dist/client/build-eu9eg0zF.mjs.map +0 -1
  139. package/dist/client/containers-B_ozmVlx.mjs.map +0 -1
  140. package/dist/client/containers-rn_ntCJu.mjs.map +0 -1
  141. package/dist/client/flavors-CT4auvLO.mjs.map +0 -1
  142. package/dist/client/flavors-DRZb9LJP.mjs.map +0 -1
  143. package/dist/client/flavors-DtgMd0Ii.mjs +0 -12
  144. package/dist/client/flavors-DtgMd0Ii.mjs.map +0 -1
  145. package/dist/client/floatingips-DG5cFJSZ.mjs +0 -12
  146. package/dist/client/floatingips-DG5cFJSZ.mjs.map +0 -1
  147. package/dist/client/floatingips-iCMR0ZiL.mjs +0 -436
  148. package/dist/client/floatingips-iCMR0ZiL.mjs.map +0 -1
  149. package/dist/client/images-BTqRflJv2.mjs.map +0 -1
  150. package/dist/client/images-DRTfx8k2.mjs.map +0 -1
  151. package/dist/client/images-xBfsjxkX.mjs +0 -12
  152. package/dist/client/images-xBfsjxkX.mjs.map +0 -1
  153. package/dist/client/objects-CKk6cST_.mjs +0 -4762
  154. package/dist/client/objects-CKk6cST_.mjs.map +0 -1
  155. package/dist/client/objects-DkDKVSmQ.mjs.map +0 -1
  156. package/dist/client/objects-r_Vl31oj.mjs.map +0 -1
  157. package/dist/client/overview-B7pXx6bt.mjs.map +0 -1
  158. package/dist/client/overview-CKGLIu6W.mjs +0 -12
  159. package/dist/client/overview-CKGLIu6W.mjs.map +0 -1
  160. package/dist/client/overview-Ca8r3SAz.mjs +0 -16
  161. package/dist/client/overview-Ca8r3SAz.mjs.map +0 -1
  162. package/dist/client/overview-DkPM0Od5.mjs +0 -12
  163. package/dist/client/overview-DkPM0Od5.mjs.map +0 -1
  164. package/dist/client/overview-Dxm7Ef3X.mjs +0 -12
  165. package/dist/client/overview-Dxm7Ef3X.mjs.map +0 -1
  166. package/dist/client/overview-ag4Envez.mjs +0 -16
  167. package/dist/client/overview-ag4Envez.mjs.map +0 -1
  168. package/dist/client/pca-BGv7Mprl.mjs +0 -12
  169. package/dist/client/pca-BGv7Mprl.mjs.map +0 -1
  170. package/dist/client/pca-DpULpMu5.mjs +0 -167
  171. package/dist/client/pca-DpULpMu5.mjs.map +0 -1
  172. package/dist/client/securitygroups-DURjFfYK.mjs +0 -12
  173. package/dist/client/securitygroups-DURjFfYK.mjs.map +0 -1
  174. package/dist/client/securitygroups-KC2qvmH8.mjs +0 -442
  175. package/dist/client/securitygroups-KC2qvmH8.mjs.map +0 -1
@@ -12,4 +12,4 @@ var e = (e) => {
12
12
  //#endregion
13
13
  export { e as t };
14
14
 
15
- //# sourceMappingURL=buildFilterParams-BDOIRDeD.mjs.map
15
+ //# sourceMappingURL=buildFilterParams-ngVK3ybs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFilterParams-BDOIRDeD.mjs","names":["buildFilterParams","filterSettings","params","selectedFilters","length","filter","sf","inactive","forEach","value","name"],"sources":["../../src/client/utils/buildFilterParams.ts"],"sourcesContent":["import { FilterSettings } from \"@/client/components/ListToolbar/types\"\n\n/**\n * Builds filter parameters from current filter settings\n */\nexport const buildFilterParams = (filterSettings: FilterSettings): Record<string, string | boolean> => {\n const params: Record<string, string | boolean> = {}\n\n if (!filterSettings.selectedFilters?.length) return params\n\n filterSettings.selectedFilters\n .filter((sf) => !sf.inactive)\n .forEach((sf) => {\n if (sf.value === \"true\" || sf.value === \"false\") {\n params[sf.name] = sf.value === \"true\"\n return\n }\n params[sf.name] = sf.value\n })\n return params\n}\n"],"mappings":";AAKA,IAAaA,KAAqBC,MAAAA;CAChC,IAAMC,IAA2C,EAAC;AAalD,QAXKD,EAAeE,iBAAiBC,UAErCH,EAAeE,gBACZE,QAAQC,MAAO,CAACA,EAAGC,SAAQ,CAC3BC,SAASF,MAAAA;AACR,MAAIA,EAAGG,UAAU,UAAUH,EAAGG,UAAU,SAAS;AAC/CP,KAAOI,EAAGI,QAAQJ,EAAGG,UAAU;AAC/B;;AAEFP,IAAOI,EAAGI,QAAQJ,EAAGG;GACvB,EAVkDP"}
1
+ {"version":3,"file":"buildFilterParams-ngVK3ybs.mjs","names":["buildFilterParams","filterSettings","params","selectedFilters","length","filter","sf","inactive","forEach","value","name"],"sources":["../../src/client/utils/buildFilterParams.ts"],"sourcesContent":["import { FilterSettings } from \"@/client/components/ListToolbar/types\"\n\n/**\n * Builds filter parameters from current filter settings\n */\nexport const buildFilterParams = (filterSettings: FilterSettings): Record<string, string | boolean> => {\n const params: Record<string, string | boolean> = {}\n\n if (!filterSettings.selectedFilters?.length) return params\n\n filterSettings.selectedFilters\n .filter((sf) => !sf.inactive)\n .forEach((sf) => {\n if (sf.value === \"true\" || sf.value === \"false\") {\n params[sf.name] = sf.value === \"true\"\n return\n }\n params[sf.name] = sf.value\n })\n return params\n}\n"],"mappings":";AAKA,IAAaA,KAAqBC,MAAAA;CAChC,IAAMC,IAA2C,EAAC;AAalD,QAXKD,EAAeE,iBAAiBC,UAErCH,EAAeE,gBACZE,QAAQC,MAAO,CAACA,EAAGC,SAAQ,CAC3BC,SAASF,MAAAA;AACR,MAAIA,EAAGG,UAAU,UAAUH,EAAGG,UAAU,SAAS;AAC/CP,KAAOI,EAAGI,QAAQJ,EAAGG,UAAU;AAC/B;;AAEFP,IAAOI,EAAGI,QAAQJ,EAAGG;GACvB,EAVkDP"}
@@ -1,8 +1,8 @@
1
- import { $ as e, D as t, W as n, b as r, i, q as a, s as o } from "./build-eu9eg0zF.mjs";
1
+ import { $ as e, K as t, U as n, it as r, r as i, rt as a, w as o } from "./build-Cf7iWbpH.mjs";
2
2
  import { r as s } from "./trpcClient-BxguzNYF.mjs";
3
- import { c, n as l, p as u } from "./md-CI9FmfYv.mjs";
4
- import { t as d } from "./useProjectId-BWaeJZOy.mjs";
5
- import "./hooks-s-I8vWww.mjs";
3
+ import { c, n as l, p as u } from "./md-BivyCkGC.mjs";
4
+ import { t as d } from "./useProjectId-CgOTejka.mjs";
5
+ import "./hooks-D0krAKvo.mjs";
6
6
  import { jsx as f, jsxs as p } from "react/jsx-runtime";
7
7
  import { Trans as m, useLingui as h } from "@lingui/react";
8
8
  import { z as g } from "zod";
@@ -22,7 +22,7 @@ var b = ({ pca: c, open: l, onClose: u, onSuccess: _ }) => {
22
22
  }), D = y(E.store, (e) => e.isSubmitting || e.values.delete !== "delete"), O = () => {
23
23
  E.reset(), u();
24
24
  };
25
- return /* @__PURE__ */ p(o, {
25
+ return /* @__PURE__ */ p(r, {
26
26
  open: l,
27
27
  size: "large",
28
28
  title: b._({ id: "ctc4XR" }),
@@ -32,7 +32,7 @@ var b = ({ pca: c, open: l, onClose: u, onSuccess: _ }) => {
32
32
  onConfirm: E.handleSubmit,
33
33
  disableConfirmButton: w || D,
34
34
  children: [
35
- T.error?.message && /* @__PURE__ */ f(r, {
35
+ T.error?.message && /* @__PURE__ */ f(n, {
36
36
  dismissible: !1,
37
37
  variant: "error",
38
38
  className: "mb-4",
@@ -40,12 +40,12 @@ var b = ({ pca: c, open: l, onClose: u, onSuccess: _ }) => {
40
40
  }),
41
41
  w && /* @__PURE__ */ p("div", {
42
42
  className: "mb-4 flex items-center justify-center gap-2",
43
- children: [/* @__PURE__ */ f(n, { variant: "primary" }), /* @__PURE__ */ f("span", {
43
+ children: [/* @__PURE__ */ f(t, { variant: "primary" }), /* @__PURE__ */ f("span", {
44
44
  className: "text-theme-high text-sm",
45
45
  children: /* @__PURE__ */ f(m, { id: "nWNviN" })
46
46
  })]
47
47
  }),
48
- /* @__PURE__ */ p(a, {
48
+ /* @__PURE__ */ p(e, {
49
49
  gap: "2.5",
50
50
  direction: "vertical",
51
51
  className: "mb-2.5",
@@ -54,7 +54,7 @@ var b = ({ pca: c, open: l, onClose: u, onSuccess: _ }) => {
54
54
  components: { 0: /* @__PURE__ */ f("strong", {}) }
55
55
  }) })]
56
56
  }),
57
- !w && /* @__PURE__ */ f(t, {
57
+ !w && /* @__PURE__ */ f(a, {
58
58
  className: "mb-0",
59
59
  id: "delete-pca-form",
60
60
  onSubmit: (e) => {
@@ -62,11 +62,11 @@ var b = ({ pca: c, open: l, onClose: u, onSuccess: _ }) => {
62
62
  },
63
63
  children: /* @__PURE__ */ f(i, { children: /* @__PURE__ */ f(E.Field, {
64
64
  name: "delete",
65
- children: (t) => /* @__PURE__ */ f(e, {
66
- id: t.name,
67
- name: t.name,
68
- value: t.state.value,
69
- onChange: (e) => t.handleChange(e.target.value),
65
+ children: (e) => /* @__PURE__ */ f(o, {
66
+ id: e.name,
67
+ name: e.name,
68
+ value: e.state.value,
69
+ onChange: (t) => e.handleChange(t.target.value),
70
70
  placeholder: b._({ id: "QytzQr" }),
71
71
  helptext: b._({ id: "VMh1t1" }),
72
72
  required: !0
@@ -125,4 +125,4 @@ var b = ({ pca: c, open: l, onClose: u, onSuccess: _ }) => {
125
125
  //#endregion
126
126
  export { S as n, b as r, x as t };
127
127
 
128
- //# sourceMappingURL=constants-ByHCdNsI.mjs.map
128
+ //# sourceMappingURL=constants-CCgR6fKI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-ByHCdNsI.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","MdError","MdRemoveCircle","MdCheckCircle","STATE_CONFIG","CREATING","text","icon","size","color","fill","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 { MdError, MdRemoveCircle, MdCheckCircle } from \"react-icons/md\"\nimport { t } from \"@lingui/core/macro\"\nimport { CertificateAuthorityState } from \"@/server/Services/types/pca\"\n\ntype PcaDisplayState = {\n text: string\n icon: React.ReactNode\n}\n\n// will replace text and icon after design-sync with Marta\nexport const STATE_CONFIG: Record<CertificateAuthorityState, PcaDisplayState> = {\n CREATING: {\n text: \"CREATING\",\n icon: <MdCheckCircle size={18} color=\"white\" fill=\"#4FB81C\" />,\n },\n AWAITING_CERTIFICATE: {\n text: \"AWAITING_CERTIFICATE\",\n icon: <MdRemoveCircle size={18} color=\"white\" fill=\"#969696\" />,\n },\n READY: {\n text: \"READY\",\n icon: <MdError size={18} color=\"white\" fill=\"#C70000\" />,\n },\n FAILED: {\n text: \"FAILED\",\n icon: <MdError size={18} color=\"white\" fill=\"#C70000\" />,\n },\n UNEXPECTED: {\n text: \"UNEXPECTED\",\n icon: <MdError size={18} color=\"white\" fill=\"#C70000\" />,\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-CCgR6fKI.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","MdError","MdRemoveCircle","MdCheckCircle","STATE_CONFIG","CREATING","text","icon","size","color","fill","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 { MdError, MdRemoveCircle, MdCheckCircle } from \"react-icons/md\"\nimport { t } from \"@lingui/core/macro\"\nimport { CertificateAuthorityState } from \"@/server/Services/types/pca\"\n\ntype PcaDisplayState = {\n text: string\n icon: React.ReactNode\n}\n\n// will replace text and icon after design-sync with Marta\nexport const STATE_CONFIG: Record<CertificateAuthorityState, PcaDisplayState> = {\n CREATING: {\n text: \"CREATING\",\n icon: <MdCheckCircle size={18} color=\"white\" fill=\"#4FB81C\" />,\n },\n AWAITING_CERTIFICATE: {\n text: \"AWAITING_CERTIFICATE\",\n icon: <MdRemoveCircle size={18} color=\"white\" fill=\"#969696\" />,\n },\n READY: {\n text: \"READY\",\n icon: <MdError size={18} color=\"white\" fill=\"#C70000\" />,\n },\n FAILED: {\n text: \"FAILED\",\n icon: <MdError size={18} color=\"white\" fill=\"#C70000\" />,\n },\n UNEXPECTED: {\n text: \"UNEXPECTED\",\n icon: <MdError size={18} color=\"white\" fill=\"#C70000\" />,\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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"}