@kong-ui-public/entities-snis 3.7.32 → 3.8.0

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