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