@kong-ui-public/entities-snis 3.9.8 → 3.9.10

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,9 +1,9 @@
1
- import { defineComponent as me, ref as k, computed as g, watch as ce, onBeforeMount as ge, resolveComponent as D, createElementBlock as W, openBlock as v, createVNode as c, unref as t, createSlots as de, withCtx as l, createTextVNode as x, toDisplayString as b, createBlock as E, createElementVNode as L, Teleport as Ce, createCommentVNode as H, reactive as ue } from "vue";
2
- import { useRouter as ye } from "vue-router";
3
- import { createI18n as Ie, i18nTComponent as Se } from "@kong-ui-public/i18n";
4
- import { useAxios as ve, useTableState as _e, useFetcher as Ee, useDeleteUrlBuilder as we, FetcherStatus as $e, EntityBaseTable as Ne, PermissionsWrapper as G, TableTags as Me, EntityFilter as xe, EntityEmptyState as De, EntityDeleteModal as Fe, EntityTypes as Re, useErrors as Te, EntityBaseFormType as le, useDebouncedFilter as Be, EntityBaseForm as Ke, SupportedEntityType as Ve, EntityFormSection as fe } from "@kong-ui-public/entities-shared";
5
- import { BookIcon as Oe, AddIcon as pe, CloudIcon as Ue } from "@kong/icons";
6
- const Pe = {
1
+ import { defineComponent as ve, ref as S, computed as g, watch as ue, onBeforeMount as he, resolveComponent as $, createElementBlock as W, openBlock as h, createVNode as d, unref as t, createSlots as pe, withCtx as c, createTextVNode as C, toDisplayString as v, createBlock as _, createElementVNode as X, Teleport as _e, createCommentVNode as A, reactive as me } from "vue";
2
+ import { useRouter as be } from "vue-router";
3
+ import { createI18n as we, i18nTComponent as Ee } from "@kong-ui-public/i18n";
4
+ import { useAxios as ke, useTableState as $e, useFetcher as Ne, useDeleteUrlBuilder as Me, FetcherStatus as xe, EntityBaseTable as Fe, PermissionsWrapper as H, TableTags as De, EntityFilter as Be, EntityDeleteModal as Re, EntityTypes as Te, useErrors as Ke, EntityBaseFormType as ce, useDebouncedFilter as Ve, EntityBaseForm as Pe, SupportedEntityType as qe, EntityFormSection as ge } from "@kong-ui-public/entities-shared";
5
+ import { BookIcon as ye, AddIcon as de, CloudIcon as Ue } from "@kong/icons";
6
+ const Oe = {
7
7
  create: "New SNI",
8
8
  copy_id: "Copy ID",
9
9
  copy_json: "Copy JSON",
@@ -11,7 +11,7 @@ const Pe = {
11
11
  delete: "Delete",
12
12
  clear: "Clear",
13
13
  loading: "Loading..."
14
- }, qe = {
14
+ }, je = {
15
15
  placeholder: "Filter by exact name or ID",
16
16
  no_results: "No results found"
17
17
  }, Ae = {
@@ -34,10 +34,11 @@ const Pe = {
34
34
  title: "Configure your first SNI",
35
35
  description: "Server Name Indications (SNIs) map hostnames to SSL/TLS certificates, enabling secure connections for domain-specific traffic.",
36
36
  group: "SNIs created in gateways within this group will automatically appear here.",
37
- create_cta: "New SNI"
37
+ create_cta: "New SNI",
38
+ learn_more: "Learn more"
38
39
  }
39
40
  }
40
- }, je = {
41
+ }, Le = {
41
42
  sections: {
42
43
  general: {
43
44
  title: "General Information",
@@ -65,7 +66,7 @@ const Pe = {
65
66
  footer: "Search by exact ID to find certificates not included in the list"
66
67
  }
67
68
  }
68
- }, Le = {
69
+ }, Je = {
69
70
  delete: "The SNI could not be deleted at this time.",
70
71
  general: "SNIs could not be retrieved",
71
72
  certificates: {
@@ -73,55 +74,55 @@ const Pe = {
73
74
  invalid: "Please select a valid certificate ID"
74
75
  },
75
76
  copy: "Failed to copy to clipboard"
76
- }, ze = {
77
+ }, Qe = {
77
78
  success: "Copied {val} to clipboard",
78
79
  success_brief: "Successfully copied to clipboard"
79
- }, Je = {
80
- actions: Pe,
81
- search: qe,
80
+ }, ze = {
81
+ actions: Oe,
82
+ search: je,
82
83
  snis: Ae,
83
- form: je,
84
+ form: Le,
84
85
  delete: {
85
86
  title: "Delete an SNI",
86
87
  description: "This action cannot be reversed so make sure to check the SNI usage before deleting."
87
88
  },
88
- errors: Le,
89
- copy: ze
89
+ errors: Je,
90
+ copy: Qe
90
91
  };
91
- function Qe() {
92
- const i = Ie("en-us", Je);
92
+ function Ge() {
93
+ const i = we("en-us", ze);
93
94
  return {
94
95
  i18n: i,
95
- i18nT: Se(i)
96
+ i18nT: Ee(i)
96
97
  // Translation component <i18n-t>
97
98
  };
98
99
  }
99
- const he = {
100
- useI18n: Qe
101
- }, q = "/v2/control-planes/{controlPlaneId}/core-entities", A = "/{workspace}", j = {
100
+ const Se = {
101
+ useI18n: Ge
102
+ }, O = "/v2/control-planes/{controlPlaneId}/core-entities", j = "/{workspace}", L = {
102
103
  list: {
103
104
  konnect: {
104
- all: `${q}/snis`
105
+ all: `${O}/snis`
105
106
  },
106
107
  kongManager: {
107
- all: `${A}/snis`
108
+ all: `${j}/snis`
108
109
  }
109
110
  },
110
111
  form: {
111
112
  konnect: {
112
- create: `${q}/snis`,
113
- edit: `${q}/snis/{id}`,
114
- validate: `${q}/v1/schemas/json/sni/validate`,
115
- certificates: `${q}/certificates`
113
+ create: `${O}/snis`,
114
+ edit: `${O}/snis/{id}`,
115
+ validate: `${O}/v1/schemas/json/sni/validate`,
116
+ certificates: `${O}/certificates`
116
117
  },
117
118
  kongManager: {
118
- create: `${A}/snis`,
119
- edit: `${A}/snis/{id}`,
120
- validate: `${A}/schemas/snis/validate`,
121
- certificates: `${A}/certificates`
119
+ create: `${j}/snis`,
120
+ edit: `${j}/snis/{id}`,
121
+ validate: `${j}/schemas/snis/validate`,
122
+ certificates: `${j}/certificates`
122
123
  }
123
124
  }
124
- }, Ge = "#00abd2", He = "24px", We = { class: "kong-ui-entities-snis-list" }, Xe = { class: "button-row" }, Ze = { class: "empty-state-icon-gateway" }, Ye = { key: 1 }, et = /* @__PURE__ */ me({
125
+ }, He = { class: "kong-ui-entities-snis-list" }, We = { class: "button-row" }, Xe = { key: 1 }, Ye = /* @__PURE__ */ ve({
125
126
  __name: "SniList",
126
127
  props: {
127
128
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
@@ -171,189 +172,191 @@ const he = {
171
172
  }
172
173
  },
173
174
  emits: ["error", "click:learn-more", "copy:success", "copy:error", "delete:success"],
174
- setup(i, { emit: F }) {
175
- var n;
176
- const y = F, a = i, { i18n: { t: r } } = he.useI18n(), f = ye(), { axiosInstance: X } = ve((n = a.config) == null ? void 0 : n.axiosRequestConfig), { hasRecords: w, handleStateChange: Z } = _e(() => C.value), $ = g(() => w.value && a.config.app === "konnect"), N = g(() => a.config.app !== "kongManager" || !!a.config.disableSorting), s = {
175
+ setup(i, { emit: D }) {
176
+ var o;
177
+ const y = D, a = i, { i18n: { t: l } } = Se.useI18n(), f = be(), { axiosInstance: Y } = ke((o = a.config) == null ? void 0 : o.axiosRequestConfig), { hasRecords: N, handleStateChange: Z } = $e(() => I.value), M = g(() => N.value && a.config.app === "konnect"), x = g(() => a.config.app !== "kongManager" || !!a.config.disableSorting), r = {
177
178
  // the Name column is non-hidable
178
- name: { label: r("snis.list.table_headers.name"), searchable: !0, sortable: !0, hidable: !1 },
179
- certificate: { label: r("snis.list.table_headers.certificate_id"), sortable: !1 },
180
- tags: { label: r("snis.list.table_headers.tags"), sortable: !1 }
181
- }, R = s, Y = (e) => ({
179
+ name: { label: l("snis.list.table_headers.name"), searchable: !0, sortable: !0, hidable: !1 },
180
+ certificate: { label: l("snis.list.table_headers.certificate_id"), sortable: !1 },
181
+ tags: { label: l("snis.list.table_headers.tags"), sortable: !1 }
182
+ }, B = r, ee = (e) => ({
182
183
  style: {
183
184
  maxWidth: e.headerKey === "name" ? "250px" : e.headerKey === "certificate" ? "350px" : null
184
185
  }
185
- }), z = g(() => {
186
- var o, d;
187
- let e = `${a.config.apiBaseUrl}${j.list[a.config.app].all}`;
188
- return a.config.app === "konnect" ? e = e.replace(/{controlPlaneId}/gi, ((o = a.config) == null ? void 0 : o.controlPlaneId) || "") : a.config.app === "kongManager" && (e = e.replace(/\/{workspace}/gi, (d = a.config) != null && d.workspace ? `/${a.config.workspace}` : "")), e;
189
- }), C = k(""), ee = g(() => {
186
+ }), J = g(() => {
187
+ var u, s;
188
+ let e = `${a.config.apiBaseUrl}${L.list[a.config.app].all}`;
189
+ return a.config.app === "konnect" ? e = e.replace(/{controlPlaneId}/gi, ((u = a.config) == null ? void 0 : u.controlPlaneId) || "") : a.config.app === "kongManager" && (e = e.replace(/\/{workspace}/gi, (s = a.config) != null && s.workspace ? `/${a.config.workspace}` : "")), e;
190
+ }), I = S(""), te = g(() => {
190
191
  const e = a.config.app === "konnect" || a.config.isExactMatch;
191
192
  if (e)
192
193
  return {
193
194
  isExactMatch: e,
194
- placeholder: r("search.placeholder")
195
+ placeholder: l("search.placeholder")
195
196
  };
196
- const { name: o } = s;
197
+ const { name: u } = r;
197
198
  return {
198
199
  isExactMatch: e,
199
- fields: { name: o },
200
+ fields: { name: u },
200
201
  schema: a.config.filterSchema
201
202
  };
202
203
  }), {
203
- fetcher: T,
204
- fetcherState: I,
205
- fetcherCacheKey: B
206
- } = Ee(g(() => ({ ...a.config, cacheIdentifier: a.cacheIdentifier })), z), te = () => {
207
- C.value = "";
208
- }, ae = () => {
209
- B.value++;
210
- }, M = k(null), K = k({
204
+ fetcher: R,
205
+ fetcherState: w,
206
+ fetcherCacheKey: T
207
+ } = Ne(g(() => ({ ...a.config, cacheIdentifier: a.cacheIdentifier })), J), ae = () => {
208
+ I.value = "";
209
+ }, ie = () => {
210
+ T.value++;
211
+ }, F = S(null), K = S({
211
212
  ctaPath: a.config.createRoute,
212
213
  ctaText: void 0,
213
- message: `${r("snis.list.empty_state.description")}${a.config.additionMessageForEmptyState ? ` ${a.config.additionMessageForEmptyState}` : ""}`,
214
- title: r("snis.title")
215
- }), ie = async (e, o) => {
216
- const d = e.id;
217
- if (!await o(d)) {
214
+ message: `${l("snis.list.empty_state.description")}${a.config.additionMessageForEmptyState ? ` ${a.config.additionMessageForEmptyState}` : ""}`,
215
+ title: l("snis.title")
216
+ }), ne = async (e, u) => {
217
+ const s = e.id;
218
+ if (!await u(s)) {
218
219
  y("copy:error", {
219
220
  entity: e,
220
221
  field: "id",
221
- message: r("errors.copy")
222
+ message: l("errors.copy")
222
223
  });
223
224
  return;
224
225
  }
225
226
  y("copy:success", {
226
227
  entity: e,
227
228
  field: "id",
228
- message: r("copy.success", { val: d })
229
+ message: l("copy.success", { val: s })
229
230
  });
230
- }, ne = async (e, o) => {
231
- const d = JSON.stringify(e);
232
- if (!await o(d)) {
231
+ }, oe = async (e, u) => {
232
+ const s = JSON.stringify(e);
233
+ if (!await u(s)) {
233
234
  y("copy:error", {
234
235
  entity: e,
235
- message: r("errors.copy")
236
+ message: l("errors.copy")
236
237
  });
237
238
  return;
238
239
  }
239
240
  y("copy:success", {
240
241
  entity: e,
241
- message: r("copy.success_brief")
242
+ message: l("copy.success_brief")
242
243
  });
243
- }, oe = (e) => ({
244
- label: r("actions.edit"),
244
+ }, se = (e) => ({
245
+ label: l("actions.edit"),
245
246
  to: a.config.getEditRoute(e)
246
- }), h = k(void 0), V = k(!1), S = k(!1), J = k(""), se = we(a.config, z.value), O = (e) => {
247
- h.value = e, V.value = !0;
248
- }, U = () => {
249
- V.value = !1, h.value = void 0;
250
- }, re = async () => {
251
- var e, o, d;
252
- if ((e = h.value) != null && e.id) {
253
- S.value = !0;
247
+ }), k = S(void 0), V = S(!1), E = S(!1), Q = S(""), re = Me(a.config, J.value), P = (e) => {
248
+ k.value = e, V.value = !0;
249
+ }, q = () => {
250
+ V.value = !1, k.value = void 0;
251
+ }, le = async () => {
252
+ var e, u, s;
253
+ if ((e = k.value) != null && e.id) {
254
+ E.value = !0;
254
255
  try {
255
- await X.delete(se(h.value.id)), y("delete:success", h.value), S.value = !1, U(), B.value++;
256
- } catch (u) {
257
- J.value = ((d = (o = u.response) == null ? void 0 : o.data) == null ? void 0 : d.message) || u.message || r("errors.delete"), y("error", u);
256
+ await Y.delete(re(k.value.id)), y("delete:success", k.value), E.value = !1, q(), T.value++;
257
+ } catch (b) {
258
+ Q.value = ((s = (u = b.response) == null ? void 0 : u.data) == null ? void 0 : s.message) || b.message || l("errors.delete"), y("error", b);
258
259
  } finally {
259
- S.value = !1;
260
+ E.value = !1;
260
261
  }
261
262
  }
262
- }, Q = () => {
263
+ }, z = () => {
263
264
  f.push(a.config.createRoute);
264
265
  };
265
- return ce(I, (e) => {
266
- var o, d, u;
267
- if (e.status === $e.Error) {
268
- M.value = {
269
- title: r("errors.general")
270
- }, (u = (d = (o = e.error) == null ? void 0 : o.response) == null ? void 0 : d.data) != null && u.message && (M.value.message = e.error.response.data.message), y("error", e.error);
266
+ ue(w, (e) => {
267
+ var u, s, b;
268
+ if (e.status === xe.Error) {
269
+ F.value = {
270
+ title: l("errors.general")
271
+ }, (b = (s = (u = e.error) == null ? void 0 : u.response) == null ? void 0 : s.data) != null && b.message && (F.value.message = e.error.response.data.message), y("error", e.error);
271
272
  return;
272
273
  }
273
- M.value = null;
274
- }), ge(async () => {
275
- await a.canCreate() && (K.value.title = r("snis.list.empty_state.title"), K.value.ctaText = r("actions.create"));
276
- }), (e, o) => {
277
- const d = D("KButton"), u = D("KCopy"), _ = D("KDropdownItem"), p = D("KClipboardProvider");
278
- return v(), W("div", We, [
279
- c(t(Ne), {
274
+ F.value = null;
275
+ });
276
+ const n = S(!1);
277
+ return he(async () => {
278
+ n.value = await a.canCreate(), n.value && (K.value.title = l("snis.list.empty_state.title"), K.value.ctaText = l("actions.create"));
279
+ }), (e, u) => {
280
+ const s = $("KButton"), b = $("KEmptyState"), m = $("KCopy"), G = $("KDropdownItem"), fe = $("KClipboardProvider");
281
+ return h(), W("div", He, [
282
+ d(t(Fe), {
280
283
  "cache-identifier": i.cacheIdentifier,
281
- "cell-attributes": Y,
284
+ "cell-attributes": ee,
282
285
  "disable-row-click": !0,
283
- "disable-sorting": N.value,
286
+ "disable-sorting": x.value,
284
287
  "empty-state-options": K.value,
285
288
  "enable-entity-actions": "",
286
- "error-message": M.value,
287
- fetcher: t(T),
288
- "fetcher-cache-key": t(B),
289
+ "error-message": F.value,
290
+ fetcher: t(R),
291
+ "fetcher-cache-key": t(T),
289
292
  "pagination-type": "offset",
290
293
  "preferences-storage-key": "kong-ui-entities-snis-list",
291
- query: C.value,
292
- "table-headers": t(R),
293
- onClearSearchInput: te,
294
- onSort: ae,
294
+ query: I.value,
295
+ "table-headers": t(B),
296
+ onClearSearchInput: ae,
297
+ onSort: ie,
295
298
  onState: t(Z)
296
- }, de({
297
- "toolbar-filter": l(() => [
298
- c(t(xe), {
299
- modelValue: C.value,
300
- "onUpdate:modelValue": o[0] || (o[0] = (m) => C.value = m),
301
- config: ee.value
299
+ }, pe({
300
+ "toolbar-filter": c(() => [
301
+ d(t(Be), {
302
+ modelValue: I.value,
303
+ "onUpdate:modelValue": u[0] || (u[0] = (p) => I.value = p),
304
+ config: te.value
302
305
  }, null, 8, ["modelValue", "config"]),
303
- i.useToolbarCreationButton ? (v(), E(t(G), {
306
+ i.useToolbarCreationButton ? (h(), _(t(H), {
304
307
  key: 0,
305
308
  "auth-function": i.canCreate
306
309
  }, {
307
- default: l(() => [
308
- c(d, {
310
+ default: c(() => [
311
+ d(s, {
309
312
  appearance: "primary",
310
313
  "data-testid": "toolbar-add-sni",
311
314
  size: "large",
312
315
  to: i.config.createRoute
313
316
  }, {
314
- default: l(() => [
315
- c(t(pe)),
316
- x(" " + b(t(r)("actions.create")), 1)
317
+ default: c(() => [
318
+ d(t(de)),
319
+ C(" " + v(t(l)("actions.create")), 1)
317
320
  ]),
318
321
  _: 1
319
322
  }, 8, ["to"])
320
323
  ]),
321
324
  _: 1
322
- }, 8, ["auth-function"])) : H("", !0)
325
+ }, 8, ["auth-function"])) : A("", !0)
323
326
  ]),
324
- "toolbar-button": l(() => [
325
- (v(), E(Ce, {
327
+ "toolbar-button": c(() => [
328
+ (h(), _(_e, {
326
329
  disabled: !i.useActionOutside,
327
330
  to: "#kong-ui-app-page-header-action-button"
328
331
  }, [
329
- L("div", Xe, [
330
- $.value ? (v(), E(d, {
332
+ X("div", We, [
333
+ M.value ? (h(), _(s, {
331
334
  key: 0,
332
335
  appearance: "secondary",
333
336
  class: "open-learning-hub",
334
337
  "data-testid": "snis-learn-more-button",
335
338
  icon: "",
336
- onClick: o[1] || (o[1] = (m) => e.$emit("click:learn-more"))
339
+ onClick: u[1] || (u[1] = (p) => e.$emit("click:learn-more"))
337
340
  }, {
338
- default: l(() => [
339
- c(t(Oe), { decorative: "" })
341
+ default: c(() => [
342
+ d(t(ye), { decorative: "" })
340
343
  ]),
341
344
  _: 1
342
- })) : H("", !0),
343
- i.useToolbarCreationButton ? H("", !0) : (v(), E(t(G), {
345
+ })) : A("", !0),
346
+ i.useToolbarCreationButton ? A("", !0) : (h(), _(t(H), {
344
347
  key: 1,
345
348
  "auth-function": i.canCreate
346
349
  }, {
347
- default: l(() => [
348
- c(d, {
350
+ default: c(() => [
351
+ d(s, {
349
352
  appearance: "primary",
350
353
  "data-testid": "toolbar-add-sni",
351
354
  size: i.useActionOutside ? "medium" : "large",
352
355
  to: i.config.createRoute
353
356
  }, {
354
- default: l(() => [
355
- c(t(pe)),
356
- x(" " + b(t(r)("snis.list.toolbar_actions.new")), 1)
357
+ default: c(() => [
358
+ d(t(de)),
359
+ C(" " + v(t(l)("snis.list.toolbar_actions.new")), 1)
357
360
  ]),
358
361
  _: 1
359
362
  }, 8, ["size", "to"])
@@ -363,73 +366,73 @@ const he = {
363
366
  ])
364
367
  ], 8, ["disabled"]))
365
368
  ]),
366
- name: l(({ rowValue: m }) => [
367
- L("b", null, b(m ?? "-"), 1)
369
+ name: c(({ rowValue: p }) => [
370
+ X("b", null, v(p ?? "-"), 1)
368
371
  ]),
369
- certificate: l(({ row: m }) => [
370
- m.certificate && m.certificate.id ? (v(), E(u, {
372
+ certificate: c(({ row: p }) => [
373
+ p.certificate && p.certificate.id ? (h(), _(m, {
371
374
  key: 0,
372
375
  class: "copy-certificate-uuid",
373
376
  "data-testid": "copy-certificate-uuid",
374
- text: m.certificate.id,
377
+ text: p.certificate.id,
375
378
  truncate: ""
376
- }, null, 8, ["text"])) : (v(), W("span", Ye, "-"))
379
+ }, null, 8, ["text"])) : (h(), W("span", Xe, "-"))
377
380
  ]),
378
- tags: l(({ rowValue: m }) => [
379
- c(t(Me), { tags: m }, null, 8, ["tags"])
381
+ tags: c(({ rowValue: p }) => [
382
+ d(t(De), { tags: p }, null, 8, ["tags"])
380
383
  ]),
381
- actions: l(({ row: m }) => [
382
- c(p, null, {
383
- default: l(({ copyToClipboard: P }) => [
384
- c(_, {
384
+ actions: c(({ row: p }) => [
385
+ d(fe, null, {
386
+ default: c(({ copyToClipboard: U }) => [
387
+ d(G, {
385
388
  "data-testid": "action-entity-copy-id",
386
- onClick: (ke) => ie(m, P)
389
+ onClick: (Ce) => ne(p, U)
387
390
  }, {
388
- default: l(() => [
389
- x(b(t(r)("actions.copy_id")), 1)
391
+ default: c(() => [
392
+ C(v(t(l)("actions.copy_id")), 1)
390
393
  ]),
391
394
  _: 2
392
395
  }, 1032, ["onClick"])
393
396
  ]),
394
397
  _: 2
395
398
  }, 1024),
396
- c(p, null, {
397
- default: l(({ copyToClipboard: P }) => [
398
- c(_, {
399
+ d(fe, null, {
400
+ default: c(({ copyToClipboard: U }) => [
401
+ d(G, {
399
402
  "data-testid": "action-entity-copy-json",
400
- onClick: (ke) => ne(m, P)
403
+ onClick: (Ce) => oe(p, U)
401
404
  }, {
402
- default: l(() => [
403
- x(b(t(r)("actions.copy_json")), 1)
405
+ default: c(() => [
406
+ C(v(t(l)("actions.copy_json")), 1)
404
407
  ]),
405
408
  _: 2
406
409
  }, 1032, ["onClick"])
407
410
  ]),
408
411
  _: 2
409
412
  }, 1024),
410
- c(t(G), {
411
- "auth-function": () => i.canEdit(m)
413
+ d(t(H), {
414
+ "auth-function": () => i.canEdit(p)
412
415
  }, {
413
- default: l(() => [
414
- c(_, {
416
+ default: c(() => [
417
+ d(G, {
415
418
  "data-testid": "action-entity-edit",
416
- item: oe(m.id)
419
+ item: se(p.id)
417
420
  }, null, 8, ["item"])
418
421
  ]),
419
422
  _: 2
420
423
  }, 1032, ["auth-function"]),
421
- c(t(G), {
422
- "auth-function": () => i.canDelete(m)
424
+ d(t(H), {
425
+ "auth-function": () => i.canDelete(p)
423
426
  }, {
424
- default: l(() => [
425
- c(_, {
427
+ default: c(() => [
428
+ d(G, {
426
429
  danger: "",
427
430
  "data-testid": "action-entity-delete",
428
431
  "has-divider": "",
429
- onClick: (P) => O(m)
432
+ onClick: (U) => P(p)
430
433
  }, {
431
- default: l(() => [
432
- x(b(t(r)("actions.delete")), 1)
434
+ default: c(() => [
435
+ C(v(t(l)("actions.delete")), 1)
433
436
  ]),
434
437
  _: 2
435
438
  }, 1032, ["onClick"])
@@ -439,70 +442,84 @@ const he = {
439
442
  ]),
440
443
  _: 2
441
444
  }, [
442
- !C.value && i.config.app === "konnect" ? {
445
+ !I.value && i.config.app === "konnect" ? {
443
446
  name: "empty-state",
444
- fn: l(() => {
445
- var m;
447
+ fn: c(() => {
448
+ var p;
446
449
  return [
447
- c(t(De), {
448
- "action-button-text": t(r)("snis.list.toolbar_actions.new"),
449
- appearance: "secondary",
450
- "can-create": () => i.canCreate(),
450
+ d(b, {
451
451
  "data-testid": "snis-entity-empty-state",
452
- description: t(r)("snis.list.empty_state_v2.description"),
453
- "learn-more": i.config.app === "konnect",
454
- title: t(r)("snis.list.empty_state_v2.title"),
455
- "onClick:create": Q,
456
- "onClick:learnMore": o[2] || (o[2] = (P) => e.$emit("click:learn-more"))
457
- }, de({
458
- image: l(() => [
459
- L("div", Ze, [
460
- c(t(Ue), {
461
- color: t(Ge),
462
- size: t(He)
463
- }, null, 8, ["color", "size"])
464
- ])
452
+ "icon-background": "",
453
+ message: t(l)("snis.list.empty_state_v2.description"),
454
+ title: t(l)("snis.list.empty_state_v2.title")
455
+ }, pe({
456
+ icon: c(() => [
457
+ d(t(Ue), { decorative: "" })
458
+ ]),
459
+ action: c(() => [
460
+ n.value ? (h(), _(s, {
461
+ key: 0,
462
+ "data-testid": "entity-create-button",
463
+ onClick: z
464
+ }, {
465
+ default: c(() => [
466
+ d(t(de), { decorative: "" }),
467
+ C(" " + v(t(l)("snis.list.toolbar_actions.new")), 1)
468
+ ]),
469
+ _: 1
470
+ })) : A("", !0),
471
+ d(s, {
472
+ appearance: "secondary",
473
+ "data-testid": "entity-learn-more-button",
474
+ onClick: u[2] || (u[2] = (U) => e.$emit("click:learn-more"))
475
+ }, {
476
+ default: c(() => [
477
+ d(t(ye), { decorative: "" }),
478
+ C(" " + v(t(l)("snis.list.empty_state_v2.learn_more")), 1)
479
+ ]),
480
+ _: 1
481
+ })
465
482
  ]),
466
483
  _: 2
467
484
  }, [
468
- (m = i.config) != null && m.isControlPlaneGroup ? {
469
- name: "message",
470
- fn: l(() => [
471
- x(b(t(r)("snis.list.empty_state_v2.group")), 1)
485
+ (p = i.config) != null && p.isControlPlaneGroup ? {
486
+ name: "default",
487
+ fn: c(() => [
488
+ C(v(t(l)("snis.list.empty_state_v2.group")), 1)
472
489
  ]),
473
490
  key: "0"
474
491
  } : void 0
475
- ]), 1032, ["action-button-text", "can-create", "description", "learn-more", "title"])
492
+ ]), 1032, ["message", "title"])
476
493
  ];
477
494
  }),
478
495
  key: "0"
479
496
  } : void 0
480
497
  ]), 1032, ["cache-identifier", "disable-sorting", "empty-state-options", "error-message", "fetcher", "fetcher-cache-key", "query", "table-headers", "onState"]),
481
- c(t(Fe), {
482
- "action-pending": S.value,
483
- description: t(r)("delete.description"),
484
- "entity-name": h.value && (h.value.name || h.value.id),
485
- "entity-type": t(Re).SNI,
486
- error: J.value,
498
+ d(t(Re), {
499
+ "action-pending": E.value,
500
+ description: t(l)("delete.description"),
501
+ "entity-name": k.value && (k.value.name || k.value.id),
502
+ "entity-type": t(Te).SNI,
503
+ error: Q.value,
487
504
  "need-confirm": !1,
488
- title: t(r)("delete.title"),
505
+ title: t(l)("delete.title"),
489
506
  visible: V.value,
490
- onCancel: U,
491
- onProceed: re
507
+ onCancel: q,
508
+ onProceed: le
492
509
  }, null, 8, ["action-pending", "description", "entity-name", "entity-type", "error", "title", "visible"])
493
510
  ]);
494
511
  };
495
512
  }
496
- }), be = (i, F) => {
513
+ }), Ie = (i, D) => {
497
514
  const y = i.__vccOpts || i;
498
- for (const [a, r] of F)
499
- y[a] = r;
515
+ for (const [a, l] of D)
516
+ y[a] = l;
500
517
  return y;
501
- }, dt = /* @__PURE__ */ be(et, [["__scopeId", "data-v-4db4a3ba"]]), tt = { class: "kong-ui-entities-snis-form" }, at = { "data-testid": "no-search-results" }, it = {
518
+ }, lt = /* @__PURE__ */ Ie(Ye, [["__scopeId", "data-v-5d5c486a"]]), Ze = { class: "kong-ui-entities-snis-form" }, et = { "data-testid": "no-search-results" }, tt = {
502
519
  key: 2,
503
520
  class: "invalid-certificate-message",
504
521
  "data-testid": "invalid-certificate-message"
505
- }, nt = /* @__PURE__ */ me({
522
+ }, at = /* @__PURE__ */ ve({
506
523
  __name: "SniForm",
507
524
  props: {
508
525
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
@@ -519,9 +536,9 @@ const he = {
519
536
  }
520
537
  },
521
538
  emits: ["update", "error", "loading"],
522
- setup(i, { emit: F }) {
523
- var Q;
524
- const y = F, a = i, r = ye(), { i18n: { t: f } } = he.useI18n(), { getMessageFromError: X } = Te(), { axiosInstance: w } = ve((Q = a.config) == null ? void 0 : Q.axiosRequestConfig), Z = g(() => j.form[a.config.app].edit), $ = g(() => a.sniId ? le.Edit : le.Create), N = g(() => a.config.certificateId && $.value === le.Create ? a.config.certificateId : ""), s = ue({
539
+ setup(i, { emit: D }) {
540
+ var z;
541
+ const y = D, a = i, l = be(), { i18n: { t: f } } = Se.useI18n(), { getMessageFromError: Y } = Ke(), { axiosInstance: N } = ke((z = a.config) == null ? void 0 : z.axiosRequestConfig), Z = g(() => L.form[a.config.app].edit), M = g(() => a.sniId ? ce.Edit : ce.Create), x = g(() => a.config.certificateId && M.value === ce.Create ? a.config.certificateId : ""), r = me({
525
542
  fields: {
526
543
  name: "",
527
544
  tags: "",
@@ -529,106 +546,106 @@ const he = {
529
546
  },
530
547
  isReadonly: !1,
531
548
  errorMessage: ""
532
- }), R = ue({
549
+ }), B = me({
533
550
  name: "",
534
551
  tags: "",
535
552
  certificate_id: ""
536
- }), Y = g(() => JSON.stringify(s.fields) !== JSON.stringify(R) && !!s.fields.name && !!(s.fields.certificate_id || N.value)), z = (n) => {
537
- var e, o;
538
- s.fields.name = (n == null ? void 0 : n.name) || "", s.fields.tags = ((e = n == null ? void 0 : n.tags) == null ? void 0 : e.join(", ")) || "", s.fields.certificate_id = ((o = n == null ? void 0 : n.certificate) == null ? void 0 : o.id) || "", Object.assign(R, s.fields);
539
- }, C = () => {
540
- r.push(a.config.cancelRoute);
541
- }, ee = g(() => {
542
- var e, o;
543
- let n = `${a.config.apiBaseUrl}${j.form[a.config.app].validate}`;
544
- return a.config.app === "konnect" ? n = n.replace(/{controlPlaneId}/gi, ((e = a.config) == null ? void 0 : e.controlPlaneId) || "") : a.config.app === "kongManager" && (n = n.replace(/\/{workspace}/gi, (o = a.config) != null && o.workspace ? `/${a.config.workspace}` : "")), n = n.replace(/{id}/gi, a.sniId), n;
545
- }), T = g(() => {
546
- var e, o;
547
- let n = `${a.config.apiBaseUrl}${j.form[a.config.app][$.value]}`;
548
- return a.config.app === "konnect" ? n = n.replace(/{controlPlaneId}/gi, ((e = a.config) == null ? void 0 : e.controlPlaneId) || "") : a.config.app === "kongManager" && (n = n.replace(/\/{workspace}/gi, (o = a.config) != null && o.workspace ? `/${a.config.workspace}` : "")), n = n.replace(/{id}/gi, a.sniId), n;
549
- }), I = g(() => {
550
- var n, e;
553
+ }), ee = g(() => JSON.stringify(r.fields) !== JSON.stringify(B) && !!r.fields.name && !!(r.fields.certificate_id || x.value)), J = (n) => {
554
+ var o, e;
555
+ r.fields.name = (n == null ? void 0 : n.name) || "", r.fields.tags = ((o = n == null ? void 0 : n.tags) == null ? void 0 : o.join(", ")) || "", r.fields.certificate_id = ((e = n == null ? void 0 : n.certificate) == null ? void 0 : e.id) || "", Object.assign(B, r.fields);
556
+ }, I = () => {
557
+ l.push(a.config.cancelRoute);
558
+ }, te = g(() => {
559
+ var o, e;
560
+ let n = `${a.config.apiBaseUrl}${L.form[a.config.app].validate}`;
561
+ return a.config.app === "konnect" ? n = n.replace(/{controlPlaneId}/gi, ((o = a.config) == null ? void 0 : o.controlPlaneId) || "") : a.config.app === "kongManager" && (n = n.replace(/\/{workspace}/gi, (e = a.config) != null && e.workspace ? `/${a.config.workspace}` : "")), n = n.replace(/{id}/gi, a.sniId), n;
562
+ }), R = g(() => {
563
+ var o, e;
564
+ let n = `${a.config.apiBaseUrl}${L.form[a.config.app][M.value]}`;
565
+ return a.config.app === "konnect" ? n = n.replace(/{controlPlaneId}/gi, ((o = a.config) == null ? void 0 : o.controlPlaneId) || "") : a.config.app === "kongManager" && (n = n.replace(/\/{workspace}/gi, (e = a.config) != null && e.workspace ? `/${a.config.workspace}` : "")), n = n.replace(/{id}/gi, a.sniId), n;
566
+ }), w = g(() => {
567
+ var n, o;
551
568
  return {
552
- name: s.fields.name,
553
- tags: (e = (n = s.fields.tags.split(",")) == null ? void 0 : n.map((o) => String(o || "").trim())) == null ? void 0 : e.filter((o) => o !== ""),
554
- certificate: { id: N.value || s.fields.certificate_id }
569
+ name: r.fields.name,
570
+ tags: (o = (n = r.fields.tags.split(",")) == null ? void 0 : n.map((e) => String(e || "").trim())) == null ? void 0 : o.filter((e) => e !== ""),
571
+ certificate: { id: x.value || r.fields.certificate_id }
555
572
  };
556
- }), B = async () => {
557
- var n, e, o, d, u, _;
573
+ }), T = async () => {
574
+ var n, o, e, u, s, b;
558
575
  try {
559
- s.isReadonly = !0;
560
- let p;
561
- await w.post(ee.value, I.value), $.value === "create" ? p = await w.post(T.value, I.value) : $.value === "edit" && (p = ((n = a.config) == null ? void 0 : n.app) === "konnect" ? await w.put(T.value, I.value) : await w.patch(T.value, I.value)), s.fields.name = ((e = p == null ? void 0 : p.data) == null ? void 0 : e.name) || "", s.fields.tags = ((d = (o = p == null ? void 0 : p.data) == null ? void 0 : o.tags) == null ? void 0 : d.join(", ")) || "", s.fields.certificate_id = ((_ = (u = p == null ? void 0 : p.data) == null ? void 0 : u.certificate) == null ? void 0 : _.id) || "", Object.assign(R, s.fields), y("update", p == null ? void 0 : p.data);
562
- } catch (p) {
563
- s.errorMessage = X(p), y("error", p);
576
+ r.isReadonly = !0;
577
+ let m;
578
+ await N.post(te.value, w.value), M.value === "create" ? m = await N.post(R.value, w.value) : M.value === "edit" && (m = ((n = a.config) == null ? void 0 : n.app) === "konnect" ? await N.put(R.value, w.value) : await N.patch(R.value, w.value)), r.fields.name = ((o = m == null ? void 0 : m.data) == null ? void 0 : o.name) || "", r.fields.tags = ((u = (e = m == null ? void 0 : m.data) == null ? void 0 : e.tags) == null ? void 0 : u.join(", ")) || "", r.fields.certificate_id = ((b = (s = m == null ? void 0 : m.data) == null ? void 0 : s.certificate) == null ? void 0 : b.id) || "", Object.assign(B, r.fields), y("update", m == null ? void 0 : m.data);
579
+ } catch (m) {
580
+ r.errorMessage = Y(m), y("error", m);
564
581
  } finally {
565
- s.isReadonly = !1;
582
+ r.isReadonly = !1;
566
583
  }
567
584
  }, {
568
- debouncedQueryChange: te,
569
- loading: ae,
570
- allRecords: M,
585
+ debouncedQueryChange: ae,
586
+ loading: ie,
587
+ allRecords: F,
571
588
  error: K,
572
- validationError: ie,
573
- loadItems: ne,
574
- results: oe
575
- } = Be(a.config, j.form[a.config.app].certificates), h = (n) => {
576
- te(n);
577
- }, V = g(() => K.value ? f("errors.certificates.fetch") : ""), S = g(() => ie.value ? f("errors.certificates.invalid") : ""), J = k(0), se = g(() => M.value === void 0), O = k(/* @__PURE__ */ new Set()), U = g(() => Array.from(O.value).map((e) => ({
578
- label: e,
579
- value: e,
580
- selected: s.fields.certificate_id === e
581
- }))), re = (n) => {
582
- O.value.clear();
583
- let e;
584
- for (e of n)
585
- O.value.add(e.id);
589
+ validationError: ne,
590
+ loadItems: oe,
591
+ results: se
592
+ } = Ve(a.config, L.form[a.config.app].certificates), k = (n) => {
593
+ ae(n);
594
+ }, V = g(() => K.value ? f("errors.certificates.fetch") : ""), E = g(() => ne.value ? f("errors.certificates.invalid") : ""), Q = S(0), re = g(() => F.value === void 0), P = S(/* @__PURE__ */ new Set()), q = g(() => Array.from(P.value).map((o) => ({
595
+ label: o,
596
+ value: o,
597
+ selected: r.fields.certificate_id === o
598
+ }))), le = (n) => {
599
+ P.value.clear();
600
+ let o;
601
+ for (o of n)
602
+ P.value.add(o.id);
586
603
  };
587
- return ce(oe, (n) => {
588
- re(n);
589
- }, { immediate: !0, deep: !0 }), ce(U, () => {
590
- J.value++;
591
- }, { immediate: !0, deep: !0 }), ge(async () => {
592
- await ne();
593
- }), (n, e) => {
594
- const o = D("KInput"), d = D("KSelect");
595
- return v(), W("div", tt, [
596
- c(t(Ke), {
597
- "can-submit": Y.value,
604
+ return ue(se, (n) => {
605
+ le(n);
606
+ }, { immediate: !0, deep: !0 }), ue(q, () => {
607
+ Q.value++;
608
+ }, { immediate: !0, deep: !0 }), he(async () => {
609
+ await oe();
610
+ }), (n, o) => {
611
+ const e = $("KInput"), u = $("KSelect");
612
+ return h(), W("div", Ze, [
613
+ d(t(Pe), {
614
+ "can-submit": ee.value,
598
615
  config: i.config,
599
616
  "edit-id": i.sniId,
600
- "entity-type": t(Ve).SNI,
601
- "error-message": s.errorMessage || V.value,
617
+ "entity-type": t(qe).SNI,
618
+ "error-message": r.errorMessage || V.value,
602
619
  "fetch-url": Z.value,
603
- "form-fields": I.value,
604
- "is-readonly": s.isReadonly,
605
- onCancel: C,
606
- "onFetch:error": e[3] || (e[3] = (u) => n.$emit("error", u)),
607
- "onFetch:success": z,
608
- onLoading: e[4] || (e[4] = (u) => n.$emit("loading", u)),
609
- onSubmit: B
620
+ "form-fields": w.value,
621
+ "is-readonly": r.isReadonly,
622
+ onCancel: I,
623
+ "onFetch:error": o[3] || (o[3] = (s) => n.$emit("error", s)),
624
+ "onFetch:success": J,
625
+ onLoading: o[4] || (o[4] = (s) => n.$emit("loading", s)),
626
+ onSubmit: T
610
627
  }, {
611
- default: l(() => [
612
- c(t(fe), {
628
+ default: c(() => [
629
+ d(t(ge), {
613
630
  description: t(f)("form.sections.general.description"),
614
631
  title: t(f)("form.sections.general.title")
615
632
  }, {
616
- default: l(() => [
617
- c(o, {
618
- modelValue: s.fields.name,
619
- "onUpdate:modelValue": e[0] || (e[0] = (u) => s.fields.name = u),
633
+ default: c(() => [
634
+ d(e, {
635
+ modelValue: r.fields.name,
636
+ "onUpdate:modelValue": o[0] || (o[0] = (s) => r.fields.name = s),
620
637
  modelModifiers: { trim: !0 },
621
638
  autocomplete: "off",
622
639
  "data-testid": "sni-form-name",
623
640
  label: t(f)("form.fields.name.label"),
624
641
  placeholder: t(f)("form.fields.name.placeholder"),
625
- readonly: s.isReadonly,
642
+ readonly: r.isReadonly,
626
643
  required: "",
627
644
  type: "text"
628
645
  }, null, 8, ["modelValue", "label", "placeholder", "readonly"]),
629
- c(o, {
630
- modelValue: s.fields.tags,
631
- "onUpdate:modelValue": e[1] || (e[1] = (u) => s.fields.tags = u),
646
+ d(e, {
647
+ modelValue: r.fields.tags,
648
+ "onUpdate:modelValue": o[1] || (o[1] = (s) => r.fields.tags = s),
632
649
  modelModifiers: { trim: !0 },
633
650
  autocomplete: "off",
634
651
  "data-testid": "sni-form-tags",
@@ -639,53 +656,53 @@ const he = {
639
656
  tooltipAttributes: { maxWidth: "400" }
640
657
  },
641
658
  placeholder: t(f)("form.fields.tags.placeholder"),
642
- readonly: s.isReadonly,
659
+ readonly: r.isReadonly,
643
660
  type: "text"
644
661
  }, null, 8, ["modelValue", "help", "label", "label-attributes", "placeholder", "readonly"])
645
662
  ]),
646
663
  _: 1
647
664
  }, 8, ["description", "title"]),
648
- c(t(fe), {
665
+ d(t(ge), {
649
666
  description: t(f)("form.sections.certificate.description"),
650
667
  "has-divider": "",
651
668
  title: t(f)("form.sections.certificate.title")
652
669
  }, {
653
- default: l(() => [
654
- N.value ? (v(), E(o, {
670
+ default: c(() => [
671
+ x.value ? (h(), _(e, {
655
672
  key: 0,
656
673
  "data-testid": "sni-form-certificate-id",
657
674
  label: t(f)("form.fields.certificate_id.label"),
658
- "model-value": N.value,
675
+ "model-value": x.value,
659
676
  readonly: "",
660
677
  required: "",
661
678
  width: "100%"
662
- }, null, 8, ["label", "model-value"])) : (v(), E(d, {
679
+ }, null, 8, ["label", "model-value"])) : (h(), _(u, {
663
680
  key: 1,
664
- modelValue: s.fields.certificate_id,
665
- "onUpdate:modelValue": e[2] || (e[2] = (u) => s.fields.certificate_id = u),
681
+ modelValue: r.fields.certificate_id,
682
+ "onUpdate:modelValue": o[2] || (o[2] = (s) => r.fields.certificate_id = s),
666
683
  clearable: "",
667
684
  "data-testid": "sni-form-certificate-id",
668
- "dropdown-footer-text": se.value ? t(f)("form.fields.certificate_id.footer") : void 0,
685
+ "dropdown-footer-text": re.value ? t(f)("form.fields.certificate_id.footer") : void 0,
669
686
  "enable-filtering": "",
670
687
  "filter-function": () => !0,
671
- items: U.value,
688
+ items: q.value,
672
689
  label: t(f)("form.fields.certificate_id.label"),
673
- loading: t(ae),
690
+ loading: t(ie),
674
691
  placeholder: t(f)("form.fields.certificate_id.placeholder"),
675
- readonly: s.isReadonly,
692
+ readonly: r.isReadonly,
676
693
  required: "",
677
694
  width: "100%",
678
- onQueryChange: h
695
+ onQueryChange: k
679
696
  }, {
680
- loading: l(() => [
681
- L("div", null, b(t(f)("actions.loading")), 1)
697
+ loading: c(() => [
698
+ X("div", null, v(t(f)("actions.loading")), 1)
682
699
  ]),
683
- empty: l(() => [
684
- L("div", at, b(t(f)("search.no_results")), 1)
700
+ empty: c(() => [
701
+ X("div", et, v(t(f)("search.no_results")), 1)
685
702
  ]),
686
703
  _: 1
687
704
  }, 8, ["modelValue", "dropdown-footer-text", "items", "label", "loading", "placeholder", "readonly"])),
688
- S.value ? (v(), W("p", it, b(S.value), 1)) : H("", !0)
705
+ E.value ? (h(), W("p", tt, v(E.value), 1)) : A("", !0)
689
706
  ]),
690
707
  _: 1
691
708
  }, 8, ["description", "title"])
@@ -695,8 +712,8 @@ const he = {
695
712
  ]);
696
713
  };
697
714
  }
698
- }), ut = /* @__PURE__ */ be(nt, [["__scopeId", "data-v-1db456db"]]);
715
+ }), ct = /* @__PURE__ */ Ie(at, [["__scopeId", "data-v-1db456db"]]);
699
716
  export {
700
- ut as SniForm,
701
- dt as SniList
717
+ ct as SniForm,
718
+ lt as SniList
702
719
  };
@@ -1 +1 @@
1
- (function(g,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared"),require("@kong/icons")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-shared","@kong/icons"],e):(g=typeof globalThis<"u"?globalThis:g||self,e(g["kong-ui-public-entities-snis"]={},g.Vue,g.VueRouter,g["kong-ui-public-i18n"],g["kong-ui-public-entities-shared"],g.KongIcons))})(this,function(g,e,Y,v,c,P){"use strict";const ie={actions:{create:"New SNI",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",loading:"Loading..."},search:{placeholder:"Filter by exact name or ID",no_results:"No results found"},snis:{title:"SNIs",list:{toolbar_actions:{new:"New SNI"},table_headers:{name:"Name",id:"ID",certificate_id:"SSL Certificate ID",tags:"Tags"},empty_state:{title:"Configure a New SNI",description:"SNIs are used to map hostnames to a certificate."},empty_state_v2:{title:"Configure your first SNI",description:"Server Name Indications (SNIs) map hostnames to SSL/TLS certificates, enabling secure connections for domain-specific traffic.",group:"SNIs created in gateways within this group will automatically appear here.",create_cta:"New SNI"}}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this SNI."},certificate:{title:"Certificate",description:"Map an existing Certificate object to hostnames"}},fields:{name:{label:"Name",placeholder:"Enter a unique name for this SNI"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."},certificate_id:{label:"SSL Certificate ID",placeholder:"Enter or select a Certificate ID",footer:"Search by exact ID to find certificates not included in the list"}}},delete:{title:"Delete an SNI",description:"This action cannot be reversed so make sure to check the SNI usage before deleting."},errors:{delete:"The SNI could not be deleted at this time.",general:"SNIs could not be retrieved",certificates:{fetch:"Could not fetch available certificates",invalid:"Please select a valid certificate ID"},copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}};function ae(){const a=v.createI18n("en-us",ie);return{i18n:a,i18nT:v.i18nTComponent(a)}}const ee={useI18n:ae},x="/v2/control-planes/{controlPlaneId}/core-entities",S="/{workspace}",V={list:{konnect:{all:`${x}/snis`},kongManager:{all:`${S}/snis`}},form:{konnect:{create:`${x}/snis`,edit:`${x}/snis/{id}`,validate:`${x}/v1/schemas/json/sni/validate`,certificates:`${x}/certificates`},kongManager:{create:`${S}/snis`,edit:`${S}/snis/{id}`,validate:`${S}/schemas/snis/validate`,certificates:`${S}/certificates`}}},oe="#00abd2",ne="24px",re={class:"kong-ui-entities-snis-list"},se={class:"button-row"},ce={class:"empty-state-icon-gateway"},le={key:1},de=e.defineComponent({__name:"SniList",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||!a.createRoute||!a.getViewRoute||!a.getEditRoute||a.app==="kongManager"&&!a.isExactMatch&&!a.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},useToolbarCreationButton:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(a,{emit:E}){var o;const m=E,i=a,{i18n:{t:s}}=ee.useI18n(),f=Y.useRouter(),{axiosInstance:A}=c.useAxios((o=i.config)==null?void 0:o.axiosRequestConfig),{hasRecords:I,handleStateChange:j}=c.useTableState(()=>h.value),N=e.computed(()=>I.value&&i.config.app==="konnect"),w=e.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),r={name:{label:s("snis.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},certificate:{label:s("snis.list.table_headers.certificate_id"),sortable:!1},tags:{label:s("snis.list.table_headers.tags"),sortable:!1}},B=r,L=t=>({style:{maxWidth:t.headerKey==="name"?"250px":t.headerKey==="certificate"?"350px":null}}),K=e.computed(()=>{var n,l;let t=`${i.config.apiBaseUrl}${V.list[i.config.app].all}`;return i.config.app==="konnect"?t=t.replace(/{controlPlaneId}/gi,((n=i.config)==null?void 0:n.controlPlaneId)||""):i.config.app==="kongManager"&&(t=t.replace(/\/{workspace}/gi,(l=i.config)!=null&&l.workspace?`/${i.config.workspace}`:"")),t}),h=e.ref(""),W=e.computed(()=>{const t=i.config.app==="konnect"||i.config.isExactMatch;if(t)return{isExactMatch:t,placeholder:s("search.placeholder")};const{name:n}=r;return{isExactMatch:t,fields:{name:n},schema:i.config.filterSchema}}),{fetcher:D,fetcherState:b,fetcherCacheKey:T}=c.useFetcher(e.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),K),z=()=>{h.value=""},J=()=>{T.value++},_=e.ref(null),$=e.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${s("snis.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:s("snis.title")}),Q=async(t,n)=>{const l=t.id;if(!await n(l)){m("copy:error",{entity:t,field:"id",message:s("errors.copy")});return}m("copy:success",{entity:t,field:"id",message:s("copy.success",{val:l})})},G=async(t,n)=>{const l=JSON.stringify(t);if(!await n(l)){m("copy:error",{entity:t,message:s("errors.copy")});return}m("copy:success",{entity:t,message:s("copy.success_brief")})},H=t=>({label:s("actions.edit"),to:i.config.getEditRoute(t)}),y=e.ref(void 0),M=e.ref(!1),C=e.ref(!1),O=e.ref(""),X=c.useDeleteUrlBuilder(i.config,K.value),F=t=>{y.value=t,M.value=!0},R=()=>{M.value=!1,y.value=void 0},Z=async()=>{var t,n,l;if((t=y.value)!=null&&t.id){C.value=!0;try{await A.delete(X(y.value.id)),m("delete:success",y.value),C.value=!1,R(),T.value++}catch(d){O.value=((l=(n=d.response)==null?void 0:n.data)==null?void 0:l.message)||d.message||s("errors.delete"),m("error",d)}finally{C.value=!1}}},U=()=>{f.push(i.config.createRoute)};return e.watch(b,t=>{var n,l,d;if(t.status===c.FetcherStatus.Error){_.value={title:s("errors.general")},(d=(l=(n=t.error)==null?void 0:n.response)==null?void 0:l.data)!=null&&d.message&&(_.value.message=t.error.response.data.message),m("error",t.error);return}_.value=null}),e.onBeforeMount(async()=>{await i.canCreate()&&($.value.title=s("snis.list.empty_state.title"),$.value.ctaText=s("actions.create"))}),(t,n)=>{const l=e.resolveComponent("KButton"),d=e.resolveComponent("KCopy"),k=e.resolveComponent("KDropdownItem"),p=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",re,[e.createVNode(e.unref(c.EntityBaseTable),{"cache-identifier":a.cacheIdentifier,"cell-attributes":L,"disable-row-click":!0,"disable-sorting":w.value,"empty-state-options":$.value,"enable-entity-actions":"","error-message":_.value,fetcher:e.unref(D),"fetcher-cache-key":e.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-snis-list",query:h.value,"table-headers":e.unref(B),onClearSearchInput:z,onSort:J,onState:e.unref(j)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(c.EntityFilter),{modelValue:h.value,"onUpdate:modelValue":n[0]||(n[0]=u=>h.value=u),config:W.value},null,8,["modelValue","config"]),a.useToolbarCreationButton?(e.openBlock(),e.createBlock(e.unref(c.PermissionsWrapper),{key:0,"auth-function":a.canCreate},{default:e.withCtx(()=>[e.createVNode(l,{appearance:"primary","data-testid":"toolbar-add-sni",size:"large",to:a.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(P.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("actions.create")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])):e.createCommentVNode("",!0)]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!a.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",se,[N.value?(e.openBlock(),e.createBlock(l,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"snis-learn-more-button",icon:"",onClick:n[1]||(n[1]=u=>t.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(P.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),a.useToolbarCreationButton?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(c.PermissionsWrapper),{key:1,"auth-function":a.canCreate},{default:e.withCtx(()=>[e.createVNode(l,{appearance:"primary","data-testid":"toolbar-add-sni",size:a.useActionOutside?"medium":"large",to:a.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(P.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("snis.list.toolbar_actions.new")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"]))])],8,["disabled"]))]),name:e.withCtx(({rowValue:u})=>[e.createElementVNode("b",null,e.toDisplayString(u??"-"),1)]),certificate:e.withCtx(({row:u})=>[u.certificate&&u.certificate.id?(e.openBlock(),e.createBlock(d,{key:0,class:"copy-certificate-uuid","data-testid":"copy-certificate-uuid",text:u.certificate.id,truncate:""},null,8,["text"])):(e.openBlock(),e.createElementBlock("span",le,"-"))]),tags:e.withCtx(({rowValue:u})=>[e.createVNode(e.unref(c.TableTags),{tags:u},null,8,["tags"])]),actions:e.withCtx(({row:u})=>[e.createVNode(p,null,{default:e.withCtx(({copyToClipboard:q})=>[e.createVNode(k,{"data-testid":"action-entity-copy-id",onClick:ye=>Q(u,q)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(p,null,{default:e.withCtx(({copyToClipboard:q})=>[e.createVNode(k,{"data-testid":"action-entity-copy-json",onClick:ye=>G(u,q)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(c.PermissionsWrapper),{"auth-function":()=>a.canEdit(u)},{default:e.withCtx(()=>[e.createVNode(k,{"data-testid":"action-entity-edit",item:H(u.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(c.PermissionsWrapper),{"auth-function":()=>a.canDelete(u)},{default:e.withCtx(()=>[e.createVNode(k,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:q=>F(u)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!h.value&&a.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var u;return[e.createVNode(e.unref(c.EntityEmptyState),{"action-button-text":e.unref(s)("snis.list.toolbar_actions.new"),appearance:"secondary","can-create":()=>a.canCreate(),"data-testid":"snis-entity-empty-state",description:e.unref(s)("snis.list.empty_state_v2.description"),"learn-more":a.config.app==="konnect",title:e.unref(s)("snis.list.empty_state_v2.title"),"onClick:create":U,"onClick:learnMore":n[2]||(n[2]=q=>t.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",ce,[e.createVNode(e.unref(P.CloudIcon),{color:e.unref(oe),size:e.unref(ne)},null,8,["color","size"])])]),_:2},[(u=a.config)!=null&&u.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("snis.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(c.EntityDeleteModal),{"action-pending":C.value,description:e.unref(s)("delete.description"),"entity-name":y.value&&(y.value.name||y.value.id),"entity-type":e.unref(c.EntityTypes).SNI,error:O.value,"need-confirm":!1,title:e.unref(s)("delete.title"),visible:M.value,onCancel:R,onProceed:Z},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),te=(a,E)=>{const m=a.__vccOpts||a;for(const[i,s]of E)m[i]=s;return m},fe=te(de,[["__scopeId","data-v-4db4a3ba"]]),pe={class:"kong-ui-entities-snis-form"},ue={"data-testid":"no-search-results"},me={key:2,class:"invalid-certificate-message","data-testid":"invalid-certificate-message"},ge=te(e.defineComponent({__name:"SniForm",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||a.app==="konnect"&&!a.controlPlaneId||a.app==="kongManager"&&typeof a.workspace!="string"||!a.cancelRoute)},sniId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(a,{emit:E}){var U;const m=E,i=a,s=Y.useRouter(),{i18n:{t:f}}=ee.useI18n(),{getMessageFromError:A}=c.useErrors(),{axiosInstance:I}=c.useAxios((U=i.config)==null?void 0:U.axiosRequestConfig),j=e.computed(()=>V.form[i.config.app].edit),N=e.computed(()=>i.sniId?c.EntityBaseFormType.Edit:c.EntityBaseFormType.Create),w=e.computed(()=>i.config.certificateId&&N.value===c.EntityBaseFormType.Create?i.config.certificateId:""),r=e.reactive({fields:{name:"",tags:"",certificate_id:""},isReadonly:!1,errorMessage:""}),B=e.reactive({name:"",tags:"",certificate_id:""}),L=e.computed(()=>JSON.stringify(r.fields)!==JSON.stringify(B)&&!!r.fields.name&&!!(r.fields.certificate_id||w.value)),K=o=>{var t,n;r.fields.name=(o==null?void 0:o.name)||"",r.fields.tags=((t=o==null?void 0:o.tags)==null?void 0:t.join(", "))||"",r.fields.certificate_id=((n=o==null?void 0:o.certificate)==null?void 0:n.id)||"",Object.assign(B,r.fields)},h=()=>{s.push(i.config.cancelRoute)},W=e.computed(()=>{var t,n;let o=`${i.config.apiBaseUrl}${V.form[i.config.app].validate}`;return i.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((t=i.config)==null?void 0:t.controlPlaneId)||""):i.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(n=i.config)!=null&&n.workspace?`/${i.config.workspace}`:"")),o=o.replace(/{id}/gi,i.sniId),o}),D=e.computed(()=>{var t,n;let o=`${i.config.apiBaseUrl}${V.form[i.config.app][N.value]}`;return i.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((t=i.config)==null?void 0:t.controlPlaneId)||""):i.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(n=i.config)!=null&&n.workspace?`/${i.config.workspace}`:"")),o=o.replace(/{id}/gi,i.sniId),o}),b=e.computed(()=>{var o,t;return{name:r.fields.name,tags:(t=(o=r.fields.tags.split(","))==null?void 0:o.map(n=>String(n||"").trim()))==null?void 0:t.filter(n=>n!==""),certificate:{id:w.value||r.fields.certificate_id}}}),T=async()=>{var o,t,n,l,d,k;try{r.isReadonly=!0;let p;await I.post(W.value,b.value),N.value==="create"?p=await I.post(D.value,b.value):N.value==="edit"&&(p=((o=i.config)==null?void 0:o.app)==="konnect"?await I.put(D.value,b.value):await I.patch(D.value,b.value)),r.fields.name=((t=p==null?void 0:p.data)==null?void 0:t.name)||"",r.fields.tags=((l=(n=p==null?void 0:p.data)==null?void 0:n.tags)==null?void 0:l.join(", "))||"",r.fields.certificate_id=((k=(d=p==null?void 0:p.data)==null?void 0:d.certificate)==null?void 0:k.id)||"",Object.assign(B,r.fields),m("update",p==null?void 0:p.data)}catch(p){r.errorMessage=A(p),m("error",p)}finally{r.isReadonly=!1}},{debouncedQueryChange:z,loading:J,allRecords:_,error:$,validationError:Q,loadItems:G,results:H}=c.useDebouncedFilter(i.config,V.form[i.config.app].certificates),y=o=>{z(o)},M=e.computed(()=>$.value?f("errors.certificates.fetch"):""),C=e.computed(()=>Q.value?f("errors.certificates.invalid"):""),O=e.ref(0),X=e.computed(()=>_.value===void 0),F=e.ref(new Set),R=e.computed(()=>Array.from(F.value).map(t=>({label:t,value:t,selected:r.fields.certificate_id===t}))),Z=o=>{F.value.clear();let t;for(t of o)F.value.add(t.id)};return e.watch(H,o=>{Z(o)},{immediate:!0,deep:!0}),e.watch(R,()=>{O.value++},{immediate:!0,deep:!0}),e.onBeforeMount(async()=>{await G()}),(o,t)=>{const n=e.resolveComponent("KInput"),l=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock("div",pe,[e.createVNode(e.unref(c.EntityBaseForm),{"can-submit":L.value,config:a.config,"edit-id":a.sniId,"entity-type":e.unref(c.SupportedEntityType).SNI,"error-message":r.errorMessage||M.value,"fetch-url":j.value,"form-fields":b.value,"is-readonly":r.isReadonly,onCancel:h,"onFetch:error":t[3]||(t[3]=d=>o.$emit("error",d)),"onFetch:success":K,onLoading:t[4]||(t[4]=d=>o.$emit("loading",d)),onSubmit:T},{default:e.withCtx(()=>[e.createVNode(e.unref(c.EntityFormSection),{description:e.unref(f)("form.sections.general.description"),title:e.unref(f)("form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(n,{modelValue:r.fields.name,"onUpdate:modelValue":t[0]||(t[0]=d=>r.fields.name=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"sni-form-name",label:e.unref(f)("form.fields.name.label"),placeholder:e.unref(f)("form.fields.name.placeholder"),readonly:r.isReadonly,required:"",type:"text"},null,8,["modelValue","label","placeholder","readonly"]),e.createVNode(n,{modelValue:r.fields.tags,"onUpdate:modelValue":t[1]||(t[1]=d=>r.fields.tags=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"sni-form-tags",help:e.unref(f)("form.fields.tags.help"),label:e.unref(f)("form.fields.tags.label"),"label-attributes":{info:e.unref(f)("form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(f)("form.fields.tags.placeholder"),readonly:r.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"]),e.createVNode(e.unref(c.EntityFormSection),{description:e.unref(f)("form.sections.certificate.description"),"has-divider":"",title:e.unref(f)("form.sections.certificate.title")},{default:e.withCtx(()=>[w.value?(e.openBlock(),e.createBlock(n,{key:0,"data-testid":"sni-form-certificate-id",label:e.unref(f)("form.fields.certificate_id.label"),"model-value":w.value,readonly:"",required:"",width:"100%"},null,8,["label","model-value"])):(e.openBlock(),e.createBlock(l,{key:1,modelValue:r.fields.certificate_id,"onUpdate:modelValue":t[2]||(t[2]=d=>r.fields.certificate_id=d),clearable:"","data-testid":"sni-form-certificate-id","dropdown-footer-text":X.value?e.unref(f)("form.fields.certificate_id.footer"):void 0,"enable-filtering":"","filter-function":()=>!0,items:R.value,label:e.unref(f)("form.fields.certificate_id.label"),loading:e.unref(J),placeholder:e.unref(f)("form.fields.certificate_id.placeholder"),readonly:r.isReadonly,required:"",width:"100%",onQueryChange:y},{loading:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(f)("actions.loading")),1)]),empty:e.withCtx(()=>[e.createElementVNode("div",ue,e.toDisplayString(e.unref(f)("search.no_results")),1)]),_:1},8,["modelValue","dropdown-footer-text","items","label","loading","placeholder","readonly"])),C.value?(e.openBlock(),e.createElementBlock("p",me,e.toDisplayString(C.value),1)):e.createCommentVNode("",!0)]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-1db456db"]]);g.SniForm=ge,g.SniList=fe,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
1
+ (function(g,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared"),require("@kong/icons")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-shared","@kong/icons"],e):(g=typeof globalThis<"u"?globalThis:g||self,e(g["kong-ui-public-entities-snis"]={},g.Vue,g.VueRouter,g["kong-ui-public-i18n"],g["kong-ui-public-entities-shared"],g.KongIcons))})(this,function(g,e,v,ee,d,N){"use strict";const oe={actions:{create:"New SNI",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",loading:"Loading..."},search:{placeholder:"Filter by exact name or ID",no_results:"No results found"},snis:{title:"SNIs",list:{toolbar_actions:{new:"New SNI"},table_headers:{name:"Name",id:"ID",certificate_id:"SSL Certificate ID",tags:"Tags"},empty_state:{title:"Configure a New SNI",description:"SNIs are used to map hostnames to a certificate."},empty_state_v2:{title:"Configure your first SNI",description:"Server Name Indications (SNIs) map hostnames to SSL/TLS certificates, enabling secure connections for domain-specific traffic.",group:"SNIs created in gateways within this group will automatically appear here.",create_cta:"New SNI",learn_more:"Learn more"}}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this SNI."},certificate:{title:"Certificate",description:"Map an existing Certificate object to hostnames"}},fields:{name:{label:"Name",placeholder:"Enter a unique name for this SNI"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."},certificate_id:{label:"SSL Certificate ID",placeholder:"Enter or select a Certificate ID",footer:"Search by exact ID to find certificates not included in the list"}}},delete:{title:"Delete an SNI",description:"This action cannot be reversed so make sure to check the SNI usage before deleting."},errors:{delete:"The SNI could not be deleted at this time.",general:"SNIs could not be retrieved",certificates:{fetch:"Could not fetch available certificates",invalid:"Please select a valid certificate ID"},copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}};function ne(){const i=ee.createI18n("en-us",oe);return{i18n:i,i18nT:ee.i18nTComponent(i)}}const te={useI18n:ne},S="/v2/control-planes/{controlPlaneId}/core-entities",V="/{workspace}",B={list:{konnect:{all:`${S}/snis`},kongManager:{all:`${V}/snis`}},form:{konnect:{create:`${S}/snis`,edit:`${S}/snis/{id}`,validate:`${S}/v1/schemas/json/sni/validate`,certificates:`${S}/certificates`},kongManager:{create:`${V}/snis`,edit:`${V}/snis/{id}`,validate:`${V}/schemas/snis/validate`,certificates:`${V}/certificates`}}},re={class:"kong-ui-entities-snis-list"},se={class:"button-row"},ce={key:1},le=e.defineComponent({__name:"SniList",props:{config:{type:Object,required:!0,validator:i=>!(!i||!["konnect","kongManager"].includes(i==null?void 0:i.app)||!i.createRoute||!i.getViewRoute||!i.getEditRoute||i.app==="kongManager"&&!i.isExactMatch&&!i.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},useToolbarCreationButton:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(i,{emit:E}){var n;const u=E,a=i,{i18n:{t:c}}=te.useI18n(),f=v.useRouter(),{axiosInstance:j}=d.useAxios((n=a.config)==null?void 0:n.axiosRequestConfig),{hasRecords:I,handleStateChange:L}=d.useTableState(()=>b.value),w=e.computed(()=>I.value&&a.config.app==="konnect"),_=e.computed(()=>a.config.app!=="kongManager"||!!a.config.disableSorting),s={name:{label:c("snis.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},certificate:{label:c("snis.list.table_headers.certificate_id"),sortable:!1},tags:{label:c("snis.list.table_headers.tags"),sortable:!1}},D=s,W=t=>({style:{maxWidth:t.headerKey==="name"?"250px":t.headerKey==="certificate"?"350px":null}}),K=e.computed(()=>{var l,r;let t=`${a.config.apiBaseUrl}${B.list[a.config.app].all}`;return a.config.app==="konnect"?t=t.replace(/{controlPlaneId}/gi,((l=a.config)==null?void 0:l.controlPlaneId)||""):a.config.app==="kongManager"&&(t=t.replace(/\/{workspace}/gi,(r=a.config)!=null&&r.workspace?`/${a.config.workspace}`:"")),t}),b=e.ref(""),J=e.computed(()=>{const t=a.config.app==="konnect"||a.config.isExactMatch;if(t)return{isExactMatch:t,placeholder:c("search.placeholder")};const{name:l}=s;return{isExactMatch:t,fields:{name:l},schema:a.config.filterSchema}}),{fetcher:$,fetcherState:k,fetcherCacheKey:T}=d.useFetcher(e.computed(()=>({...a.config,cacheIdentifier:a.cacheIdentifier})),K),Q=()=>{b.value=""},z=()=>{T.value++},x=e.ref(null),M=e.ref({ctaPath:a.config.createRoute,ctaText:void 0,message:`${c("snis.list.empty_state.description")}${a.config.additionMessageForEmptyState?` ${a.config.additionMessageForEmptyState}`:""}`,title:c("snis.title")}),G=async(t,l)=>{const r=t.id;if(!await l(r)){u("copy:error",{entity:t,field:"id",message:c("errors.copy")});return}u("copy:success",{entity:t,field:"id",message:c("copy.success",{val:r})})},H=async(t,l)=>{const r=JSON.stringify(t);if(!await l(r)){u("copy:error",{entity:t,message:c("errors.copy")});return}u("copy:success",{entity:t,message:c("copy.success_brief")})},X=t=>({label:c("actions.edit"),to:a.config.getEditRoute(t)}),h=e.ref(void 0),F=e.ref(!1),C=e.ref(!1),O=e.ref(""),Y=d.useDeleteUrlBuilder(a.config,K.value),R=t=>{h.value=t,F.value=!0},q=()=>{F.value=!1,h.value=void 0},Z=async()=>{var t,l,r;if((t=h.value)!=null&&t.id){C.value=!0;try{await j.delete(Y(h.value.id)),u("delete:success",h.value),C.value=!1,q(),T.value++}catch(y){O.value=((r=(l=y.response)==null?void 0:l.data)==null?void 0:r.message)||y.message||c("errors.delete"),u("error",y)}finally{C.value=!1}}},U=()=>{f.push(a.config.createRoute)};e.watch(k,t=>{var l,r,y;if(t.status===d.FetcherStatus.Error){x.value={title:c("errors.general")},(y=(r=(l=t.error)==null?void 0:l.response)==null?void 0:r.data)!=null&&y.message&&(x.value.message=t.error.response.data.message),u("error",t.error);return}x.value=null});const o=e.ref(!1);return e.onBeforeMount(async()=>{o.value=await a.canCreate(),o.value&&(M.value.title=c("snis.list.empty_state.title"),M.value.ctaText=c("actions.create"))}),(t,l)=>{const r=e.resolveComponent("KButton"),y=e.resolveComponent("KEmptyState"),m=e.resolveComponent("KCopy"),A=e.resolveComponent("KDropdownItem"),ie=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",re,[e.createVNode(e.unref(d.EntityBaseTable),{"cache-identifier":i.cacheIdentifier,"cell-attributes":W,"disable-row-click":!0,"disable-sorting":_.value,"empty-state-options":M.value,"enable-entity-actions":"","error-message":x.value,fetcher:e.unref($),"fetcher-cache-key":e.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-snis-list",query:b.value,"table-headers":e.unref(D),onClearSearchInput:Q,onSort:z,onState:e.unref(L)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(d.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":l[0]||(l[0]=p=>b.value=p),config:J.value},null,8,["modelValue","config"]),i.useToolbarCreationButton?(e.openBlock(),e.createBlock(e.unref(d.PermissionsWrapper),{key:0,"auth-function":i.canCreate},{default:e.withCtx(()=>[e.createVNode(r,{appearance:"primary","data-testid":"toolbar-add-sni",size:"large",to:i.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(N.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(c)("actions.create")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])):e.createCommentVNode("",!0)]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!i.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",se,[w.value?(e.openBlock(),e.createBlock(r,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"snis-learn-more-button",icon:"",onClick:l[1]||(l[1]=p=>t.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(N.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),i.useToolbarCreationButton?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.PermissionsWrapper),{key:1,"auth-function":i.canCreate},{default:e.withCtx(()=>[e.createVNode(r,{appearance:"primary","data-testid":"toolbar-add-sni",size:i.useActionOutside?"medium":"large",to:i.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(N.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(c)("snis.list.toolbar_actions.new")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"]))])],8,["disabled"]))]),name:e.withCtx(({rowValue:p})=>[e.createElementVNode("b",null,e.toDisplayString(p??"-"),1)]),certificate:e.withCtx(({row:p})=>[p.certificate&&p.certificate.id?(e.openBlock(),e.createBlock(m,{key:0,class:"copy-certificate-uuid","data-testid":"copy-certificate-uuid",text:p.certificate.id,truncate:""},null,8,["text"])):(e.openBlock(),e.createElementBlock("span",ce,"-"))]),tags:e.withCtx(({rowValue:p})=>[e.createVNode(e.unref(d.TableTags),{tags:p},null,8,["tags"])]),actions:e.withCtx(({row:p})=>[e.createVNode(ie,null,{default:e.withCtx(({copyToClipboard:P})=>[e.createVNode(A,{"data-testid":"action-entity-copy-id",onClick:ge=>G(p,P)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(ie,null,{default:e.withCtx(({copyToClipboard:P})=>[e.createVNode(A,{"data-testid":"action-entity-copy-json",onClick:ge=>H(p,P)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(d.PermissionsWrapper),{"auth-function":()=>i.canEdit(p)},{default:e.withCtx(()=>[e.createVNode(A,{"data-testid":"action-entity-edit",item:X(p.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(d.PermissionsWrapper),{"auth-function":()=>i.canDelete(p)},{default:e.withCtx(()=>[e.createVNode(A,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:P=>R(p)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&i.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var p;return[e.createVNode(y,{"data-testid":"snis-entity-empty-state","icon-background":"",message:e.unref(c)("snis.list.empty_state_v2.description"),title:e.unref(c)("snis.list.empty_state_v2.title")},e.createSlots({icon:e.withCtx(()=>[e.createVNode(e.unref(N.CloudIcon),{decorative:""})]),action:e.withCtx(()=>[o.value?(e.openBlock(),e.createBlock(r,{key:0,"data-testid":"entity-create-button",onClick:U},{default:e.withCtx(()=>[e.createVNode(e.unref(N.AddIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(c)("snis.list.toolbar_actions.new")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:l[2]||(l[2]=P=>t.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(N.BookIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(c)("snis.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(p=i.config)!=null&&p.isControlPlaneGroup?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)("snis.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(d.EntityDeleteModal),{"action-pending":C.value,description:e.unref(c)("delete.description"),"entity-name":h.value&&(h.value.name||h.value.id),"entity-type":e.unref(d.EntityTypes).SNI,error:O.value,"need-confirm":!1,title:e.unref(c)("delete.title"),visible:F.value,onCancel:q,onProceed:Z},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),ae=(i,E)=>{const u=i.__vccOpts||i;for(const[a,c]of E)u[a]=c;return u},de=ae(le,[["__scopeId","data-v-5d5c486a"]]),fe={class:"kong-ui-entities-snis-form"},pe={"data-testid":"no-search-results"},me={key:2,class:"invalid-certificate-message","data-testid":"invalid-certificate-message"},ue=ae(e.defineComponent({__name:"SniForm",props:{config:{type:Object,required:!0,validator:i=>!(!i||!["konnect","kongManager"].includes(i==null?void 0:i.app)||i.app==="konnect"&&!i.controlPlaneId||i.app==="kongManager"&&typeof i.workspace!="string"||!i.cancelRoute)},sniId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(i,{emit:E}){var U;const u=E,a=i,c=v.useRouter(),{i18n:{t:f}}=te.useI18n(),{getMessageFromError:j}=d.useErrors(),{axiosInstance:I}=d.useAxios((U=a.config)==null?void 0:U.axiosRequestConfig),L=e.computed(()=>B.form[a.config.app].edit),w=e.computed(()=>a.sniId?d.EntityBaseFormType.Edit:d.EntityBaseFormType.Create),_=e.computed(()=>a.config.certificateId&&w.value===d.EntityBaseFormType.Create?a.config.certificateId:""),s=e.reactive({fields:{name:"",tags:"",certificate_id:""},isReadonly:!1,errorMessage:""}),D=e.reactive({name:"",tags:"",certificate_id:""}),W=e.computed(()=>JSON.stringify(s.fields)!==JSON.stringify(D)&&!!s.fields.name&&!!(s.fields.certificate_id||_.value)),K=o=>{var n,t;s.fields.name=(o==null?void 0:o.name)||"",s.fields.tags=((n=o==null?void 0:o.tags)==null?void 0:n.join(", "))||"",s.fields.certificate_id=((t=o==null?void 0:o.certificate)==null?void 0:t.id)||"",Object.assign(D,s.fields)},b=()=>{c.push(a.config.cancelRoute)},J=e.computed(()=>{var n,t;let o=`${a.config.apiBaseUrl}${B.form[a.config.app].validate}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((n=a.config)==null?void 0:n.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(t=a.config)!=null&&t.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.sniId),o}),$=e.computed(()=>{var n,t;let o=`${a.config.apiBaseUrl}${B.form[a.config.app][w.value]}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((n=a.config)==null?void 0:n.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(t=a.config)!=null&&t.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.sniId),o}),k=e.computed(()=>{var o,n;return{name:s.fields.name,tags:(n=(o=s.fields.tags.split(","))==null?void 0:o.map(t=>String(t||"").trim()))==null?void 0:n.filter(t=>t!==""),certificate:{id:_.value||s.fields.certificate_id}}}),T=async()=>{var o,n,t,l,r,y;try{s.isReadonly=!0;let m;await I.post(J.value,k.value),w.value==="create"?m=await I.post($.value,k.value):w.value==="edit"&&(m=((o=a.config)==null?void 0:o.app)==="konnect"?await I.put($.value,k.value):await I.patch($.value,k.value)),s.fields.name=((n=m==null?void 0:m.data)==null?void 0:n.name)||"",s.fields.tags=((l=(t=m==null?void 0:m.data)==null?void 0:t.tags)==null?void 0:l.join(", "))||"",s.fields.certificate_id=((y=(r=m==null?void 0:m.data)==null?void 0:r.certificate)==null?void 0:y.id)||"",Object.assign(D,s.fields),u("update",m==null?void 0:m.data)}catch(m){s.errorMessage=j(m),u("error",m)}finally{s.isReadonly=!1}},{debouncedQueryChange:Q,loading:z,allRecords:x,error:M,validationError:G,loadItems:H,results:X}=d.useDebouncedFilter(a.config,B.form[a.config.app].certificates),h=o=>{Q(o)},F=e.computed(()=>M.value?f("errors.certificates.fetch"):""),C=e.computed(()=>G.value?f("errors.certificates.invalid"):""),O=e.ref(0),Y=e.computed(()=>x.value===void 0),R=e.ref(new Set),q=e.computed(()=>Array.from(R.value).map(n=>({label:n,value:n,selected:s.fields.certificate_id===n}))),Z=o=>{R.value.clear();let n;for(n of o)R.value.add(n.id)};return e.watch(X,o=>{Z(o)},{immediate:!0,deep:!0}),e.watch(q,()=>{O.value++},{immediate:!0,deep:!0}),e.onBeforeMount(async()=>{await H()}),(o,n)=>{const t=e.resolveComponent("KInput"),l=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(e.unref(d.EntityBaseForm),{"can-submit":W.value,config:i.config,"edit-id":i.sniId,"entity-type":e.unref(d.SupportedEntityType).SNI,"error-message":s.errorMessage||F.value,"fetch-url":L.value,"form-fields":k.value,"is-readonly":s.isReadonly,onCancel:b,"onFetch:error":n[3]||(n[3]=r=>o.$emit("error",r)),"onFetch:success":K,onLoading:n[4]||(n[4]=r=>o.$emit("loading",r)),onSubmit:T},{default:e.withCtx(()=>[e.createVNode(e.unref(d.EntityFormSection),{description:e.unref(f)("form.sections.general.description"),title:e.unref(f)("form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(t,{modelValue:s.fields.name,"onUpdate:modelValue":n[0]||(n[0]=r=>s.fields.name=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"sni-form-name",label:e.unref(f)("form.fields.name.label"),placeholder:e.unref(f)("form.fields.name.placeholder"),readonly:s.isReadonly,required:"",type:"text"},null,8,["modelValue","label","placeholder","readonly"]),e.createVNode(t,{modelValue:s.fields.tags,"onUpdate:modelValue":n[1]||(n[1]=r=>s.fields.tags=r),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"sni-form-tags",help:e.unref(f)("form.fields.tags.help"),label:e.unref(f)("form.fields.tags.label"),"label-attributes":{info:e.unref(f)("form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(f)("form.fields.tags.placeholder"),readonly:s.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"]),e.createVNode(e.unref(d.EntityFormSection),{description:e.unref(f)("form.sections.certificate.description"),"has-divider":"",title:e.unref(f)("form.sections.certificate.title")},{default:e.withCtx(()=>[_.value?(e.openBlock(),e.createBlock(t,{key:0,"data-testid":"sni-form-certificate-id",label:e.unref(f)("form.fields.certificate_id.label"),"model-value":_.value,readonly:"",required:"",width:"100%"},null,8,["label","model-value"])):(e.openBlock(),e.createBlock(l,{key:1,modelValue:s.fields.certificate_id,"onUpdate:modelValue":n[2]||(n[2]=r=>s.fields.certificate_id=r),clearable:"","data-testid":"sni-form-certificate-id","dropdown-footer-text":Y.value?e.unref(f)("form.fields.certificate_id.footer"):void 0,"enable-filtering":"","filter-function":()=>!0,items:q.value,label:e.unref(f)("form.fields.certificate_id.label"),loading:e.unref(z),placeholder:e.unref(f)("form.fields.certificate_id.placeholder"),readonly:s.isReadonly,required:"",width:"100%",onQueryChange:h},{loading:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(f)("actions.loading")),1)]),empty:e.withCtx(()=>[e.createElementVNode("div",pe,e.toDisplayString(e.unref(f)("search.no_results")),1)]),_:1},8,["modelValue","dropdown-footer-text","items","label","loading","placeholder","readonly"])),C.value?(e.openBlock(),e.createElementBlock("p",me,e.toDisplayString(C.value),1)):e.createCommentVNode("",!0)]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-1db456db"]]);g.SniForm=ue,g.SniList=de,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .config-card-fieldset[data-v-dc1e39a1]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-dc1e39a1]{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-2feb8c2e] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-5f9aa0e8]{align-items:center;border-bottom:var(--2f90d7f7);box-sizing:border-box;display:var(--668a792a);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-5f9aa0e8]{box-sizing:border-box;padding-right:16px;width:var(--5bc9ad14)}.config-card-details-row .config-card-details-label label[data-v-5f9aa0e8]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-5f9aa0e8]{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-5f9aa0e8]{min-width:0}.config-card-details-row .config-card-details-value[data-v-5f9aa0e8]{box-sizing:border-box;width:var(--5bc5215e)}.config-card-details-row .config-card-details-value .truncated[data-v-5f9aa0e8]{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-5f9aa0e8]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-5f9aa0e8] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-5f9aa0e8]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-5f9aa0e8]{margin-right:4px}.config-card-details-row[data-v-5f9aa0e8] .k-label{margin-bottom:0}.config-card-details-row[data-v-5f9aa0e8] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-5f9aa0e8] .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(--eca0976a);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-9b9ea6f9]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-9b9ea6f9]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-9b9ea6f9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-9b9ea6f9] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-9b9ea6f9]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-612b1eac]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-612b1eac]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-612b1eac] .k-button:last-of-type,.form-actions[data-v-612b1eac] .k-button:nth-last-of-type(2){margin-left:16px}.form-actions-reverted[data-v-612b1eac]{direction:rtl}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-d86d3e31]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-d86d3e31]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-d86d3e31]{display:none}.kong-ui-entity-base-table[data-v-d86d3e31] .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-084f7978]{width:100%}.kong-ui-entity-filter-clear[data-v-084f7978]{cursor:pointer}.kong-ui-entity-filter[data-v-084f7978]{display:flex;position:relative}.kong-ui-entity-filter[data-v-084f7978] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-084f7978] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-084f7978]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-084f7978]{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-084f7978]{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-084f7978]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-084f7978]{color:#232633}.menu-item-expand-icon[data-v-084f7978]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-084f7978]{transform:rotate(180deg)}.menu-item-indicator[data-v-084f7978]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-084f7978]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-084f7978] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-084f7978] .k-input{width:100%}.menu-item-body[data-v-084f7978] .k-select-input .input{font-size:12px}.menu-item-body[data-v-084f7978] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-084f7978]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-084f7978]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-084f7978]{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}.ff-form-section .header[data-v-cb6d2e95]{align-items:flex-start;display:flex;gap:8px}.ff-form-section .step[data-v-cb6d2e95]{align-items:center;background:#fff;border:1px solid #afb7c5;border-radius:100px;display:flex;flex:0 0 auto;height:32px;justify-content:center;padding:4px;width:32px}.ff-form-section .header-content[data-v-cb6d2e95]{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:8px;padding-top:4px}.ff-form-section .header-title[data-v-cb6d2e95]{color:#000933;font-size:18px;font-weight:700;line-height:24px;margin:0}.ff-form-section .header-description[data-v-cb6d2e95]{color:#52596e;font-size:14px;line-height:20px;margin:0}.ff-form-section .header-extra[data-v-cb6d2e95]{align-items:center;display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end}.ff-form-section .content[data-v-cb6d2e95]{background:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;display:flex;flex-direction:column;gap:20px;margin-left:16px;margin-top:20px;padding:20px 24px}.kong-ui-public-entity-link[data-v-96efdfa5]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-96efdfa5]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-96efdfa5]{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-96efdfa5]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-96efdfa5]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-b6376b66]{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-b6376b66]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-b6376b66]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-b6376b66]{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-b6376b66]{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-b6376b66]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{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-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-b6376b66]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-b6376b66]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-b6376b66]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-b6376b66]{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-b6376b66]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66]{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-b6376b66]{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-b6376b66] .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-b6376b66] .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-b6376b66] .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-b6376b66]{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-b6376b66]{width:640px}}.button-row[data-v-4db4a3ba]{align-items:center;display:flex;gap:12px}.kong-ui-entities-snis-list[data-v-4db4a3ba]{width:100%}.kong-ui-entities-snis-list .kong-ui-entity-filter-input[data-v-4db4a3ba]{margin-right:12px}.kong-ui-entities-snis-form[data-v-1db456db]{width:100%}.kong-ui-entities-snis-form .invalid-certificate-message[data-v-1db456db]{color:#d60027;font-size:11px;font-weight:500;margin-top:3px!important}
1
+ .config-card-fieldset[data-v-dc1e39a1]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-dc1e39a1]{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-2feb8c2e] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-5f9aa0e8]{align-items:center;border-bottom:var(--2f90d7f7);box-sizing:border-box;display:var(--668a792a);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-5f9aa0e8]{box-sizing:border-box;padding-right:16px;width:var(--5bc9ad14)}.config-card-details-row .config-card-details-label label[data-v-5f9aa0e8]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-5f9aa0e8]{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-5f9aa0e8]{min-width:0}.config-card-details-row .config-card-details-value[data-v-5f9aa0e8]{box-sizing:border-box;width:var(--5bc5215e)}.config-card-details-row .config-card-details-value .truncated[data-v-5f9aa0e8]{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-5f9aa0e8]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-5f9aa0e8] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-5f9aa0e8]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-5f9aa0e8]{margin-right:4px}.config-card-details-row[data-v-5f9aa0e8] .k-label{margin-bottom:0}.config-card-details-row[data-v-5f9aa0e8] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-5f9aa0e8] .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(--eca0976a);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-9b9ea6f9]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-9b9ea6f9]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-9b9ea6f9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-9b9ea6f9] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-9b9ea6f9]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-612b1eac]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-612b1eac]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-612b1eac] .k-button:last-of-type,.form-actions[data-v-612b1eac] .k-button:nth-last-of-type(2){margin-left:16px}.form-actions-reverted[data-v-612b1eac]{direction:rtl}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-44153100]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-44153100]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-44153100]{display:none}.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-084f7978]{width:100%}.kong-ui-entity-filter-clear[data-v-084f7978]{cursor:pointer}.kong-ui-entity-filter[data-v-084f7978]{display:flex;position:relative}.kong-ui-entity-filter[data-v-084f7978] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-084f7978] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-084f7978]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-084f7978]{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-084f7978]{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-084f7978]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-084f7978]{color:#232633}.menu-item-expand-icon[data-v-084f7978]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-084f7978]{transform:rotate(180deg)}.menu-item-indicator[data-v-084f7978]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-084f7978]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-084f7978] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-084f7978] .k-input{width:100%}.menu-item-body[data-v-084f7978] .k-select-input .input{font-size:12px}.menu-item-body[data-v-084f7978] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-084f7978]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-084f7978]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-084f7978]{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}.ff-form-section .header[data-v-cb6d2e95]{align-items:flex-start;display:flex;gap:8px}.ff-form-section .step[data-v-cb6d2e95]{align-items:center;background:#fff;border:1px solid #afb7c5;border-radius:100px;display:flex;flex:0 0 auto;height:32px;justify-content:center;padding:4px;width:32px}.ff-form-section .header-content[data-v-cb6d2e95]{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:8px;padding-top:4px}.ff-form-section .header-title[data-v-cb6d2e95]{color:#000933;font-size:18px;font-weight:700;line-height:24px;margin:0}.ff-form-section .header-description[data-v-cb6d2e95]{color:#52596e;font-size:14px;line-height:20px;margin:0}.ff-form-section .header-extra[data-v-cb6d2e95]{align-items:center;display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end}.ff-form-section .content[data-v-cb6d2e95]{background:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;display:flex;flex-direction:column;gap:20px;margin-left:16px;margin-top:20px;padding:20px 24px}.kong-ui-public-entity-link[data-v-96efdfa5]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-96efdfa5]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-96efdfa5]{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-96efdfa5]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-96efdfa5]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-645aae54]{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-645aae54]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-645aae54]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-645aae54]{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-645aae54]{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-645aae54]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-645aae54],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-645aae54]{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-645aae54],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-645aae54]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-645aae54]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-645aae54]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-645aae54]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-645aae54]{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-645aae54]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-645aae54]{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-645aae54]{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-645aae54] .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-645aae54] .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-645aae54] .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-645aae54]{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-645aae54]{width:640px}}.button-row[data-v-5d5c486a]{align-items:center;display:flex;gap:12px}.kong-ui-entities-snis-list[data-v-5d5c486a]{width:100%}.kong-ui-entities-snis-list .kong-ui-entity-filter-input[data-v-5d5c486a]{margin-right:12px}.kong-ui-entities-snis-form[data-v-1db456db]{width:100%}.kong-ui-entities-snis-form .invalid-certificate-message[data-v-1db456db]{color:#d60027;font-size:11px;font-weight:500;margin-top:3px!important}
@@ -1 +1 @@
1
- {"version":3,"file":"SniList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SniList.vue"],"names":[],"mappings":"AAgiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAkBvC,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EACjB,MAAM,UAAU,CAAA;AASjB,OAAO,gDAAgD,CAAA;;IAogCrD,oHAAoH;;cAElG,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;;4BAErD,oBAAoB,GAAG,wBAAwB,KAAG,OAAO;;;;;;IAY/E,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH,qFAAqF;;;;;;;;;;;;IA7CrF,oHAAoH;;cAElG,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;;4BAErD,oBAAoB,GAAG,wBAAwB,KAAG,OAAO;;;;;;IAY/E,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH,qFAAqF;;;;;;;;;;;;;qBA3BlD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;qBAM1B,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;mBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;uBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;;;;AAzC7E,wBAwDG"}
1
+ {"version":3,"file":"SniList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SniList.vue"],"names":[],"mappings":"AA0iBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBvC,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EACjB,MAAM,UAAU,CAAA;AASjB,OAAO,gDAAgD,CAAA;;IA0jCrD,oHAAoH;;cAElG,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;;4BAErD,oBAAoB,GAAG,wBAAwB,KAAG,OAAO;;;;;;IAY/E,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH,qFAAqF;;;;;;;;;;;;IA7CrF,oHAAoH;;cAElG,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;;4BAErD,oBAAoB,GAAG,wBAAwB,KAAG,OAAO;;;;;;IAY/E,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH,qFAAqF;;;;;;;;;;;;;qBA3BlD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;qBAM1B,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;mBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;uBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;;;;AAzC7E,wBAwDG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-snis",
3
- "version": "3.9.8",
3
+ "version": "3.9.10",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-snis.umd.js",
6
6
  "module": "./dist/entities-snis.es.js",
@@ -21,22 +21,22 @@
21
21
  "access": "public"
22
22
  },
23
23
  "peerDependencies": {
24
- "@kong/icons": "^1.31.0",
25
- "@kong/kongponents": "^9.34.2",
24
+ "@kong/icons": "^1.36.0",
25
+ "@kong/kongponents": "^9.38.8",
26
26
  "axios": "^1.11.0",
27
27
  "vue": ">= 3.3.13 < 4",
28
28
  "vue-router": "^4.4.5",
29
- "@kong-ui-public/i18n": "^2.4.4",
30
- "@kong-ui-public/entities-shared": "^3.27.7"
29
+ "@kong-ui-public/entities-shared": "^3.27.9",
30
+ "@kong-ui-public/i18n": "^2.4.4"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@kong/design-tokens": "1.18.0",
34
- "@kong/icons": "^1.33.2",
35
- "@kong/kongponents": "9.38.4",
34
+ "@kong/icons": "^1.36.0",
35
+ "@kong/kongponents": "9.38.8",
36
36
  "axios": "^1.7.7",
37
37
  "vue": "^3.5.13",
38
38
  "vue-router": "^4.4.5",
39
- "@kong-ui-public/entities-shared": "^3.27.7",
39
+ "@kong-ui-public/entities-shared": "^3.27.9",
40
40
  "@kong-ui-public/i18n": "^2.4.4"
41
41
  },
42
42
  "repository": {