@kong-ui-public/entities-gateway-services 3.10.6 → 3.10.7
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as Te, computed as b, ref as E, watch as Ie, onBeforeMount as Le, resolveComponent as F, openBlock as S, createElementBlock as U, createVNode as d, unref as o, createSlots as Ee, withCtx as f, createBlock as ue, Teleport as Pe, createElementVNode as k, createCommentVNode as
|
|
1
|
+
import { defineComponent as Te, computed as b, ref as E, watch as Ie, onBeforeMount as Le, resolveComponent as F, openBlock as S, createElementBlock as U, createVNode as d, unref as o, createSlots as Ee, withCtx as f, createBlock as ue, Teleport as Pe, createElementVNode as k, createCommentVNode as D, createTextVNode as R, toDisplayString as y, withModifiers as Se, reactive as Ue, onMounted as De, renderSlot as Ge } from "vue";
|
|
2
2
|
import { useRouter as xe } from "vue-router";
|
|
3
3
|
import { BookIcon as Re, AddIcon as Ke, ServicesIcon as qe } from "@kong/icons";
|
|
4
4
|
import { createI18n as Oe, i18nTComponent as Ne } from "@kong-ui-public/i18n";
|
|
@@ -198,11 +198,11 @@ function gt() {
|
|
|
198
198
|
}
|
|
199
199
|
function yt() {
|
|
200
200
|
return {
|
|
201
|
-
getPortFromProtocol: (
|
|
201
|
+
getPortFromProtocol: (G, p) => {
|
|
202
202
|
const c = [80, 443], r = Number(p);
|
|
203
203
|
if ((r || r === 0) && !c.includes(r))
|
|
204
204
|
return r;
|
|
205
|
-
switch (
|
|
205
|
+
switch (G) {
|
|
206
206
|
case "grpcs":
|
|
207
207
|
case "tls":
|
|
208
208
|
case "https":
|
|
@@ -300,9 +300,9 @@ const ve = {
|
|
|
300
300
|
}
|
|
301
301
|
},
|
|
302
302
|
emits: ["error", "click:learn-more", "copy:success", "copy:error", "delete:success", "toggle:success"],
|
|
303
|
-
setup(n, { emit:
|
|
303
|
+
setup(n, { emit: G }) {
|
|
304
304
|
var l;
|
|
305
|
-
const p =
|
|
305
|
+
const p = G, c = n, { i18n: { t: r, formatUnixTimeStamp: x } } = ve.useI18n(), N = xe(), { axiosInstance: q } = Ae((l = c.config) == null ? void 0 : l.axiosRequestConfig), { hasRecords: a, handleStateChange: P } = We(() => B.value), C = b(() => a.value && c.config.app === "konnect"), ge = b(() => !c.enableV2EmptyStates && c.config.app === "konnect"), ye = b(() => c.config.app !== "kongManager" || !!c.config.disableSorting), O = {
|
|
306
306
|
// the Name column is non-hidable
|
|
307
307
|
name: { label: r("gateway_services.list.table_headers.name"), searchable: !0, sortable: !0, hidable: !1 },
|
|
308
308
|
...c.config.showControlPlaneColumn ? { control_plane: { label: r("gateway_services.list.table_headers.control_plane") } } : {},
|
|
@@ -322,7 +322,7 @@ const ve = {
|
|
|
322
322
|
var s, g;
|
|
323
323
|
let u = `${c.config.apiBaseUrl}${se.list[c.config.app].all}`;
|
|
324
324
|
return c.config.app === "konnect" ? u = u.replace(/{controlPlaneId}/gi, ((s = c.config) == null ? void 0 : s.controlPlaneId) || "") : c.config.app === "kongManager" && (u = u.replace(/\/{workspace}/gi, (g = c.config) != null && g.workspace ? `/${c.config.workspace}` : "")), u;
|
|
325
|
-
}), Y = b(() => c.config.apiBaseUrl.startsWith("/") ? new URL(`${window.location.origin}${_.value}`) : new URL(_.value)),
|
|
325
|
+
}), Y = b(() => c.config.apiBaseUrl.startsWith("/") ? new URL(`${window.location.origin}${_.value}`) : new URL(_.value)), B = E(""), be = b(() => {
|
|
326
326
|
const u = c.config.app === "konnect" || c.config.isExactMatch;
|
|
327
327
|
if (u)
|
|
328
328
|
return {
|
|
@@ -340,7 +340,7 @@ const ve = {
|
|
|
340
340
|
fetcherState: w,
|
|
341
341
|
fetcherCacheKey: ee
|
|
342
342
|
} = je({ ...c.config, cacheIdentifier: c.cacheIdentifier }, _.value), he = () => {
|
|
343
|
-
|
|
343
|
+
B.value = "";
|
|
344
344
|
}, re = () => {
|
|
345
345
|
ee.value++;
|
|
346
346
|
}, J = E(null), W = b(() => ({
|
|
@@ -413,16 +413,16 @@ const ve = {
|
|
|
413
413
|
}), oe = (u) => ({
|
|
414
414
|
label: r("actions.edit"),
|
|
415
415
|
to: c.config.getEditRoute(u)
|
|
416
|
-
}),
|
|
417
|
-
|
|
416
|
+
}), L = E(void 0), K = E(!1), j = E(!1), X = E(""), t = He(c.config, _.value), i = (u) => {
|
|
417
|
+
L.value = u, K.value = !0, X.value = "";
|
|
418
418
|
}, v = () => {
|
|
419
|
-
K.value = !1,
|
|
419
|
+
K.value = !1, L.value = void 0;
|
|
420
420
|
}, M = async () => {
|
|
421
421
|
var u, s, g;
|
|
422
|
-
if ((u =
|
|
422
|
+
if ((u = L.value) != null && u.id) {
|
|
423
423
|
j.value = !0;
|
|
424
424
|
try {
|
|
425
|
-
await q.delete(t(
|
|
425
|
+
await q.delete(t(L.value.id)), p("delete:success", L.value), v(), ee.value++;
|
|
426
426
|
} catch (I) {
|
|
427
427
|
X.value = ((g = (s = I.response) == null ? void 0 : s.data) == null ? void 0 : g.message) || I.message || r("errors.delete"), p("error", I);
|
|
428
428
|
} finally {
|
|
@@ -459,7 +459,7 @@ const ve = {
|
|
|
459
459
|
"fetcher-cache-key": o(ee),
|
|
460
460
|
"pagination-type": "offset",
|
|
461
461
|
"preferences-storage-key": "kong-ui-entities-gateway-services-list",
|
|
462
|
-
query:
|
|
462
|
+
query: B.value,
|
|
463
463
|
"table-headers": o(H),
|
|
464
464
|
onClearSearchInput: he,
|
|
465
465
|
"onClick:row": s[5] || (s[5] = (m) => ce(m)),
|
|
@@ -468,8 +468,8 @@ const ve = {
|
|
|
468
468
|
}, Ee({
|
|
469
469
|
"toolbar-filter": f(() => [
|
|
470
470
|
d(o(Qe), {
|
|
471
|
-
modelValue:
|
|
472
|
-
"onUpdate:modelValue": s[0] || (s[0] = (m) =>
|
|
471
|
+
modelValue: B.value,
|
|
472
|
+
"onUpdate:modelValue": s[0] || (s[0] = (m) => B.value = m),
|
|
473
473
|
config: be.value
|
|
474
474
|
}, null, 8, ["modelValue", "config"])
|
|
475
475
|
]),
|
|
@@ -491,7 +491,7 @@ const ve = {
|
|
|
491
491
|
d(o(Re), { decorative: "" })
|
|
492
492
|
]),
|
|
493
493
|
_: 1
|
|
494
|
-
})) :
|
|
494
|
+
})) : D("", !0),
|
|
495
495
|
d(o(ie), {
|
|
496
496
|
"auth-function": () => n.canCreate()
|
|
497
497
|
}, {
|
|
@@ -660,7 +660,7 @@ const ve = {
|
|
|
660
660
|
]),
|
|
661
661
|
key: "0"
|
|
662
662
|
} : void 0,
|
|
663
|
-
n.enableV2EmptyStates && n.config.app === "konnect" ? {
|
|
663
|
+
!B.value && n.enableV2EmptyStates && n.config.app === "konnect" ? {
|
|
664
664
|
name: "empty-state",
|
|
665
665
|
fn: f(() => {
|
|
666
666
|
var m;
|
|
@@ -712,7 +712,7 @@ const ve = {
|
|
|
712
712
|
d(o(et), {
|
|
713
713
|
"action-pending": j.value,
|
|
714
714
|
description: o(r)("actions.delete.description"),
|
|
715
|
-
"entity-name":
|
|
715
|
+
"entity-name": L.value && (L.value.name || L.value.id),
|
|
716
716
|
"entity-type": o(tt).GatewayService,
|
|
717
717
|
error: X.value,
|
|
718
718
|
title: o(r)("actions.delete.title"),
|
|
@@ -723,12 +723,12 @@ const ve = {
|
|
|
723
723
|
]);
|
|
724
724
|
};
|
|
725
725
|
}
|
|
726
|
-
}), Be = (n,
|
|
726
|
+
}), Be = (n, G) => {
|
|
727
727
|
const p = n.__vccOpts || n;
|
|
728
|
-
for (const [c, r] of
|
|
728
|
+
for (const [c, r] of G)
|
|
729
729
|
p[c] = r;
|
|
730
730
|
return p;
|
|
731
|
-
}, zt = /* @__PURE__ */ Be(Vt, [["__scopeId", "data-v-
|
|
731
|
+
}, zt = /* @__PURE__ */ Be(Vt, [["__scopeId", "data-v-3d11ac45"]]), St = { class: "kong-ui-entities-gateway-service-form" }, It = { key: 0 }, Tt = { class: "gateway-service-form-traffic-label" }, Et = { class: "gateway-service-form-margin-bottom" }, Pt = {
|
|
732
732
|
key: 0,
|
|
733
733
|
class: "gateway-service-form-group-fields"
|
|
734
734
|
}, Ut = {
|
|
@@ -772,9 +772,9 @@ const ve = {
|
|
|
772
772
|
}
|
|
773
773
|
},
|
|
774
774
|
emits: ["update", "error", "url-valid:success", "url-valid:error", "loading", "model-updated"],
|
|
775
|
-
setup(n, { expose:
|
|
775
|
+
setup(n, { expose: G, emit: p }) {
|
|
776
776
|
var X;
|
|
777
|
-
const c = p, r = n, x = E(!0), N = xe(), { i18nT: q, i18n: { t: a } } = ve.useI18n(), { getMessageFromError: P } = ot(), { axiosInstance: C } = Ae((X = r.config) == null ? void 0 : X.axiosRequestConfig), ge = lt(), ye = b(() => se.form[r.config.app].edit), O = b(() => r.gatewayServiceId ? Me.Edit : Me.Create), _e = E(!1), H = b(() => !!r.gatewayServiceId), _ = E(H.value ? "protocol" : "url"), Y = ve.usePortFromProtocol(),
|
|
777
|
+
const c = p, r = n, x = E(!0), N = xe(), { i18nT: q, i18n: { t: a } } = ve.useI18n(), { getMessageFromError: P } = ot(), { axiosInstance: C } = Ae((X = r.config) == null ? void 0 : X.axiosRequestConfig), ge = lt(), ye = b(() => se.form[r.config.app].edit), O = b(() => r.gatewayServiceId ? Me.Edit : Me.Create), _e = E(!1), H = b(() => !!r.gatewayServiceId), _ = E(H.value ? "protocol" : "url"), Y = ve.usePortFromProtocol(), B = E(""), be = b(() => !!B.value), e = Ue({
|
|
778
778
|
fields: {
|
|
779
779
|
name: "",
|
|
780
780
|
protocol: "http",
|
|
@@ -901,7 +901,7 @@ const ve = {
|
|
|
901
901
|
const t = ["https", "wss", "tls"].includes(e.fields.protocol);
|
|
902
902
|
return _.value === "protocol" && t;
|
|
903
903
|
}), Ce = (t) => {
|
|
904
|
-
|
|
904
|
+
B.value = ge.utf8Name(t);
|
|
905
905
|
}, te = b(() => H.value && JSON.stringify(e.fields) !== JSON.stringify(w) || _.value === "url" && !!e.fields.url || _.value === "protocol" && !!e.fields.host), ne = (t) => {
|
|
906
906
|
var i, v, M;
|
|
907
907
|
e.fields.name = (t == null ? void 0 : t.name) || "", e.fields.tags = ((i = t == null ? void 0 : t.tags) == null ? void 0 : i.join(", ")) || "", e.fields.protocol = (t == null ? void 0 : t.protocol) || "http", e.fields.path = (t == null ? void 0 : t.path) || "", e.fields.read_timeout = t != null && t.read_timeout || (t == null ? void 0 : t.read_timeout) === 0 ? t == null ? void 0 : t.read_timeout : 6e4, e.fields.retries = t != null && t.retries || (t == null ? void 0 : t.retries) === 0 ? t == null ? void 0 : t.retries : 5, e.fields.host = (t == null ? void 0 : t.host) || "", e.fields.connect_timeout = t != null && t.connect_timeout || (t == null ? void 0 : t.connect_timeout) === 0 ? t == null ? void 0 : t.connect_timeout : 6e4, e.fields.tls_verify_enabled = (t == null ? void 0 : t.tls_verify) !== "" && (t == null ? void 0 : t.tls_verify) !== null && (t == null ? void 0 : t.tls_verify) !== void 0, e.fields.tls_verify_value = t != null && t.tls_verify ? t == null ? void 0 : t.tls_verify : !1, e.fields.ca_certificates = ((v = t == null ? void 0 : t.ca_certificates) == null ? void 0 : v.join(",")) || "", e.fields.client_certificate = ((M = t == null ? void 0 : t.client_certificate) == null ? void 0 : M.id) || "", e.fields.write_timeout = t != null && t.write_timeout || (t == null ? void 0 : t.write_timeout) === 0 ? t == null ? void 0 : t.write_timeout : 6e4, e.fields.port = t != null && t.port || (t == null ? void 0 : t.port) === 0 ? t == null ? void 0 : t.port : 80, Object.assign(w, e.fields);
|
|
@@ -915,7 +915,7 @@ const ve = {
|
|
|
915
915
|
var i, v;
|
|
916
916
|
let t = `${r.config.apiBaseUrl}${se.form[r.config.app][O.value]}`;
|
|
917
917
|
return r.config.app === "konnect" ? t = t.replace(/{controlPlaneId}/gi, ((i = r.config) == null ? void 0 : i.controlPlaneId) || "") : r.config.app === "kongManager" && (t = t.replace(/\/{workspace}/gi, (v = r.config) != null && v.workspace ? `/${r.config.workspace}` : "")), t = t.replace(/{id}/gi, r.gatewayServiceId), t;
|
|
918
|
-
}),
|
|
918
|
+
}), L = (t) => {
|
|
919
919
|
let i = "";
|
|
920
920
|
t.url && (i = new URL(t.url).protocol), (["https", "wss", "tls"].includes(t.protocol) || ["https", "wss", "tls"].includes(i)) && (t.tls_verify = t.tls_verify_enabled ? t.tls_verify_value : null), delete t.tls_verify_enabled, delete t.tls_verify_value;
|
|
921
921
|
}, K = b(() => {
|
|
@@ -943,7 +943,7 @@ const ve = {
|
|
|
943
943
|
try {
|
|
944
944
|
e.isReadonly = !0, T();
|
|
945
945
|
const V = K.value;
|
|
946
|
-
|
|
946
|
+
L(V);
|
|
947
947
|
let h;
|
|
948
948
|
if (await C.post(Ve.value, V), O.value === "create" ? h = await C.post(oe.value, V) : O.value === "edit" && (h = ((t = r.config) == null ? void 0 : t.app) === "konnect" ? await C.put(oe.value, V) : await C.patch(oe.value, V)), h) {
|
|
949
949
|
const { data: l } = h;
|
|
@@ -962,7 +962,7 @@ const ve = {
|
|
|
962
962
|
e.fields.port = Y.getPortFromProtocol(t.protocol, String(t.port)), c("model-updated", K.value);
|
|
963
963
|
}), De(() => {
|
|
964
964
|
c("model-updated", K.value);
|
|
965
|
-
}),
|
|
965
|
+
}), G({
|
|
966
966
|
validateUrl: T,
|
|
967
967
|
getPayload: K,
|
|
968
968
|
saveFormData: j,
|
|
@@ -1007,7 +1007,7 @@ const ve = {
|
|
|
1007
1007
|
autocomplete: "off",
|
|
1008
1008
|
"data-testid": "gateway-service-name-input",
|
|
1009
1009
|
error: be.value,
|
|
1010
|
-
"error-message":
|
|
1010
|
+
"error-message": B.value,
|
|
1011
1011
|
label: o(a)("gateway_services.form.fields.name.label"),
|
|
1012
1012
|
"label-attributes": {
|
|
1013
1013
|
info: o(a)("gateway_services.form.fields.name.tooltip"),
|
|
@@ -1045,7 +1045,7 @@ const ve = {
|
|
|
1045
1045
|
title: o(a)("gateway_services.form.sections.keys.title")
|
|
1046
1046
|
}, {
|
|
1047
1047
|
default: f(() => [
|
|
1048
|
-
H.value ?
|
|
1048
|
+
H.value ? D("", !0) : (S(), U("div", It, [
|
|
1049
1049
|
k("div", Tt, [
|
|
1050
1050
|
d(M, { required: "" }, {
|
|
1051
1051
|
default: f(() => [
|
|
@@ -1084,7 +1084,7 @@ const ve = {
|
|
|
1084
1084
|
placeholder: o(a)("gateway_services.form.fields.upstream_url.placeholder"),
|
|
1085
1085
|
required: ""
|
|
1086
1086
|
}, null, 8, ["modelValue", "label", "label-attributes", "placeholder"])
|
|
1087
|
-
])) :
|
|
1087
|
+
])) : D("", !0),
|
|
1088
1088
|
d(V, {
|
|
1089
1089
|
modelValue: _.value,
|
|
1090
1090
|
"onUpdate:modelValue": i[4] || (i[4] = (s) => _.value = s),
|
|
@@ -1145,7 +1145,7 @@ const ve = {
|
|
|
1145
1145
|
name: "path",
|
|
1146
1146
|
placeholder: o(a)("gateway_services.form.fields.path.placeholder")
|
|
1147
1147
|
}, null, 8, ["modelValue", "label", "label-attributes", "placeholder"])
|
|
1148
|
-
])) :
|
|
1148
|
+
])) : D("", !0),
|
|
1149
1149
|
d(v, {
|
|
1150
1150
|
modelValue: e.fields.port,
|
|
1151
1151
|
"onUpdate:modelValue": [
|
|
@@ -1164,7 +1164,7 @@ const ve = {
|
|
|
1164
1164
|
name: "port",
|
|
1165
1165
|
type: "number"
|
|
1166
1166
|
}, null, 8, ["modelValue", "label", "label-attributes"])
|
|
1167
|
-
])) :
|
|
1167
|
+
])) : D("", !0),
|
|
1168
1168
|
d(u, {
|
|
1169
1169
|
modelValue: x.value,
|
|
1170
1170
|
"onUpdate:modelValue": i[24] || (i[24] = (s) => x.value = s),
|
|
@@ -1275,7 +1275,7 @@ const ve = {
|
|
|
1275
1275
|
readonly: e.isReadonly,
|
|
1276
1276
|
type: "text"
|
|
1277
1277
|
}, null, 8, ["modelValue", "label", "label-attributes", "placeholder", "readonly"])
|
|
1278
|
-
])) :
|
|
1278
|
+
])) : D("", !0),
|
|
1279
1279
|
ae.value ? (S(), U("div", Lt, [
|
|
1280
1280
|
d(v, {
|
|
1281
1281
|
modelValue: e.fields.ca_certificates,
|
|
@@ -1305,7 +1305,7 @@ const ve = {
|
|
|
1305
1305
|
]),
|
|
1306
1306
|
_: 1
|
|
1307
1307
|
}, 8, ["modelValue", "label", "placeholder", "readonly"])
|
|
1308
|
-
])) :
|
|
1308
|
+
])) : D("", !0),
|
|
1309
1309
|
ke.value ? (S(), U("div", Dt, [
|
|
1310
1310
|
d(l, {
|
|
1311
1311
|
modelValue: e.fields.tls_verify_enabled,
|
|
@@ -1336,7 +1336,7 @@ const ve = {
|
|
|
1336
1336
|
label: o(a)("gateway_services.form.fields.tls_verify_option.true.label"),
|
|
1337
1337
|
"selected-value": !0
|
|
1338
1338
|
}, null, 8, ["modelValue", "label"])
|
|
1339
|
-
])) :
|
|
1339
|
+
])) : D("", !0),
|
|
1340
1340
|
e.fields.tls_verify_enabled ? (S(), U("div", Kt, [
|
|
1341
1341
|
d(V, {
|
|
1342
1342
|
modelValue: e.fields.tls_verify_value,
|
|
@@ -1345,8 +1345,8 @@ const ve = {
|
|
|
1345
1345
|
label: o(a)("gateway_services.form.fields.tls_verify_option.false.label"),
|
|
1346
1346
|
"selected-value": !1
|
|
1347
1347
|
}, null, 8, ["modelValue", "label"])
|
|
1348
|
-
])) :
|
|
1349
|
-
])) :
|
|
1348
|
+
])) : D("", !0)
|
|
1349
|
+
])) : D("", !0)
|
|
1350
1350
|
])
|
|
1351
1351
|
]),
|
|
1352
1352
|
_: 1
|
|
@@ -1387,7 +1387,7 @@ const ve = {
|
|
|
1387
1387
|
},
|
|
1388
1388
|
emits: ["loading", "fetch:error", "fetch:success"],
|
|
1389
1389
|
setup(n) {
|
|
1390
|
-
const
|
|
1390
|
+
const G = n, { i18n: { t: p }, i18nT: c } = ve.useI18n(), r = b(() => se.form[G.config.app].edit), { getPropValue: x } = rt(), N = (a, P) => x(a, P) === !0 ? p("gateway_services.form.fields.tls_verify_option.true.display") : p("gateway_services.form.fields.tls_verify_option.false.display"), q = E({
|
|
1391
1391
|
id: {},
|
|
1392
1392
|
name: {
|
|
1393
1393
|
tooltip: p("gateway_services.form.fields.name.tooltip")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(k,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(k=typeof globalThis<"u"?globalThis:k||self,e(k["kong-ui-public-entities-gateway-services"]={},k.Vue,k.VueRouter,k.KongIcons,k["kong-ui-public-i18n"],k["kong-ui-public-entities-shared"]))})(this,function(k,e,me,Q,ye,u){"use strict";const _e={actions:{create:"New gateway service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New gateway service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},empty_state_v2:{create:"New gateway service",title:"Configure your first gateway service",group:"Services created in gateways within this group will automatically appear here.",description:"Gateway services represent backend APIs or microservices that receive traffic routed through the gateway."},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function be(){const n=ye.createI18n("en-us",_e);return{i18n:n,i18nT:ye.i18nTComponent(n)}}function we(){return{getPortFromProtocol:(I,f)=>{const c=[80,443],s=Number(f);if((s||s===0)&&!c.includes(s))return s;switch(I){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const X={useI18n:be,usePortFromProtocol:we},Z="/v2/control-planes/{controlPlaneId}/core-entities",Y="/{workspace}",O={list:{konnect:{all:`${Z}/services`},kongManager:{all:`${Y}/services`}},form:{konnect:{create:`${Z}/services`,validate:`${Z}/v1/schemas/json/service/validate`,edit:`${Z}/services/{id}`},kongManager:{create:`${Y}/services`,validate:`${Y}/schemas/services/validate`,edit:`${Y}/services/{id}`}}},he="#00abd2",Ve="24px",ve={class:"kong-ui-entities-gateway-services-list"},ke={class:"button-row"},Ce={class:"empty-state-icon-gateway"},Ne={key:1},xe=e.defineComponent({__name:"GatewayServiceList",props:{config:{type:Object,required:!0,validator:n=>!(!n||!["konnect","kongManager"].includes(n==null?void 0:n.app)||!n.createRoute||!n.getViewRoute||!n.getEditRoute||n.app==="kongManager"&&!n.isExactMatch&&!n.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},isServerless:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle:success"],setup(n,{emit:I}){var l;const f=I,c=n,{i18n:{t:s,formatUnixTimeStamp:E}}=X.useI18n(),R=me.useRouter(),{axiosInstance:U}=u.useAxios((l=c.config)==null?void 0:l.axiosRequestConfig),{hasRecords:a,handleStateChange:C}=u.useTableState(()=>B.value),w=e.computed(()=>a.value&&c.config.app==="konnect"),re=e.computed(()=>!c.enableV2EmptyStates&&c.config.app==="konnect"),se=e.computed(()=>c.config.app!=="kongManager"||!!c.config.disableSorting),M={name:{label:s("gateway_services.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},...c.config.showControlPlaneColumn?{control_plane:{label:s("gateway_services.list.table_headers.control_plane")}}:{},protocol:{label:s("gateway_services.list.table_headers.protocol"),searchable:!0,sortable:!0},host:{label:s("gateway_services.list.table_headers.host"),searchable:!0,sortable:!0},port:{label:s("gateway_services.list.table_headers.port"),searchable:!0,sortable:!0},path:{label:s("gateway_services.list.table_headers.path"),searchable:!0,sortable:!0},enabled:{label:s("gateway_services.list.table_headers.enabled"),searchable:!0,sortable:!0},tags:{label:s("gateway_services.list.table_headers.tags"),sortable:!1},updated_at:{label:s("gateway_services.list.table_headers.updated_at"),sortable:!0},created_at:{label:s("gateway_services.list.table_headers.created_at"),sortable:!0}},ae={columnVisibility:{created_at:!1}},A=M,g=e.computed(()=>{var r,y;let d=`${c.config.apiBaseUrl}${O.list[c.config.app].all}`;return c.config.app==="konnect"?d=d.replace(/{controlPlaneId}/gi,((r=c.config)==null?void 0:r.controlPlaneId)||""):c.config.app==="kongManager"&&(d=d.replace(/\/{workspace}/gi,(y=c.config)!=null&&y.workspace?`/${c.config.workspace}`:"")),d}),W=e.computed(()=>c.config.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${g.value}`):new URL(g.value)),B=e.ref(""),ne=e.computed(()=>{const d=c.config.app==="konnect"||c.config.isExactMatch;if(d)return{isExactMatch:d,placeholder:s(`search.placeholder.${c.config.app}`)};const{name:r,enabled:y,protocol:V,host:K,port:S,path:ie}=M;return{isExactMatch:d,fields:{name:r,enabled:y,protocol:V,host:K,port:S,path:ie},schema:c.config.filterSchema}}),{fetcher:t,fetcherState:b,fetcherCacheKey:j}=u.useFetcher({...c.config,cacheIdentifier:c.cacheIdentifier},g.value),ce=()=>{B.value=""},ee=()=>{j.value++},F=e.ref(null),D=e.computed(()=>({ctaPath:c.config.createRoute,ctaText:_.value?c.isServerless?s("actions.serverless_create"):s("actions.create"):void 0,message:`${s("gateway_services.list.empty_state.description")}${c.config.additionMessageForEmptyState?` ${c.config.additionMessageForEmptyState}`:""}`,title:_.value?c.isServerless?s("gateway_services.list.empty_state.serverless_title"):s("gateway_services.list.empty_state.title"):s("gateway_services.title")})),L=e.ref(!1),v=e.ref(null),G=e.computed(()=>{const d={action:"disable",id:"",name:""};if(v.value){const{enabled:r,id:y,name:V}=v.value;d.action=r?"disable":"enable",d.id=y,d.name=V||y}return d}),de=d=>{L.value=!0,v.value=d},te=()=>{L.value=!1,v.value=null},fe=async()=>{var V,K;if(!await((V=c.canEdit)==null?void 0:V.call(c,v.value))||!v.value)return;const r=`${W.value.href}/${v.value.id}`,y=!v.value.enabled;try{const{data:S}=((K=c.config)==null?void 0:K.app)==="konnect"?await U.put(r,{...v.value,enabled:y}):await U.patch(r,{...v.value,enabled:y});f("toggle:success",S),v.value.enabled=y}catch(S){f("error",S)}},pe=d=>{c.config.getControlPlaneRoute&&R.push(c.config.getControlPlaneRoute(d))},H=(d,r)=>{const y=d.id;if(!r(y)){f("copy:error",{entity:d,field:"id",message:s("errors.copy")});return}f("copy:success",{entity:d,field:"id",message:s("copy.success",{val:y})})},oe=(d,r)=>{const y=JSON.stringify(d);if(!r(y)){f("copy:error",{entity:d,message:s("errors.copy")});return}f("copy:success",{entity:d,message:s("copy.success_brief")})},le=async d=>{var y;await((y=c.canRetrieve)==null?void 0:y.call(c,d))&&R.push(c.config.getViewRoute(d.id))},ue=d=>({label:s("actions.view"),to:c.config.getViewRoute(d)}),J=d=>({label:s("actions.edit"),to:c.config.getEditRoute(d)}),T=e.ref(void 0),P=e.ref(!1),$=e.ref(!1),q=e.ref(""),o=u.useDeleteUrlBuilder(c.config,g.value),i=d=>{T.value=d,P.value=!0,q.value=""},m=()=>{P.value=!1,T.value=void 0},N=async()=>{var d,r,y;if((d=T.value)!=null&&d.id){$.value=!0;try{await U.delete(o(T.value.id)),f("delete:success",T.value),m(),j.value++}catch(V){q.value=((y=(r=V.response)==null?void 0:r.data)==null?void 0:y.message)||V.message||s("errors.delete"),f("error",V)}finally{$.value=!1}}},h=()=>{R.push(c.config.createRoute)};e.watch(b,d=>{var r,y,V;if(d.status===u.FetcherStatus.Error){F.value={title:s("errors.general")},(V=(y=(r=d.error)==null?void 0:r.response)==null?void 0:y.data)!=null&&V.message&&(F.value.message=d.error.response.data.message),f("error",d.error);return}F.value=null});const _=e.ref(!1);return e.onBeforeMount(async()=>{_.value=await c.canCreate()}),(d,r)=>{const y=e.resolveComponent("KButton"),V=e.resolveComponent("KBadge"),K=e.resolveComponent("KInputSwitch"),S=e.resolveComponent("KDropdownItem"),ie=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(e.unref(u.EntityBaseTable),{"cache-identifier":n.cacheIdentifier,"default-table-preferences":ae,"disable-sorting":se.value,"empty-state-options":D.value,"enable-entity-actions":"","error-message":F.value,fetcher:e.unref(t),"fetcher-cache-key":e.unref(j),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-gateway-services-list",query:B.value,"table-headers":e.unref(A),onClearSearchInput:ce,"onClick:row":r[5]||(r[5]=p=>le(p)),onSort:ee,onState:e.unref(C)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(u.EntityFilter),{modelValue:B.value,"onUpdate:modelValue":r[0]||(r[0]=p=>B.value=p),config:ne.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!n.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",ke,[w.value?(e.openBlock(),e.createBlock(y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-learn-more-button",icon:"",onClick:r[1]||(r[1]=p=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Q.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-add-gateway-service",size:n.useActionOutside?"medium":"large",to:n.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(Q.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("gateway_services.list.toolbar_actions.new_gateway_service")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:p})=>[e.createElementVNode("b",null,e.toDisplayString(p??"-"),1)]),control_plane:e.withCtx(({row:p})=>{var x;return[(x=p.x_meta)!=null&&x.cluster_id?(e.openBlock(),e.createBlock(V,{key:0,tooltip:p.x_meta.cluster_id,"truncation-tooltip":"",onClick:e.withModifiers(z=>pe(p.x_meta.cluster_id),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.x_meta.cluster_id),1)]),_:2},1032,["tooltip","onClick"])):(e.openBlock(),e.createElementBlock("b",Ne,"-"))]}),enabled:e.withCtx(({row:p})=>[e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canEdit(p),"force-show":""},{default:e.withCtx(({isAllowed:x})=>[e.createElementVNode("div",{onClick:r[4]||(r[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(K,{modelValue:p.enabled,"onUpdate:modelValue":z=>p.enabled=z,"data-testid":`row-${p.id}-toggle-input`,disabled:!x,onClick:e.withModifiers(z=>de(p),["prevent"])},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","onClick"])])]),_:2},1032,["auth-function"])]),tags:e.withCtx(({rowValue:p})=>[e.createVNode(e.unref(u.TableTags),{tags:p},null,8,["tags"])]),created_at:e.withCtx(({rowValue:p})=>[e.createTextVNode(e.toDisplayString(e.unref(E)(p)),1)]),updated_at:e.withCtx(({row:p,rowValue:x})=>[e.createTextVNode(e.toDisplayString(e.unref(E)(x??p.created_at)),1)]),actions:e.withCtx(({row:p})=>[e.createVNode(ie,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(S,{"data-testid":"action-entity-copy-id",onClick:z=>H(p,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(ie,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(S,{"data-testid":"action-entity-copy-json",onClick:z=>oe(p,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canRetrieve(p)},{default:e.withCtx(()=>[e.createVNode(S,{"data-testid":"action-entity-view","has-divider":"",item:ue(p.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canEdit(p)},{default:e.withCtx(()=>[e.createVNode(S,{"data-testid":"action-entity-edit",item:J(p.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canDelete(p)},{default:e.withCtx(()=>[e.createVNode(S,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:x=>i(p)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.delete.menu_label")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!e.unref(a)&&re.value?{name:"outside-actions",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!n.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(y,{appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-more-button",icon:"",onClick:r[2]||(r[2]=p=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Q.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,n.enableV2EmptyStates&&n.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var p;return[e.createVNode(e.unref(u.EntityEmptyState),{"action-button-text":e.unref(s)("gateway_services.empty_state_v2.create"),appearance:"secondary","can-create":()=>n.canCreate(),"data-testid":"gateway-services-entity-empty-state",description:e.unref(s)("gateway_services.empty_state_v2.description"),"learn-more":n.config.app==="konnect",title:e.unref(s)("gateway_services.empty_state_v2.title"),"onClick:create":h,"onClick:learnMore":r[3]||(r[3]=x=>d.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",Ce,[e.createVNode(e.unref(Q.ServicesIcon),{color:e.unref(he),size:e.unref(Ve)},null,8,["color","size"])])]),_:2},[(p=n.config)!=null&&p.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("gateway_services.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(u.EntityToggleModal),{action:G.value.action,"entity-id":G.value.id,"entity-name":G.value.name,"entity-type":e.unref(s)("glossary.gateway_services"),"on-confirm":fe,visible:L.value,onCancel:te,onProceed:te},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(u.EntityDeleteModal),{"action-pending":$.value,description:e.unref(s)("actions.delete.description"),"entity-name":T.value&&(T.value.name||T.value.id),"entity-type":e.unref(u.EntityTypes).GatewayService,error:q.value,title:e.unref(s)("actions.delete.title"),visible:P.value,onCancel:m,onProceed:N},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),ge=(n,I)=>{const f=n.__vccOpts||n;for(const[c,s]of I)f[c]=s;return f},Ee=ge(xe,[["__scopeId","data-v-ee4f8a6d"]]),Se={class:"kong-ui-entities-gateway-service-form"},Te={key:0},Ie={class:"gateway-service-form-traffic-label"},Be={class:"gateway-service-form-margin-bottom"},Pe={key:0,class:"gateway-service-form-group-fields"},Ue={key:1,class:"gateway-service-form-group-fields"},Me={key:0},Re={class:"gateway-service-form-margin-top"},De={class:"gateway-service-form-margin-bottom"},$e={class:"gateway-service-form-margin-bottom"},Ae={class:"gateway-service-form-margin-bottom"},Fe={class:"gateway-service-form-margin-bottom"},Le={key:0,class:"gateway-service-form-margin-bottom"},Ge={key:1,class:"gateway-service-form-margin-bottom"},qe={key:2,class:"gateway-service-form-margin-bottom"},Ke={key:0,class:"checkbox-aligned-radio"},Oe={key:1,class:"checkbox-aligned-radio"},We=ge(e.defineComponent({__name:"GatewayServiceForm",props:{config:{type:Object,required:!0,validator:n=>!(!n||!["konnect","kongManager"].includes(n==null?void 0:n.app)||n.app==="konnect"&&!n.controlPlaneId||n.app==="kongManager"&&typeof n.workspace!="string"||!n.cancelRoute)},gatewayServiceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1}},emits:["update","error","url-valid:success","url-valid:error","loading","model-updated"],setup(n,{expose:I,emit:f}){var q;const c=f,s=n,E=e.ref(!0),R=me.useRouter(),{i18nT:U,i18n:{t:a}}=X.useI18n(),{getMessageFromError:C}=u.useErrors(),{axiosInstance:w}=u.useAxios((q=s.config)==null?void 0:q.axiosRequestConfig),re=u.useValidators(),se=e.computed(()=>O.form[s.config.app].edit),M=e.computed(()=>s.gatewayServiceId?u.EntityBaseFormType.Edit:u.EntityBaseFormType.Create),ae=e.ref(!1),A=e.computed(()=>!!s.gatewayServiceId),g=e.ref(A.value?"protocol":"url"),W=X.usePortFromProtocol(),B=e.ref(""),ne=e.computed(()=>!!B.value),t=e.reactive({fields:{name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""},isReadonly:!1,errorMessage:""}),b=e.reactive({name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""}),j=s.config.app==="konnect"||u.useGatewayFeatureSupported({gatewayInfo:s.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),ce=[{label:a("gateway_services.form.fields.protocol.options.http"),value:"http",group:"http"},{label:a("gateway_services.form.fields.protocol.options.https"),value:"https",group:"http"},{label:a("gateway_services.form.fields.protocol.options.tcp"),value:"tcp",group:"tcp"},{label:a("gateway_services.form.fields.protocol.options.tls"),value:"tls",group:"tcp"},{label:a("gateway_services.form.fields.protocol.options.tls_passthrough"),value:"tls_passthrough",group:"tcp"},{label:a("gateway_services.form.fields.protocol.options.grpc"),value:"grpc",group:"grpc"},{label:a("gateway_services.form.fields.protocol.options.grpcs"),value:"grpcs",group:"grpc"},...j?[{label:a("gateway_services.form.fields.protocol.options.ws"),value:"ws",group:"websocket"},{label:a("gateway_services.form.fields.protocol.options.wss"),value:"wss",group:"websocket"}]:[],{label:a("gateway_services.form.fields.protocol.options.udp"),value:"udp",group:"udp"}],ee={url:"url",protocol:"protocol"},F=(o,i)=>{i.value},D=o=>o?parseFloat(o):0,L=()=>{E.value=!0,t.errorMessage="",t.fields.host=b.host,t.fields.path=b.path,t.fields.port=b.port,t.fields.protocol=b.protocol,t.fields.url=b.url,t.fields.retries=b.retries,t.fields.connect_timeout=b.connect_timeout,t.fields.write_timeout=b.write_timeout,t.fields.read_timeout=b.read_timeout,t.fields.client_certificate=b.client_certificate,t.fields.ca_certificates=b.ca_certificates,t.fields.tls_verify_enabled=b.tls_verify_enabled,t.fields.tls_verify_value=b.tls_verify_value},v=()=>{if(t.fields.url&&g.value==="url")try{const o=new URL(t.fields.url);t.errorMessage="",t.fields.protocol=o.protocol.slice(0,-1),t.fields.host=o.hostname,t.fields.path=o.pathname;const i=Number(o.port);ae.value=!!i,t.fields.port=i||W.getPortFromProtocol(t.fields.protocol),t.errorMessage="",c("url-valid:success")}catch(o){t.errorMessage=a("errors.urlErrorMessage"),c("url-valid:error",C(o))}else c("url-valid:success"),t.errorMessage=""},G=e.computed(()=>!["tcp","tls","tls_passthrough","grpc","grpcs","udp"].includes(t.fields.protocol)),de=e.computed(()=>{if(g.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return g.value==="protocol"&&o}),te=e.computed(()=>{if(g.value==="url")return!0;const o=["https","tls"].includes(t.fields.protocol);return g.value==="protocol"&&o}),fe=e.computed(()=>{if(g.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return g.value==="protocol"&&o}),pe=o=>{B.value=re.utf8Name(o)},H=e.computed(()=>A.value&&JSON.stringify(t.fields)!==JSON.stringify(b)||g.value==="url"&&!!t.fields.url||g.value==="protocol"&&!!t.fields.host),oe=o=>{var i,m,N;t.fields.name=(o==null?void 0:o.name)||"",t.fields.tags=((i=o==null?void 0:o.tags)==null?void 0:i.join(", "))||"",t.fields.protocol=(o==null?void 0:o.protocol)||"http",t.fields.path=(o==null?void 0:o.path)||"",t.fields.read_timeout=o!=null&&o.read_timeout||(o==null?void 0:o.read_timeout)===0?o==null?void 0:o.read_timeout:6e4,t.fields.retries=o!=null&&o.retries||(o==null?void 0:o.retries)===0?o==null?void 0:o.retries:5,t.fields.host=(o==null?void 0:o.host)||"",t.fields.connect_timeout=o!=null&&o.connect_timeout||(o==null?void 0:o.connect_timeout)===0?o==null?void 0:o.connect_timeout:6e4,t.fields.tls_verify_enabled=(o==null?void 0:o.tls_verify)!==""&&(o==null?void 0:o.tls_verify)!==null&&(o==null?void 0:o.tls_verify)!==void 0,t.fields.tls_verify_value=o!=null&&o.tls_verify?o==null?void 0:o.tls_verify:!1,t.fields.ca_certificates=((m=o==null?void 0:o.ca_certificates)==null?void 0:m.join(","))||"",t.fields.client_certificate=((N=o==null?void 0:o.client_certificate)==null?void 0:N.id)||"",t.fields.write_timeout=o!=null&&o.write_timeout||(o==null?void 0:o.write_timeout)===0?o==null?void 0:o.write_timeout:6e4,t.fields.port=o!=null&&o.port||(o==null?void 0:o.port)===0?o==null?void 0:o.port:80,Object.assign(b,t.fields)},le=()=>{R.push(s.config.cancelRoute)},ue=e.computed(()=>{var i,m;let o=`${s.config.apiBaseUrl}${O.form[s.config.app].validate}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(m=s.config)!=null&&m.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),J=e.computed(()=>{var i,m;let o=`${s.config.apiBaseUrl}${O.form[s.config.app][M.value]}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(m=s.config)!=null&&m.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),T=o=>{let i="";o.url&&(i=new URL(o.url).protocol),(["https","wss","tls"].includes(o.protocol)||["https","wss","tls"].includes(i))&&(o.tls_verify=o.tls_verify_enabled?o.tls_verify_value:null),delete o.tls_verify_enabled,delete o.tls_verify_value},P=e.computed(()=>{var i,m,N,h;const o={name:t.fields.name||null,tags:t.fields.tags?(N=(m=(i=t.fields.tags)==null?void 0:i.split(","))==null?void 0:m.map(_=>String(_||"").trim()))==null?void 0:N.filter(_=>_!==""):null,protocol:t.fields.protocol,path:t.fields.path||null,read_timeout:t.fields.read_timeout,retries:t.fields.retries,host:t.fields.host,connect_timeout:t.fields.connect_timeout,tls_verify_value:t.fields.tls_verify_value,tls_verify_enabled:t.fields.tls_verify_enabled,ca_certificates:t.fields.ca_certificates?(h=t.fields.ca_certificates)==null?void 0:h.split(",").filter(_=>_!==""):null,client_certificate:t.fields.client_certificate?{id:t.fields.client_certificate}:null,write_timeout:t.fields.write_timeout,port:t.fields.port,url:t.fields.url};return t.fields.client_certificate&&["https","wss","tls"].includes(t.fields.protocol)&&(o.client_certificate={id:t.fields.client_certificate}),t.fields.tls_verify_enabled&&["https","wss","tls"].includes(t.fields.protocol)&&(o.tls_verify=t.fields.tls_verify_value),G.value||(o.path=null),M.value==="create"?g.value==="url"?(delete o.protocol,delete o.host,delete o.path,s.config.app==="konnect"&&delete o.port):delete o.url:M.value==="edit"&&delete o.url,o}),$=async()=>{var o,i,m,N;try{t.isReadonly=!0,v();const h=P.value;T(h);let _;if(await w.post(ue.value,h),M.value==="create"?_=await w.post(J.value,h):M.value==="edit"&&(_=((o=s.config)==null?void 0:o.app)==="konnect"?await w.put(J.value,h):await w.patch(J.value,h)),_){const{data:l}=_;t.fields.name=(l==null?void 0:l.name)||"",t.fields.port=l.port||W.getPortFromProtocol(l.protocol),t.fields.protocol=(l==null?void 0:l.protocol)||"http",t.fields.host=(l==null?void 0:l.host)||"",t.fields.path=(l==null?void 0:l.path)||"",t.fields.url=(l==null?void 0:l.url)||"",t.fields.retries=l!=null&&l.retries||(l==null?void 0:l.retries)===0?l==null?void 0:l.retries:5,t.fields.connect_timeout=l!=null&&l.connect_timeout||(l==null?void 0:l.connect_timeout)===0?l==null?void 0:l.connect_timeout:6e4,t.fields.write_timeout=l!=null&&l.write_timeout||(l==null?void 0:l.write_timeout)===0?l==null?void 0:l.write_timeout:6e4,t.fields.read_timeout=l!=null&&l.read_timeout||(l==null?void 0:l.read_timeout)===0?l==null?void 0:l.read_timeout:6e4,t.fields.client_certificate=((i=l==null?void 0:l.client_certificate)==null?void 0:i.id)||"",t.fields.ca_certificates=(m=l==null?void 0:l.ca_certificates)!=null&&m.length?l==null?void 0:l.ca_certificates.join(","):"",t.fields.tls_verify_enabled=(l==null?void 0:l.tls_verify)!==""&&(l==null?void 0:l.tls_verify)!==null&&(l==null?void 0:l.tls_verify)!==void 0,t.fields.tls_verify_value=t.fields.tls_verify_enabled&&(l==null?void 0:l.tls_verify),t.fields.tags=(N=l==null?void 0:l.tags)!=null&&N.length?l.tags.join(", "):"",Object.assign(b,t.fields),c("update",_==null?void 0:_.data)}return _}catch(h){t.errorMessage=C(h),c("error",h)}finally{t.isReadonly=!1}};return e.watch(()=>s.gatewayServiceId,()=>{Object.assign(t.fields,b)}),e.watch(t.fields,o=>{t.fields.port=W.getPortFromProtocol(o.protocol,String(o.port)),c("model-updated",P.value)}),e.onMounted(()=>{c("model-updated",P.value)}),I({validateUrl:v,getPayload:P,saveFormData:$,canSubmit:H,initForm:oe}),(o,i)=>{const m=e.resolveComponent("KInput"),N=e.resolveComponent("KLabel"),h=e.resolveComponent("KRadio"),_=e.resolveComponent("KSelect"),l=e.resolveComponent("KCheckbox"),d=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(e.unref(u.EntityBaseForm),{"can-submit":H.value,config:n.config,"edit-id":n.gatewayServiceId,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"error-message":t.errorMessage,"fetch-url":se.value,"form-fields":P.value,"is-readonly":t.isReadonly,onCancel:le,"onFetch:error":i[25]||(i[25]=r=>o.$emit("error",r)),"onFetch:success":oe,onLoading:i[26]||(i[26]=r=>o.$emit("loading",r)),onSubmit:$},{"form-actions":e.withCtx(()=>[e.renderSlot(o.$slots,"form-actions",{canSubmit:H.value,cancel:le,submit:$},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(a)("gateway_services.form.sections.general.description"),"hide-info-header":n.hideSectionsInfo,title:e.unref(a)("gateway_services.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:t.fields.name,"onUpdate:modelValue":i[0]||(i[0]=r=>t.fields.name=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-name-input",error:ne.value,"error-message":B.value,label:e.unref(a)("gateway_services.form.fields.name.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.name.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"name",placeholder:e.unref(a)("gateway_services.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text",onInput:pe},null,8,["modelValue","error","error-message","label","label-attributes","placeholder","readonly"]),e.createVNode(m,{modelValue:t.fields.tags,"onUpdate:modelValue":i[1]||(i[1]=r=>t.fields.tags=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-tags-input",help:e.unref(a)("gateway_services.form.fields.tags.help"),label:e.unref(a)("gateway_services.form.fields.tags.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"tags",placeholder:e.unref(a)("gateway_services.form.fields.tags.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(a)("gateway_services.form.sections.keys.description"),"hide-info-header":n.hideSectionsInfo,title:e.unref(a)("gateway_services.form.sections.keys.title")},{default:e.withCtx(()=>[A.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",Ie,[e.createVNode(N,{required:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.form.sections.keys.checkedGroupLabel")),1)]),_:1})]),e.createElementVNode("div",Be,[e.createVNode(h,{modelValue:g.value,"onUpdate:modelValue":i[2]||(i[2]=r=>g.value=r),"data-testid":"gateway-service-url-radio","selected-value":ee.url,onChange:L},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.form.sections.keys.urlLabel")),1)]),_:1},8,["modelValue","selected-value"])]),g.value==="url"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createVNode(m,{modelValue:t.fields.url,"onUpdate:modelValue":i[3]||(i[3]=r=>t.fields.url=r),modelModifiers:{trim:!0},class:"gateway-service-url-input gateway-service-form-margin-bottom","data-testid":"gateway-service-url-input",label:e.unref(a)("gateway_services.form.fields.upstream_url.label"),"label-attributes":{info:n.config.app==="konnect"?e.unref(a)("gateway_services.form.fields.upstream_url.tooltip_for_konnect"):e.unref(a)("gateway_services.form.fields.upstream_url.tooltip_for_km"),tooltipAttributes:{maxWidth:"400"}},name:"url",placeholder:e.unref(a)("gateway_services.form.fields.upstream_url.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(h,{modelValue:g.value,"onUpdate:modelValue":i[4]||(i[4]=r=>g.value=r),"checked-group":"protocol","data-testid":"gateway-service-protocol-radio","selected-value":ee.protocol,onChange:L},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.form.sections.keys.checkedGroupAltLabel")),1)]),_:1},8,["modelValue","selected-value"])])),g.value==="protocol"||A.value?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(_,{modelValue:t.fields.protocol,"onUpdate:modelValue":i[5]||(i[5]=r=>t.fields.protocol=r),"data-testid":"gateway-service-protocol-select",items:ce,label:e.unref(a)("gateway_services.form.fields.protocol.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.protocol.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.isReadonly,required:"",width:"100%",onSelected:i[6]||(i[6]=r=>F(t.fields.protocol,r))},null,8,["modelValue","label","label-attributes","readonly"]),e.createVNode(m,{modelValue:t.fields.host,"onUpdate:modelValue":i[7]||(i[7]=r=>t.fields.host=r),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-host-input",label:e.unref(a)("gateway_services.form.fields.host.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.host.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"host",placeholder:e.unref(a)("gateway_services.form.fields.host.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"]),G.value?(e.openBlock(),e.createElementBlock("div",Me,[e.createVNode(m,{modelValue:t.fields.path,"onUpdate:modelValue":i[8]||(i[8]=r=>t.fields.path=r),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-path-input",label:e.unref(a)("gateway_services.form.fields.path.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.path.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"path",placeholder:e.unref(a)("gateway_services.form.fields.path.placeholder")},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(m,{modelValue:t.fields.port,"onUpdate:modelValue":[i[9]||(i[9]=r=>t.fields.port=r),i[10]||(i[10]=()=>{t.fields.port=D(t.fields.port+"")})],class:"gateway-service-form-margin-top","data-testid":"gateway-service-port-input",label:e.unref(a)("gateway_services.form.fields.port.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.port.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"port",type:"number"},null,8,["modelValue","label","label-attributes"])])):e.createCommentVNode("",!0),e.createVNode(d,{modelValue:E.value,"onUpdate:modelValue":i[24]||(i[24]=r=>E.value=r),"data-testid":"advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(a)("gateway_services.form.sections.keys.viewAdvancedFields")},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[e.createElementVNode("div",De,[e.createVNode(m,{modelValue:t.fields.retries,"onUpdate:modelValue":[i[11]||(i[11]=r=>t.fields.retries=r),i[12]||(i[12]=()=>{t.fields.retries=D(t.fields.retries+"")})],autocomplete:"off","data-testid":"gateway-service-retries-input",label:e.unref(a)("gateway_services.form.fields.retries.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.retries.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"retries",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",$e,[e.createVNode(m,{modelValue:t.fields.connect_timeout,"onUpdate:modelValue":[i[13]||(i[13]=r=>t.fields.connect_timeout=r),i[14]||(i[14]=()=>{t.fields.connect_timeout=D(t.fields.connect_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-connTimeout-input",label:e.unref(a)("gateway_services.form.fields.connect_timeout.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.connect_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"connTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Ae,[e.createVNode(m,{modelValue:t.fields.write_timeout,"onUpdate:modelValue":[i[15]||(i[15]=r=>t.fields.write_timeout=r),i[16]||(i[16]=()=>{t.fields.write_timeout=D(t.fields.write_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-writeTimeout-input",label:e.unref(a)("gateway_services.form.fields.write_timeout.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.write_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"writeTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Fe,[e.createVNode(m,{modelValue:t.fields.read_timeout,"onUpdate:modelValue":[i[17]||(i[17]=r=>t.fields.read_timeout=r),i[18]||(i[18]=()=>{t.fields.read_timeout=D(t.fields.read_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-readTimeout-input",label:e.unref(a)("gateway_services.form.fields.read_timeout.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.read_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"readTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),de.value?(e.openBlock(),e.createElementBlock("div",Le,[e.createVNode(m,{modelValue:t.fields.client_certificate,"onUpdate:modelValue":i[19]||(i[19]=r=>t.fields.client_certificate=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-clientCert-input",label:e.unref(a)("gateway_services.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"clientCert",placeholder:e.unref(a)("gateway_services.form.fields.client_certificate.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","label","label-attributes","placeholder","readonly"])])):e.createCommentVNode("",!0),te.value?(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(m,{modelValue:t.fields.ca_certificates,"onUpdate:modelValue":i[20]||(i[20]=r=>t.fields.ca_certificates=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-ca-certs-input",label:e.unref(a)("gateway_services.form.fields.ca_certificates.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(a)("gateway_services.form.fields.ca_certificates.placeholder"),readonly:t.isReadonly,type:"text"},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(U),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(a)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(a)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),_:1},8,["modelValue","label","placeholder","readonly"])])):e.createCommentVNode("",!0),fe.value?(e.openBlock(),e.createElementBlock("div",qe,[e.createVNode(l,{modelValue:t.fields.tls_verify_enabled,"onUpdate:modelValue":i[21]||(i[21]=r=>t.fields.tls_verify_enabled=r),"data-testid":"gateway-service-tls-verify-checkbox",description:e.unref(a)("gateway_services.form.fields.tls_verify_enabled.help"),label:e.unref(a)("gateway_services.form.fields.tls_verify_enabled.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}}},{tooltip:e.withCtx(()=>[e.createVNode(e.unref(U),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(a)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(h,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[22]||(i[22]=r=>t.fields.tls_verify_value=r),"data-testid":"gateway-service-tls-verify-true-option",label:e.unref(a)("gateway_services.form.fields.tls_verify_option.true.label"),"selected-value":!0},null,8,["modelValue","label"])])):e.createCommentVNode("",!0),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(h,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[23]||(i[23]=r=>t.fields.tls_verify_value=r),"data-testid":"gateway-service-tls-verify-false-option",label:e.unref(a)("gateway_services.form.fields.tls_verify_option.false.label"),"selected-value":!1},null,8,["modelValue","label"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["description","hide-info-header","title"])]),_:3},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-35e0db56"]]),je={class:"kong-ui-gateway-service-entity-config-card"},He=e.defineComponent({__name:"GatewayServiceConfigCard",props:{config:{type:Object,required:!0,validator:n=>!(!n||!["konnect","kongManager"].includes(n==null?void 0:n.app)||n.app==="konnect"&&!n.controlPlaneId||n.app==="kongManager"&&typeof n.workspace!="string"||!n.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(n){const I=n,{i18n:{t:f},i18nT:c}=X.useI18n(),s=e.computed(()=>O.form[I.config.app].edit),{getPropValue:E}=u.useHelpers(),R=(a,C)=>E(a,C)===!0?f("gateway_services.form.fields.tls_verify_option.true.display"):f("gateway_services.form.fields.tls_verify_option.false.display"),U=e.ref({id:{},name:{tooltip:f("gateway_services.form.fields.name.tooltip")},enabled:{},updated_at:{},created_at:{},protocol:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.protocol.tooltip")},host:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.host.tooltip")},path:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.path.tooltip")},port:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.port.tooltip")},tags:{tooltip:f("gateway_services.form.fields.tags.tooltip")},retries:{order:1,tooltip:f("gateway_services.form.fields.retries.tooltip")},connect_timeout:{order:2,tooltip:f("gateway_services.form.fields.connect_timeout.tooltip")},write_timeout:{order:3,tooltip:f("gateway_services.form.fields.write_timeout.tooltip")},read_timeout:{order:4,tooltip:f("gateway_services.form.fields.read_timeout.tooltip")},client_certificate:{order:5,tooltip:f("gateway_services.form.fields.client_certificate.tooltip")},ca_certificates:{type:u.ConfigurationSchemaType.BadgeTag,label:f("gateway_services.form.fields.ca_certificates.label"),order:6},tls_verify:{label:f("gateway_services.form.fields.tls_verify_enabled.label")},tls_verify_depth:{hidden:!0}});return(a,C)=>(e.openBlock(),e.createElementBlock("div",je,[e.createVNode(e.unref(u.EntityBaseConfigCard),{config:n.config,"config-card-doc":n.configCardDoc,"config-schema":U.value,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":s.value,"hide-title":n.hideTitle,"onFetch:error":C[0]||(C[0]=w=>a.$emit("fetch:error",w)),"onFetch:success":C[1]||(C[1]=w=>a.$emit("fetch:success",w)),onLoading:C[2]||(C[2]=w=>a.$emit("loading",w))},{"enabled-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.enabled.tooltip",scope:"global"},{false:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.enabled.false")),1)]),true:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.enabled.true")),1)]),_:1})]),"ca_certificates-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),"tls_verify-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),tls_verify:e.withCtx(w=>[e.createTextVNode(e.toDisplayString(typeof e.unref(E)("rowValue",w)=="boolean"?R("rowValue",w):e.unref(f)("gateway_services.form.fields.tls_verify_option.unset.display")),1)]),client_certificate:e.withCtx(w=>[e.createTextVNode(e.toDisplayString(e.unref(E)("rowValue",w)?e.unref(E)("rowValue",w).id:"–"),1)]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}});k.GatewayServiceConfigCard=He,k.GatewayServiceForm=We,k.GatewayServiceList=Ee,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(k,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(k=typeof globalThis<"u"?globalThis:k||self,e(k["kong-ui-public-entities-gateway-services"]={},k.Vue,k.VueRouter,k.KongIcons,k["kong-ui-public-i18n"],k["kong-ui-public-entities-shared"]))})(this,function(k,e,me,Q,ye,u){"use strict";const _e={actions:{create:"New gateway service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New gateway service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},empty_state_v2:{create:"New gateway service",title:"Configure your first gateway service",group:"Services created in gateways within this group will automatically appear here.",description:"Gateway services represent backend APIs or microservices that receive traffic routed through the gateway."},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function be(){const n=ye.createI18n("en-us",_e);return{i18n:n,i18nT:ye.i18nTComponent(n)}}function we(){return{getPortFromProtocol:(B,f)=>{const c=[80,443],s=Number(f);if((s||s===0)&&!c.includes(s))return s;switch(B){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const X={useI18n:be,usePortFromProtocol:we},Z="/v2/control-planes/{controlPlaneId}/core-entities",Y="/{workspace}",O={list:{konnect:{all:`${Z}/services`},kongManager:{all:`${Y}/services`}},form:{konnect:{create:`${Z}/services`,validate:`${Z}/v1/schemas/json/service/validate`,edit:`${Z}/services/{id}`},kongManager:{create:`${Y}/services`,validate:`${Y}/schemas/services/validate`,edit:`${Y}/services/{id}`}}},he="#00abd2",Ve="24px",ve={class:"kong-ui-entities-gateway-services-list"},ke={class:"button-row"},Ce={class:"empty-state-icon-gateway"},Ne={key:1},xe=e.defineComponent({__name:"GatewayServiceList",props:{config:{type:Object,required:!0,validator:n=>!(!n||!["konnect","kongManager"].includes(n==null?void 0:n.app)||!n.createRoute||!n.getViewRoute||!n.getEditRoute||n.app==="kongManager"&&!n.isExactMatch&&!n.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},isServerless:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle:success"],setup(n,{emit:B}){var l;const f=B,c=n,{i18n:{t:s,formatUnixTimeStamp:E}}=X.useI18n(),R=me.useRouter(),{axiosInstance:U}=u.useAxios((l=c.config)==null?void 0:l.axiosRequestConfig),{hasRecords:a,handleStateChange:C}=u.useTableState(()=>T.value),w=e.computed(()=>a.value&&c.config.app==="konnect"),re=e.computed(()=>!c.enableV2EmptyStates&&c.config.app==="konnect"),se=e.computed(()=>c.config.app!=="kongManager"||!!c.config.disableSorting),M={name:{label:s("gateway_services.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},...c.config.showControlPlaneColumn?{control_plane:{label:s("gateway_services.list.table_headers.control_plane")}}:{},protocol:{label:s("gateway_services.list.table_headers.protocol"),searchable:!0,sortable:!0},host:{label:s("gateway_services.list.table_headers.host"),searchable:!0,sortable:!0},port:{label:s("gateway_services.list.table_headers.port"),searchable:!0,sortable:!0},path:{label:s("gateway_services.list.table_headers.path"),searchable:!0,sortable:!0},enabled:{label:s("gateway_services.list.table_headers.enabled"),searchable:!0,sortable:!0},tags:{label:s("gateway_services.list.table_headers.tags"),sortable:!1},updated_at:{label:s("gateway_services.list.table_headers.updated_at"),sortable:!0},created_at:{label:s("gateway_services.list.table_headers.created_at"),sortable:!0}},ae={columnVisibility:{created_at:!1}},A=M,g=e.computed(()=>{var r,y;let d=`${c.config.apiBaseUrl}${O.list[c.config.app].all}`;return c.config.app==="konnect"?d=d.replace(/{controlPlaneId}/gi,((r=c.config)==null?void 0:r.controlPlaneId)||""):c.config.app==="kongManager"&&(d=d.replace(/\/{workspace}/gi,(y=c.config)!=null&&y.workspace?`/${c.config.workspace}`:"")),d}),W=e.computed(()=>c.config.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${g.value}`):new URL(g.value)),T=e.ref(""),ne=e.computed(()=>{const d=c.config.app==="konnect"||c.config.isExactMatch;if(d)return{isExactMatch:d,placeholder:s(`search.placeholder.${c.config.app}`)};const{name:r,enabled:y,protocol:V,host:K,port:S,path:ie}=M;return{isExactMatch:d,fields:{name:r,enabled:y,protocol:V,host:K,port:S,path:ie},schema:c.config.filterSchema}}),{fetcher:t,fetcherState:b,fetcherCacheKey:j}=u.useFetcher({...c.config,cacheIdentifier:c.cacheIdentifier},g.value),ce=()=>{T.value=""},ee=()=>{j.value++},F=e.ref(null),D=e.computed(()=>({ctaPath:c.config.createRoute,ctaText:_.value?c.isServerless?s("actions.serverless_create"):s("actions.create"):void 0,message:`${s("gateway_services.list.empty_state.description")}${c.config.additionMessageForEmptyState?` ${c.config.additionMessageForEmptyState}`:""}`,title:_.value?c.isServerless?s("gateway_services.list.empty_state.serverless_title"):s("gateway_services.list.empty_state.title"):s("gateway_services.title")})),L=e.ref(!1),v=e.ref(null),G=e.computed(()=>{const d={action:"disable",id:"",name:""};if(v.value){const{enabled:r,id:y,name:V}=v.value;d.action=r?"disable":"enable",d.id=y,d.name=V||y}return d}),de=d=>{L.value=!0,v.value=d},te=()=>{L.value=!1,v.value=null},fe=async()=>{var V,K;if(!await((V=c.canEdit)==null?void 0:V.call(c,v.value))||!v.value)return;const r=`${W.value.href}/${v.value.id}`,y=!v.value.enabled;try{const{data:S}=((K=c.config)==null?void 0:K.app)==="konnect"?await U.put(r,{...v.value,enabled:y}):await U.patch(r,{...v.value,enabled:y});f("toggle:success",S),v.value.enabled=y}catch(S){f("error",S)}},pe=d=>{c.config.getControlPlaneRoute&&R.push(c.config.getControlPlaneRoute(d))},H=(d,r)=>{const y=d.id;if(!r(y)){f("copy:error",{entity:d,field:"id",message:s("errors.copy")});return}f("copy:success",{entity:d,field:"id",message:s("copy.success",{val:y})})},oe=(d,r)=>{const y=JSON.stringify(d);if(!r(y)){f("copy:error",{entity:d,message:s("errors.copy")});return}f("copy:success",{entity:d,message:s("copy.success_brief")})},le=async d=>{var y;await((y=c.canRetrieve)==null?void 0:y.call(c,d))&&R.push(c.config.getViewRoute(d.id))},ue=d=>({label:s("actions.view"),to:c.config.getViewRoute(d)}),J=d=>({label:s("actions.edit"),to:c.config.getEditRoute(d)}),I=e.ref(void 0),P=e.ref(!1),$=e.ref(!1),q=e.ref(""),o=u.useDeleteUrlBuilder(c.config,g.value),i=d=>{I.value=d,P.value=!0,q.value=""},m=()=>{P.value=!1,I.value=void 0},N=async()=>{var d,r,y;if((d=I.value)!=null&&d.id){$.value=!0;try{await U.delete(o(I.value.id)),f("delete:success",I.value),m(),j.value++}catch(V){q.value=((y=(r=V.response)==null?void 0:r.data)==null?void 0:y.message)||V.message||s("errors.delete"),f("error",V)}finally{$.value=!1}}},h=()=>{R.push(c.config.createRoute)};e.watch(b,d=>{var r,y,V;if(d.status===u.FetcherStatus.Error){F.value={title:s("errors.general")},(V=(y=(r=d.error)==null?void 0:r.response)==null?void 0:y.data)!=null&&V.message&&(F.value.message=d.error.response.data.message),f("error",d.error);return}F.value=null});const _=e.ref(!1);return e.onBeforeMount(async()=>{_.value=await c.canCreate()}),(d,r)=>{const y=e.resolveComponent("KButton"),V=e.resolveComponent("KBadge"),K=e.resolveComponent("KInputSwitch"),S=e.resolveComponent("KDropdownItem"),ie=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(e.unref(u.EntityBaseTable),{"cache-identifier":n.cacheIdentifier,"default-table-preferences":ae,"disable-sorting":se.value,"empty-state-options":D.value,"enable-entity-actions":"","error-message":F.value,fetcher:e.unref(t),"fetcher-cache-key":e.unref(j),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-gateway-services-list",query:T.value,"table-headers":e.unref(A),onClearSearchInput:ce,"onClick:row":r[5]||(r[5]=p=>le(p)),onSort:ee,onState:e.unref(C)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(u.EntityFilter),{modelValue:T.value,"onUpdate:modelValue":r[0]||(r[0]=p=>T.value=p),config:ne.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!n.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",ke,[w.value?(e.openBlock(),e.createBlock(y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-learn-more-button",icon:"",onClick:r[1]||(r[1]=p=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Q.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-add-gateway-service",size:n.useActionOutside?"medium":"large",to:n.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(Q.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("gateway_services.list.toolbar_actions.new_gateway_service")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:p})=>[e.createElementVNode("b",null,e.toDisplayString(p??"-"),1)]),control_plane:e.withCtx(({row:p})=>{var x;return[(x=p.x_meta)!=null&&x.cluster_id?(e.openBlock(),e.createBlock(V,{key:0,tooltip:p.x_meta.cluster_id,"truncation-tooltip":"",onClick:e.withModifiers(z=>pe(p.x_meta.cluster_id),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.x_meta.cluster_id),1)]),_:2},1032,["tooltip","onClick"])):(e.openBlock(),e.createElementBlock("b",Ne,"-"))]}),enabled:e.withCtx(({row:p})=>[e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canEdit(p),"force-show":""},{default:e.withCtx(({isAllowed:x})=>[e.createElementVNode("div",{onClick:r[4]||(r[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(K,{modelValue:p.enabled,"onUpdate:modelValue":z=>p.enabled=z,"data-testid":`row-${p.id}-toggle-input`,disabled:!x,onClick:e.withModifiers(z=>de(p),["prevent"])},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","onClick"])])]),_:2},1032,["auth-function"])]),tags:e.withCtx(({rowValue:p})=>[e.createVNode(e.unref(u.TableTags),{tags:p},null,8,["tags"])]),created_at:e.withCtx(({rowValue:p})=>[e.createTextVNode(e.toDisplayString(e.unref(E)(p)),1)]),updated_at:e.withCtx(({row:p,rowValue:x})=>[e.createTextVNode(e.toDisplayString(e.unref(E)(x??p.created_at)),1)]),actions:e.withCtx(({row:p})=>[e.createVNode(ie,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(S,{"data-testid":"action-entity-copy-id",onClick:z=>H(p,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(ie,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(S,{"data-testid":"action-entity-copy-json",onClick:z=>oe(p,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canRetrieve(p)},{default:e.withCtx(()=>[e.createVNode(S,{"data-testid":"action-entity-view","has-divider":"",item:ue(p.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canEdit(p)},{default:e.withCtx(()=>[e.createVNode(S,{"data-testid":"action-entity-edit",item:J(p.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>n.canDelete(p)},{default:e.withCtx(()=>[e.createVNode(S,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:x=>i(p)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.delete.menu_label")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!e.unref(a)&&re.value?{name:"outside-actions",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!n.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(y,{appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-more-button",icon:"",onClick:r[2]||(r[2]=p=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Q.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!T.value&&n.enableV2EmptyStates&&n.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var p;return[e.createVNode(e.unref(u.EntityEmptyState),{"action-button-text":e.unref(s)("gateway_services.empty_state_v2.create"),appearance:"secondary","can-create":()=>n.canCreate(),"data-testid":"gateway-services-entity-empty-state",description:e.unref(s)("gateway_services.empty_state_v2.description"),"learn-more":n.config.app==="konnect",title:e.unref(s)("gateway_services.empty_state_v2.title"),"onClick:create":h,"onClick:learnMore":r[3]||(r[3]=x=>d.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",Ce,[e.createVNode(e.unref(Q.ServicesIcon),{color:e.unref(he),size:e.unref(Ve)},null,8,["color","size"])])]),_:2},[(p=n.config)!=null&&p.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("gateway_services.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(u.EntityToggleModal),{action:G.value.action,"entity-id":G.value.id,"entity-name":G.value.name,"entity-type":e.unref(s)("glossary.gateway_services"),"on-confirm":fe,visible:L.value,onCancel:te,onProceed:te},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(u.EntityDeleteModal),{"action-pending":$.value,description:e.unref(s)("actions.delete.description"),"entity-name":I.value&&(I.value.name||I.value.id),"entity-type":e.unref(u.EntityTypes).GatewayService,error:q.value,title:e.unref(s)("actions.delete.title"),visible:P.value,onCancel:m,onProceed:N},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),ge=(n,B)=>{const f=n.__vccOpts||n;for(const[c,s]of B)f[c]=s;return f},Ee=ge(xe,[["__scopeId","data-v-3d11ac45"]]),Se={class:"kong-ui-entities-gateway-service-form"},Te={key:0},Ie={class:"gateway-service-form-traffic-label"},Be={class:"gateway-service-form-margin-bottom"},Pe={key:0,class:"gateway-service-form-group-fields"},Ue={key:1,class:"gateway-service-form-group-fields"},Me={key:0},Re={class:"gateway-service-form-margin-top"},De={class:"gateway-service-form-margin-bottom"},$e={class:"gateway-service-form-margin-bottom"},Ae={class:"gateway-service-form-margin-bottom"},Fe={class:"gateway-service-form-margin-bottom"},Le={key:0,class:"gateway-service-form-margin-bottom"},Ge={key:1,class:"gateway-service-form-margin-bottom"},qe={key:2,class:"gateway-service-form-margin-bottom"},Ke={key:0,class:"checkbox-aligned-radio"},Oe={key:1,class:"checkbox-aligned-radio"},We=ge(e.defineComponent({__name:"GatewayServiceForm",props:{config:{type:Object,required:!0,validator:n=>!(!n||!["konnect","kongManager"].includes(n==null?void 0:n.app)||n.app==="konnect"&&!n.controlPlaneId||n.app==="kongManager"&&typeof n.workspace!="string"||!n.cancelRoute)},gatewayServiceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1}},emits:["update","error","url-valid:success","url-valid:error","loading","model-updated"],setup(n,{expose:B,emit:f}){var q;const c=f,s=n,E=e.ref(!0),R=me.useRouter(),{i18nT:U,i18n:{t:a}}=X.useI18n(),{getMessageFromError:C}=u.useErrors(),{axiosInstance:w}=u.useAxios((q=s.config)==null?void 0:q.axiosRequestConfig),re=u.useValidators(),se=e.computed(()=>O.form[s.config.app].edit),M=e.computed(()=>s.gatewayServiceId?u.EntityBaseFormType.Edit:u.EntityBaseFormType.Create),ae=e.ref(!1),A=e.computed(()=>!!s.gatewayServiceId),g=e.ref(A.value?"protocol":"url"),W=X.usePortFromProtocol(),T=e.ref(""),ne=e.computed(()=>!!T.value),t=e.reactive({fields:{name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""},isReadonly:!1,errorMessage:""}),b=e.reactive({name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""}),j=s.config.app==="konnect"||u.useGatewayFeatureSupported({gatewayInfo:s.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),ce=[{label:a("gateway_services.form.fields.protocol.options.http"),value:"http",group:"http"},{label:a("gateway_services.form.fields.protocol.options.https"),value:"https",group:"http"},{label:a("gateway_services.form.fields.protocol.options.tcp"),value:"tcp",group:"tcp"},{label:a("gateway_services.form.fields.protocol.options.tls"),value:"tls",group:"tcp"},{label:a("gateway_services.form.fields.protocol.options.tls_passthrough"),value:"tls_passthrough",group:"tcp"},{label:a("gateway_services.form.fields.protocol.options.grpc"),value:"grpc",group:"grpc"},{label:a("gateway_services.form.fields.protocol.options.grpcs"),value:"grpcs",group:"grpc"},...j?[{label:a("gateway_services.form.fields.protocol.options.ws"),value:"ws",group:"websocket"},{label:a("gateway_services.form.fields.protocol.options.wss"),value:"wss",group:"websocket"}]:[],{label:a("gateway_services.form.fields.protocol.options.udp"),value:"udp",group:"udp"}],ee={url:"url",protocol:"protocol"},F=(o,i)=>{i.value},D=o=>o?parseFloat(o):0,L=()=>{E.value=!0,t.errorMessage="",t.fields.host=b.host,t.fields.path=b.path,t.fields.port=b.port,t.fields.protocol=b.protocol,t.fields.url=b.url,t.fields.retries=b.retries,t.fields.connect_timeout=b.connect_timeout,t.fields.write_timeout=b.write_timeout,t.fields.read_timeout=b.read_timeout,t.fields.client_certificate=b.client_certificate,t.fields.ca_certificates=b.ca_certificates,t.fields.tls_verify_enabled=b.tls_verify_enabled,t.fields.tls_verify_value=b.tls_verify_value},v=()=>{if(t.fields.url&&g.value==="url")try{const o=new URL(t.fields.url);t.errorMessage="",t.fields.protocol=o.protocol.slice(0,-1),t.fields.host=o.hostname,t.fields.path=o.pathname;const i=Number(o.port);ae.value=!!i,t.fields.port=i||W.getPortFromProtocol(t.fields.protocol),t.errorMessage="",c("url-valid:success")}catch(o){t.errorMessage=a("errors.urlErrorMessage"),c("url-valid:error",C(o))}else c("url-valid:success"),t.errorMessage=""},G=e.computed(()=>!["tcp","tls","tls_passthrough","grpc","grpcs","udp"].includes(t.fields.protocol)),de=e.computed(()=>{if(g.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return g.value==="protocol"&&o}),te=e.computed(()=>{if(g.value==="url")return!0;const o=["https","tls"].includes(t.fields.protocol);return g.value==="protocol"&&o}),fe=e.computed(()=>{if(g.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return g.value==="protocol"&&o}),pe=o=>{T.value=re.utf8Name(o)},H=e.computed(()=>A.value&&JSON.stringify(t.fields)!==JSON.stringify(b)||g.value==="url"&&!!t.fields.url||g.value==="protocol"&&!!t.fields.host),oe=o=>{var i,m,N;t.fields.name=(o==null?void 0:o.name)||"",t.fields.tags=((i=o==null?void 0:o.tags)==null?void 0:i.join(", "))||"",t.fields.protocol=(o==null?void 0:o.protocol)||"http",t.fields.path=(o==null?void 0:o.path)||"",t.fields.read_timeout=o!=null&&o.read_timeout||(o==null?void 0:o.read_timeout)===0?o==null?void 0:o.read_timeout:6e4,t.fields.retries=o!=null&&o.retries||(o==null?void 0:o.retries)===0?o==null?void 0:o.retries:5,t.fields.host=(o==null?void 0:o.host)||"",t.fields.connect_timeout=o!=null&&o.connect_timeout||(o==null?void 0:o.connect_timeout)===0?o==null?void 0:o.connect_timeout:6e4,t.fields.tls_verify_enabled=(o==null?void 0:o.tls_verify)!==""&&(o==null?void 0:o.tls_verify)!==null&&(o==null?void 0:o.tls_verify)!==void 0,t.fields.tls_verify_value=o!=null&&o.tls_verify?o==null?void 0:o.tls_verify:!1,t.fields.ca_certificates=((m=o==null?void 0:o.ca_certificates)==null?void 0:m.join(","))||"",t.fields.client_certificate=((N=o==null?void 0:o.client_certificate)==null?void 0:N.id)||"",t.fields.write_timeout=o!=null&&o.write_timeout||(o==null?void 0:o.write_timeout)===0?o==null?void 0:o.write_timeout:6e4,t.fields.port=o!=null&&o.port||(o==null?void 0:o.port)===0?o==null?void 0:o.port:80,Object.assign(b,t.fields)},le=()=>{R.push(s.config.cancelRoute)},ue=e.computed(()=>{var i,m;let o=`${s.config.apiBaseUrl}${O.form[s.config.app].validate}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(m=s.config)!=null&&m.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),J=e.computed(()=>{var i,m;let o=`${s.config.apiBaseUrl}${O.form[s.config.app][M.value]}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(m=s.config)!=null&&m.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),I=o=>{let i="";o.url&&(i=new URL(o.url).protocol),(["https","wss","tls"].includes(o.protocol)||["https","wss","tls"].includes(i))&&(o.tls_verify=o.tls_verify_enabled?o.tls_verify_value:null),delete o.tls_verify_enabled,delete o.tls_verify_value},P=e.computed(()=>{var i,m,N,h;const o={name:t.fields.name||null,tags:t.fields.tags?(N=(m=(i=t.fields.tags)==null?void 0:i.split(","))==null?void 0:m.map(_=>String(_||"").trim()))==null?void 0:N.filter(_=>_!==""):null,protocol:t.fields.protocol,path:t.fields.path||null,read_timeout:t.fields.read_timeout,retries:t.fields.retries,host:t.fields.host,connect_timeout:t.fields.connect_timeout,tls_verify_value:t.fields.tls_verify_value,tls_verify_enabled:t.fields.tls_verify_enabled,ca_certificates:t.fields.ca_certificates?(h=t.fields.ca_certificates)==null?void 0:h.split(",").filter(_=>_!==""):null,client_certificate:t.fields.client_certificate?{id:t.fields.client_certificate}:null,write_timeout:t.fields.write_timeout,port:t.fields.port,url:t.fields.url};return t.fields.client_certificate&&["https","wss","tls"].includes(t.fields.protocol)&&(o.client_certificate={id:t.fields.client_certificate}),t.fields.tls_verify_enabled&&["https","wss","tls"].includes(t.fields.protocol)&&(o.tls_verify=t.fields.tls_verify_value),G.value||(o.path=null),M.value==="create"?g.value==="url"?(delete o.protocol,delete o.host,delete o.path,s.config.app==="konnect"&&delete o.port):delete o.url:M.value==="edit"&&delete o.url,o}),$=async()=>{var o,i,m,N;try{t.isReadonly=!0,v();const h=P.value;I(h);let _;if(await w.post(ue.value,h),M.value==="create"?_=await w.post(J.value,h):M.value==="edit"&&(_=((o=s.config)==null?void 0:o.app)==="konnect"?await w.put(J.value,h):await w.patch(J.value,h)),_){const{data:l}=_;t.fields.name=(l==null?void 0:l.name)||"",t.fields.port=l.port||W.getPortFromProtocol(l.protocol),t.fields.protocol=(l==null?void 0:l.protocol)||"http",t.fields.host=(l==null?void 0:l.host)||"",t.fields.path=(l==null?void 0:l.path)||"",t.fields.url=(l==null?void 0:l.url)||"",t.fields.retries=l!=null&&l.retries||(l==null?void 0:l.retries)===0?l==null?void 0:l.retries:5,t.fields.connect_timeout=l!=null&&l.connect_timeout||(l==null?void 0:l.connect_timeout)===0?l==null?void 0:l.connect_timeout:6e4,t.fields.write_timeout=l!=null&&l.write_timeout||(l==null?void 0:l.write_timeout)===0?l==null?void 0:l.write_timeout:6e4,t.fields.read_timeout=l!=null&&l.read_timeout||(l==null?void 0:l.read_timeout)===0?l==null?void 0:l.read_timeout:6e4,t.fields.client_certificate=((i=l==null?void 0:l.client_certificate)==null?void 0:i.id)||"",t.fields.ca_certificates=(m=l==null?void 0:l.ca_certificates)!=null&&m.length?l==null?void 0:l.ca_certificates.join(","):"",t.fields.tls_verify_enabled=(l==null?void 0:l.tls_verify)!==""&&(l==null?void 0:l.tls_verify)!==null&&(l==null?void 0:l.tls_verify)!==void 0,t.fields.tls_verify_value=t.fields.tls_verify_enabled&&(l==null?void 0:l.tls_verify),t.fields.tags=(N=l==null?void 0:l.tags)!=null&&N.length?l.tags.join(", "):"",Object.assign(b,t.fields),c("update",_==null?void 0:_.data)}return _}catch(h){t.errorMessage=C(h),c("error",h)}finally{t.isReadonly=!1}};return e.watch(()=>s.gatewayServiceId,()=>{Object.assign(t.fields,b)}),e.watch(t.fields,o=>{t.fields.port=W.getPortFromProtocol(o.protocol,String(o.port)),c("model-updated",P.value)}),e.onMounted(()=>{c("model-updated",P.value)}),B({validateUrl:v,getPayload:P,saveFormData:$,canSubmit:H,initForm:oe}),(o,i)=>{const m=e.resolveComponent("KInput"),N=e.resolveComponent("KLabel"),h=e.resolveComponent("KRadio"),_=e.resolveComponent("KSelect"),l=e.resolveComponent("KCheckbox"),d=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(e.unref(u.EntityBaseForm),{"can-submit":H.value,config:n.config,"edit-id":n.gatewayServiceId,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"error-message":t.errorMessage,"fetch-url":se.value,"form-fields":P.value,"is-readonly":t.isReadonly,onCancel:le,"onFetch:error":i[25]||(i[25]=r=>o.$emit("error",r)),"onFetch:success":oe,onLoading:i[26]||(i[26]=r=>o.$emit("loading",r)),onSubmit:$},{"form-actions":e.withCtx(()=>[e.renderSlot(o.$slots,"form-actions",{canSubmit:H.value,cancel:le,submit:$},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(a)("gateway_services.form.sections.general.description"),"hide-info-header":n.hideSectionsInfo,title:e.unref(a)("gateway_services.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:t.fields.name,"onUpdate:modelValue":i[0]||(i[0]=r=>t.fields.name=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-name-input",error:ne.value,"error-message":T.value,label:e.unref(a)("gateway_services.form.fields.name.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.name.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"name",placeholder:e.unref(a)("gateway_services.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text",onInput:pe},null,8,["modelValue","error","error-message","label","label-attributes","placeholder","readonly"]),e.createVNode(m,{modelValue:t.fields.tags,"onUpdate:modelValue":i[1]||(i[1]=r=>t.fields.tags=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-tags-input",help:e.unref(a)("gateway_services.form.fields.tags.help"),label:e.unref(a)("gateway_services.form.fields.tags.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"tags",placeholder:e.unref(a)("gateway_services.form.fields.tags.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(a)("gateway_services.form.sections.keys.description"),"hide-info-header":n.hideSectionsInfo,title:e.unref(a)("gateway_services.form.sections.keys.title")},{default:e.withCtx(()=>[A.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",Ie,[e.createVNode(N,{required:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.form.sections.keys.checkedGroupLabel")),1)]),_:1})]),e.createElementVNode("div",Be,[e.createVNode(h,{modelValue:g.value,"onUpdate:modelValue":i[2]||(i[2]=r=>g.value=r),"data-testid":"gateway-service-url-radio","selected-value":ee.url,onChange:L},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.form.sections.keys.urlLabel")),1)]),_:1},8,["modelValue","selected-value"])]),g.value==="url"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createVNode(m,{modelValue:t.fields.url,"onUpdate:modelValue":i[3]||(i[3]=r=>t.fields.url=r),modelModifiers:{trim:!0},class:"gateway-service-url-input gateway-service-form-margin-bottom","data-testid":"gateway-service-url-input",label:e.unref(a)("gateway_services.form.fields.upstream_url.label"),"label-attributes":{info:n.config.app==="konnect"?e.unref(a)("gateway_services.form.fields.upstream_url.tooltip_for_konnect"):e.unref(a)("gateway_services.form.fields.upstream_url.tooltip_for_km"),tooltipAttributes:{maxWidth:"400"}},name:"url",placeholder:e.unref(a)("gateway_services.form.fields.upstream_url.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(h,{modelValue:g.value,"onUpdate:modelValue":i[4]||(i[4]=r=>g.value=r),"checked-group":"protocol","data-testid":"gateway-service-protocol-radio","selected-value":ee.protocol,onChange:L},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.form.sections.keys.checkedGroupAltLabel")),1)]),_:1},8,["modelValue","selected-value"])])),g.value==="protocol"||A.value?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(_,{modelValue:t.fields.protocol,"onUpdate:modelValue":i[5]||(i[5]=r=>t.fields.protocol=r),"data-testid":"gateway-service-protocol-select",items:ce,label:e.unref(a)("gateway_services.form.fields.protocol.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.protocol.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.isReadonly,required:"",width:"100%",onSelected:i[6]||(i[6]=r=>F(t.fields.protocol,r))},null,8,["modelValue","label","label-attributes","readonly"]),e.createVNode(m,{modelValue:t.fields.host,"onUpdate:modelValue":i[7]||(i[7]=r=>t.fields.host=r),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-host-input",label:e.unref(a)("gateway_services.form.fields.host.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.host.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"host",placeholder:e.unref(a)("gateway_services.form.fields.host.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"]),G.value?(e.openBlock(),e.createElementBlock("div",Me,[e.createVNode(m,{modelValue:t.fields.path,"onUpdate:modelValue":i[8]||(i[8]=r=>t.fields.path=r),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-path-input",label:e.unref(a)("gateway_services.form.fields.path.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.path.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"path",placeholder:e.unref(a)("gateway_services.form.fields.path.placeholder")},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(m,{modelValue:t.fields.port,"onUpdate:modelValue":[i[9]||(i[9]=r=>t.fields.port=r),i[10]||(i[10]=()=>{t.fields.port=D(t.fields.port+"")})],class:"gateway-service-form-margin-top","data-testid":"gateway-service-port-input",label:e.unref(a)("gateway_services.form.fields.port.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.port.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"port",type:"number"},null,8,["modelValue","label","label-attributes"])])):e.createCommentVNode("",!0),e.createVNode(d,{modelValue:E.value,"onUpdate:modelValue":i[24]||(i[24]=r=>E.value=r),"data-testid":"advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(a)("gateway_services.form.sections.keys.viewAdvancedFields")},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[e.createElementVNode("div",De,[e.createVNode(m,{modelValue:t.fields.retries,"onUpdate:modelValue":[i[11]||(i[11]=r=>t.fields.retries=r),i[12]||(i[12]=()=>{t.fields.retries=D(t.fields.retries+"")})],autocomplete:"off","data-testid":"gateway-service-retries-input",label:e.unref(a)("gateway_services.form.fields.retries.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.retries.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"retries",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",$e,[e.createVNode(m,{modelValue:t.fields.connect_timeout,"onUpdate:modelValue":[i[13]||(i[13]=r=>t.fields.connect_timeout=r),i[14]||(i[14]=()=>{t.fields.connect_timeout=D(t.fields.connect_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-connTimeout-input",label:e.unref(a)("gateway_services.form.fields.connect_timeout.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.connect_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"connTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Ae,[e.createVNode(m,{modelValue:t.fields.write_timeout,"onUpdate:modelValue":[i[15]||(i[15]=r=>t.fields.write_timeout=r),i[16]||(i[16]=()=>{t.fields.write_timeout=D(t.fields.write_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-writeTimeout-input",label:e.unref(a)("gateway_services.form.fields.write_timeout.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.write_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"writeTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Fe,[e.createVNode(m,{modelValue:t.fields.read_timeout,"onUpdate:modelValue":[i[17]||(i[17]=r=>t.fields.read_timeout=r),i[18]||(i[18]=()=>{t.fields.read_timeout=D(t.fields.read_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-readTimeout-input",label:e.unref(a)("gateway_services.form.fields.read_timeout.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.read_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"readTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),de.value?(e.openBlock(),e.createElementBlock("div",Le,[e.createVNode(m,{modelValue:t.fields.client_certificate,"onUpdate:modelValue":i[19]||(i[19]=r=>t.fields.client_certificate=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-clientCert-input",label:e.unref(a)("gateway_services.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(a)("gateway_services.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"clientCert",placeholder:e.unref(a)("gateway_services.form.fields.client_certificate.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","label","label-attributes","placeholder","readonly"])])):e.createCommentVNode("",!0),te.value?(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(m,{modelValue:t.fields.ca_certificates,"onUpdate:modelValue":i[20]||(i[20]=r=>t.fields.ca_certificates=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-ca-certs-input",label:e.unref(a)("gateway_services.form.fields.ca_certificates.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(a)("gateway_services.form.fields.ca_certificates.placeholder"),readonly:t.isReadonly,type:"text"},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(U),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(a)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(a)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),_:1},8,["modelValue","label","placeholder","readonly"])])):e.createCommentVNode("",!0),fe.value?(e.openBlock(),e.createElementBlock("div",qe,[e.createVNode(l,{modelValue:t.fields.tls_verify_enabled,"onUpdate:modelValue":i[21]||(i[21]=r=>t.fields.tls_verify_enabled=r),"data-testid":"gateway-service-tls-verify-checkbox",description:e.unref(a)("gateway_services.form.fields.tls_verify_enabled.help"),label:e.unref(a)("gateway_services.form.fields.tls_verify_enabled.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}}},{tooltip:e.withCtx(()=>[e.createVNode(e.unref(U),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(a)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(h,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[22]||(i[22]=r=>t.fields.tls_verify_value=r),"data-testid":"gateway-service-tls-verify-true-option",label:e.unref(a)("gateway_services.form.fields.tls_verify_option.true.label"),"selected-value":!0},null,8,["modelValue","label"])])):e.createCommentVNode("",!0),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(h,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[23]||(i[23]=r=>t.fields.tls_verify_value=r),"data-testid":"gateway-service-tls-verify-false-option",label:e.unref(a)("gateway_services.form.fields.tls_verify_option.false.label"),"selected-value":!1},null,8,["modelValue","label"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["description","hide-info-header","title"])]),_:3},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-35e0db56"]]),je={class:"kong-ui-gateway-service-entity-config-card"},He=e.defineComponent({__name:"GatewayServiceConfigCard",props:{config:{type:Object,required:!0,validator:n=>!(!n||!["konnect","kongManager"].includes(n==null?void 0:n.app)||n.app==="konnect"&&!n.controlPlaneId||n.app==="kongManager"&&typeof n.workspace!="string"||!n.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(n){const B=n,{i18n:{t:f},i18nT:c}=X.useI18n(),s=e.computed(()=>O.form[B.config.app].edit),{getPropValue:E}=u.useHelpers(),R=(a,C)=>E(a,C)===!0?f("gateway_services.form.fields.tls_verify_option.true.display"):f("gateway_services.form.fields.tls_verify_option.false.display"),U=e.ref({id:{},name:{tooltip:f("gateway_services.form.fields.name.tooltip")},enabled:{},updated_at:{},created_at:{},protocol:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.protocol.tooltip")},host:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.host.tooltip")},path:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.path.tooltip")},port:{section:u.ConfigurationSchemaSection.Basic,tooltip:f("gateway_services.form.fields.port.tooltip")},tags:{tooltip:f("gateway_services.form.fields.tags.tooltip")},retries:{order:1,tooltip:f("gateway_services.form.fields.retries.tooltip")},connect_timeout:{order:2,tooltip:f("gateway_services.form.fields.connect_timeout.tooltip")},write_timeout:{order:3,tooltip:f("gateway_services.form.fields.write_timeout.tooltip")},read_timeout:{order:4,tooltip:f("gateway_services.form.fields.read_timeout.tooltip")},client_certificate:{order:5,tooltip:f("gateway_services.form.fields.client_certificate.tooltip")},ca_certificates:{type:u.ConfigurationSchemaType.BadgeTag,label:f("gateway_services.form.fields.ca_certificates.label"),order:6},tls_verify:{label:f("gateway_services.form.fields.tls_verify_enabled.label")},tls_verify_depth:{hidden:!0}});return(a,C)=>(e.openBlock(),e.createElementBlock("div",je,[e.createVNode(e.unref(u.EntityBaseConfigCard),{config:n.config,"config-card-doc":n.configCardDoc,"config-schema":U.value,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":s.value,"hide-title":n.hideTitle,"onFetch:error":C[0]||(C[0]=w=>a.$emit("fetch:error",w)),"onFetch:success":C[1]||(C[1]=w=>a.$emit("fetch:success",w)),onLoading:C[2]||(C[2]=w=>a.$emit("loading",w))},{"enabled-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.enabled.tooltip",scope:"global"},{false:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.enabled.false")),1)]),true:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.enabled.true")),1)]),_:1})]),"ca_certificates-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),"tls_verify-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(f)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),tls_verify:e.withCtx(w=>[e.createTextVNode(e.toDisplayString(typeof e.unref(E)("rowValue",w)=="boolean"?R("rowValue",w):e.unref(f)("gateway_services.form.fields.tls_verify_option.unset.display")),1)]),client_certificate:e.withCtx(w=>[e.createTextVNode(e.toDisplayString(e.unref(E)("rowValue",w)?e.unref(E)("rowValue",w).id:"–"),1)]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}});k.GatewayServiceConfigCard=He,k.GatewayServiceForm=We,k.GatewayServiceList=Ee,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.config-card-fieldset[data-v-f7096c33]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-f7096c33]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-c96811e5] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-761f7e64]{align-items:center;border-bottom:var(--3ccdd5d2);box-sizing:border-box;display:var(--4b1da305);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-761f7e64]{box-sizing:border-box;padding-right:16px;width:var(--cd20788a)}.config-card-details-row .config-card-details-label label[data-v-761f7e64]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-761f7e64]{line-height:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-label label .k-popover[data-v-761f7e64]{min-width:0}.config-card-details-row .config-card-details-value[data-v-761f7e64]{box-sizing:border-box;width:var(--cd1becd4)}.config-card-details-row .config-card-details-value .truncated[data-v-761f7e64]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-761f7e64]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-761f7e64] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-761f7e64]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-761f7e64]{margin-right:4px}.config-card-details-row[data-v-761f7e64] .k-label{margin-bottom:0}.config-card-details-row[data-v-761f7e64] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-761f7e64] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 8px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-top:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--54aebfa2);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d67757a9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-be491a0e]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-be491a0e]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-be491a0e]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-be491a0e] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-be491a0e]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-18af080f]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-18af080f] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-18af080f] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-18af080f] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-18af080f] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-18af080f]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-18af080f] .k-button:last-of-type,.form-actions[data-v-18af080f] .k-button:nth-last-of-type(2){margin-left:16px}.content-wrapper[data-v-b252463e] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-d58db70c]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-d58db70c]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-d58db70c]{display:none}.kong-ui-entity-base-table[data-v-d58db70c] .empty-state-icon-gateway{background-color:#ecfcff;border-radius:4px;padding:8px}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-10fa27a5]{width:100%}.kong-ui-entity-filter-clear[data-v-10fa27a5]{cursor:pointer}.kong-ui-entity-filter[data-v-10fa27a5]{display:flex;position:relative}.kong-ui-entity-filter[data-v-10fa27a5] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-10fa27a5] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-10fa27a5]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-10fa27a5]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-10fa27a5]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-10fa27a5]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-10fa27a5]{color:#232633}.menu-item-expand-icon[data-v-10fa27a5]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-10fa27a5]{transform:rotate(180deg)}.menu-item-indicator[data-v-10fa27a5]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-10fa27a5]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-10fa27a5] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-10fa27a5] .k-input{width:100%}.menu-item-body[data-v-10fa27a5] .k-select-input .input{font-size:12px}.menu-item-body[data-v-10fa27a5] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-10fa27a5]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-10fa27a5]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-10fa27a5]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-6f25ab21]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-6f25ab21]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-6f25ab21]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-6f25ab21] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-6f25ab21]{display:inline-block;font-weight:400;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-6f25ab21]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-6f25ab21]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-48ae9c8c]{align-items:center;background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,Roboto,Helvetica,sans-serif;gap:24px;padding:64px 0;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state[data-v-48ae9c8c]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-48ae9c8c]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-48ae9c8c]{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center;width:100%}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1[data-v-48ae9c8c]{align-items:center;color:#000933;display:flex;font-size:24px;font-weight:700;gap:8px;line-height:32px;margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1.secondary[data-v-48ae9c8c]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-48ae9c8c],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-48ae9c8c]{color:#52596e;font-size:14px;font-weight:400;line-height:20px;max-width:640px}.kong-ui-public-entity-empty-state .entity-empty-state-description p[data-v-48ae9c8c],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-48ae9c8c]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-48ae9c8c]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-48ae9c8c]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-48ae9c8c]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-48ae9c8c]{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-around;margin-top:8px;width:312px}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-48ae9c8c]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-48ae9c8c]{background-color:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;color:#afb7c5;gap:8px;height:160px;padding:20px;width:312px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-48ae9c8c]{color:#3a3f51;display:flex;margin-bottom:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-48ae9c8c] .kui-icon{height:20px!important;width:20px!important}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-48ae9c8c] .card-title{font-size:14px;font-weight:600}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-48ae9c8c] .card-content{-webkit-box-orient:vertical;color:#6c7489;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-48ae9c8c]{border-top:1px solid #e0e4ea;display:flex;flex-direction:column;gap:16px;padding-top:48px;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-48ae9c8c]{width:640px}}.button-row[data-v-ee4f8a6d]{align-items:center;display:flex;gap:12px}.kong-ui-entities-gateway-services-list[data-v-ee4f8a6d]{width:100%}.kong-ui-entities-gateway-services-list .kong-ui-entity-filter-input[data-v-ee4f8a6d]{margin-right:12px}.kong-ui-entities-gateway-service-form[data-v-35e0db56]{width:100%}.kong-ui-entities-gateway-service-form[data-v-35e0db56] .k-tooltip{max-width:300px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-top[data-v-35e0db56]{margin-top:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-traffic-label[data-v-35e0db56]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-35e0db56],.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-35e0db56] .input-element-wrapper{display:flex}.kong-ui-entities-gateway-service-form .gateway-service-form-group-fields[data-v-35e0db56]{margin-left:24px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-bottom[data-v-35e0db56]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .checkbox-aligned-radio[data-v-35e0db56]{margin:4px;padding-left:24px}
|
|
1
|
+
.config-card-fieldset[data-v-f7096c33]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-f7096c33]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-c96811e5] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-761f7e64]{align-items:center;border-bottom:var(--3ccdd5d2);box-sizing:border-box;display:var(--4b1da305);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-761f7e64]{box-sizing:border-box;padding-right:16px;width:var(--cd20788a)}.config-card-details-row .config-card-details-label label[data-v-761f7e64]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-761f7e64]{line-height:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-label label .k-popover[data-v-761f7e64]{min-width:0}.config-card-details-row .config-card-details-value[data-v-761f7e64]{box-sizing:border-box;width:var(--cd1becd4)}.config-card-details-row .config-card-details-value .truncated[data-v-761f7e64]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-761f7e64]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-761f7e64] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-761f7e64]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-761f7e64]{margin-right:4px}.config-card-details-row[data-v-761f7e64] .k-label{margin-bottom:0}.config-card-details-row[data-v-761f7e64] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-761f7e64] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 8px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-top:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--54aebfa2);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d67757a9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-be491a0e]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-be491a0e]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-be491a0e]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-be491a0e] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-be491a0e]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-18af080f]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-18af080f] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-18af080f] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-18af080f] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-18af080f] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-18af080f]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-18af080f] .k-button:last-of-type,.form-actions[data-v-18af080f] .k-button:nth-last-of-type(2){margin-left:16px}.content-wrapper[data-v-b252463e] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-d58db70c]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-d58db70c]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-d58db70c]{display:none}.kong-ui-entity-base-table[data-v-d58db70c] .empty-state-icon-gateway{background-color:#ecfcff;border-radius:4px;padding:8px}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-10fa27a5]{width:100%}.kong-ui-entity-filter-clear[data-v-10fa27a5]{cursor:pointer}.kong-ui-entity-filter[data-v-10fa27a5]{display:flex;position:relative}.kong-ui-entity-filter[data-v-10fa27a5] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-10fa27a5] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-10fa27a5]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-10fa27a5]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-10fa27a5]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-10fa27a5]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-10fa27a5]{color:#232633}.menu-item-expand-icon[data-v-10fa27a5]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-10fa27a5]{transform:rotate(180deg)}.menu-item-indicator[data-v-10fa27a5]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-10fa27a5]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-10fa27a5] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-10fa27a5] .k-input{width:100%}.menu-item-body[data-v-10fa27a5] .k-select-input .input{font-size:12px}.menu-item-body[data-v-10fa27a5] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-10fa27a5]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-10fa27a5]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-10fa27a5]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-6f25ab21]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-6f25ab21]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-6f25ab21]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-6f25ab21] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-6f25ab21]{display:inline-block;font-weight:400;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-6f25ab21]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-6f25ab21]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-48ae9c8c]{align-items:center;background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,Roboto,Helvetica,sans-serif;gap:24px;padding:64px 0;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state[data-v-48ae9c8c]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-48ae9c8c]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-48ae9c8c]{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center;width:100%}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1[data-v-48ae9c8c]{align-items:center;color:#000933;display:flex;font-size:24px;font-weight:700;gap:8px;line-height:32px;margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1.secondary[data-v-48ae9c8c]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-48ae9c8c],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-48ae9c8c]{color:#52596e;font-size:14px;font-weight:400;line-height:20px;max-width:640px}.kong-ui-public-entity-empty-state .entity-empty-state-description p[data-v-48ae9c8c],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-48ae9c8c]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-48ae9c8c]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-48ae9c8c]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-48ae9c8c]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-48ae9c8c]{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-around;margin-top:8px;width:312px}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-48ae9c8c]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-48ae9c8c]{background-color:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;color:#afb7c5;gap:8px;height:160px;padding:20px;width:312px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-48ae9c8c]{color:#3a3f51;display:flex;margin-bottom:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-48ae9c8c] .kui-icon{height:20px!important;width:20px!important}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-48ae9c8c] .card-title{font-size:14px;font-weight:600}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-48ae9c8c] .card-content{-webkit-box-orient:vertical;color:#6c7489;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-48ae9c8c]{border-top:1px solid #e0e4ea;display:flex;flex-direction:column;gap:16px;padding-top:48px;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-48ae9c8c]{width:640px}}.button-row[data-v-3d11ac45]{align-items:center;display:flex;gap:12px}.kong-ui-entities-gateway-services-list[data-v-3d11ac45]{width:100%}.kong-ui-entities-gateway-services-list .kong-ui-entity-filter-input[data-v-3d11ac45]{margin-right:12px}.kong-ui-entities-gateway-service-form[data-v-35e0db56]{width:100%}.kong-ui-entities-gateway-service-form[data-v-35e0db56] .k-tooltip{max-width:300px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-top[data-v-35e0db56]{margin-top:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-traffic-label[data-v-35e0db56]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-35e0db56],.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-35e0db56] .input-element-wrapper{display:flex}.kong-ui-entities-gateway-service-form .gateway-service-form-group-fields[data-v-35e0db56]{margin-left:24px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-bottom[data-v-35e0db56]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .checkbox-aligned-radio[data-v-35e0db56]{margin:4px;padding-left:24px}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kong-ui-public/entities-gateway-services",
|
|
3
|
-
"version": "3.10.
|
|
3
|
+
"version": "3.10.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/entities-gateway-services.umd.js",
|
|
6
6
|
"module": "./dist/entities-gateway-services.es.js",
|
|
@@ -21,37 +21,23 @@
|
|
|
21
21
|
"access": "public"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
|
+
"@kong-ui-public/entities-shared": "workspace:^",
|
|
25
|
+
"@kong-ui-public/i18n": "workspace:^",
|
|
24
26
|
"@kong/icons": "^1.21.2",
|
|
25
27
|
"@kong/kongponents": "^9.21.6",
|
|
26
28
|
"axios": "^1.7.7",
|
|
27
29
|
"vue": ">= 3.3.13 < 4",
|
|
28
|
-
"vue-router": "^4.4.5"
|
|
29
|
-
"@kong-ui-public/entities-shared": "^3.19.3",
|
|
30
|
-
"@kong-ui-public/i18n": "^2.2.10"
|
|
30
|
+
"vue-router": "^4.4.5"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
+
"@kong-ui-public/entities-shared": "^3.19.3",
|
|
34
|
+
"@kong-ui-public/i18n": "^2.2.10",
|
|
33
35
|
"@kong/design-tokens": "1.17.3",
|
|
34
36
|
"@kong/icons": "^1.21.2",
|
|
35
37
|
"@kong/kongponents": "9.21.6",
|
|
36
38
|
"axios": "^1.7.7",
|
|
37
39
|
"vue": "^3.5.13",
|
|
38
|
-
"vue-router": "^4.4.5"
|
|
39
|
-
"@kong-ui-public/i18n": "^2.2.10",
|
|
40
|
-
"@kong-ui-public/entities-shared": "^3.19.3"
|
|
41
|
-
},
|
|
42
|
-
"repository": {
|
|
43
|
-
"type": "git",
|
|
44
|
-
"url": "https://github.com/Kong/public-ui-components.git",
|
|
45
|
-
"directory": "packages/entities/entities-gateway-services"
|
|
46
|
-
},
|
|
47
|
-
"homepage": "https://github.com/Kong/public-ui-components/tree/main/packages/entities/entities-gateway-services",
|
|
48
|
-
"author": "Kong, Inc.",
|
|
49
|
-
"license": "Apache-2.0",
|
|
50
|
-
"volta": {
|
|
51
|
-
"extends": "../../../package.json"
|
|
52
|
-
},
|
|
53
|
-
"distSizeChecker": {
|
|
54
|
-
"errorLimit": "600KB"
|
|
40
|
+
"vue-router": "^4.4.5"
|
|
55
41
|
},
|
|
56
42
|
"scripts": {
|
|
57
43
|
"dev": "cross-env USE_SANDBOX=true vite",
|
|
@@ -70,5 +56,20 @@
|
|
|
70
56
|
"test:component:open": "BABEL_ENV=cypress cross-env FORCE_COLOR=1 cypress open --component -b chrome --project '../../../.'",
|
|
71
57
|
"test:unit": "cross-env FORCE_COLOR=1 vitest run",
|
|
72
58
|
"test:unit:open": "cross-env FORCE_COLOR=1 vitest --ui"
|
|
73
|
-
}
|
|
74
|
-
|
|
59
|
+
},
|
|
60
|
+
"repository": {
|
|
61
|
+
"type": "git",
|
|
62
|
+
"url": "https://github.com/Kong/public-ui-components.git",
|
|
63
|
+
"directory": "packages/entities/entities-gateway-services"
|
|
64
|
+
},
|
|
65
|
+
"homepage": "https://github.com/Kong/public-ui-components/tree/main/packages/entities/entities-gateway-services",
|
|
66
|
+
"author": "Kong, Inc.",
|
|
67
|
+
"license": "Apache-2.0",
|
|
68
|
+
"volta": {
|
|
69
|
+
"extends": "../../../package.json"
|
|
70
|
+
},
|
|
71
|
+
"distSizeChecker": {
|
|
72
|
+
"errorLimit": "600KB"
|
|
73
|
+
},
|
|
74
|
+
"gitHead": "fb43f17c1677bdc8361d7845e3a019db3899d92d"
|
|
75
|
+
}
|