@kong-ui-public/entities-keys 3.10.43-pr.2798.a6ee9fc6b.0 → 3.10.43-pr.2831.a41d20dc9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ (function(w,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(w=typeof globalThis<"u"?globalThis:w||self,e(w["kong-ui-public-entities-keys"]={},w.Vue,w.VueRouter,w.KongIcons,w["kong-ui-public-i18n"],w["kong-ui-public-entities-shared"]))})(this,(function(w,e,ie,P,ae,d){"use strict";const se={keys:{title:"Keys",list:{toolbar_actions:{new_key:"New key"},table_headers:{name:"Name",key_id:"Key ID",id:"ID",tags:"Tags"},empty_state:{title:"Configure a New Key",description:"A Key object holds a representation of asymmetric keys in various formats."},empty_state_v2:{title:"Configure your first key",group:"Keys created in gateways within this group will automatically appear here.",description:"Keys hold a representation of asymmetric keys that gateways and plugins can use for secure operations.",create_cta:"New key",learn_more:"Learn more"}},actions:{create:"New key",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details",loading:"Loading..."},search:{placeholder:"Filter by exact name or ID",no_results:"No results found"},delete:{title:"Delete a Key",description:"This action cannot be reversed so make sure to check the key usage before deleting."},errors:{general:"Keys could not be retrieved",delete:"The key could not be deleted at this time.",copy:"Failed to copy to clipboard",key_sets:{fetch:"Could not fetch available key sets",invalid:"Please select a valid key set ID"}},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this key."},keys:{title:"Asymmetric Keys",description:"Choose the preferred format for this asymmetric key. Currently only support PEM and JWK format."}},fields:{id:{label:"Key ID",placeholder:"Enter a key ID",tooltip:"An identifier for a key",help:"If using JWK, need to match with the jwk.kid field"},x5t:{label:"X.509 Certificate Thumbprint (x5t)",placeholder:"Enter the certificate thumbprint that identifies the key to be used to validate JWT signature",tooltip:"x5t is a base64url-encoded SHA-1 thumbprint of the DER encoding of X.509 certificate",help:"If using x5t, need to match with the jwk.x5t field"},name:{label:"Name",placeholder:"Enter a unique name for this key",tooltip:"The name to associate with the given key"},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."},key_set:{label:"Key Set",placeholder:"Select a key set to add into",footer:"Search by exact ID to find key sets not included in the list"},key_format:{label:"Key Format",options:{jwk:"JWK",pem:"PEM"}},jwk:{label:"JWK",placeholder:"Enter a JWK",tooltip:"A JSON Web key represented as a string"},kid:{label:"Key ID",tooltip:"A unique identifier for a key."},set:{label:"Key Set",tooltip:"The id (an UUID) of the key-set with which to associate the key."},private_key:{label:"Private Key",placeholder:"Enter a private key"},public_key:{label:"Public Key",placeholder:"Enter a public key"}}}}};function ce(){const i=ae.createI18n("en-us",se);return{i18n:i,i18nT:ae.i18nTComponent(i)}}const Y={useI18n:ce},B="/v2/control-planes/{controlPlaneId}/core-entities",E="/{workspace}",$={list:{konnect:{all:`${B}/keys`,forKeySet:`${B}/key-sets/{keySetId}/keys`},kongManager:{all:`${E}/keys`,forKeySet:`${E}/key-sets/{keySetId}/keys`}},form:{konnect:{create:{all:`${B}/keys`,forKeySet:`${B}/key-sets/{keySetId}/keys`},edit:{all:`${B}/keys/{id}`,forKeySet:`${B}/key-sets/{keySetId}/keys/{id}`},keySets:`${B}/key-sets`,getKeySet:`${B}/key-sets/{keySetId}`},kongManager:{create:{all:`${E}/keys`,forKeySet:`${E}/key-sets/{keySetId}/keys`},edit:{all:`${E}/keys/{id}`,forKeySet:`${E}/key-sets/{keySetId}/keys/{id}`},keySets:`${E}/key-sets`,getKeySet:`${E}/key-sets/{keySetId}`}}},de={class:"kong-ui-entities-keys-list"},fe={class:"button-row"},ye=e.defineComponent({__name:"KeyList",props:{config:{type:Object,required:!0,validator:i=>!(!i||!["konnect","kongManager"].includes(i==null?void 0:i.app)||!i.createRoute||!i.getViewRoute||!i.getEditRoute||i.app==="kongManager"&&!i.isExactMatch&&!i.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(i,{emit:T}){var _;const h=T,o=i,{i18n:{t:f}}=Y.useI18n(),c=ie.useRouter(),{axiosInstance:S}=d.useAxios((_=o.config)==null?void 0:_.axiosRequestConfig),{hasRecords:M,handleStateChange:U}=d.useTableState(()=>N.value),x=e.computed(()=>M.value&&o.config.app==="konnect"),t=e.computed(()=>!!o.config.keySetId),C=e.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),j={name:{label:f("keys.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},kid:{label:f("keys.list.table_headers.key_id"),sortable:!0},tags:{label:f("keys.list.table_headers.tags")},id:{label:f("keys.list.table_headers.id"),sortable:!0}},D=j,F=e.computed(()=>{var l,r,V,W;let n=`${o.config.apiBaseUrl}${$.list[o.config.app][o.config.keySetId?"forKeySet":"all"]}`;return o.config.app==="konnect"?n=n.replace(/{controlPlaneId}/gi,((l=o.config)==null?void 0:l.controlPlaneId)||"").replace(/{keySetId}/gi,((r=o.config)==null?void 0:r.keySetId)||""):o.config.app==="kongManager"&&(n=n.replace(/\/{workspace}/gi,(V=o.config)!=null&&V.workspace?`/${o.config.workspace}`:"").replace(/{keySetId}/gi,((W=o.config)==null?void 0:W.keySetId)||"")),n}),N=e.ref(""),O=e.computed(()=>{const n=o.config.app==="konnect"||o.config.isExactMatch;if(n)return{isExactMatch:n,placeholder:f("keys.search.placeholder")};const l={name:j.name};return{isExactMatch:n,fields:l,schema:o.config.filterSchema}}),{fetcher:R,fetcherState:y,fetcherCacheKey:m}=d.useFetcher(e.computed(()=>({...o.config,cacheIdentifier:o.cacheIdentifier})),F),I=()=>{N.value=""},u=()=>{m.value++},b=e.ref(null),p=async(n,l)=>{const r=n.id;if(!await l(r)){v(n,"id");return}Z(n,"id")},Q=async(n,l)=>{const r=JSON.stringify(n);if(!await l(r)){h("copy:error",{entity:n,message:f("keys.errors.copy")});return}h("copy:success",{entity:n,message:f("keys.copy.success_brief")})},Z=(n,l)=>{h("copy:success",{entity:n,field:l,message:f("keys.copy.success",{val:n[l]})})},v=(n,l)=>{h("copy:error",{entity:n,field:l,message:f("keys.errors.copy")})},ee=async n=>{var r;await((r=o.canRetrieve)==null?void 0:r.call(o,n))&&c.push(o.config.getViewRoute(n.id))},te=n=>({label:f("keys.actions.view"),to:o.config.getViewRoute(n)}),oe=n=>({label:f("keys.actions.edit"),to:o.config.getEditRoute(n)}),K=e.ref(void 0),A=e.ref(!1),q=e.ref(!1),G=e.ref(""),J=d.useDeleteUrlBuilder(o.config,F.value),z=n=>{K.value=n,A.value=!0},le=()=>{A.value=!1},X=async()=>{var n,l,r;if((n=K.value)!=null&&n.id){q.value=!0;try{await S.delete(J(K.value.id)),q.value=!1,A.value=!1,m.value++,h("delete:success",K.value)}catch(V){G.value=((r=(l=V.response)==null?void 0:l.data)==null?void 0:r.message)||V.message||f("keys.errors.delete"),h("error",V)}finally{q.value=!1}}},a=()=>{c.push(o.config.createRoute)};e.watch(y,n=>{var l,r,V;if(n.status===d.FetcherStatus.Error){b.value={title:f("keys.errors.general")},(V=(r=(l=n.error)==null?void 0:l.response)==null?void 0:r.data)!=null&&V.message&&(b.value.message=n.error.response.data.message),h("error",n.error);return}b.value=null});const s=e.ref({ctaPath:o.config.createRoute,ctaText:void 0,message:`${f("keys.list.empty_state.description")}${o.config.additionMessageForEmptyState?` ${o.config.additionMessageForEmptyState}`:""}`,title:f("keys.title")}),g=e.ref(!1);return e.onBeforeMount(async()=>{g.value=await o.canCreate(),g.value&&(s.value.title=f("keys.list.empty_state.title"),s.value.ctaText=f("keys.actions.create"))}),(n,l)=>{const r=e.resolveComponent("KButton"),V=e.resolveComponent("KEmptyState"),W=e.resolveComponent("KCopy"),L=e.resolveComponent("KDropdownItem"),re=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",de,[e.createVNode(e.unref(d.EntityBaseTable),{"cache-identifier":i.cacheIdentifier,"disable-sorting":C.value,"empty-state-options":s.value,"enable-entity-actions":"","error-message":b.value,fetcher:e.unref(R),"fetcher-cache-key":e.unref(m),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-keys-list",query:N.value,"table-headers":e.unref(D),onClearSearchInput:I,"onClick:row":l[3]||(l[3]=k=>ee(k)),onSort:u,onState:e.unref(U)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(d.EntityFilter),{modelValue:N.value,"onUpdate:modelValue":l[0]||(l[0]=k=>N.value=k),config:O.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!i.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",fe,[!t.value&&x.value?(e.openBlock(),e.createBlock(r,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"keys-learn-more-button",icon:"",onClick:l[1]||(l[1]=k=>n.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(P.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(d.PermissionsWrapper),{"auth-function":()=>i.canCreate()},{default:e.withCtx(()=>[e.createVNode(r,{appearance:"primary","data-testid":"toolbar-add-key",size:i.useActionOutside?"medium":"large",to:i.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(P.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(f)("keys.list.toolbar_actions.new_key")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:k})=>[e.createElementVNode("b",null,e.toDisplayString(k??"-"),1)]),kid:e.withCtx(({rowValue:k})=>[e.createVNode(W,{text:k},null,8,["text"])]),tags:e.withCtx(({rowValue:k})=>[e.createVNode(e.unref(d.TableTags),{tags:k},null,8,["tags"])]),id:e.withCtx(({rowValue:k})=>[e.createVNode(W,{text:k,truncate:""},null,8,["text"])]),actions:e.withCtx(({row:k})=>[e.createVNode(re,null,{default:e.withCtx(({copyToClipboard:H})=>[e.createVNode(L,{"data-testid":"action-entity-copy-id",onClick:Ie=>p(k,H)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("keys.actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(re,null,{default:e.withCtx(({copyToClipboard:H})=>[e.createVNode(L,{"data-testid":"action-entity-copy-json",onClick:Ie=>Q(k,H)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("keys.actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(e.unref(d.PermissionsWrapper),{"auth-function":()=>i.canRetrieve(k)},{default:e.withCtx(()=>[e.createVNode(L,{"data-testid":"action-entity-view","has-divider":"",item:te(k.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(d.PermissionsWrapper),{"auth-function":()=>i.canEdit(k)},{default:e.withCtx(()=>[e.createVNode(L,{"data-testid":"action-entity-edit",item:oe(k.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(d.PermissionsWrapper),{"auth-function":()=>i.canDelete(k)},{default:e.withCtx(()=>[e.createVNode(L,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:H=>z(k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("keys.actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!N.value&&i.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var k;return[e.createVNode(V,{"data-testid":i.config.keySetId?"nested-keys-entity-empty-state":"keys-entity-empty-state","icon-background":"",message:e.unref(f)("keys.list.empty_state_v2.description"),title:e.unref(f)("keys.list.empty_state_v2.title")},e.createSlots({icon:e.withCtx(()=>[e.createVNode(e.unref(P.KeyIcon),{decorative:""})]),action:e.withCtx(()=>[g.value?(e.openBlock(),e.createBlock(r,{key:0,"data-testid":"entity-create-button",onClick:a},{default:e.withCtx(()=>[e.createVNode(e.unref(P.AddIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(f)("keys.list.empty_state_v2.create_cta")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:l[2]||(l[2]=H=>n.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(P.BookIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(f)("keys.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(k=i.config)!=null&&k.isControlPlaneGroup?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("keys.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(d.EntityDeleteModal),{"action-pending":q.value,description:e.unref(f)("keys.delete.description"),"entity-name":K.value&&(K.value.name||K.value.id),"entity-type":e.unref(d.EntityTypes).Key,error:G.value,title:e.unref(f)("keys.delete.title"),visible:A.value,onCancel:le,onProceed:X},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),ne=(i,T)=>{const h=i.__vccOpts||i;for(const[o,f]of T)h[o]=f;return h},pe=ne(ye,[["__scopeId","data-v-c9e54fff"]]),ke={class:"kong-ui-entities-keys-form"},me={"data-testid":"no-search-results"},ue={class:"select-item-container"},ge={class:"select-item-label"},he={class:"select-item-description"},be={key:1,class:"invalid-key-set-message","data-testid":"invalid-key-set-message"},_e={"data-testid":"key-format-container"},we=ne(e.defineComponent({__name:"KeyForm",props:{config:{type:Object,required:!0,validator:i=>!(!i||!["konnect","kongManager"].includes(i==null?void 0:i.app)||i.app==="konnect"&&!i.controlPlaneId||i.app==="kongManager"&&typeof i.workspace!="string"||!i.cancelRoute)},keyId:{type:String,required:!1,default:""},keySetId:{type:String,required:!1,default:null},fixedKeySetId:{type:String,required:!1,default:""},showx5t:{type:Boolean,required:!1,default:!1}},emits:["update","error","loading"],setup(i,{emit:T}){var X;const h=T,o=i,f=ie.useRouter(),{i18n:{t:c}}=Y.useI18n(),{getMessageFromError:S}=d.useErrors(),{axiosInstance:M}=d.useAxios((X=o.config)==null?void 0:X.axiosRequestConfig),U=e.computed(()=>o.keySetId?$.form[o.config.app].edit.forKeySet.replace(/{keySetId}/gi,o.keySetId):$.form[o.config.app].edit.all),x=e.computed(()=>o.keyId?d.EntityBaseFormType.Edit:d.EntityBaseFormType.Create),t=e.reactive({fields:{name:"",tags:"",key_id:"",key_format:"jwk",key_set:"",jwk:"",private_key:"",public_key:"",...o.showx5t?{x5t:""}:{}},isReadonly:!1,errorMessage:""}),C=e.reactive({name:"",tags:"",key_id:"",key_format:"jwk",key_set:"",jwk:"",private_key:"",public_key:""}),j=[{label:c("keys.form.fields.key_format.options.jwk"),value:"jwk"},{label:c("keys.form.fields.key_format.options.pem"),value:"pem"}],D=e.computed(()=>t.isReadonly||x.value===d.EntityBaseFormType.Create&&!!o.fixedKeySetId),F=e.computed(()=>!D.value);e.watch(()=>o.fixedKeySetId,a=>{x.value===d.EntityBaseFormType.Create&&(t.fields.key_set=a)},{immediate:!0});const N=e.computed(()=>JSON.stringify(t.fields)!==JSON.stringify(C)&&!!t.fields.key_id&&!!t.fields.key_format&&(t.fields.key_format==="jwk"&&!!t.fields.jwk||t.fields.key_format==="pem"&&!!t.fields.private_key&&!!t.fields.public_key)),O=a=>{var s,g,_,n;t.fields.key_id=(a==null?void 0:a.kid)||"",t.fields.name=(a==null?void 0:a.name)||"",t.fields.tags=((s=a==null?void 0:a.tags)==null?void 0:s.join(", "))||"",t.fields.key_set=((g=a==null?void 0:a.set)==null?void 0:g.id)||"",t.fields.key_format=a!=null&&a.pem?"pem":"jwk",t.fields.jwk=(a==null?void 0:a.jwk)||"",t.fields.private_key=((_=a==null?void 0:a.pem)==null?void 0:_.private_key)||"",t.fields.public_key=((n=a==null?void 0:a.pem)==null?void 0:n.public_key)||"",o.showx5t&&(t.fields.x5t=(a==null?void 0:a.x5t)||""),Object.assign(C,t.fields)},R=()=>{f.push(o.config.cancelRoute)},y=e.computed(()=>{var s,g;let a=`${o.config.apiBaseUrl}${$.form[o.config.app][x.value][o.keySetId?"forKeySet":"all"]}`;return o.config.app==="konnect"?a=a.replace(/{controlPlaneId}/gi,((s=o.config)==null?void 0:s.controlPlaneId)||""):o.config.app==="kongManager"&&(a=a.replace(/\/{workspace}/gi,(g=o.config)!=null&&g.workspace?`/${o.config.workspace}`:"")),a=a.replace(/{id}/gi,o.keyId).replace(/{keySetId}/gi,o.keySetId||""),a}),m=e.computed(()=>{var a,s,g;return{kid:t.fields.key_id,...o.showx5t?{x5t:t.fields.x5t||null}:{},name:t.fields.name||null,tags:((g=(s=(a=t.fields.tags)==null?void 0:a.split(","))==null?void 0:s.map(_=>String(_||"").trim()))==null?void 0:g.filter(_=>_!==""))||[],set:t.fields.key_set?{id:t.fields.key_set}:null,jwk:t.fields.key_format==="jwk"?t.fields.jwk:null,pem:t.fields.key_format==="pem"?{private_key:t.fields.private_key,public_key:t.fields.public_key}:null}}),I=async()=>{var a,s,g,_,n;try{t.isReadonly=!0;let l;if(x.value==="create"?l=await M.post(y.value,m.value):x.value==="edit"&&(l=((a=o.config)==null?void 0:a.app)==="konnect"?await M.put(y.value,m.value):await M.patch(y.value,m.value)),l){const{data:r}=l;t.fields.key_id=(r==null?void 0:r.kid)||"",t.fields.name=(r==null?void 0:r.name)||"",t.fields.tags=((s=r==null?void 0:r.tags)==null?void 0:s.join(", "))||"",t.fields.key_set=((g=r==null?void 0:r.set)==null?void 0:g.id)||"",t.fields.key_format=r!=null&&r.pem?"pem":"jwk",t.fields.jwk=(r==null?void 0:r.jwk)||"",t.fields.private_key=((_=r==null?void 0:r.pem)==null?void 0:_.private_key)||"",t.fields.public_key=((n=r==null?void 0:r.pem)==null?void 0:n.public_key)||"",o.showx5t&&(t.fields.x5t=(r==null?void 0:r.x5t)||""),Object.assign(C,t.fields),h("update",l==null?void 0:l.data)}}catch(l){t.errorMessage=S(l),h("error",l)}finally{t.isReadonly=!1}},{debouncedQueryChange:u,loading:b,allRecords:p,error:Q,validationError:Z,loadItems:v,results:ee}=d.useDebouncedFilter(o.config,$.form[o.config.app].keySets,void 0,{fetchedItemsKey:"data",searchKeys:["id","name"]}),te=a=>{(!a||a!==t.fields.key_set&&a!==C.key_set)&&u(a)},oe=e.computed(()=>Q.value?c("keys.errors.key_sets.fetch"):""),K=e.computed(()=>Z.value?c("keys.errors.key_sets.invalid"):""),A=e.ref(0),q=e.computed(()=>p.value===void 0),G=e.computed(()=>{if(q.value)return o.config.app==="konnect"?c("keys.form.fields.key_set.footer"):void 0}),J=e.ref(new Set),z=e.computed(()=>Array.from(J.value).map(s=>({name:s.name||"",label:"",value:s.id,selected:t.fields.key_set===s.id}))),le=a=>{J.value.clear();let s;for(s of a)J.value.add(s)};return e.watch(ee,a=>{le(a)},{immediate:!0,deep:!0}),e.watch(z,()=>{A.value++},{immediate:!0,deep:!0}),e.onBeforeMount(async()=>{await v()}),(a,s)=>{const g=e.resolveComponent("KInput"),_=e.resolveComponent("KSelect"),n=e.resolveComponent("KTextArea");return e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(e.unref(d.EntityBaseForm),{"can-submit":N.value,config:i.config,"edit-id":i.keyId,"entity-type":e.unref(d.SupportedEntityType).Key,"error-message":t.errorMessage||oe.value,"fetch-url":U.value,"form-fields":m.value,"is-readonly":t.isReadonly,onCancel:R,"onFetch:error":s[9]||(s[9]=l=>a.$emit("error",l)),"onFetch:success":O,onLoading:s[10]||(s[10]=l=>a.$emit("loading",l)),onSubmit:I},{default:e.withCtx(()=>[e.createVNode(e.unref(d.EntityFormSection),{description:e.unref(c)("keys.form.sections.general.description"),title:e.unref(c)("keys.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(g,{modelValue:t.fields.key_id,"onUpdate:modelValue":s[0]||(s[0]=l=>t.fields.key_id=l),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-form-id",help:e.unref(c)("keys.form.fields.id.help"),label:e.unref(c)("keys.form.fields.id.label"),"label-attributes":{info:e.unref(c)("keys.form.fields.id.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(c)("keys.form.fields.id.placeholder"),readonly:t.isReadonly,required:"",type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"]),i.showx5t?(e.openBlock(),e.createBlock(g,{key:0,modelValue:t.fields.x5t,"onUpdate:modelValue":s[1]||(s[1]=l=>t.fields.x5t=l),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-form-x5t",help:e.unref(c)("keys.form.fields.x5t.help"),label:e.unref(c)("keys.form.fields.x5t.label"),"label-attributes":{info:e.unref(c)("keys.form.fields.x5t.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(c)("keys.form.fields.x5t.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])):e.createCommentVNode("",!0),e.createVNode(g,{modelValue:t.fields.name,"onUpdate:modelValue":s[2]||(s[2]=l=>t.fields.name=l),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-form-name",label:e.unref(c)("keys.form.fields.name.label"),placeholder:e.unref(c)("keys.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","label","placeholder","readonly"]),e.createVNode(_,{modelValue:t.fields.key_set,"onUpdate:modelValue":s[3]||(s[3]=l=>t.fields.key_set=l),clearable:F.value,"data-testid":"key-form-key-set","dropdown-footer-text":G.value,"enable-filtering":"","filter-function":()=>!0,items:z.value,label:e.unref(c)("keys.form.fields.key_set.label"),loading:e.unref(b),placeholder:e.unref(c)("keys.form.fields.key_set.placeholder"),readonly:D.value,width:"100%",onQueryChange:te},{loading:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(c)("keys.actions.loading")),1)]),empty:e.withCtx(()=>[e.createElementVNode("div",me,e.toDisplayString(e.unref(c)("keys.search.no_results")),1)]),"selected-item-template":e.withCtx(({item:l})=>[e.createElementVNode("div",null,e.toDisplayString(l.name),1)]),"item-template":e.withCtx(({item:l})=>[e.createElementVNode("div",ue,[e.createElementVNode("div",ge,e.toDisplayString(l.name),1),e.createElementVNode("div",he,e.toDisplayString(l.value),1)])]),_:1},8,["modelValue","clearable","dropdown-footer-text","items","label","loading","placeholder","readonly"]),K.value?(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(K.value),1)):e.createCommentVNode("",!0),e.createVNode(g,{modelValue:t.fields.tags,"onUpdate:modelValue":s[4]||(s[4]=l=>t.fields.tags=l),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-form-tags",help:e.unref(c)("keys.form.fields.tags.help"),label:e.unref(c)("keys.form.fields.tags.label"),"label-attributes":{info:e.unref(c)("keys.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(c)("keys.form.fields.tags.placeholder"),readonly:t.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(c)("keys.form.sections.keys.description"),"has-divider":"",title:e.unref(c)("keys.form.sections.keys.title")},{default:e.withCtx(()=>[e.createElementVNode("div",_e,[e.createVNode(_,{modelValue:t.fields.key_format,"onUpdate:modelValue":s[5]||(s[5]=l=>t.fields.key_format=l),"data-testid":"key-form-key-format",items:j,label:e.unref(c)("keys.form.fields.key_format.label"),readonly:t.isReadonly,required:"",width:"100%"},null,8,["modelValue","label","readonly"])]),t.fields.key_format==="jwk"?(e.openBlock(),e.createBlock(n,{key:0,modelValue:t.fields.jwk,"onUpdate:modelValue":s[6]||(s[6]=l=>t.fields.jwk=l),modelModifiers:{trim:!0},"character-limit":!1,class:"key-form-textarea","data-testid":"key-form-jwk",label:e.unref(c)("keys.form.fields.jwk.label"),"label-attributes":{info:e.unref(c)("keys.form.fields.jwk.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(c)("keys.form.fields.jwk.placeholder"),readonly:t.isReadonly,required:""},null,8,["modelValue","label","label-attributes","placeholder","readonly"])):e.createCommentVNode("",!0),t.fields.key_format==="pem"?(e.openBlock(),e.createBlock(n,{key:1,modelValue:t.fields.private_key,"onUpdate:modelValue":s[7]||(s[7]=l=>t.fields.private_key=l),modelModifiers:{trim:!0},"character-limit":!1,class:"key-form-textarea","data-testid":"key-form-private-key",label:e.unref(c)("keys.form.fields.private_key.label"),placeholder:e.unref(c)("keys.form.fields.private_key.placeholder"),readonly:t.isReadonly,required:""},null,8,["modelValue","label","placeholder","readonly"])):e.createCommentVNode("",!0),t.fields.key_format==="pem"?(e.openBlock(),e.createBlock(n,{key:2,modelValue:t.fields.public_key,"onUpdate:modelValue":s[8]||(s[8]=l=>t.fields.public_key=l),modelModifiers:{trim:!0},"character-limit":!1,class:"key-form-textarea","data-testid":"key-form-public-key",label:e.unref(c)("keys.form.fields.public_key.label"),placeholder:e.unref(c)("keys.form.fields.public_key.placeholder"),readonly:t.isReadonly,required:""},null,8,["modelValue","label","placeholder","readonly"])):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-d5baf85a"]]),Ce={class:"kong-ui-entities-keys-entity-config-card"},Se={key:2},xe=e.defineComponent({__name:"KeyConfigCard",props:{config:{type:Object,required:!0,validator:i=>!(!i||!["konnect","kongManager"].includes(i==null?void 0:i.app)||i.app==="konnect"&&!i.controlPlaneId||i.app==="kongManager"&&typeof i.workspace!="string"||!i.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1},keySetId:{type:String,default:null}},emits:["loading","fetch:error","fetch:success","navigation-click"],setup(i,{emit:T}){var R;const h=T,o=i,{axiosInstance:f}=d.useAxios((R=o.config)==null?void 0:R.axiosRequestConfig),{convertKeyToTitle:c}=d.useStringHelpers(),{i18n:{t:S}}=Y.useI18n(),M=e.computed(()=>o.keySetId?`${$.form[o.config.app].edit.forKeySet}`.replace(/{keySetId}/gi,o.keySetId):$.form[o.config.app].edit.all),U=e.computed(()=>{var y;return(y=$.form[o.config.app])==null?void 0:y.getKeySet}),x=e.ref(),t=e.ref({}),C=e.ref(o.keySetId||""),j=e.ref(""),D=e.ref(!1),F=async y=>{var m;x.value=y,C.value=(m=y==null?void 0:y.set)==null?void 0:m.id,h("fetch:success",y),N(y)};e.watch(C,async()=>{var m,I;if(!C.value)return;let y=`${o.config.apiBaseUrl}${U.value}`;o.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,((m=o.config)==null?void 0:m.controlPlaneId)||"").replace(/{keySetId}/gi,C.value||""):o.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,(I=o.config)!=null&&I.workspace?`/${o.config.workspace}`:"").replace(/{keySetId}/gi,C.value||""));try{D.value=!0;const{data:u}=await f.get(y,{validateStatus:b=>b===404||b>=200&&b<300});j.value=(u==null?void 0:u.name)||(u==null?void 0:u.id)}catch(u){h("fetch:error",u)}finally{D.value=!1}},{immediate:!0});const N=y=>{var m,I;try{if(y.jwk){const u=JSON.parse(y.jwk);Object.keys(u).forEach(b=>{t.value={...t.value,[`jwk.${b}`]:u[b]}})}else t.value={"pem.public_key":(m=y==null?void 0:y.pem)==null?void 0:m.public_key,"pem.private_key":(I=y==null?void 0:y.pem)==null?void 0:I.private_key}}catch(u){h("fetch:error",u)}return t},O=e.ref({id:{},name:{tooltip:S("keys.form.fields.name.tooltip")},last_updated:{},created:{},set:{label:S("keys.form.fields.set.label"),section:d.ConfigurationSchemaSection.Basic,tooltip:S("keys.form.fields.set.tooltip"),order:5},kid:{label:S("keys.form.fields.kid.label"),section:d.ConfigurationSchemaSection.Basic,tooltip:S("keys.form.fields.kid.tooltip")},tags:{tooltip:S("keys.form.fields.tags.tooltip")},jwk:{label:S("keys.form.fields.jwk.label"),type:d.ConfigurationSchemaType.Json},pem:{section:d.ConfigurationSchemaSection.Advanced,label:S("keys.form.fields.key_format.options.pem"),type:d.ConfigurationSchemaType.Json}});return(y,m)=>{var u,b;const I=e.resolveComponent("KSkeleton");return e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(d.EntityBaseConfigCard),{config:i.config,"config-card-doc":i.configCardDoc,"config-schema":O.value,"entity-type":e.unref(d.SupportedEntityType).Key,"fetch-url":M.value,"hide-title":i.hideTitle,"onFetch:error":m[0]||(m[0]=p=>y.$emit("fetch:error",p)),"onFetch:success":F,onLoading:m[1]||(m[1]=p=>y.$emit("loading",p))},e.createSlots({set:e.withCtx(({row:p})=>[D.value?(e.openBlock(),e.createBlock(I,{key:0,"data-testid":"key-set-name-loader",type:"spinner"})):p.value&&p.value.id===C.value&&j.value?(e.openBlock(),e.createBlock(e.unref(d.InternalLinkItem),{key:1,item:{key:p.value.id,value:j.value,type:e.unref(d.ConfigurationSchemaType).LinkInternal},onClick:Q=>y.$emit("navigation-click",p.value.id,"key-sets")},null,8,["item","onClick"])):(e.openBlock(),e.createElementBlock("div",Se,e.toDisplayString("–")))]),_:2},[(u=x.value)!=null&&u.jwk?{name:"jwk",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(t.value),p=>(e.openBlock(),e.createBlock(e.unref(d.ConfigCardItem),{key:p,"data-testid":`${p}`,item:{key:p,label:e.unref(c)(p),value:t.value[p]}},null,8,["data-testid","item"]))),128))]),key:"0"}:void 0,(b=x.value)!=null&&b.pem?{name:"pem",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(t.value),p=>(e.openBlock(),e.createBlock(e.unref(d.ConfigCardItem),{key:p,"data-testid":`${p}`,item:{key:p,label:e.unref(c)(p),value:t.value[p]}},null,8,["data-testid","item"]))),128))]),key:"1"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}});w.KeyConfigCard=xe,w.KeyForm=we,w.KeyList=pe,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .config-card-fieldset[data-v-dc1e39a1]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-dc1e39a1]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-2feb8c2e] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-cd250044]{align-items:center;border-bottom:var(--v550201a4);box-sizing:border-box;display:var(--v2eeb3c61);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-cd250044]{box-sizing:border-box;padding-right:16px;width:var(--v77ca94df)}.config-card-details-row .config-card-details-label label[data-v-cd250044]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-cd250044]{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-cd250044]{min-width:0}.config-card-details-row .config-card-details-value[data-v-cd250044]{box-sizing:border-box;width:var(--v77ccdaba)}.config-card-details-row .config-card-details-value .truncated[data-v-cd250044]{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-cd250044]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-cd250044] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-cd250044]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-cd250044]{margin-right:4px}.config-card-details-row[data-v-cd250044] .k-label{margin-bottom:0}.config-card-details-row[data-v-cd250044] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-cd250044] .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(--v58418ff6);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.deck-config .k-select[data-v-04c956bc]{margin-bottom:16px}.deck-config .k-code-block[data-v-04c956bc]{margin-top:12px}.config-card-prop-section-title[data-v-50ba1af0]{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-77c89593]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-77c89593]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-77c89593]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-77c89593] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-77c89593]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-463136e3]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-463136e3] .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-463136e3] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-463136e3] .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-463136e3] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.kong-ui-entity-base-form[data-v-463136e3] .slideout-content{overflow-y:unset!important}.kong-ui-entity-base-form.new-form-layout[data-v-463136e3]{border:none;padding:0}.kong-ui-entity-base-form.new-form-layout .form-actions[data-v-463136e3]{justify-content:flex-start;margin-top:20px}.form-actions[data-v-463136e3]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-463136e3] .k-button:last-of-type,.form-actions[data-v-463136e3] .k-button:nth-last-of-type(2){margin-inline-start:16px}.form-actions-reverted[data-v-463136e3]{direction:rtl}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-09e101d4]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-09e101d4]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-09e101d4]{display:none}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-084f7978]{width:100%}.kong-ui-entity-filter-clear[data-v-084f7978]{cursor:pointer}.kong-ui-entity-filter[data-v-084f7978]{display:flex;position:relative}.kong-ui-entity-filter[data-v-084f7978] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-084f7978] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-084f7978]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-084f7978]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-084f7978]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-084f7978]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-084f7978]{color:#232633}.menu-item-expand-icon[data-v-084f7978]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-084f7978]{transform:rotate(180deg)}.menu-item-indicator[data-v-084f7978]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-084f7978]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-084f7978] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-084f7978] .k-input{width:100%}.menu-item-body[data-v-084f7978] .k-select-input .input{font-size:12px}.menu-item-body[data-v-084f7978] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-084f7978]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-084f7978]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-084f7978]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media(min-width:1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media(min-width:1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.ff-form-section .header[data-v-cfc1bef0]{align-items:flex-start;display:flex;gap:8px}.ff-form-section .step[data-v-cfc1bef0]{align-items:center;background:#fff;border:1px solid #afb7c5;border-radius:100px;display:flex;flex:0 0 auto;height:32px;justify-content:center;padding:4px;width:32px}.ff-form-section .header-content[data-v-cfc1bef0]{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:8px;padding-top:4px}.ff-form-section .header-title[data-v-cfc1bef0]{color:#000933;font-size:18px;font-weight:700;line-height:24px;margin:0}.ff-form-section .header-description[data-v-cfc1bef0]{color:#52596e;font-size:14px;line-height:20px;margin:0}.ff-form-section .header-extra[data-v-cfc1bef0]{align-items:center;display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end}.ff-form-section .content[data-v-cfc1bef0]{background:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;display:flex;flex-direction:column;gap:20px;margin-left:16px;margin-top:20px;padding:20px 24px}.kong-ui-public-entity-link[data-v-96efdfa5]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-96efdfa5]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-96efdfa5]{display:inline-block;font-weight:400;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-96efdfa5]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-96efdfa5]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-6d4a0f89]{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-6d4a0f89]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-6d4a0f89]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-6d4a0f89]{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-6d4a0f89]{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-6d4a0f89]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-6d4a0f89],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-6d4a0f89]{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-6d4a0f89],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-6d4a0f89]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-6d4a0f89]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-6d4a0f89]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-6d4a0f89]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-6d4a0f89]{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-6d4a0f89]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-6d4a0f89]{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-6d4a0f89]{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-6d4a0f89] .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-6d4a0f89] .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-6d4a0f89] .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-6d4a0f89]{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-6d4a0f89]{width:640px}}.button-row[data-v-c9e54fff]{align-items:center;display:flex;gap:12px}.kong-ui-entities-keys-list[data-v-c9e54fff]{width:100%}.kong-ui-entities-keys-list .kong-ui-entity-filter-input[data-v-c9e54fff]{margin-right:12px}.kong-ui-entities-keys-form[data-v-d5baf85a],.kong-ui-entities-keys-form .key-form-textarea[data-v-d5baf85a]{width:100%}.kong-ui-entities-keys-form .invalid-key-set-message[data-v-d5baf85a]{color:#d60027;font-size:11px;font-weight:500;margin-top:3px!important}.kong-ui-entities-keys-form[data-v-d5baf85a] .k-select .custom-selected-item{left:0}.kong-ui-entities-keys-form .select-item-container .select-item-label[data-v-d5baf85a]{font-weight:600}.kong-ui-entities-keys-form .select-item-container .select-item-description[data-v-d5baf85a]{color:#6c7489;font-size:12px}
@@ -0,0 +1,80 @@
1
+ import type { PropType } from 'vue';
2
+ import type { AxiosError } from 'axios';
3
+ import type { KongManagerKeyEntityConfig, KonnectKeyEntityConfig } from '../types';
4
+ import '@kong-ui-public/entities-shared/dist/style.css';
5
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
7
+ config: {
8
+ type: PropType<KonnectKeyEntityConfig | KongManagerKeyEntityConfig>;
9
+ required: true;
10
+ validator: (config: KonnectKeyEntityConfig | KongManagerKeyEntityConfig) => boolean;
11
+ };
12
+ /**
13
+ * External link for documentation that determines visibility of Documentation button
14
+ */
15
+ configCardDoc: {
16
+ type: StringConstructor;
17
+ default: string;
18
+ required: false;
19
+ };
20
+ /**
21
+ * Control visibility of card title content
22
+ */
23
+ hideTitle: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
27
+ /**
28
+ * Keyset id for scoped key entity
29
+ */
30
+ keySetId: {
31
+ type: PropType<string | null>;
32
+ default: null;
33
+ };
34
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
35
+ loading: (isLoading: boolean) => any;
36
+ "fetch:success": (data: Record<string, any>) => any;
37
+ "fetch:error": (error: AxiosError<unknown, any>) => any;
38
+ "navigation-click": (id: string, entityType: string) => any;
39
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
40
+ /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
41
+ config: {
42
+ type: PropType<KonnectKeyEntityConfig | KongManagerKeyEntityConfig>;
43
+ required: true;
44
+ validator: (config: KonnectKeyEntityConfig | KongManagerKeyEntityConfig) => boolean;
45
+ };
46
+ /**
47
+ * External link for documentation that determines visibility of Documentation button
48
+ */
49
+ configCardDoc: {
50
+ type: StringConstructor;
51
+ default: string;
52
+ required: false;
53
+ };
54
+ /**
55
+ * Control visibility of card title content
56
+ */
57
+ hideTitle: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ /**
62
+ * Keyset id for scoped key entity
63
+ */
64
+ keySetId: {
65
+ type: PropType<string | null>;
66
+ default: null;
67
+ };
68
+ }>> & Readonly<{
69
+ onLoading?: ((isLoading: boolean) => any) | undefined;
70
+ "onFetch:success"?: ((data: Record<string, any>) => any) | undefined;
71
+ "onFetch:error"?: ((error: AxiosError<unknown, any>) => any) | undefined;
72
+ "onNavigation-click"?: ((id: string, entityType: string) => any) | undefined;
73
+ }>, {
74
+ keySetId: string | null;
75
+ configCardDoc: string;
76
+ hideTitle: boolean;
77
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
78
+ declare const _default: typeof __VLS_export;
79
+ export default _default;
80
+ //# sourceMappingURL=KeyConfigCard.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyConfigCard.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KeyConfigCard.vue"],"names":[],"mappings":"AAmRA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAA0B,MAAM,UAAU,CAAA;AAa1G,OAAO,gDAAgD,CAAA;AAuYvD,QAAA,MAAM,YAAY;IAGhB,oHAAoH;;cAElG,QAAQ,CAAC,sBAAsB,GAAG,0BAA0B,CAAC;;4BAEzD,sBAAsB,GAAG,0BAA0B,KAAG,OAAO;;IAQnF;;OAEG;;;;;;IAMH;;OAEG;;;;;IAKH;;OAEG;;cAEe,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;;;;;;IA/BzC,oHAAoH;;cAElG,QAAQ,CAAC,sBAAsB,GAAG,0BAA0B,CAAC;;4BAEzD,sBAAsB,GAAG,0BAA0B,KAAG,OAAO;;IAQnF;;OAEG;;;;;;IAMH;;OAEG;;;;;IAKH;;OAEG;;cAEe,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;;;;;;;;;4EAIzC,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,83 @@
1
+ import type { PropType } from 'vue';
2
+ import type { AxiosError } from 'axios';
3
+ import type { KonnectKeyFormConfig, KongManagerKeyFormConfig } from '../types';
4
+ import '@kong-ui-public/entities-shared/dist/style.css';
5
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
7
+ config: {
8
+ type: PropType<KonnectKeyFormConfig | KongManagerKeyFormConfig>;
9
+ required: true;
10
+ validator: (config: KonnectKeyFormConfig | KongManagerKeyFormConfig) => boolean;
11
+ };
12
+ /** If a valid Key ID is provided, it will put the form in Edit mode instead of Create */
13
+ keyId: {
14
+ type: StringConstructor;
15
+ required: false;
16
+ default: string;
17
+ };
18
+ /** Specific the keyset Id if the key entity is a scoped entity [both create and edit form] */
19
+ keySetId: {
20
+ type: PropType<string | null>;
21
+ required: false;
22
+ default: null;
23
+ };
24
+ /** Pre-select the Key Set field and mark it as read-only [create form only] */
25
+ fixedKeySetId: {
26
+ type: StringConstructor;
27
+ required: false;
28
+ default: string;
29
+ };
30
+ /** Whether to provide x5t field in key form */
31
+ showx5t: {
32
+ type: BooleanConstructor;
33
+ required: false;
34
+ default: boolean;
35
+ };
36
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
37
+ error: (error: AxiosError<unknown, any>) => any;
38
+ loading: (isLoading: boolean) => any;
39
+ update: (data: Record<string, any>) => any;
40
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
+ /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
42
+ config: {
43
+ type: PropType<KonnectKeyFormConfig | KongManagerKeyFormConfig>;
44
+ required: true;
45
+ validator: (config: KonnectKeyFormConfig | KongManagerKeyFormConfig) => boolean;
46
+ };
47
+ /** If a valid Key ID is provided, it will put the form in Edit mode instead of Create */
48
+ keyId: {
49
+ type: StringConstructor;
50
+ required: false;
51
+ default: string;
52
+ };
53
+ /** Specific the keyset Id if the key entity is a scoped entity [both create and edit form] */
54
+ keySetId: {
55
+ type: PropType<string | null>;
56
+ required: false;
57
+ default: null;
58
+ };
59
+ /** Pre-select the Key Set field and mark it as read-only [create form only] */
60
+ fixedKeySetId: {
61
+ type: StringConstructor;
62
+ required: false;
63
+ default: string;
64
+ };
65
+ /** Whether to provide x5t field in key form */
66
+ showx5t: {
67
+ type: BooleanConstructor;
68
+ required: false;
69
+ default: boolean;
70
+ };
71
+ }>> & Readonly<{
72
+ onError?: ((error: AxiosError<unknown, any>) => any) | undefined;
73
+ onLoading?: ((isLoading: boolean) => any) | undefined;
74
+ onUpdate?: ((data: Record<string, any>) => any) | undefined;
75
+ }>, {
76
+ keyId: string;
77
+ keySetId: string | null;
78
+ fixedKeySetId: string;
79
+ showx5t: boolean;
80
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
81
+ declare const _default: typeof __VLS_export;
82
+ export default _default;
83
+ //# sourceMappingURL=KeyForm.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyForm.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KeyForm.vue"],"names":[],"mappings":"AAqiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAGnC,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAA;AACtD,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EAIzB,MAAM,UAAU,CAAA;AAYjB,OAAO,gDAAgD,CAAA;AAyxBvD,QAAA,MAAM,YAAY;IAGhB,oHAAoH;;cAElG,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;;4BAErD,oBAAoB,GAAG,wBAAwB,KAAG,OAAO;;IAQ/E,yFAAyF;;;;;;IAMzF,8FAA8F;;cAE5E,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;IAIzC,+EAA+E;;;;;;IAM/E,+CAA+C;;;;;;;;;;;IA9B/C,oHAAoH;;cAElG,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;;4BAErD,oBAAoB,GAAG,wBAAwB,KAAG,OAAO;;IAQ/E,yFAAyF;;;;;;IAMzF,8FAA8F;;cAE5E,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;IAIzC,+EAA+E;;;;;;IAM/E,+CAA+C;;;;;;;;;;;;;;;4EAO/C,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,107 @@
1
+ import type { PropType } from 'vue';
2
+ import type { AxiosError } from 'axios';
3
+ import type { KongManagerKeyListConfig, KonnectKeyListConfig, EntityRow, CopyEventPayload } from '../types';
4
+ import '@kong-ui-public/entities-shared/dist/style.css';
5
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
7
+ config: {
8
+ type: PropType<KonnectKeyListConfig | KongManagerKeyListConfig>;
9
+ required: true;
10
+ validator: (config: KonnectKeyListConfig | KongManagerKeyListConfig) => boolean;
11
+ };
12
+ cacheIdentifier: {
13
+ type: StringConstructor;
14
+ default: string;
15
+ };
16
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can create a new entity */
17
+ canCreate: {
18
+ type: PropType<() => boolean | Promise<boolean>>;
19
+ required: false;
20
+ default: () => Promise<boolean>;
21
+ };
22
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can delete a given entity */
23
+ canDelete: {
24
+ type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
25
+ required: false;
26
+ default: () => Promise<boolean>;
27
+ };
28
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can edit a given entity */
29
+ canEdit: {
30
+ type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
31
+ required: false;
32
+ default: () => Promise<boolean>;
33
+ };
34
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can retrieve (view details) a given entity */
35
+ canRetrieve: {
36
+ type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
37
+ required: false;
38
+ default: () => Promise<boolean>;
39
+ };
40
+ /** default to false, setting to true will teleport the toolbar button to the destination in the consuming app */
41
+ useActionOutside: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
46
+ error: (error: AxiosError<unknown, any>) => any;
47
+ "click:learn-more": () => any;
48
+ "copy:success": (payload: CopyEventPayload) => any;
49
+ "copy:error": (payload: CopyEventPayload) => any;
50
+ "delete:success": (key: EntityRow) => any;
51
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
52
+ /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
53
+ config: {
54
+ type: PropType<KonnectKeyListConfig | KongManagerKeyListConfig>;
55
+ required: true;
56
+ validator: (config: KonnectKeyListConfig | KongManagerKeyListConfig) => boolean;
57
+ };
58
+ cacheIdentifier: {
59
+ type: StringConstructor;
60
+ default: string;
61
+ };
62
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can create a new entity */
63
+ canCreate: {
64
+ type: PropType<() => boolean | Promise<boolean>>;
65
+ required: false;
66
+ default: () => Promise<boolean>;
67
+ };
68
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can delete a given entity */
69
+ canDelete: {
70
+ type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
71
+ required: false;
72
+ default: () => Promise<boolean>;
73
+ };
74
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can edit a given entity */
75
+ canEdit: {
76
+ type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
77
+ required: false;
78
+ default: () => Promise<boolean>;
79
+ };
80
+ /** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can retrieve (view details) a given entity */
81
+ canRetrieve: {
82
+ type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
83
+ required: false;
84
+ default: () => Promise<boolean>;
85
+ };
86
+ /** default to false, setting to true will teleport the toolbar button to the destination in the consuming app */
87
+ useActionOutside: {
88
+ type: BooleanConstructor;
89
+ default: boolean;
90
+ };
91
+ }>> & Readonly<{
92
+ onError?: ((error: AxiosError<unknown, any>) => any) | undefined;
93
+ "onClick:learn-more"?: (() => any) | undefined;
94
+ "onCopy:success"?: ((payload: CopyEventPayload) => any) | undefined;
95
+ "onCopy:error"?: ((payload: CopyEventPayload) => any) | undefined;
96
+ "onDelete:success"?: ((key: EntityRow) => any) | undefined;
97
+ }>, {
98
+ cacheIdentifier: string;
99
+ canCreate: () => boolean | Promise<boolean>;
100
+ canDelete: (row: EntityRow) => boolean | Promise<boolean>;
101
+ canEdit: (row: EntityRow) => boolean | Promise<boolean>;
102
+ canRetrieve: (row: EntityRow) => boolean | Promise<boolean>;
103
+ useActionOutside: boolean;
104
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
105
+ declare const _default: typeof __VLS_export;
106
+ export default _default;
107
+ //# sourceMappingURL=KeyList.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KeyList.vue"],"names":[],"mappings":"AA2iBA,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;AA29BvD,QAAA,MAAM,YAAY;IAGhB,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;;4EAU3E,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,6 @@
1
+ import useI18n from './useI18n';
2
+ declare const _default: {
3
+ useI18n: typeof useI18n;
4
+ };
5
+ export default _default;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAA;;;;AAG/B,wBAEC"}
@@ -0,0 +1,9 @@
1
+ import { createI18n, i18nTComponent } from '@kong-ui-public/i18n';
2
+ import english from '../locales/en.json';
3
+ interface UseI18nReturn {
4
+ i18n: ReturnType<typeof createI18n<typeof english>>;
5
+ i18nT: ReturnType<typeof i18nTComponent<typeof english>>;
6
+ }
7
+ export default function useI18n(): UseI18nReturn;
8
+ export {};
9
+ //# sourceMappingURL=useI18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../../src/composables/useI18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,OAAO,MAAM,oBAAoB,CAAA;AAExC,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,IAAI,aAAa,CAO/C"}
@@ -0,0 +1,6 @@
1
+ import KeyList from './components/KeyList.vue';
2
+ import KeyForm from './components/KeyForm.vue';
3
+ import KeyConfigCard from './components/KeyConfigCard.vue';
4
+ export { KeyList, KeyForm, KeyConfigCard };
5
+ export * from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAC9C,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAC9C,OAAO,aAAa,MAAM,gCAAgC,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;AAE1C,cAAc,SAAS,CAAA"}
@@ -0,0 +1,40 @@
1
+ declare const _default: {
2
+ list: {
3
+ konnect: {
4
+ all: string;
5
+ forKeySet: string;
6
+ };
7
+ kongManager: {
8
+ all: string;
9
+ forKeySet: string;
10
+ };
11
+ };
12
+ form: {
13
+ konnect: {
14
+ create: {
15
+ all: string;
16
+ forKeySet: string;
17
+ };
18
+ edit: {
19
+ all: string;
20
+ forKeySet: string;
21
+ };
22
+ keySets: string;
23
+ getKeySet: string;
24
+ };
25
+ kongManager: {
26
+ create: {
27
+ all: string;
28
+ forKeySet: string;
29
+ };
30
+ edit: {
31
+ all: string;
32
+ forKeySet: string;
33
+ };
34
+ keySets: string;
35
+ getKeySet: string;
36
+ };
37
+ };
38
+ };
39
+ export default _default;
40
+ //# sourceMappingURL=keys-endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys-endpoints.d.ts","sourceRoot":"","sources":["../../src/keys-endpoints.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAqCC"}
@@ -0,0 +1,4 @@
1
+ export * from './key-list';
2
+ export * from './key-form';
3
+ export * from './key-config-card';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,19 @@
1
+ import type { KonnectBaseEntityConfig, KongManagerBaseEntityConfig, ConfigurationSchemaItem } from '@kong-ui-public/entities-shared';
2
+ /** Konnect Key entity config */
3
+ export interface KonnectKeyEntityConfig extends KonnectBaseEntityConfig {
4
+ }
5
+ /** Kong Manager Key entity config */
6
+ export interface KongManagerKeyEntityConfig extends KongManagerBaseEntityConfig {
7
+ }
8
+ export interface KeyConfigurationSchema {
9
+ id: ConfigurationSchemaItem;
10
+ name: ConfigurationSchemaItem;
11
+ last_updated: ConfigurationSchemaItem;
12
+ created: ConfigurationSchemaItem;
13
+ set: ConfigurationSchemaItem;
14
+ kid: ConfigurationSchemaItem;
15
+ tags: ConfigurationSchemaItem;
16
+ jwk: ConfigurationSchemaItem;
17
+ pem: ConfigurationSchemaItem;
18
+ }
19
+ //# sourceMappingURL=key-config-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-config-card.d.ts","sourceRoot":"","sources":["../../../src/types/key-config-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAEpI,gCAAgC;AAChC,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;CAAG;AAE1E,qCAAqC;AACrC,MAAM,WAAW,0BAA2B,SAAQ,2BAA2B;CAAG;AAElF,MAAM,WAAW,sBAAsB;IAErC,EAAE,EAAE,uBAAuB,CAAA;IAC3B,IAAI,EAAE,uBAAuB,CAAA;IAC7B,YAAY,EAAE,uBAAuB,CAAA;IACrC,OAAO,EAAE,uBAAuB,CAAA;IAChC,GAAG,EAAE,uBAAuB,CAAA;IAC5B,GAAG,EAAE,uBAAuB,CAAA;IAC5B,IAAI,EAAE,uBAAuB,CAAA;IAC7B,GAAG,EAAE,uBAAuB,CAAA;IAC5B,GAAG,EAAE,uBAAuB,CAAA;CAC7B"}
@@ -0,0 +1,38 @@
1
+ import type { RouteLocationRaw } from 'vue-router';
2
+ import type { KonnectBaseFormConfig, KongManagerBaseFormConfig } from '@kong-ui-public/entities-shared';
3
+ /** Konnect Key form config */
4
+ export interface KonnectKeyFormConfig extends KonnectBaseFormConfig {
5
+ /** Route to return to if canceling create/edit a Key */
6
+ cancelRoute: RouteLocationRaw;
7
+ }
8
+ /** Kong Manager Key form config */
9
+ export interface KongManagerKeyFormConfig extends KongManagerBaseFormConfig {
10
+ /** Route to return to if canceling create/edit a Key */
11
+ cancelRoute: RouteLocationRaw;
12
+ }
13
+ export interface KeyFormFields {
14
+ key_id: string;
15
+ key_format: 'jwk' | 'pem';
16
+ name?: string;
17
+ key_set?: string;
18
+ tags?: string;
19
+ jwk?: string;
20
+ private_key?: string;
21
+ public_key?: string;
22
+ x5t?: string;
23
+ }
24
+ export interface KeyFormState {
25
+ /** Form fields */
26
+ fields: KeyFormFields;
27
+ /** Form readonly state (only used when saving entity details) */
28
+ isReadonly: boolean;
29
+ /** The error message to show on the form */
30
+ errorMessage: string;
31
+ }
32
+ export interface SelectItem {
33
+ label: string;
34
+ value: string | number;
35
+ selected?: boolean;
36
+ name: string;
37
+ }
38
+ //# sourceMappingURL=key-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-form.d.ts","sourceRoot":"","sources":["../../../src/types/key-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAEvG,8BAA8B;AAC9B,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IACjE,wDAAwD;IACxD,WAAW,EAAE,gBAAgB,CAAA;CAC9B;AAED,mCAAmC;AACnC,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,wDAAwD;IACxD,WAAW,EAAE,gBAAgB,CAAA;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,KAAK,GAAG,KAAK,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB;IAClB,MAAM,EAAE,aAAa,CAAA;IACrB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAA;IACnB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAA;CACrB;AAGD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,35 @@
1
+ import type { RouteLocationRaw } from 'vue-router';
2
+ import type { FilterSchema, KongManagerBaseTableConfig, KonnectBaseTableConfig } from '@kong-ui-public/entities-shared';
3
+ export interface BaseKeyListConfig {
4
+ /** Current key set id if the KeyList in nested in the keys tab on a key set detail page */
5
+ keySetId?: string;
6
+ /** Route for creating a key */
7
+ createRoute: RouteLocationRaw;
8
+ /** A function that returns the route for viewing a key */
9
+ getViewRoute: (id: string) => RouteLocationRaw;
10
+ /** A function that returns the route for editing a key */
11
+ getEditRoute: (id: string) => RouteLocationRaw;
12
+ }
13
+ /** Konnect key list config */
14
+ export interface KonnectKeyListConfig extends KonnectBaseTableConfig, BaseKeyListConfig {
15
+ }
16
+ /** Kong Manager key list config */
17
+ export interface KongManagerKeyListConfig extends KongManagerBaseTableConfig, BaseKeyListConfig {
18
+ /** FilterSchema for fuzzy match */
19
+ filterSchema?: FilterSchema;
20
+ }
21
+ export interface EntityRow extends Record<string, any> {
22
+ id: string;
23
+ name?: string;
24
+ kid: string;
25
+ }
26
+ /** Copy field event payload */
27
+ export interface CopyEventPayload {
28
+ /** The entity row */
29
+ entity: EntityRow;
30
+ /** The field being copied. If omitted, the entity JSON is being copied. */
31
+ field?: string;
32
+ /** The toaster message */
33
+ message: string;
34
+ }
35
+ //# sourceMappingURL=key-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-list.d.ts","sourceRoot":"","sources":["../../../src/types/key-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAEvH,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,WAAW,EAAE,gBAAgB,CAAA;IAC7B,0DAA0D;IAC1D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,gBAAgB,CAAA;IAC9C,0DAA0D;IAC1D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,gBAAgB,CAAA;CAC/C;AAED,8BAA8B;AAC9B,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB,EAAE,iBAAiB;CAAG;AAE1F,mCAAmC;AACnC,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B,EAAE,iBAAiB;IAC7F,mCAAmC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,MAAM,EAAE,SAAS,CAAA;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB"}