@cobaltcore-dev/aurora 0.11.0 → 0.12.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.
- package/dist/client/{ContentHeader-DsuZD8fa.mjs → ContentHeader-D2nIdJKJ.mjs} +22 -22
- package/dist/client/{ContentHeader-DsuZD8fa.mjs.map → ContentHeader-D2nIdJKJ.mjs.map} +1 -1
- package/dist/client/{DeleteFlavorModal-RnbspW_2.mjs → DeleteFlavorModal-Dwm0Hh84.mjs} +174 -174
- package/dist/client/{DeleteFlavorModal-RnbspW_2.mjs.map → DeleteFlavorModal-Dwm0Hh84.mjs.map} +1 -1
- package/dist/client/{DeleteVersionsModal-CsBJzXoW.mjs → DeleteVersionsModal-DQO8lGmS.mjs} +69 -69
- package/dist/client/{DeleteVersionsModal-CsBJzXoW.mjs.map → DeleteVersionsModal-DQO8lGmS.mjs.map} +1 -1
- package/dist/client/{EditSecurityGroupModal-BPv3d7am.mjs → EditSecurityGroupModal-BGPXglju.mjs} +17 -17
- package/dist/client/{EditSecurityGroupModal-BPv3d7am.mjs.map → EditSecurityGroupModal-BGPXglju.mjs.map} +1 -1
- package/dist/client/{FiltersInput-CViamP59.mjs → FiltersInput-cOaaRpcQ.mjs} +20 -20
- package/dist/client/{FiltersInput-CViamP59.mjs.map → FiltersInput-cOaaRpcQ.mjs.map} +1 -1
- package/dist/client/{FloatingIpActionModals-DTn3HFei.mjs → FloatingIpActionModals-RCvaamOg.mjs} +55 -55
- package/dist/client/{FloatingIpActionModals-DTn3HFei.mjs.map → FloatingIpActionModals-RCvaamOg.mjs.map} +1 -1
- package/dist/client/{ImageToastNotifications-CFKQZTgf.mjs → ImageToastNotifications-ClO-1yOH.mjs} +310 -310
- package/dist/client/{ImageToastNotifications-CFKQZTgf.mjs.map → ImageToastNotifications-ClO-1yOH.mjs.map} +1 -1
- package/dist/client/{RouteError-BebIhFpQ.mjs → RouteError-BmZRk_ss.mjs} +2 -2
- package/dist/client/{RouteError-BebIhFpQ.mjs.map → RouteError-BmZRk_ss.mjs.map} +1 -1
- package/dist/client/{SortInput-D0Vb864D.mjs → SortInput-DjaEHvcO.mjs} +6 -6
- package/dist/client/{SortInput-D0Vb864D.mjs.map → SortInput-DjaEHvcO.mjs.map} +1 -1
- package/dist/client/{_flavorId-C9SZd1jL.mjs → _flavorId-CtQEd28h.mjs} +8 -8
- package/dist/client/{_flavorId-C9SZd1jL.mjs.map → _flavorId-CtQEd28h.mjs.map} +1 -1
- package/dist/client/{_flavorId-DINgWoeV.mjs → _flavorId-DVsGdXUf.mjs} +46 -46
- package/dist/client/{_flavorId-DINgWoeV.mjs.map → _flavorId-DVsGdXUf.mjs.map} +1 -1
- package/dist/client/{_floatingIpId-BACLbMzi2.mjs → _floatingIpId-CKMq7-4p2.mjs} +36 -36
- package/dist/client/{_floatingIpId-BACLbMzi2.mjs.map → _floatingIpId-CKMq7-4p2.mjs.map} +1 -1
- package/dist/client/{_floatingIpId-BzVMOv97.mjs → _floatingIpId-DvTh6vdB.mjs} +2 -2
- package/dist/client/{_floatingIpId-BzVMOv97.mjs.map → _floatingIpId-DvTh6vdB.mjs.map} +1 -1
- package/dist/client/_imageId-xG8hC49j.mjs +534 -0
- package/dist/client/{_imageId-DCvaU7-S.mjs.map → _imageId-xG8hC49j.mjs.map} +1 -1
- package/dist/client/{_pcaId-B3PqECyO.mjs → _pcaId-Db_t0x6O.mjs} +147 -147
- package/dist/client/{_pcaId-B3PqECyO.mjs.map → _pcaId-Db_t0x6O.mjs.map} +1 -1
- package/dist/client/{_pcaId-DAJEt3ZI.mjs → _pcaId-WCJoukIk.mjs} +2 -2
- package/dist/client/{_pcaId-DAJEt3ZI.mjs.map → _pcaId-WCJoukIk.mjs.map} +1 -1
- package/dist/client/{_projectId-DU8qRiZk.mjs → _projectId-B2cvskLV.mjs} +2 -2
- package/dist/client/{_projectId-DU8qRiZk.mjs.map → _projectId-B2cvskLV.mjs.map} +1 -1
- package/dist/client/{_projectId-DRr9rLST.mjs → _projectId-BCMkaH_h.mjs} +35 -35
- package/dist/client/_projectId-BCMkaH_h.mjs.map +1 -0
- package/dist/client/{_projectId-B2hG5peP.mjs → _projectId-BdqRntcN.mjs} +15 -14
- package/dist/client/{_projectId-B2hG5peP.mjs.map → _projectId-BdqRntcN.mjs.map} +1 -1
- package/dist/client/{_projectId-BnWXWTBR.mjs → _projectId-C8RGOqZb.mjs} +3 -3
- package/dist/client/{_projectId-BnWXWTBR.mjs.map → _projectId-C8RGOqZb.mjs.map} +1 -1
- package/dist/client/{_securityGroupId-Cj9IotMJ.mjs → _securityGroupId-CyQ3XmpB.mjs} +2 -2
- package/dist/client/{_securityGroupId-Cj9IotMJ.mjs.map → _securityGroupId-CyQ3XmpB.mjs.map} +1 -1
- package/dist/client/{_securityGroupId-ClJiFh4R.mjs → _securityGroupId-DMi7YRux.mjs} +397 -397
- package/dist/client/{_securityGroupId-ClJiFh4R.mjs.map → _securityGroupId-DMi7YRux.mjs.map} +1 -1
- package/dist/client/{_storageType-BrHDa2bD.mjs → _storageType-Bb6YZgXf.mjs} +657 -660
- package/dist/client/{_storageType-BrHDa2bD.mjs.map → _storageType-Bb6YZgXf.mjs.map} +1 -1
- package/dist/client/{_storageType-CSLH93js.mjs → _storageType-g1zkFFRh.mjs} +2 -2
- package/dist/client/{_storageType-CSLH93js.mjs.map → _storageType-g1zkFFRh.mjs.map} +1 -1
- package/dist/client/{about-BnU297yB.mjs → about-B4sGnxeW.mjs} +8 -8
- package/dist/client/{about-BnU297yB.mjs.map → about-B4sGnxeW.mjs.map} +1 -1
- package/dist/client/{build-DF7MTyXG.mjs → build-DgeVmENN.mjs} +2395 -2390
- package/dist/client/{build-DF7MTyXG.mjs.map → build-DgeVmENN.mjs.map} +1 -1
- package/dist/client/{constants-BskfpGYY.mjs → constants-D6IO9bPs.mjs} +16 -16
- package/dist/client/{constants-BskfpGYY.mjs.map → constants-D6IO9bPs.mjs.map} +1 -1
- package/dist/client/{flavors-DAbtRoep.mjs → flavors-CO5l_6d0.mjs} +178 -178
- package/dist/client/{flavors-DAbtRoep.mjs.map → flavors-CO5l_6d0.mjs.map} +1 -1
- package/dist/client/{flavors-DODudzrA.mjs → flavors-D4nGSs0r.mjs} +2 -2
- package/dist/client/{flavors-DODudzrA.mjs.map → flavors-D4nGSs0r.mjs.map} +1 -1
- package/dist/client/{floatingips-DJW9ftN_.mjs → floatingips-ClkRV7a7.mjs} +108 -108
- package/dist/client/{floatingips-DJW9ftN_.mjs.map → floatingips-ClkRV7a7.mjs.map} +1 -1
- package/dist/client/{images-C3JyPwer.mjs → images-B5ktfqg6.mjs} +2 -2
- package/dist/client/{images-C3JyPwer.mjs.map → images-B5ktfqg6.mjs.map} +1 -1
- package/dist/client/{images-Cp6V1nF5.mjs → images-C_OYLPqv.mjs} +440 -440
- package/dist/client/{images-Cp6V1nF5.mjs.map → images-C_OYLPqv.mjs.map} +1 -1
- package/dist/client/{images-BbLnuYrL.mjs → images-CvPxoPC0.mjs} +2 -2
- package/dist/client/{images-BbLnuYrL.mjs.map → images-CvPxoPC0.mjs.map} +1 -1
- package/dist/client/index.js +275 -275
- package/dist/client/index.js.map +1 -1
- package/dist/client/{objects-DUmK3WgA.mjs → objects-D0grS6pk.mjs} +1361 -1361
- package/dist/client/{objects-DUmK3WgA.mjs.map → objects-D0grS6pk.mjs.map} +1 -1
- package/dist/client/{objects-Bw96WXOs.mjs → objects-UQyUQxBj.mjs} +2 -2
- package/dist/client/{objects-Bw96WXOs.mjs.map → objects-UQyUQxBj.mjs.map} +1 -1
- package/dist/client/{pca-Dc_tdh4-.mjs → pca-BJPxOIgq.mjs} +69 -69
- package/dist/client/{pca-Dc_tdh4-.mjs.map → pca-BJPxOIgq.mjs.map} +1 -1
- package/dist/client/{pca-DKeGzbww.mjs → pca-C9MKOi3Z.mjs} +2 -2
- package/dist/client/{pca-DKeGzbww.mjs.map → pca-C9MKOi3Z.mjs.map} +1 -1
- package/dist/client/{projects-CRL37ftA.mjs → projects-C3wR-lvM.mjs} +16 -19
- package/dist/client/projects-C3wR-lvM.mjs.map +1 -0
- package/dist/client/{projects-DUWOgB3m.mjs → projects-CGjBlG2w.mjs} +2 -2
- package/dist/client/{projects-DUWOgB3m.mjs.map → projects-CGjBlG2w.mjs.map} +1 -1
- package/dist/client/{projects-DpXQYfKc.mjs → projects-DvSiI5Vg.mjs} +2 -2
- package/dist/client/{projects-DpXQYfKc.mjs.map → projects-DvSiI5Vg.mjs.map} +1 -1
- package/dist/client/{securitygroups-CWWFSjjj.mjs → securitygroups-n8ujBpJP.mjs} +118 -118
- package/dist/client/{securitygroups-CWWFSjjj.mjs.map → securitygroups-n8ujBpJP.mjs.map} +1 -1
- package/dist/client/{useListWithFiltering-C9k7xWqz.mjs → useListWithFiltering-BuhE81I6.mjs} +10 -10
- package/dist/client/{useListWithFiltering-C9k7xWqz.mjs.map → useListWithFiltering-BuhE81I6.mjs.map} +1 -1
- package/dist/server/index.d.ts +6 -2
- package/dist/server/index.js +4 -17
- package/package.json +4 -4
- package/dist/client/_imageId-DCvaU7-S.mjs +0 -534
- package/dist/client/_projectId-DRr9rLST.mjs.map +0 -1
- package/dist/client/projects-CRL37ftA.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditSecurityGroupModal-
|
|
1
|
+
{"version":3,"file":"EditSecurityGroupModal-BGPXglju.mjs","names":["React","useState","useEffect","Modal","Form","FormRow","FormSection","TextInput","Checkbox","Button","ButtonRow","Spinner","ModalFooter","Textarea","Message","EditSecurityGroupModal","securityGroup","open","onClose","onUpdate","isLoading","error","useLingui","properties","setProperties","name","description","stateful","errors","setErrors","handleInputChange","e","value","type","target","checked","prev","newErrors","validateForm","trim","t","Object","keys","length","handleSubmit","preventDefault","updateData","undefined","id","handleClose","onCancel","size","title","modalFooter","className","variant","onClick","disabled","data-testid","dismissible","div","span","label","onChange","required","errortext","placeholder","rows"],"sources":["../../src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/-modals/EditSecurityGroupModal.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\"\nimport { Trans, useLingui } from \"@lingui/react/macro\"\nimport {\n Modal,\n Form,\n FormRow,\n FormSection,\n TextInput,\n Checkbox,\n Button,\n ButtonRow,\n Spinner,\n ModalFooter,\n Textarea,\n Message,\n} from \"@cloudoperators/juno-ui-components\"\nimport type { SecurityGroup } from \"@/server/Network/types/securityGroup\"\nimport { UpdateSecurityGroupInput } from \"@/server/Network/types/securityGroup\"\n\ninterface EditSecurityGroupModalProps {\n securityGroup: SecurityGroup\n open: boolean\n onClose: () => void\n onUpdate?: (\n securityGroupId: string,\n data: Omit<UpdateSecurityGroupInput, \"securityGroupId\" | \"project_id\">\n ) => Promise<void>\n isLoading?: boolean\n error?: string | null\n}\n\ninterface SecurityGroupProperties {\n name: string\n description: string\n stateful: boolean\n}\n\nexport const EditSecurityGroupModal: React.FC<EditSecurityGroupModalProps> = ({\n securityGroup,\n open,\n onClose,\n onUpdate,\n isLoading = false,\n error = null,\n}) => {\n const { t } = useLingui()\n\n const [properties, setProperties] = useState<SecurityGroupProperties>({\n name: securityGroup.name || \"\",\n description: securityGroup.description || \"\",\n stateful: securityGroup.stateful ?? true,\n })\n const [errors, setErrors] = useState<{ [key: string]: string }>({})\n\n // Update properties when securityGroup changes\n useEffect(() => {\n setProperties({\n name: securityGroup.name || \"\",\n description: securityGroup.description || \"\",\n stateful: securityGroup.stateful ?? true,\n })\n }, [securityGroup])\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { name, value, type } = e.target\n const checked = (e.target as HTMLInputElement).checked\n\n setProperties((prev) => ({\n ...prev,\n [name]: type === \"checkbox\" ? checked : value,\n }))\n\n if (errors[name]) {\n setErrors((prev) => {\n const newErrors = { ...prev }\n delete newErrors[name]\n return newErrors\n })\n }\n }\n\n const validateForm = (): boolean => {\n const newErrors: { [key: string]: string } = {}\n\n if (!properties.name || properties.name.trim() === \"\") {\n newErrors.name = t`Security group name is required`\n }\n\n setErrors(newErrors)\n return Object.keys(newErrors).length === 0\n }\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault()\n\n if (!validateForm()) {\n return\n }\n\n if (onUpdate) {\n const updateData: Omit<UpdateSecurityGroupInput, \"securityGroupId\" | \"project_id\"> = {\n name: properties.name.trim(),\n description: properties.description.trim() || undefined,\n stateful: properties.stateful,\n }\n\n await onUpdate(securityGroup.id, updateData)\n }\n }\n\n const handleClose = () => {\n setErrors({})\n onClose()\n }\n\n return (\n <Modal\n open={open}\n onCancel={handleClose}\n size=\"large\"\n title={t`Edit Security Group`}\n modalFooter={\n <ModalFooter className=\"flex justify-end\">\n <ButtonRow>\n <Button variant=\"default\" onClick={handleClose} disabled={isLoading}>\n <Trans>Cancel</Trans>\n </Button>\n <Button\n variant=\"primary\"\n onClick={(e) => {\n handleSubmit(e)\n }}\n disabled={isLoading}\n data-testid=\"update-security-group-button\"\n >\n {isLoading ? <Spinner size=\"small\" /> : <Trans>Update Security Group</Trans>}\n </Button>\n </ButtonRow>\n </ModalFooter>\n }\n >\n {/* Error Message */}\n {error && (\n <Message dismissible={false} variant=\"error\" className=\"mb-4\">\n {error}\n </Message>\n )}\n\n {/* Info message about stateful changes */}\n <Message dismissible={false} variant=\"info\" className=\"mb-4\">\n <Trans>\n Note: The 'stateful' attribute cannot be changed if this security group is currently in use by one or more\n ports.\n </Trans>\n </Message>\n\n {isLoading && (\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>Updating security group...</Trans>\n </span>\n </div>\n )}\n\n {!isLoading && (\n <Form className=\"mb-6\">\n <FormSection className=\"mb-6\">\n <FormRow className=\"mb-6\">\n <TextInput\n id=\"name\"\n name=\"name\"\n label={t`Name`}\n value={properties.name}\n onChange={handleInputChange}\n required\n errortext={errors.name}\n placeholder={t`Type name`}\n disabled={isLoading}\n />\n </FormRow>\n\n <FormRow className=\"mb-6\">\n <Textarea\n id=\"description\"\n name=\"description\"\n label={t`Description`}\n value={properties.description}\n onChange={handleInputChange}\n placeholder={t`Description`}\n disabled={isLoading}\n rows={3}\n />\n </FormRow>\n\n <FormRow className=\"mb-0\">\n <Checkbox\n id=\"stateful\"\n name=\"stateful\"\n label={t`Stateful`}\n checked={properties.stateful}\n onChange={handleInputChange}\n disabled={isLoading}\n />\n </FormRow>\n </FormSection>\n </Form>\n )}\n </Modal>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as e, I as t, L as n, S as r, dt as i, m as a, tt as o, y as s } from "./build-DgeVmENN.mjs";
|
|
2
2
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
3
3
|
import { useCallback as u, useState as d } from "react";
|
|
4
4
|
import { useLingui as f } from "@lingui/react";
|
|
5
5
|
//#region src/client/components/ListToolbar/SelectedFilters.tsx
|
|
6
|
-
var p = ({ selectedFilters:
|
|
7
|
-
let { i18n:
|
|
8
|
-
return /*#__PURE__*/ l(
|
|
6
|
+
var p = ({ selectedFilters: e, onDelete: n, onClear: r }) => {
|
|
7
|
+
let { i18n: i, _: a } = f();
|
|
8
|
+
return /*#__PURE__*/ l(o, {
|
|
9
9
|
gap: "2",
|
|
10
10
|
wrap: !0,
|
|
11
11
|
alignment: "start",
|
|
12
12
|
distribution: "start",
|
|
13
|
-
children: [
|
|
13
|
+
children: [e.map((e) => /*#__PURE__*/ c(t, {
|
|
14
14
|
closeable: !0,
|
|
15
15
|
pillKey: e.name,
|
|
16
16
|
pillValue: e.value,
|
|
17
|
-
onClose: () =>
|
|
18
|
-
}, `${e.name}:${e.value}`)),
|
|
17
|
+
onClose: () => n(e)
|
|
18
|
+
}, `${e.name}:${e.value}`)), e.length > 1 && /*#__PURE__*/ c(s, {
|
|
19
19
|
size: "small",
|
|
20
|
-
label:
|
|
21
|
-
onClick:
|
|
20
|
+
label: i._({ id: "yYxB17" }),
|
|
21
|
+
onClick: r
|
|
22
22
|
})]
|
|
23
23
|
});
|
|
24
24
|
};
|
|
@@ -27,9 +27,9 @@ var p = ({ selectedFilters: n, onDelete: r, onClear: a }) => {
|
|
|
27
27
|
function m(e) {
|
|
28
28
|
return e == null ? !0 : typeof e == "string" || Array.isArray(e) ? e.length === 0 : e instanceof Map || e instanceof Set ? e.size === 0 : typeof e == "object" ? Object.keys(e).length === 0 : !1;
|
|
29
29
|
}
|
|
30
|
-
var h = ({ filters:
|
|
31
|
-
let { i18n:
|
|
32
|
-
v(e), !m(h) && !m(e) &&
|
|
30
|
+
var h = ({ filters: t, onChange: o }) => {
|
|
31
|
+
let { i18n: s, _: p } = f(), [h, g] = d(""), [_, v] = d(""), y = t.find((e) => e.filterName === h)?.values?.filter((e) => e), b = u((e) => {
|
|
32
|
+
v(e), !m(h) && !m(e) && o({
|
|
33
33
|
name: h,
|
|
34
34
|
value: e
|
|
35
35
|
}), setTimeout(() => {
|
|
@@ -38,12 +38,12 @@ var h = ({ filters: e, onChange: t }) => {
|
|
|
38
38
|
}, [
|
|
39
39
|
h,
|
|
40
40
|
v,
|
|
41
|
-
|
|
41
|
+
o
|
|
42
42
|
]), x = () => ({
|
|
43
43
|
className: "w-full sm:flex-1 sm:min-w-0",
|
|
44
44
|
name: "filter",
|
|
45
45
|
"data-testid": "select-filterValue",
|
|
46
|
-
label:
|
|
46
|
+
label: s._({ id: "0cVgUw" }),
|
|
47
47
|
value: h,
|
|
48
48
|
onChange: (e) => {
|
|
49
49
|
g(String(e));
|
|
@@ -56,18 +56,18 @@ var h = ({ filters: e, onChange: t }) => {
|
|
|
56
56
|
disabled: !h,
|
|
57
57
|
onChange: b
|
|
58
58
|
});
|
|
59
|
-
return /*#__PURE__*/ l(
|
|
59
|
+
return /*#__PURE__*/ l(r, {
|
|
60
60
|
className: "flex w-full flex-col sm:w-auto sm:flex-row sm:items-end",
|
|
61
|
-
children: [/*#__PURE__*/ c(
|
|
61
|
+
children: [/*#__PURE__*/ c(i, {
|
|
62
62
|
...x(),
|
|
63
|
-
children:
|
|
63
|
+
children: t?.map(({ displayName: e, filterName: t }) => /*#__PURE__*/ c(a, {
|
|
64
64
|
value: t,
|
|
65
65
|
label: e,
|
|
66
66
|
"data-testid": t
|
|
67
67
|
}, t))
|
|
68
|
-
}), /*#__PURE__*/ c(
|
|
68
|
+
}), /*#__PURE__*/ c(e, {
|
|
69
69
|
...S(),
|
|
70
|
-
children: y?.map((e) => /*#__PURE__*/ c(
|
|
70
|
+
children: y?.map((e) => /*#__PURE__*/ c(n, {
|
|
71
71
|
value: e,
|
|
72
72
|
label: e,
|
|
73
73
|
"data-testid": e
|
|
@@ -78,4 +78,4 @@ var h = ({ filters: e, onChange: t }) => {
|
|
|
78
78
|
//#endregion
|
|
79
79
|
export { p as n, h as t };
|
|
80
80
|
|
|
81
|
-
//# sourceMappingURL=FiltersInput-
|
|
81
|
+
//# sourceMappingURL=FiltersInput-cOaaRpcQ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltersInput-
|
|
1
|
+
{"version":3,"file":"FiltersInput-cOaaRpcQ.mjs","names":["Button","Pill","Stack","SelectedFilters","selectedFilters","onDelete","onClear","useLingui","gap","wrap","alignment","distribution","map","filter","closeable","pillKey","name","pillValue","value","onClose","length","size","label","t","onClick","useCallback","useState","InputGroup","ComboBox","ComboBoxOption","SelectOption","Select","isEmpty","value","Array","isArray","length","Map","Set","size","Object","keys","FiltersInput","filters","onChange","useLingui","selectedFilterName","setSelectedFilterName","selectedFilterValue","setSelectedFilterValue","filterValues","find","filter","filterName","values","handleValueChange","name","setTimeout","getSelectProps","className","label","t","String","getComboBoxProps","disabled","map","displayName","data-testid"],"sources":["../../src/client/components/ListToolbar/SelectedFilters.tsx","../../src/client/components/ListToolbar/FiltersInput.tsx"],"sourcesContent":["import { useLingui } from \"@lingui/react/macro\"\nimport { Button, Pill, Stack } from \"@cloudoperators/juno-ui-components\"\nimport { SelectedFilter } from \"./types\"\n\nexport type SelectedFiltersProps = {\n /**\n * Array of currently active filters to be displayed as closeable pills.\n */\n selectedFilters: SelectedFilter[]\n\n /**\n * Callback function invoked when a user removes an individual filter pill.\n */\n onDelete: (filter: SelectedFilter) => void\n\n /**\n * Callback function invoked when the \"Clear all\" button is clicked.\n */\n onClear: () => void\n}\n\n/**\n * SelectedFilters Component\n *\n * Displays currently active filters as closeable pill components with individual\n * remove buttons and an optional \"Clear all\" button (shown when 2+ filters are active).\n *\n * The pills are arranged in a flexible, wrapping layout that adapts to available space.\n */\nexport const SelectedFilters = ({ selectedFilters, onDelete, onClear }: SelectedFiltersProps) => {\n const { t } = useLingui()\n\n return (\n <Stack gap=\"2\" wrap={true} alignment=\"start\" distribution=\"start\">\n {/* Render a closeable pill for each selected filter */}\n {selectedFilters.map((filter) => (\n <Pill\n key={`${filter.name}:${filter.value}`}\n closeable\n pillKey={filter.name}\n pillValue={filter.value}\n onClose={() => onDelete(filter)}\n />\n ))}\n {selectedFilters.length > 1 && <Button size=\"small\" label={t`Clear all`} onClick={onClear} />}\n </Stack>\n )\n}\n","import { useCallback, useState } from \"react\"\nimport { useLingui } from \"@lingui/react/macro\"\nimport {\n InputGroup,\n ComboBox,\n ComboBoxProps,\n ComboBoxOption,\n SelectOption,\n Select,\n SelectProps,\n} from \"@cloudoperators/juno-ui-components\"\nimport { Filter, SelectedFilter } from \"./types\"\n\nexport type FiltersInputProps = {\n filters: Filter[]\n onChange: (filter: SelectedFilter) => void\n}\n\nfunction isEmpty(value: unknown) {\n if (value == null) return true\n if (typeof value === \"string\" || Array.isArray(value)) return value.length === 0\n if (value instanceof Map || value instanceof Set) return value.size === 0\n if (typeof value === \"object\") return Object.keys(value).length === 0\n return false\n}\n\nexport const FiltersInput = ({ filters, onChange }: FiltersInputProps) => {\n const { t } = useLingui()\n\n const [selectedFilterName, setSelectedFilterName] = useState<string>(\"\")\n const [selectedFilterValue, setSelectedFilterValue] = useState<string>(\"\")\n\n const filterValues: string[] | undefined = filters\n .find((filter) => filter.filterName === selectedFilterName)\n ?.values?.filter((value) => value)\n\n const handleValueChange = useCallback(\n (value: string) => {\n setSelectedFilterValue(value)\n if (!isEmpty(selectedFilterName) && !isEmpty(value)) {\n onChange({\n name: selectedFilterName,\n value: value,\n })\n }\n setTimeout(() => {\n setSelectedFilterValue(\"\")\n }, 0)\n },\n [selectedFilterName, setSelectedFilterValue, onChange]\n )\n\n const getSelectProps = (): SelectProps & { \"data-testid\"?: string } => ({\n className: \"w-full sm:flex-1 sm:min-w-0\",\n name: \"filter\",\n \"data-testid\": \"select-filterValue\",\n label: t`Filter by`,\n value: selectedFilterName,\n onChange: (value: string | number | string[] | undefined) => {\n setSelectedFilterName(String(value))\n },\n })\n\n const getComboBoxProps = (): ComboBoxProps & { \"data-testid\"?: string } => ({\n className: \"w-full sm:flex-1 sm:min-w-0\",\n name: \"filterValue\",\n \"data-testid\": \"combobox-filterValue\",\n value: selectedFilterValue,\n disabled: !selectedFilterName,\n onChange: handleValueChange,\n })\n\n return (\n <InputGroup className=\"flex w-full flex-col sm:w-auto sm:flex-row sm:items-end\">\n <Select {...getSelectProps()}>\n {filters?.map(({ displayName, filterName }) => (\n <SelectOption value={filterName} label={displayName} key={filterName} data-testid={filterName} />\n ))}\n </Select>\n <ComboBox {...getComboBoxProps()}>\n {filterValues?.map((value) => (\n <ComboBoxOption value={value} key={value} label={value} data-testid={value} />\n ))}\n </ComboBox>\n </InputGroup>\n )\n}\n"],"mappings":";;;;;AA6BA,IAAaG,KAAmB,EAAEC,oBAAiBC,aAAUC,iBAA+B;CAC1F,IAAM,EAAA,MAAA,GAAA,GAAA,MAAQC,EAAAA;CAEd,OACE,gBAACL,GAAAA;EAAMM,KAAI;EAAIC,MAAM;EAAMC,WAAU;EAAQC,cAAa;aAEvDP,EAAgBQ,KAAKC,MACpB,gBAACZ,GAAAA;GAECa,WAAS;GACTC,SAASF,EAAOG;GAChBC,WAAWJ,EAAOK;GAClBC,eAAed,EAASQ,CAAAA;KAJnB,GAAGA,EAAOG,KAAK,GAAGH,EAAOK,OAAO,CAAA,GAOxCd,EAAgBgB,SAAS,KAAK,gBAACpB,GAAAA;GAAOqB,MAAK;GAAQC,OAAOC,EAAAA,EAAC,EAAA,IAAA,SAAU,CAAA;GAAGC,SAASlB;;;AAGxF;;;AC7BA,SAAS0B,EAAQC,GAAc;CAK7B,OAJIA,KAAS,OAAa,KACtB,OAAOA,KAAU,YAAYC,MAAMC,QAAQF,CAAAA,IAAeA,EAAMG,WAAW,IAC3EH,aAAiBI,OAAOJ,aAAiBK,MAAYL,EAAMM,SAAS,IACpE,OAAON,KAAU,WAAiBO,OAAOC,KAAKR,CAAAA,EAAOG,WAAW,IAC7D;AACT;AAEA,IAAaM,KAAgB,EAAEC,YAASC,kBAA6B;CACnE,IAAM,EAAA,MAAA,GAAA,GAAA,MAAQC,EAAAA,GAER,CAACC,GAAoBC,KAAyBrB,EAAiB,EAAA,GAC/D,CAACsB,GAAqBC,KAA0BvB,EAAiB,EAAA,GAEjEwB,IAAqCP,EACxCQ,MAAMC,MAAWA,EAAOC,eAAeP,CAAAA,GACtCQ,QAAQF,QAAQnB,MAAUA,CAAAA,GAExBsB,IAAoB9B,GACvBQ,MAAAA;EAQCwB,AAPAR,EAAuBhB,CAAAA,GACnB,CAACD,EAAQc,CAAAA,KAAuB,CAACd,EAAQC,CAAAA,KAC3CW,EAAS;GACPY,MAAMV;GACCb;EACT,CAAA,GAEFwB,iBAAW;GACTR,EAAuB,EAAA;EACzB,GAAG,CAAA;CACL,GACA;EAACH;EAAoBG;EAAwBL;EAAS,GAGlDc,WAAkE;EACtEC,WAAW;EACXH,MAAM;EACN,eAAe;EACfI,OAAOC,EAAAA,EAAC,EAAA,IAAA,SAAU,CAAA;EAClB5B,OAAOa;EACPF,WAAWX,MAAAA;GACTc,EAAsBe,OAAO7B,CAAAA,CAAAA;EAC/B;CACF,IAEM8B,WAAsE;EAC1EJ,WAAW;EACXH,MAAM;EACN,eAAe;EACfvB,OAAOe;EACPgB,UAAU,CAAClB;EACXF,UAAUW;CACZ;CAEA,OACE,gBAAC5B,GAAAA;EAAWgC,WAAU;aACpB,gBAAC5B,GAAAA;GAAQ,GAAG2B,EAAAA;aACTf,GAASsB,KAAK,EAAEC,gBAAab,oBAC5B,gBAACvB,GAAAA;IAAaG,OAAOoB;IAAYO,OAAOM;IAA8BC,eAAad;MAAzBA,CAAAA,CAAAA;MAG9D,gBAACzB,GAAAA;GAAU,GAAGmC,EAAAA;aACXb,GAAce,KAAKhC,MAClB,gBAACJ,GAAAA;IAAsBI;IAAmB2B,OAAO3B;IAAOkC,eAAalC;MAAlCA,CAAAA,CAAAA;;;AAK7C"}
|
package/dist/client/{FloatingIpActionModals-DTn3HFei.mjs → FloatingIpActionModals-RCvaamOg.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as e, H as t, K as n, U as r, dt as i, et as a, m as o, o as s, r as c, tt as l } from "./build-DgeVmENN.mjs";
|
|
2
2
|
import { r as u } from "./trpcClient-BzPUgiM2.mjs";
|
|
3
3
|
import { t as d } from "./useModal-DCs1OJh7.mjs";
|
|
4
4
|
import { t as f } from "./useProjectId-DBc5lpoU.mjs";
|
|
@@ -68,29 +68,29 @@ var x = () => {
|
|
|
68
68
|
isDeletePending: r.isPending,
|
|
69
69
|
deleteError: r.error?.message ?? null
|
|
70
70
|
};
|
|
71
|
-
}, S = ({ floatingIp:
|
|
72
|
-
let { i18n: S, _: C } = _(), w = f(), { floating_ip_address: T } =
|
|
71
|
+
}, S = ({ floatingIp: r, open: a, onClose: l, onUpdate: d, isLoading: p = !1, error: x = null }) => {
|
|
72
|
+
let { i18n: S, _: C } = _(), w = f(), { floating_ip_address: T } = r, E = v.object({
|
|
73
73
|
port_id: v.string(),
|
|
74
74
|
fixed_ip_address: v.string()
|
|
75
75
|
}), { data: D = [] } = u.network.floatingIp.listAvailablePorts.useQuery({ project_id: w }), O = y({
|
|
76
76
|
defaultValues: {
|
|
77
|
-
port_id:
|
|
77
|
+
port_id: r.port_id ?? "",
|
|
78
78
|
fixed_ip_address: ""
|
|
79
79
|
},
|
|
80
80
|
validators: { onSubmit: E },
|
|
81
81
|
onSubmit: async ({ value: e }) => {
|
|
82
|
-
p || (await d(
|
|
82
|
+
p || (await d(r.id, {
|
|
83
83
|
project_id: w,
|
|
84
84
|
port_id: e.port_id,
|
|
85
85
|
...e.fixed_ip_address && { fixed_ip_address: e.fixed_ip_address }
|
|
86
86
|
}), k());
|
|
87
87
|
}
|
|
88
88
|
}), k = () => {
|
|
89
|
-
O.reset(),
|
|
89
|
+
O.reset(), l();
|
|
90
90
|
}, A = b(O.store, (e) => e.values.port_id), j = D.find((e) => e.id === A)?.fixed_ips ?? [];
|
|
91
|
-
return /*#__PURE__*/ h(
|
|
92
|
-
id:
|
|
93
|
-
open:
|
|
91
|
+
return /*#__PURE__*/ h(c, {
|
|
92
|
+
id: r.id,
|
|
93
|
+
open: a,
|
|
94
94
|
size: "large",
|
|
95
95
|
title: S._({
|
|
96
96
|
id: "slWh5C",
|
|
@@ -102,7 +102,7 @@ var x = () => {
|
|
|
102
102
|
onConfirm: O.handleSubmit,
|
|
103
103
|
disableConfirmButton: p || !A,
|
|
104
104
|
children: [
|
|
105
|
-
x && /*#__PURE__*/ m(
|
|
105
|
+
x && /*#__PURE__*/ m(e, {
|
|
106
106
|
dismissible: !1,
|
|
107
107
|
variant: "error",
|
|
108
108
|
className: "mb-4",
|
|
@@ -110,22 +110,22 @@ var x = () => {
|
|
|
110
110
|
}),
|
|
111
111
|
p && /*#__PURE__*/ h("div", {
|
|
112
112
|
className: "mb-4 flex items-center justify-center gap-2",
|
|
113
|
-
children: [/*#__PURE__*/ m(
|
|
113
|
+
children: [/*#__PURE__*/ m(n, { variant: "primary" }), /*#__PURE__*/ m("span", {
|
|
114
114
|
className: "text-theme-high text-sm",
|
|
115
115
|
children: /*#__PURE__*/ m(g, { id: "tejJLY" })
|
|
116
116
|
})]
|
|
117
117
|
}),
|
|
118
|
-
!p && /*#__PURE__*/ h(
|
|
118
|
+
!p && /*#__PURE__*/ h(s, {
|
|
119
119
|
className: "mb-0",
|
|
120
120
|
id: "associate-floating-ip-form",
|
|
121
121
|
onSubmit: (e) => {
|
|
122
122
|
e.preventDefault(), O.handleSubmit();
|
|
123
123
|
},
|
|
124
|
-
children: [/*#__PURE__*/ m(
|
|
124
|
+
children: [/*#__PURE__*/ m(t, {
|
|
125
125
|
className: "mb-4",
|
|
126
126
|
children: /*#__PURE__*/ m(O.Field, {
|
|
127
127
|
name: "port_id",
|
|
128
|
-
children: (e) => /*#__PURE__*/ m(
|
|
128
|
+
children: (e) => /*#__PURE__*/ m(i, {
|
|
129
129
|
id: e.name,
|
|
130
130
|
name: e.name,
|
|
131
131
|
value: e.state.value,
|
|
@@ -139,15 +139,15 @@ var x = () => {
|
|
|
139
139
|
placeholder: S._({ id: "UztfYZ" }),
|
|
140
140
|
errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
|
|
141
141
|
disabled: p,
|
|
142
|
-
children: D.map((e) => /*#__PURE__*/ m(
|
|
142
|
+
children: D.map((e) => /*#__PURE__*/ m(o, {
|
|
143
143
|
value: e.id,
|
|
144
144
|
label: e.name ? `${e.name} (${e.id})` : e.id
|
|
145
145
|
}, e.id))
|
|
146
146
|
})
|
|
147
147
|
})
|
|
148
|
-
}), /*#__PURE__*/ m(
|
|
148
|
+
}), /*#__PURE__*/ m(t, { children: /*#__PURE__*/ m(O.Field, {
|
|
149
149
|
name: "fixed_ip_address",
|
|
150
|
-
children: (e) => /*#__PURE__*/ m(
|
|
150
|
+
children: (e) => /*#__PURE__*/ m(i, {
|
|
151
151
|
id: e.name,
|
|
152
152
|
name: e.name,
|
|
153
153
|
value: e.state.value,
|
|
@@ -157,7 +157,7 @@ var x = () => {
|
|
|
157
157
|
helptext: S._({ id: "PtjzS+" }),
|
|
158
158
|
errortext: e.state.meta.errors.map((e) => e?.message).join(", "),
|
|
159
159
|
disabled: p || j.length === 0,
|
|
160
|
-
children: j.map(({ ip_address: e }) => /*#__PURE__*/ m(
|
|
160
|
+
children: j.map(({ ip_address: e }) => /*#__PURE__*/ m(o, {
|
|
161
161
|
value: e,
|
|
162
162
|
label: e
|
|
163
163
|
}, e))
|
|
@@ -166,21 +166,21 @@ var x = () => {
|
|
|
166
166
|
})
|
|
167
167
|
]
|
|
168
168
|
});
|
|
169
|
-
}, C = ({ floatingIp:
|
|
170
|
-
let { i18n: x, _: S } = _(), C = f(), { floating_ip_address: w } =
|
|
169
|
+
}, C = ({ floatingIp: i, open: a, onClose: o, onUpdate: u, isLoading: d = !1, error: p = null }) => {
|
|
170
|
+
let { i18n: x, _: S } = _(), C = f(), { floating_ip_address: w } = i, T = y({
|
|
171
171
|
defaultValues: { detach: "" },
|
|
172
172
|
validators: { onSubmit: v.object({ detach: v.string().refine((e) => e === "detach", { message: x._({ id: "dPoCVe" }) }) }) },
|
|
173
173
|
onSubmit: async () => {
|
|
174
|
-
d || (await u(
|
|
174
|
+
d || (await u(i.id, {
|
|
175
175
|
project_id: C,
|
|
176
176
|
port_id: null
|
|
177
177
|
}), D());
|
|
178
178
|
}
|
|
179
179
|
}), E = b(T.store, (e) => e.isSubmitting || e.values.detach !== "detach"), D = () => {
|
|
180
|
-
T.reset(),
|
|
180
|
+
T.reset(), o();
|
|
181
181
|
};
|
|
182
|
-
return /*#__PURE__*/ h(
|
|
183
|
-
open:
|
|
182
|
+
return /*#__PURE__*/ h(c, {
|
|
183
|
+
open: a,
|
|
184
184
|
size: "large",
|
|
185
185
|
title: x._({
|
|
186
186
|
id: "vZUKSz",
|
|
@@ -192,7 +192,7 @@ var x = () => {
|
|
|
192
192
|
onConfirm: T.handleSubmit,
|
|
193
193
|
disableConfirmButton: d || E,
|
|
194
194
|
children: [
|
|
195
|
-
p && /*#__PURE__*/ m(
|
|
195
|
+
p && /*#__PURE__*/ m(e, {
|
|
196
196
|
dismissible: !1,
|
|
197
197
|
variant: "error",
|
|
198
198
|
className: "mb-4",
|
|
@@ -200,12 +200,12 @@ var x = () => {
|
|
|
200
200
|
}),
|
|
201
201
|
d && /*#__PURE__*/ h("div", {
|
|
202
202
|
className: "mb-4 flex items-center justify-center gap-2",
|
|
203
|
-
children: [/*#__PURE__*/ m(
|
|
203
|
+
children: [/*#__PURE__*/ m(n, { variant: "primary" }), /*#__PURE__*/ m("span", {
|
|
204
204
|
className: "text-theme-high text-sm",
|
|
205
205
|
children: /*#__PURE__*/ m(g, { id: "D3IRXw" })
|
|
206
206
|
})]
|
|
207
207
|
}),
|
|
208
|
-
/*#__PURE__*/ h(
|
|
208
|
+
/*#__PURE__*/ h(l, {
|
|
209
209
|
gap: "2.5",
|
|
210
210
|
direction: "vertical",
|
|
211
211
|
className: "mb-2.5",
|
|
@@ -214,15 +214,15 @@ var x = () => {
|
|
|
214
214
|
components: { 0: /*#__PURE__*/ m("strong", {}) }
|
|
215
215
|
}) })]
|
|
216
216
|
}),
|
|
217
|
-
!d && /*#__PURE__*/ m(
|
|
217
|
+
!d && /*#__PURE__*/ m(s, {
|
|
218
218
|
className: "mb-0",
|
|
219
219
|
id: "detach-floating-ip-form",
|
|
220
220
|
onSubmit: (e) => {
|
|
221
221
|
e.preventDefault(), T.handleSubmit();
|
|
222
222
|
},
|
|
223
|
-
children: /*#__PURE__*/ m(
|
|
223
|
+
children: /*#__PURE__*/ m(t, { children: /*#__PURE__*/ m(T.Field, {
|
|
224
224
|
name: "detach",
|
|
225
|
-
children: (e) => /*#__PURE__*/ m(
|
|
225
|
+
children: (e) => /*#__PURE__*/ m(r, {
|
|
226
226
|
id: e.name,
|
|
227
227
|
name: e.name,
|
|
228
228
|
value: e.state.value,
|
|
@@ -236,23 +236,23 @@ var x = () => {
|
|
|
236
236
|
})
|
|
237
237
|
]
|
|
238
238
|
});
|
|
239
|
-
}, w = ({ floatingIp:
|
|
240
|
-
let { i18n: p, _: x } = _(), S = f(), { description: C, floating_ip_address: w } =
|
|
239
|
+
}, w = ({ floatingIp: r, open: i, onClose: o, onUpdate: l, isLoading: u = !1, error: d = null }) => {
|
|
240
|
+
let { i18n: p, _: x } = _(), S = f(), { description: C, floating_ip_address: w } = r, T = v.object({ description: v.string().trim().min(1, p._({ id: "47eI0x" })).max(255, p._({ id: "lZvIXd" })) }), E = y({
|
|
241
241
|
defaultValues: { description: C ?? "" },
|
|
242
242
|
validators: { onSubmit: T },
|
|
243
243
|
onSubmit: async ({ value: e }) => {
|
|
244
244
|
if (u) return;
|
|
245
245
|
let t = {
|
|
246
246
|
project_id: S,
|
|
247
|
-
port_id:
|
|
247
|
+
port_id: r.port_id,
|
|
248
248
|
description: e.description.trim()
|
|
249
249
|
};
|
|
250
|
-
await
|
|
250
|
+
await l(r.id, t), D();
|
|
251
251
|
}
|
|
252
252
|
}), D = () => {
|
|
253
|
-
E.reset(),
|
|
253
|
+
E.reset(), o();
|
|
254
254
|
}, O = b(E.store, (e) => e.isSubmitting || !e.isDirty);
|
|
255
|
-
return /*#__PURE__*/ h(
|
|
255
|
+
return /*#__PURE__*/ h(c, {
|
|
256
256
|
open: i,
|
|
257
257
|
size: "large",
|
|
258
258
|
title: p._({
|
|
@@ -265,7 +265,7 @@ var x = () => {
|
|
|
265
265
|
disableConfirmButton: u || O,
|
|
266
266
|
onConfirm: E.handleSubmit,
|
|
267
267
|
children: [
|
|
268
|
-
d && /*#__PURE__*/ m(
|
|
268
|
+
d && /*#__PURE__*/ m(e, {
|
|
269
269
|
dismissible: !1,
|
|
270
270
|
variant: "error",
|
|
271
271
|
className: "mb-4",
|
|
@@ -273,20 +273,20 @@ var x = () => {
|
|
|
273
273
|
}),
|
|
274
274
|
u && /*#__PURE__*/ h("div", {
|
|
275
275
|
className: "mb-4 flex items-center justify-center gap-2",
|
|
276
|
-
children: [/*#__PURE__*/ m(
|
|
276
|
+
children: [/*#__PURE__*/ m(n, { variant: "primary" }), /*#__PURE__*/ m("span", {
|
|
277
277
|
className: "text-theme-high text-sm",
|
|
278
278
|
children: /*#__PURE__*/ m(g, { id: "5g7owI" })
|
|
279
279
|
})]
|
|
280
280
|
}),
|
|
281
|
-
!u && /*#__PURE__*/ m(
|
|
281
|
+
!u && /*#__PURE__*/ m(s, {
|
|
282
282
|
className: "mb-0",
|
|
283
283
|
id: "edit-floating-ip-form",
|
|
284
284
|
onSubmit: (e) => {
|
|
285
285
|
e.preventDefault(), E.handleSubmit();
|
|
286
286
|
},
|
|
287
|
-
children: /*#__PURE__*/ m(
|
|
287
|
+
children: /*#__PURE__*/ m(t, { children: /*#__PURE__*/ m(E.Field, {
|
|
288
288
|
name: "description",
|
|
289
|
-
children: (e) => /*#__PURE__*/ m(
|
|
289
|
+
children: (e) => /*#__PURE__*/ m(a, {
|
|
290
290
|
id: e.name,
|
|
291
291
|
name: e.name,
|
|
292
292
|
value: e.state.value,
|
|
@@ -300,19 +300,19 @@ var x = () => {
|
|
|
300
300
|
}) })
|
|
301
301
|
})
|
|
302
302
|
]
|
|
303
|
-
},
|
|
304
|
-
}, T = ({ floatingIp:
|
|
305
|
-
let { i18n: p, _: x } = _(), { floating_ip_address: S } =
|
|
303
|
+
}, r.id);
|
|
304
|
+
}, T = ({ floatingIp: i, open: a, onClose: o, onUpdate: u, isLoading: d = !1, error: f = null }) => {
|
|
305
|
+
let { i18n: p, _: x } = _(), { floating_ip_address: S } = i, C = y({
|
|
306
306
|
defaultValues: { release: "" },
|
|
307
307
|
validators: { onSubmit: v.object({ release: v.string().refine((e) => e === "release", { message: p._({ id: "TPMaxo" }) }) }) },
|
|
308
308
|
onSubmit: async () => {
|
|
309
|
-
d || (await u(
|
|
309
|
+
d || (await u(i.id), T());
|
|
310
310
|
}
|
|
311
311
|
}), w = b(C.store, (e) => e.isSubmitting || e.values.release !== "release"), T = () => {
|
|
312
|
-
C.reset(),
|
|
312
|
+
C.reset(), o();
|
|
313
313
|
};
|
|
314
|
-
return /*#__PURE__*/ h(
|
|
315
|
-
open:
|
|
314
|
+
return /*#__PURE__*/ h(c, {
|
|
315
|
+
open: a,
|
|
316
316
|
size: "large",
|
|
317
317
|
title: p._({
|
|
318
318
|
id: "Ovofy+",
|
|
@@ -324,7 +324,7 @@ var x = () => {
|
|
|
324
324
|
onConfirm: C.handleSubmit,
|
|
325
325
|
disableConfirmButton: d || w,
|
|
326
326
|
children: [
|
|
327
|
-
f && /*#__PURE__*/ m(
|
|
327
|
+
f && /*#__PURE__*/ m(e, {
|
|
328
328
|
dismissible: !1,
|
|
329
329
|
variant: "error",
|
|
330
330
|
className: "mb-4",
|
|
@@ -332,12 +332,12 @@ var x = () => {
|
|
|
332
332
|
}),
|
|
333
333
|
d && /*#__PURE__*/ h("div", {
|
|
334
334
|
className: "mb-4 flex items-center justify-center gap-2",
|
|
335
|
-
children: [/*#__PURE__*/ m(
|
|
335
|
+
children: [/*#__PURE__*/ m(n, { variant: "primary" }), /*#__PURE__*/ m("span", {
|
|
336
336
|
className: "text-theme-high text-sm",
|
|
337
337
|
children: /*#__PURE__*/ m(g, { id: "Yin3uB" })
|
|
338
338
|
})]
|
|
339
339
|
}),
|
|
340
|
-
/*#__PURE__*/ h(
|
|
340
|
+
/*#__PURE__*/ h(l, {
|
|
341
341
|
gap: "2.5",
|
|
342
342
|
direction: "vertical",
|
|
343
343
|
className: "mb-2.5",
|
|
@@ -346,15 +346,15 @@ var x = () => {
|
|
|
346
346
|
components: { 0: /*#__PURE__*/ m("strong", {}) }
|
|
347
347
|
}) })]
|
|
348
348
|
}),
|
|
349
|
-
!d && /*#__PURE__*/ m(
|
|
349
|
+
!d && /*#__PURE__*/ m(s, {
|
|
350
350
|
className: "mb-0",
|
|
351
351
|
id: "release-floating-ip-form",
|
|
352
352
|
onSubmit: (e) => {
|
|
353
353
|
e.preventDefault(), C.handleSubmit();
|
|
354
354
|
},
|
|
355
|
-
children: /*#__PURE__*/ m(
|
|
355
|
+
children: /*#__PURE__*/ m(t, { children: /*#__PURE__*/ m(C.Field, {
|
|
356
356
|
name: "release",
|
|
357
|
-
children: (e) => /*#__PURE__*/ m(
|
|
357
|
+
children: (e) => /*#__PURE__*/ m(r, {
|
|
358
358
|
id: e.name,
|
|
359
359
|
name: e.name,
|
|
360
360
|
value: e.state.value,
|
|
@@ -414,4 +414,4 @@ var x = () => {
|
|
|
414
414
|
//#endregion
|
|
415
415
|
export { E as t };
|
|
416
416
|
|
|
417
|
-
//# sourceMappingURL=FloatingIpActionModals-
|
|
417
|
+
//# sourceMappingURL=FloatingIpActionModals-RCvaamOg.mjs.map
|