@kong-ui-public/entities-snis 3.7.30-pr.2184.83ed3fa60.0 → 3.7.31

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