@kong-ui-public/entities-snis 3.9.1 → 3.9.2

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