@kuadrant/kuadrant-backstage-plugin-frontend 0.0.2-dev-83763ff → 0.0.2-dev-b696169

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.
Files changed (91) hide show
  1. package/dist/components/ApiKeyDetailPage/ApiKeyDetailPage.esm.js +319 -0
  2. package/dist/components/ApiKeyDetailPage/ApiKeyDetailPage.esm.js.map +1 -0
  3. package/dist/components/ApiKeyDetailPage/index.esm.js +2 -0
  4. package/dist/components/ApiKeyDetailPage/index.esm.js.map +1 -0
  5. package/dist/components/ApiKeyManagementTab/ApiKeyManagementTab.esm.js +340 -162
  6. package/dist/components/ApiKeyManagementTab/ApiKeyManagementTab.esm.js.map +1 -1
  7. package/dist/components/ApiKeysPage/ApiKeysPage.esm.js +43 -0
  8. package/dist/components/ApiKeysPage/ApiKeysPage.esm.js.map +1 -0
  9. package/dist/components/ApiKeysPage/index.esm.js +2 -0
  10. package/dist/components/ApiKeysPage/index.esm.js.map +1 -0
  11. package/dist/components/ApprovalQueueCard/ApprovalQueueCard.esm.js +312 -118
  12. package/dist/components/ApprovalQueueCard/ApprovalQueueCard.esm.js.map +1 -1
  13. package/dist/components/ApprovalQueueTable/ApprovalQueueTable.esm.js +645 -0
  14. package/dist/components/ApprovalQueueTable/ApprovalQueueTable.esm.js.map +1 -0
  15. package/dist/components/EditAPIKeyDialog/EditAPIKeyDialog.esm.js +14 -2
  16. package/dist/components/EditAPIKeyDialog/EditAPIKeyDialog.esm.js.map +1 -1
  17. package/dist/components/EntityApiApprovalTab/EntityApiApprovalTab.esm.js +276 -0
  18. package/dist/components/EntityApiApprovalTab/EntityApiApprovalTab.esm.js.map +1 -0
  19. package/dist/components/EntityApiApprovalTab/index.esm.js +2 -0
  20. package/dist/components/EntityApiApprovalTab/index.esm.js.map +1 -0
  21. package/dist/components/FilterPanel/FilterPanel.esm.js +127 -0
  22. package/dist/components/FilterPanel/FilterPanel.esm.js.map +1 -0
  23. package/dist/components/KuadrantPage/KuadrantPage.esm.js +123 -40
  24. package/dist/components/KuadrantPage/KuadrantPage.esm.js.map +1 -1
  25. package/dist/components/KuadrantPage/index.esm.js +1 -1
  26. package/dist/components/{MyApiKeysCard/MyApiKeysCard.esm.js → MyApiKeysTable/MyApiKeysTable.esm.js} +294 -176
  27. package/dist/components/MyApiKeysTable/MyApiKeysTable.esm.js.map +1 -0
  28. package/dist/components/PlanPolicyDetailsCard/PlanPolicyDetails.esm.js +5 -4
  29. package/dist/components/PlanPolicyDetailsCard/PlanPolicyDetails.esm.js.map +1 -1
  30. package/dist/index.d.ts +8 -4
  31. package/dist/index.esm.js +1 -1
  32. package/dist/plugin.esm.js +30 -1
  33. package/dist/plugin.esm.js.map +1 -1
  34. package/dist/utils/styles.esm.js +14 -0
  35. package/dist/utils/styles.esm.js.map +1 -0
  36. package/dist-scalprum/{internal.plugin-kuadrant.6dd50c0e0265251d3d4f.js → internal.plugin-kuadrant.e37d8046ec4d7ed991e0.js} +2 -2
  37. package/dist-scalprum/internal.plugin-kuadrant.e37d8046ec4d7ed991e0.js.map +1 -0
  38. package/dist-scalprum/plugin-manifest.json +2 -2
  39. package/dist-scalprum/static/2967.c684efaf.chunk.js +2 -0
  40. package/dist-scalprum/static/2967.c684efaf.chunk.js.map +1 -0
  41. package/dist-scalprum/static/3097.4bd6b35f.chunk.js +2 -0
  42. package/dist-scalprum/static/3097.4bd6b35f.chunk.js.map +1 -0
  43. package/dist-scalprum/static/4306.3a218ff1.chunk.js +2 -0
  44. package/dist-scalprum/static/4306.3a218ff1.chunk.js.map +1 -0
  45. package/dist-scalprum/static/5010.acf9a415.chunk.js +3 -0
  46. package/dist-scalprum/static/5010.acf9a415.chunk.js.map +1 -0
  47. package/dist-scalprum/static/5453.ae292ab1.chunk.js +2 -0
  48. package/dist-scalprum/static/5453.ae292ab1.chunk.js.map +1 -0
  49. package/dist-scalprum/static/6800.736d5da3.chunk.js +2 -0
  50. package/dist-scalprum/static/6800.736d5da3.chunk.js.map +1 -0
  51. package/dist-scalprum/static/6813.036a322f.chunk.js +2 -0
  52. package/dist-scalprum/static/6813.036a322f.chunk.js.map +1 -0
  53. package/dist-scalprum/static/6840.4728fab9.chunk.js +2 -0
  54. package/dist-scalprum/static/6840.4728fab9.chunk.js.map +1 -0
  55. package/dist-scalprum/static/6979.9699b350.chunk.js +2 -0
  56. package/dist-scalprum/static/6979.9699b350.chunk.js.map +1 -0
  57. package/dist-scalprum/static/7684.3d1fc1a1.chunk.js +2 -0
  58. package/dist-scalprum/static/7684.3d1fc1a1.chunk.js.map +1 -0
  59. package/dist-scalprum/static/8365.d3360f18.chunk.js +2 -0
  60. package/dist-scalprum/static/8365.d3360f18.chunk.js.map +1 -0
  61. package/dist-scalprum/static/8416.3604a311.chunk.js +2 -0
  62. package/dist-scalprum/static/8416.3604a311.chunk.js.map +1 -0
  63. package/dist-scalprum/static/8563.7e068fb0.chunk.js +3 -0
  64. package/dist-scalprum/static/8563.7e068fb0.chunk.js.map +1 -0
  65. package/dist-scalprum/static/exposed-PluginRoot.0717f1ce.chunk.js +2 -0
  66. package/dist-scalprum/static/exposed-PluginRoot.0717f1ce.chunk.js.map +1 -0
  67. package/package.json +1 -1
  68. package/dist/components/MyApiKeysCard/MyApiKeysCard.esm.js.map +0 -1
  69. package/dist-scalprum/internal.plugin-kuadrant.6dd50c0e0265251d3d4f.js.map +0 -1
  70. package/dist-scalprum/static/3483.2f14a8ca.chunk.js +0 -3
  71. package/dist-scalprum/static/3483.2f14a8ca.chunk.js.map +0 -1
  72. package/dist-scalprum/static/4306.b68910c9.chunk.js +0 -2
  73. package/dist-scalprum/static/4306.b68910c9.chunk.js.map +0 -1
  74. package/dist-scalprum/static/4556.c6bedfc4.chunk.js +0 -3
  75. package/dist-scalprum/static/4556.c6bedfc4.chunk.js.map +0 -1
  76. package/dist-scalprum/static/5222.796292ca.chunk.js +0 -2
  77. package/dist-scalprum/static/5222.796292ca.chunk.js.map +0 -1
  78. package/dist-scalprum/static/532.e406b85b.chunk.js +0 -2
  79. package/dist-scalprum/static/532.e406b85b.chunk.js.map +0 -1
  80. package/dist-scalprum/static/5453.29118045.chunk.js +0 -2
  81. package/dist-scalprum/static/5453.29118045.chunk.js.map +0 -1
  82. package/dist-scalprum/static/6281.eb6e16a2.chunk.js +0 -2
  83. package/dist-scalprum/static/6281.eb6e16a2.chunk.js.map +0 -1
  84. package/dist-scalprum/static/8365.75ea3581.chunk.js +0 -2
  85. package/dist-scalprum/static/8365.75ea3581.chunk.js.map +0 -1
  86. package/dist-scalprum/static/8441.62394cfd.chunk.js +0 -2
  87. package/dist-scalprum/static/8441.62394cfd.chunk.js.map +0 -1
  88. package/dist-scalprum/static/exposed-PluginRoot.7023ce03.chunk.js +0 -2
  89. package/dist-scalprum/static/exposed-PluginRoot.7023ce03.chunk.js.map +0 -1
  90. /package/dist-scalprum/static/{4556.c6bedfc4.chunk.js.LICENSE.txt → 5010.acf9a415.chunk.js.LICENSE.txt} +0 -0
  91. /package/dist-scalprum/static/{3483.2f14a8ca.chunk.js.LICENSE.txt → 8563.7e068fb0.chunk.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.plugin-kuadrant.e37d8046ec4d7ed991e0.js","mappings":"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uDA,IAAYA,GAAW,IAAM,CAAC,GAAK,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,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","sources":["webpack://internal.plugin-kuadrant/webpack/runtime/create fake namespace object","webpack://internal.plugin-kuadrant/webpack/runtime/load script","webpack://internal.plugin-kuadrant/webpack/runtime/consumes","webpack://internal.plugin-kuadrant/webpack/container-entry","webpack://internal.plugin-kuadrant/webpack/bootstrap","webpack://internal.plugin-kuadrant/webpack/runtime/compat get default export","webpack://internal.plugin-kuadrant/webpack/runtime/define property getters","webpack://internal.plugin-kuadrant/webpack/runtime/ensure chunk","webpack://internal.plugin-kuadrant/webpack/runtime/get javascript chunk filename","webpack://internal.plugin-kuadrant/webpack/runtime/get mini-css chunk filename","webpack://internal.plugin-kuadrant/webpack/runtime/global","webpack://internal.plugin-kuadrant/webpack/runtime/hasOwnProperty shorthand","webpack://internal.plugin-kuadrant/webpack/runtime/make namespace object","webpack://internal.plugin-kuadrant/webpack/runtime/node module decorator","webpack://internal.plugin-kuadrant/webpack/runtime/sharing","webpack://internal.plugin-kuadrant/webpack/runtime/publicPath","webpack://internal.plugin-kuadrant/webpack/runtime/jsonp chunk loading","webpack://internal.plugin-kuadrant/webpack/startup"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"internal.plugin-kuadrant:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map(p=>{return+p==p?+p:p})},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r<b.length&&\"u\"!=(typeof b[r])[0];var e=a[r],n=(typeof e)[0];if(r>=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e<t;r++}\n}\nvar rangeToString = (range) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a<range.length;a++){e--,n+=\"u\"==(typeof(t=range[a]))[0]?\"-\":(e>0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a<range.length;a++){var t=range[a];g.push(0===t?\"not(\"+o()+\")\":1===t?\"(\"+o()+\" || \"+o()+\")\":2===t?g.pop()+\" \"+g.pop():rangeToString(t))}return o();function o(){return g.pop().replace(/^\\((.+)\\)$/,\"$1\")}\n}\nvar satisfy = (range, version) => {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i<range.length?(typeof range[i])[0]:\"\";if(n>=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f<range[i])return!1;f!=range[i]&&(a=!1)}else if(\"s\"!=g&&\"n\"!=g){if(r||i<=e)return!1;a=!1,i--}else{if(i<=e||s<g!=r)return!1;a=!1}else\"s\"!=g&&\"n\"!=g&&(a=!1,i--)}}var t=[],o=t.pop.bind(t);for(n=1;n<range.length;n++){var u=range[n];t.push(1==u?o()|o():2==u?o()&o():u?satisfy(u,version):!o())}return!!o();\n}\nvar exists = (scope, key) => {\n\treturn scope && __webpack_require__.o(scope, key);\n}\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar eagerOnly = (versions) => {\n\treturn Object.keys(versions).reduce((filtered, version) => {\n\t\t\tif (versions[version].eager) {\n\t\t\t\tfiltered[version] = versions[version];\n\t\t\t}\n\t\t\treturn filtered;\n\t}, {});\n};\nvar findLatestVersion = (scope, key, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key];\n};\nvar findSatisfyingVersion = (scope, key, requiredVersion, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion, eager) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \")\" + (eager ? \" for eager consumption\" : \"\") + \" of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar fail = (msg) => {\n\tthrow new Error(msg);\n}\nvar failAsNotExist = (scopeName, key) => {\n\treturn fail(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n}\nvar warn = /*#__PURE__*/ (msg) => {\n\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n};\nvar init = (fn) => (function(scopeName, key, eager, c, d) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then && !eager) {\n\t\treturn promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], key, false, c, d));\n\t}\n\treturn fn(scopeName, __webpack_require__.S[scopeName], key, eager, c, d);\n});\n\nvar useFallback = (scopeName, key, fallback) => {\n\treturn fallback ? fallback() : failAsNotExist(scopeName, key);\n}\nvar load = /*#__PURE__*/ init((scopeName, scope, key, eager, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\treturn get(findLatestVersion(scope, key, eager));\n});\nvar loadVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar satisfyingVersion = findSatisfyingVersion(scope, key, requiredVersion, eager);\n\tif (satisfyingVersion) return get(satisfyingVersion);\n\twarn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion, eager))\n\treturn get(findLatestVersion(scope, key, eager));\n});\nvar loadStrictVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar satisfyingVersion = findSatisfyingVersion(scope, key, requiredVersion, eager);\n\tif (satisfyingVersion) return get(satisfyingVersion);\n\tif (fallback) return fallback();\n\tfail(getInvalidVersionMessage(scope, scopeName, key, requiredVersion, eager));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key, eager, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\treturn get(scope[key][version]);\n});\nvar loadSingletonVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\tif (!satisfy(requiredVersion, version)) {\n\t\twarn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\t}\n\treturn get(scope[key][version]);\n});\nvar loadStrictSingletonVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\tif (!satisfy(requiredVersion, version)) {\n\t\tfail(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\t}\n\treturn get(scope[key][version]);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t22097: () => (loadSingletonVersion(\"default\", \"@backstage/core-plugin-api\", false, [0], () => (Promise.all([__webpack_require__.e(5568), __webpack_require__.e(6272), __webpack_require__.e(5478), __webpack_require__.e(2469), __webpack_require__.e(4218)]).then(() => (() => (__webpack_require__(26272))))))),\n\t95478: () => (loadSingletonVersion(\"default\", \"react\", false, [0], () => (__webpack_require__.e(4041).then(() => (() => (__webpack_require__(14041))))))),\n\t42469: () => (loadSingletonVersion(\"default\", \"react-router-dom\", false, [0], () => (Promise.all([__webpack_require__.e(1613), __webpack_require__.e(3657), __webpack_require__.e(484), __webpack_require__.e(2731)]).then(() => (() => (__webpack_require__(73657))))))),\n\t64218: () => (loadSingletonVersion(\"default\", \"@backstage/version-bridge\", false, [0], () => (__webpack_require__.e(7984).then(() => (() => (__webpack_require__(65603))))))),\n\t11942: () => (loadSingletonVersion(\"default\", \"@material-ui/styles\", false, [0], () => (__webpack_require__.e(4570).then(() => (() => (__webpack_require__(94570))))))),\n\t40484: () => (loadSingletonVersion(\"default\", \"react-dom\", false, [0], () => (__webpack_require__.e(3144).then(() => (() => (__webpack_require__(43144))))))),\n\t92731: () => (loadSingletonVersion(\"default\", \"react-router\", false, [0], () => (__webpack_require__.e(1836).then(() => (() => (__webpack_require__(51836))))))),\n\t37976: () => (loadSingletonVersion(\"default\", \"@material-ui/core/styles\", false, [0], () => (__webpack_require__.e(6872).then(() => (() => (__webpack_require__(64491))))))),\n\t97094: () => (loadSingletonVersion(\"default\", \"@backstage/core-plugin-api\", false, [0], () => (Promise.all([__webpack_require__.e(3647), __webpack_require__.e(2469)]).then(() => (() => (__webpack_require__(83647))))))),\n\t26659: () => (loadSingletonVersion(\"default\", \"@backstage/core-plugin-api\", false, [0], () => (Promise.all([__webpack_require__.e(428), __webpack_require__.e(2469)]).then(() => (() => (__webpack_require__(20428)))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"484\": [\n\t\t40484\n\t],\n\t\"879\": [\n\t\t22097\n\t],\n\t\"1942\": [\n\t\t11942\n\t],\n\t\"2469\": [\n\t\t42469\n\t],\n\t\"2731\": [\n\t\t92731\n\t],\n\t\"4218\": [\n\t\t64218\n\t],\n\t\"5478\": [\n\t\t95478\n\t],\n\t\"6659\": [\n\t\t26659\n\t],\n\t\"7094\": [\n\t\t97094\n\t],\n\t\"7976\": [\n\t\t37976\n\t]\n};\nvar startedInstallModules = {};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tif(!startedInstallModules[id]) {\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tstartedInstallModules[id] = true;\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t\t}\n\t\t});\n\t}\n}","var moduleMap = {\n\t\"PluginRoot\": () => {\n\t\treturn __webpack_require__.e(/* exposed-PluginRoot */ 879).then(() => (() => ((__webpack_require__(72627)))));\n\t},\n\t\"KuadrantPage\": () => {\n\t\treturn __webpack_require__.e(/* exposed-KuadrantPage */ 879).then(() => (() => ((__webpack_require__(72627)))));\n\t},\n\t\"EntityKuadrantApiAccessCard\": () => {\n\t\treturn __webpack_require__.e(/* exposed-EntityKuadrantApiAccessCard */ 879).then(() => (() => ((__webpack_require__(72627)))));\n\t},\n\t\"EntityKuadrantApiKeyManagementTab\": () => {\n\t\treturn __webpack_require__.e(/* exposed-EntityKuadrantApiKeyManagementTab */ 879).then(() => (() => ((__webpack_require__(72627)))));\n\t},\n\t\"EntityKuadrantApiKeysContent\": () => {\n\t\treturn __webpack_require__.e(/* exposed-EntityKuadrantApiKeysContent */ 879).then(() => (() => ((__webpack_require__(72627)))));\n\t},\n\t\"EntityKuadrantApiProductInfoContent\": () => {\n\t\treturn __webpack_require__.e(/* exposed-EntityKuadrantApiProductInfoContent */ 879).then(() => (() => ((__webpack_require__(72627)))));\n\t},\n\t\"KuadrantApprovalQueueCard\": () => {\n\t\treturn __webpack_require__.e(/* exposed-KuadrantApprovalQueueCard */ 879).then(() => (() => ((__webpack_require__(72627)))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/\" + ({\"51\":\"react-syntax-highlighter_languages_highlight_prolog\",\"200\":\"react-syntax-highlighter_languages_highlight_mel\",\"206\":\"react-syntax-highlighter_languages_highlight_gml\",\"371\":\"react-syntax-highlighter_languages_highlight_excel\",\"456\":\"react-syntax-highlighter_languages_highlight_roboconf\",\"460\":\"react-syntax-highlighter_languages_highlight_avrasm\",\"464\":\"react-syntax-highlighter_languages_highlight_shell\",\"557\":\"react-syntax-highlighter_languages_highlight_oneC\",\"579\":\"react-syntax-highlighter_languages_highlight_vbnet\",\"634\":\"react-syntax-highlighter_languages_highlight_scilab\",\"879\":\"exposed-PluginRoot\",\"927\":\"react-syntax-highlighter_languages_highlight_javascript\",\"946\":\"react-syntax-highlighter_languages_highlight_clojure\",\"985\":\"react-syntax-highlighter_languages_highlight_monkey\",\"1062\":\"react-syntax-highlighter_languages_highlight_nim\",\"1084\":\"react-syntax-highlighter_languages_highlight_aspectj\",\"1099\":\"react-syntax-highlighter_languages_highlight_ebnf\",\"1173\":\"react-syntax-highlighter_languages_highlight_autohotkey\",\"1177\":\"react-syntax-highlighter_languages_highlight_profile\",\"1214\":\"react-syntax-highlighter_languages_highlight_properties\",\"1276\":\"react-syntax-highlighter_languages_highlight_phpTemplate\",\"1325\":\"react-syntax-highlighter_languages_highlight_actionscript\",\"1352\":\"react-syntax-highlighter_languages_highlight_fortran\",\"1362\":\"react-syntax-highlighter_languages_highlight_mathematica\",\"1418\":\"react-syntax-highlighter_languages_highlight_pony\",\"1441\":\"react-syntax-highlighter_languages_highlight_coq\",\"1461\":\"react-syntax-highlighter_languages_highlight_livescript\",\"1489\":\"react-syntax-highlighter_languages_highlight_reasonml\",\"1496\":\"react-syntax-highlighter_languages_highlight_lua\",\"1522\":\"react-syntax-highlighter_languages_highlight_dust\",\"1679\":\"react-syntax-highlighter_languages_highlight_scheme\",\"1694\":\"react-syntax-highlighter_languages_highlight_accesslog\",\"1727\":\"react-syntax-highlighter_languages_highlight_oxygene\",\"1750\":\"react-syntax-highlighter_languages_highlight_makefile\",\"1828\":\"react-syntax-highlighter_languages_highlight_dockerfile\",\"1895\":\"react-syntax-highlighter_languages_highlight_pythonRepl\",\"1956\":\"react-syntax-highlighter_languages_highlight_puppet\",\"1961\":\"react-syntax-highlighter_languages_highlight_stan\",\"1972\":\"react-syntax-highlighter_languages_highlight_fsharp\",\"2007\":\"react-syntax-highlighter_languages_highlight_css\",\"2064\":\"react-syntax-highlighter_languages_highlight_vhdl\",\"2108\":\"react-syntax-highlighter_languages_highlight_cLike\",\"2180\":\"react-syntax-highlighter_languages_highlight_sqf\",\"2234\":\"react-syntax-highlighter_languages_highlight_lisp\",\"2267\":\"react-syntax-highlighter_languages_highlight_maxima\",\"2346\":\"react-syntax-highlighter_languages_highlight_d\",\"2362\":\"react-syntax-highlighter_languages_highlight_xquery\",\"2378\":\"react-syntax-highlighter_languages_highlight_parser3\",\"2383\":\"react-syntax-highlighter_languages_highlight_crmsh\",\"2438\":\"react-syntax-highlighter_languages_highlight_haxe\",\"2488\":\"react-syntax-highlighter_languages_highlight_verilog\",\"2496\":\"react-syntax-highlighter_languages_highlight_erlangRepl\",\"2512\":\"react-syntax-highlighter_languages_highlight_stylus\",\"2516\":\"react-syntax-highlighter_languages_highlight_apache\",\"2665\":\"react-syntax-highlighter_languages_highlight_powershell\",\"2693\":\"react-syntax-highlighter_languages_highlight_tap\",\"2727\":\"react-syntax-highlighter_languages_highlight_q\",\"2743\":\"react-syntax-highlighter_languages_highlight_asciidoc\",\"2762\":\"react-syntax-highlighter_languages_highlight_haskell\",\"2795\":\"react-syntax-highlighter_languages_highlight_dns\",\"2871\":\"react-syntax-highlighter_languages_highlight_typescript\",\"2882\":\"react-syntax-highlighter_languages_highlight_sml\",\"2979\":\"react-syntax-highlighter_languages_highlight_plaintext\",\"2981\":\"react-syntax-highlighter_languages_highlight_ruleslanguage\",\"2983\":\"react-syntax-highlighter_languages_highlight_golo\",\"3146\":\"react-syntax-highlighter_languages_highlight_purebasic\",\"3193\":\"react-syntax-highlighter_languages_highlight_xml\",\"3299\":\"react-syntax-highlighter_languages_highlight_fix\",\"3357\":\"react-syntax-highlighter_languages_highlight_x86asm\",\"3384\":\"react-syntax-highlighter_languages_highlight_ini\",\"3418\":\"react-syntax-highlighter_languages_highlight_ruby\",\"3419\":\"react-syntax-highlighter_languages_highlight_nix\",\"3487\":\"react-syntax-highlighter_languages_highlight_mipsasm\",\"3500\":\"react-syntax-highlighter_languages_highlight_autoit\",\"3540\":\"react-syntax-highlighter_languages_highlight_moonscript\",\"3562\":\"react-syntax-highlighter_languages_highlight_gams\",\"3580\":\"react-syntax-highlighter_languages_highlight_csp\",\"3607\":\"react-syntax-highlighter_languages_highlight_abnf\",\"3623\":\"react-syntax-highlighter_languages_highlight_yaml\",\"3722\":\"react-syntax-highlighter_languages_highlight_latex\",\"3736\":\"react-syntax-highlighter_languages_highlight_json\",\"3811\":\"react-syntax-highlighter_languages_highlight_erb\",\"3885\":\"react-syntax-highlighter_languages_highlight_stata\",\"3923\":\"react-syntax-highlighter_languages_highlight_applescript\",\"3988\":\"react-syntax-highlighter_languages_highlight_vala\",\"4014\":\"react-syntax-highlighter_languages_highlight_scss\",\"4075\":\"react-syntax-highlighter_languages_highlight_hsp\",\"4110\":\"react-syntax-highlighter_languages_highlight_tp\",\"4135\":\"react-syntax-highlighter_languages_highlight_mizar\",\"4282\":\"react-syntax-highlighter_languages_highlight_livecodeserver\",\"4300\":\"react-syntax-highlighter_languages_highlight_r\",\"4342\":\"react-syntax-highlighter_languages_highlight_php\",\"4383\":\"react-syntax-highlighter_languages_highlight_dsconfig\",\"4436\":\"react-syntax-highlighter_languages_highlight_zephir\",\"4446\":\"react-syntax-highlighter_languages_highlight_leaf\",\"4493\":\"react-syntax-highlighter_languages_highlight_gauss\",\"4575\":\"react-syntax-highlighter_languages_highlight_processing\",\"4635\":\"react-syntax-highlighter_languages_highlight_jbossCli\",\"4733\":\"react-syntax-highlighter_languages_highlight_llvm\",\"4835\":\"react-syntax-highlighter_languages_highlight_cos\",\"4931\":\"react-syntax-highlighter_languages_highlight_step21\",\"4956\":\"react-syntax-highlighter_languages_highlight_angelscript\",\"4971\":\"react-syntax-highlighter_languages_highlight_lsl\",\"5034\":\"react-syntax-highlighter_languages_highlight_ada\",\"5051\":\"react-syntax-highlighter_languages_highlight_coffeescript\",\"5099\":\"react-syntax-highlighter_languages_highlight_nsis\",\"5123\":\"react-syntax-highlighter_languages_highlight_erlang\",\"5189\":\"react-syntax-highlighter_languages_highlight_dts\",\"5251\":\"react-syntax-highlighter_languages_highlight_pgsql\",\"5253\":\"react-syntax-highlighter_languages_highlight_clojureRepl\",\"5286\":\"react-syntax-highlighter_languages_highlight_nginx\",\"5446\":\"react-syntax-highlighter_languages_highlight_ocaml\",\"5565\":\"react-syntax-highlighter_languages_highlight_kotlin\",\"5613\":\"react-syntax-highlighter_languages_highlight_rib\",\"5664\":\"react-syntax-highlighter_languages_highlight_dos\",\"5773\":\"react-syntax-highlighter_languages_highlight_mojolicious\",\"5813\":\"react-syntax-highlighter_languages_highlight_less\",\"5819\":\"react-syntax-highlighter_languages_highlight_gradle\",\"5868\":\"react-syntax-highlighter_languages_highlight_inform7\",\"5900\":\"react-syntax-highlighter_languages_highlight_lasso\",\"6057\":\"react-syntax-highlighter_languages_highlight_sqlMore\",\"6152\":\"react-syntax-highlighter_languages_highlight_vbscriptHtml\",\"6161\":\"react-syntax-highlighter_languages_highlight_clean\",\"6177\":\"react-syntax-highlighter_languages_highlight_taggerscript\",\"6195\":\"react-syntax-highlighter_languages_highlight_ldif\",\"6228\":\"react-syntax-highlighter_languages_highlight_rust\",\"6267\":\"react-syntax-highlighter_languages_highlight_swift\",\"6354\":\"react-syntax-highlighter_languages_highlight_java\",\"6501\":\"react-syntax-highlighter_languages_highlight_armasm\",\"6512\":\"react-syntax-highlighter_languages_highlight_scala\",\"6542\":\"react-syntax-highlighter_languages_highlight_vim\",\"6555\":\"react-syntax-highlighter_languages_highlight_openscad\",\"6573\":\"react-syntax-highlighter_languages_highlight_cpp\",\"6780\":\"react-syntax-highlighter_languages_highlight_qml\",\"6835\":\"react-syntax-highlighter_languages_highlight_brainfuck\",\"6848\":\"react-syntax-highlighter_languages_highlight_crystal\",\"6924\":\"react-syntax-highlighter_languages_highlight_isbl\",\"6977\":\"react-syntax-highlighter_languages_highlight_rsl\",\"6986\":\"react-syntax-highlighter_languages_highlight_capnproto\",\"7048\":\"react-syntax-highlighter_languages_highlight_gherkin\",\"7079\":\"react-syntax-highlighter_languages_highlight_diff\",\"7131\":\"react-syntax-highlighter_languages_highlight_protobuf\",\"7209\":\"react-syntax-highlighter_languages_highlight_perl\",\"7247\":\"react-syntax-highlighter_languages_highlight_cmake\",\"7254\":\"react-syntax-highlighter_languages_highlight_subunit\",\"7351\":\"react-syntax-highlighter_languages_highlight_elixir\",\"7401\":\"react-syntax-highlighter_languages_highlight_sas\",\"7406\":\"react-syntax-highlighter_languages_highlight_sql\",\"7439\":\"react-syntax-highlighter_languages_highlight_flix\",\"7533\":\"react-syntax-highlighter_languages_highlight_awk\",\"7572\":\"react-syntax-highlighter_languages_highlight_basic\",\"7764\":\"react-syntax-highlighter_languages_highlight_go\",\"7776\":\"react-syntax-highlighter_languages_highlight_haml\",\"7794\":\"react-syntax-highlighter_languages_highlight_http\",\"7818\":\"react-syntax-highlighter_languages_highlight_arduino\",\"7879\":\"react-syntax-highlighter_languages_highlight_csharp\",\"7934\":\"react-syntax-highlighter_languages_highlight_glsl\",\"7959\":\"react-syntax-highlighter_languages_highlight_htmlbars\",\"8001\":\"react-syntax-highlighter_languages_highlight_matlab\",\"8030\":\"react-syntax-highlighter_languages_highlight_handlebars\",\"8058\":\"react-syntax-highlighter_languages_highlight_n1ql\",\"8078\":\"react-syntax-highlighter_languages_highlight_delphi\",\"8138\":\"react-syntax-highlighter_languages_highlight_elm\",\"8140\":\"react-syntax-highlighter_languages_highlight_pf\",\"8216\":\"react-syntax-highlighter_languages_highlight_bnf\",\"8217\":\"react-syntax-highlighter_languages_highlight_twig\",\"8331\":\"react-syntax-highlighter_languages_highlight_thrift\",\"8338\":\"react-syntax-highlighter_languages_highlight_objectivec\",\"8549\":\"react-syntax-highlighter_languages_highlight_c\",\"8595\":\"react-syntax-highlighter_languages_highlight_hy\",\"8705\":\"react-syntax-highlighter_languages_highlight_nodeRepl\",\"8725\":\"react-syntax-highlighter_languages_highlight_smalltalk\",\"8727\":\"react-syntax-highlighter/lowlight-import\",\"8753\":\"react-syntax-highlighter_languages_highlight_mercury\",\"8755\":\"react-syntax-highlighter_languages_highlight_tcl\",\"8763\":\"react-syntax-highlighter_languages_highlight_routeros\",\"8833\":\"react-syntax-highlighter_languages_highlight_markdown\",\"8874\":\"react-syntax-highlighter_languages_highlight_smali\",\"8903\":\"react-syntax-highlighter_languages_highlight_axapta\",\"8904\":\"react-syntax-highlighter_languages_highlight_python\",\"8948\":\"react-syntax-highlighter_languages_highlight_groovy\",\"9078\":\"react-syntax-highlighter_languages_highlight_irpf90\",\"9118\":\"react-syntax-highlighter_languages_highlight_juliaRepl\",\"9139\":\"react-syntax-highlighter_languages_highlight_django\",\"9162\":\"react-syntax-highlighter_languages_highlight_ceylon\",\"9175\":\"react-syntax-highlighter_languages_highlight_vbscript\",\"9229\":\"react-syntax-highlighter_languages_highlight_julia\",\"9265\":\"react-syntax-highlighter_languages_highlight_dart\",\"9406\":\"react-syntax-highlighter_languages_highlight_cal\",\"9612\":\"react-syntax-highlighter_languages_highlight_bash\",\"9702\":\"react-syntax-highlighter_languages_highlight_gcode\",\"9726\":\"react-syntax-highlighter_languages_highlight_xl\",\"9882\":\"react-syntax-highlighter_languages_highlight_arcade\"}[chunkId] || chunkId) + \".\" + {\"51\":\"be0fdf0c\",\"200\":\"5251fe1a\",\"206\":\"2347c999\",\"371\":\"2f5c76b9\",\"428\":\"0a290bc6\",\"441\":\"9f02e61b\",\"456\":\"47518214\",\"460\":\"6381890e\",\"464\":\"9bbc16eb\",\"557\":\"362a3b0a\",\"579\":\"21c190ed\",\"634\":\"bb9cc730\",\"879\":\"0717f1ce\",\"927\":\"b0ad82d3\",\"946\":\"e3fcc98c\",\"985\":\"5f60f06d\",\"1062\":\"17afaed1\",\"1084\":\"35f221e8\",\"1099\":\"a34b6944\",\"1173\":\"614c5248\",\"1177\":\"615fa721\",\"1214\":\"60f97895\",\"1276\":\"2bd36dc7\",\"1325\":\"78db0238\",\"1352\":\"38ec3d00\",\"1362\":\"d8631b37\",\"1418\":\"1961f69f\",\"1441\":\"6b156852\",\"1461\":\"3ece3068\",\"1489\":\"a5a73a29\",\"1496\":\"52f73c98\",\"1522\":\"b30d0c38\",\"1613\":\"71f0fccd\",\"1679\":\"508b5846\",\"1694\":\"bd112f1a\",\"1727\":\"ea742315\",\"1750\":\"cad796c9\",\"1828\":\"2c5fdf55\",\"1836\":\"b74b4c40\",\"1895\":\"feb72aed\",\"1956\":\"ee3f80da\",\"1961\":\"17155e77\",\"1972\":\"2ba37c00\",\"2007\":\"2cc312ae\",\"2064\":\"dea9db6c\",\"2108\":\"f884fdc0\",\"2120\":\"44884438\",\"2180\":\"43421810\",\"2198\":\"5905970e\",\"2234\":\"1cb2f675\",\"2267\":\"f1f17544\",\"2346\":\"bf4f2b44\",\"2362\":\"353780d4\",\"2378\":\"706a4bd6\",\"2383\":\"58c4cb07\",\"2438\":\"e2543cc2\",\"2488\":\"e32adbeb\",\"2496\":\"0d7f4890\",\"2512\":\"cde06cf5\",\"2516\":\"aa86d495\",\"2665\":\"7bd31b3a\",\"2693\":\"402e473f\",\"2727\":\"989943de\",\"2743\":\"4b40a3f9\",\"2762\":\"bbd3c104\",\"2795\":\"6d79126a\",\"2871\":\"cf576f17\",\"2882\":\"0e45c1cf\",\"2967\":\"c684efaf\",\"2979\":\"25f8d292\",\"2981\":\"038504d0\",\"2983\":\"eaa5e2bf\",\"3007\":\"bffc9924\",\"3097\":\"4bd6b35f\",\"3144\":\"6f99ccee\",\"3146\":\"08443005\",\"3193\":\"ee14d6a4\",\"3299\":\"5ee62733\",\"3357\":\"217c56f0\",\"3384\":\"d9d4ed7e\",\"3418\":\"d84064e5\",\"3419\":\"245f31b6\",\"3487\":\"f5bc5b04\",\"3500\":\"a06c1c62\",\"3540\":\"443301b3\",\"3562\":\"a45eb030\",\"3580\":\"7fc6f9a3\",\"3607\":\"bb6a8626\",\"3623\":\"2aae489e\",\"3647\":\"b96f9b3e\",\"3657\":\"59d45756\",\"3722\":\"b4bb9102\",\"3736\":\"d934b52b\",\"3811\":\"4ac917b8\",\"3885\":\"fe81a7fc\",\"3923\":\"ddf703d6\",\"3988\":\"843d9bc4\",\"4014\":\"bec19089\",\"4041\":\"29923ad9\",\"4075\":\"5d714528\",\"4110\":\"0f4ff415\",\"4135\":\"9b39cf3b\",\"4282\":\"f624f22d\",\"4300\":\"8540ccea\",\"4306\":\"3a218ff1\",\"4342\":\"ade4c6c4\",\"4383\":\"c3457b50\",\"4436\":\"fc94a148\",\"4446\":\"92519810\",\"4491\":\"a2e0258f\",\"4493\":\"cceeafb0\",\"4570\":\"8b9f98d7\",\"4575\":\"8d1f48c5\",\"4635\":\"1ff533ef\",\"4733\":\"f32d41e6\",\"4835\":\"78d69dee\",\"4931\":\"a431b2db\",\"4956\":\"f9816c44\",\"4971\":\"b6519e02\",\"5010\":\"acf9a415\",\"5034\":\"b0d90871\",\"5051\":\"3bc87b5b\",\"5099\":\"4934a8e8\",\"5123\":\"501777c7\",\"5189\":\"8fd3703c\",\"5251\":\"5b0d21b9\",\"5253\":\"e6dbc3b4\",\"5286\":\"630147e0\",\"5446\":\"0e42541e\",\"5453\":\"ae292ab1\",\"5565\":\"c5eaa6f5\",\"5568\":\"5dbce633\",\"5603\":\"05d9ca7f\",\"5613\":\"dc8afdf1\",\"5664\":\"1ede6e37\",\"5773\":\"0cf721ff\",\"5813\":\"cc574d49\",\"5819\":\"72fdf84d\",\"5868\":\"78be038f\",\"5900\":\"8d4054e7\",\"6057\":\"d69b1825\",\"6152\":\"42eb54af\",\"6161\":\"97b48014\",\"6177\":\"695a2547\",\"6195\":\"74045e43\",\"6228\":\"7e26e901\",\"6267\":\"7d33a4a9\",\"6272\":\"e49551fa\",\"6352\":\"d48bba8c\",\"6354\":\"e04d1c07\",\"6501\":\"4bfb8996\",\"6512\":\"a4629d0a\",\"6542\":\"e82f126f\",\"6555\":\"4a460eaf\",\"6573\":\"ff6a8f78\",\"6780\":\"8f3a0af6\",\"6800\":\"736d5da3\",\"6813\":\"036a322f\",\"6835\":\"31bde7c5\",\"6840\":\"4728fab9\",\"6848\":\"3a36e63f\",\"6872\":\"feed76d2\",\"6924\":\"abe269c1\",\"6977\":\"909f2a27\",\"6979\":\"9699b350\",\"6986\":\"79dfc31f\",\"7048\":\"e740620a\",\"7079\":\"a8373241\",\"7131\":\"0cd375bc\",\"7209\":\"ae8475a2\",\"7247\":\"cb9028b5\",\"7254\":\"c5ac3a0a\",\"7351\":\"1e79c9b9\",\"7401\":\"94075d6a\",\"7406\":\"651dcc8d\",\"7439\":\"972cc801\",\"7533\":\"dfc9b0b0\",\"7572\":\"ec232b8a\",\"7601\":\"08d8ff3f\",\"7684\":\"3d1fc1a1\",\"7764\":\"abc0a144\",\"7776\":\"d698757b\",\"7794\":\"5859273c\",\"7818\":\"9b9ce313\",\"7879\":\"ea98c6fb\",\"7934\":\"bb5b0086\",\"7959\":\"e57e3c89\",\"7984\":\"c8511b89\",\"8001\":\"114e44eb\",\"8030\":\"75c0a89b\",\"8058\":\"c54b2c4a\",\"8078\":\"588e191d\",\"8138\":\"8a488b19\",\"8140\":\"5052a768\",\"8216\":\"84e0a497\",\"8217\":\"5cb0fdfc\",\"8331\":\"ecb04f2a\",\"8338\":\"2d204375\",\"8365\":\"d3360f18\",\"8416\":\"3604a311\",\"8549\":\"b43ce116\",\"8563\":\"7e068fb0\",\"8595\":\"c60db034\",\"8705\":\"5b05cdf2\",\"8725\":\"53da57ca\",\"8727\":\"2bd53873\",\"8753\":\"fa8fdac0\",\"8755\":\"79af288c\",\"8763\":\"c0bcd6ce\",\"8833\":\"1489792c\",\"8874\":\"4fa5afdd\",\"8903\":\"80d14346\",\"8904\":\"9e4100ae\",\"8948\":\"ecd68b19\",\"9078\":\"25afcc29\",\"9118\":\"e3bfcde8\",\"9139\":\"8fb85401\",\"9162\":\"ab3b1c28\",\"9175\":\"4703f4c5\",\"9229\":\"f43a39d0\",\"9265\":\"0a0b12af\",\"9288\":\"61b45746\",\"9406\":\"781cc6c6\",\"9612\":\"53f7c730\",\"9702\":\"378d3296\",\"9726\":\"7cff3cbb\",\"9882\":\"70910623\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"internal.plugin-kuadrant\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"@backstage/core-plugin-api\", \"1.11.0\", () => (Promise.all([__webpack_require__.e(5568), __webpack_require__.e(7601), __webpack_require__.e(5478), __webpack_require__.e(2469), __webpack_require__.e(4218)]).then(() => (() => (__webpack_require__(47601))))));\n\t\t\tregister(\"@backstage/core-plugin-api\", \"1.11.0\", () => (Promise.all([__webpack_require__.e(5568), __webpack_require__.e(428), __webpack_require__.e(5478), __webpack_require__.e(2469), __webpack_require__.e(4218)]).then(() => (() => (__webpack_require__(20428))))));\n\t\t\tregister(\"@backstage/core-plugin-api\", \"1.11.0\", () => (Promise.all([__webpack_require__.e(5568), __webpack_require__.e(6272), __webpack_require__.e(5478), __webpack_require__.e(2469), __webpack_require__.e(4218)]).then(() => (() => (__webpack_require__(26272))))));\n\t\t\tregister(\"@backstage/core-plugin-api\", \"1.11.1\", () => (Promise.all([__webpack_require__.e(5568), __webpack_require__.e(3647), __webpack_require__.e(5478), __webpack_require__.e(2469), __webpack_require__.e(4218)]).then(() => (() => (__webpack_require__(83647))))));\n\t\t\tregister(\"@backstage/version-bridge\", \"1.0.11\", () => (Promise.all([__webpack_require__.e(5478), __webpack_require__.e(5603)]).then(() => (() => (__webpack_require__(65603))))));\n\t\t\tregister(\"@material-ui/core/styles\", \"4.12.4\", () => (Promise.all([__webpack_require__.e(6352), __webpack_require__.e(5478), __webpack_require__.e(1942), __webpack_require__.e(4491)]).then(() => (() => (__webpack_require__(64491))))));\n\t\t\tregister(\"@material-ui/styles\", \"4.11.5\", () => (Promise.all([__webpack_require__.e(4570), __webpack_require__.e(5478), __webpack_require__.e(3007)]).then(() => (() => (__webpack_require__(94570))))));\n\t\t\tregister(\"react-dom\", \"18.3.1\", () => (Promise.all([__webpack_require__.e(3144), __webpack_require__.e(5478)]).then(() => (() => (__webpack_require__(43144))))));\n\t\t\tregister(\"react-router-dom\", \"6.30.1\", () => (Promise.all([__webpack_require__.e(1613), __webpack_require__.e(3657), __webpack_require__.e(5478), __webpack_require__.e(484), __webpack_require__.e(2731)]).then(() => (() => (__webpack_require__(73657))))));\n\t\t\tregister(\"react-router\", \"6.30.1\", () => (Promise.all([__webpack_require__.e(1613), __webpack_require__.e(1836), __webpack_require__.e(5478)]).then(() => (() => (__webpack_require__(51836))))));\n\t\t\tregister(\"react\", \"18.3.1\", () => (__webpack_require__.e(4041).then(() => (() => (__webpack_require__(14041))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2310: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(1942|2469|2731|4218|484|5478|6659|7094|7976)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkinternal_plugin_kuadrant\"] = self[\"webpackChunkinternal_plugin_kuadrant\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(76741);\n"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","__webpack_require__","e","then","module","getScope","R","o","Promise","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","all","keys","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""}
@@ -5,7 +5,7 @@
5
5
  "registrationMethod": "callback",
6
6
  "baseURL": "auto",
7
7
  "loadScripts": [
8
- "internal.plugin-kuadrant.6dd50c0e0265251d3d4f.js"
8
+ "internal.plugin-kuadrant.e37d8046ec4d7ed991e0.js"
9
9
  ],
10
- "buildHash": "6dd50c0e0265251d3d4ff083eae78899"
10
+ "buildHash": "e37d8046ec4d7ed991e035a92f306caf"
11
11
  }
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkinternal_plugin_kuadrant=self.webpackChunkinternal_plugin_kuadrant||[]).push([[2967],{32269:(e,a,t)=>{var n=t(4293),r=t(78920);a.A=void 0;var i=r(t(95478)),s=(0,n(t(74044)).default)(i.createElement("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"Visibility");a.A=s},35015:(e,a,t)=>{t.d(a,{A:()=>s});var n=t(95478),r=t(85608),i=t(71581);function s(e,a){void 0===a&&(a=[]);var t=function(e,a,t){void 0===a&&(a=[]),void 0===t&&(t={loading:!1});var s=(0,n.useRef)(0),l=(0,i.A)(),o=(0,n.useState)(t),c=o[0],d=o[1],h=(0,n.useCallback)(function(){for(var a=[],t=0;t<arguments.length;t++)a[t]=arguments[t];var n=++s.current;return c.loading||d(function(e){return(0,r.__assign)((0,r.__assign)({},e),{loading:!0})}),e.apply(void 0,a).then(function(e){return l()&&n===s.current&&d({value:e,loading:!1}),e},function(e){return l()&&n===s.current&&d({error:e,loading:!1}),e})},a);return[c,h]}(e,a,{loading:!0}),s=t[0],l=t[1];return(0,n.useEffect)(function(){l()},[l]),s}},46299:(e,a,t)=>{t.d(a,{S:()=>n});const n=e=>{const a={border:"none"};switch(e){case"Approved":return{...a,backgroundColor:"#4caf50",color:"#fff"};case"Rejected":return{...a,backgroundColor:"#f44336",color:"#fff"};default:return{...a,backgroundColor:"#ff9800",color:"#fff"}}}},52235:(e,a,t)=>{var n=t(4293),r=t(78920);a.A=void 0;var i=r(t(95478)),s=(0,n(t(74044)).default)(i.createElement("path",{d:"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"}),"ArrowForward");a.A=s},55735:(e,a,t)=>{var n=t(4293),r=t(78920);a.A=void 0;var i=r(t(95478)),s=(0,n(t(74044)).default)(i.createElement("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"}),"ArrowBack");a.A=s},61524:(e,a,t)=>{var n=t(4293),r=t(78920);a.A=void 0;var i=r(t(95478)),s=(0,n(t(74044)).default)(i.createElement("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");a.A=s},72967:(e,a,t)=>{t.r(a),t.d(a,{ApiKeyDetailPage:()=>M});var n=t(31085),r=t(95478),i=t(42469),s=t(22097),l=t(35015),o=t(86687),c=t(42367),d=t(289),h=t(15831),p=t(37725),u=t(46681),m=t(94641),x=t(96040),A=t(58837),v=t(10394),y=t(71677),f=t(29365),j=t(64947),g=t(72501),b=t(42899),k=t(67720),C=t(31653),w=t(38605),P=t(76891),S=t(61477),N=t(46805),I=t(93453),B=t(32269),z=t(61524),R=t(99594),T=t(77225),$=t(55735),L=t(39330),_=t(85121),E=t(46299);const D=(0,A.A)(e=>({label:{fontWeight:600,color:e.palette.text.secondary,marginBottom:e.spacing(.5)},value:{marginBottom:e.spacing(2)},codeBlock:{backgroundColor:e.palette.background.default,padding:e.spacing(2),borderRadius:e.shape.borderRadius,fontFamily:"monospace",fontSize:"0.875rem",overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-all"},apiKeyContainer:{display:"flex",alignItems:"center",gap:e.spacing(1),padding:e.spacing(1.5),backgroundColor:e.palette.background.default,borderRadius:e.shape.borderRadius,fontFamily:"monospace"},tabPanel:{marginTop:e.spacing(2)}})),K=({code:e,onCopy:a})=>{const t=D();return(0,n.jsxs)(v.A,{position:"relative",children:[(0,n.jsx)(v.A,{className:t.codeBlock,children:e}),(0,n.jsx)(y.Ay,{title:"Copy code",children:(0,n.jsx)(f.A,{size:"small",style:{position:"absolute",top:8,right:8},onClick:a,children:(0,n.jsx)(R.A,{fontSize:"small"})})})]})},M=()=>{var e,a,t,A,M,W,H,q,F,V;const U=D(),{namespace:O,name:G}=(0,i.useParams)(),Y=(0,s.useApi)(s.configApiRef),J=(0,s.useApi)(s.fetchApiRef),Q=(0,s.useApi)(s.alertApiRef),X=Y.getString("backend.baseUrl"),[Z,ee]=(0,r.useState)(0),[ae,te]=(0,r.useState)(!1),[ne,re]=(0,r.useState)(null),[ie,se]=(0,r.useState)(!1),[le,oe]=(0,r.useState)(!1),[ce,de]=(0,r.useState)(!1),{value:he,loading:pe,error:ue}=(0,l.A)(async()=>{var e;const[a,t]=await Promise.all([J.fetch(`${X}/api/kuadrant/apikeys/${O}/${G}`),J.fetch(`${X}/api/kuadrant/apiproducts`)]);if(!a.ok)throw new Error("Failed to fetch API key");const n=await a.json();let r;return!1===(null===(e=n.status)||void 0===e?void 0:e.canReadSecret)&&oe(!0),t.ok&&(r=((await t.json()).items||[]).find(e=>{var a;return e.metadata.name===(null===(a=n.spec.apiProductRef)||void 0===a?void 0:a.name)&&e.metadata.namespace===n.metadata.namespace})),{apiKey:n,apiProduct:r}},[O,G,X,J]),me=null==he?void 0:he.apiKey,xe=null==he?void 0:he.apiProduct,Ae=async e=>{await navigator.clipboard.writeText(e),Q.post({message:"Copied to clipboard",severity:"success",display:"transient"})};if(pe)return(0,n.jsx)(o.k,{});if(ue||!me)return(0,n.jsx)(c._,{error:ue||new Error("API key not found")});const ve=(null===(e=me.status)||void 0===e?void 0:e.phase)||"Pending",ye="Approved"===ve?"Active":ve,fe=(null===(a=me.status)||void 0===a?void 0:a.apiHostname)||"api.example.com",je=ne||"<your-api-key>",ge=[{label:"cURL",code:`curl -H "Authorization: Bearer ${je}" \\\n https://${fe}/`},{label:"Node.js",code:`const response = await fetch('https://${fe}/', {\n headers: {\n 'Authorization': 'Bearer ${je}'\n }\n});\nconst data = await response.json();`},{label:"Python",code:`import requests\n\nresponse = requests.get(\n 'https://${fe}/',\n headers={'Authorization': 'Bearer ${je}'}\n)\ndata = response.json()`},{label:"Go",code:`package main\n\nimport (\n "net/http"\n)\n\nfunc main() {\n client := &http.Client{}\n req, _ := http.NewRequest("GET", "https://${fe}/", nil)\n req.Header.Set("Authorization", "Bearer ${je}")\n resp, _ := client.Do(req)\n defer resp.Body.Close()\n}`}];return(0,n.jsxs)(d.Y,{themeId:"tool",children:[(0,n.jsx)(h.Y,{title:me.metadata.name,subtitle:`API Key for ${(null===(t=me.spec.apiProductRef)||void 0===t?void 0:t.name)||"unknown"}`,children:(0,n.jsx)(p.N_,{to:"/kuadrant/api-keys",children:(0,n.jsx)(j.A,{startIcon:(0,n.jsx)($.A,{}),children:"Back to API Keys"})})}),(0,n.jsxs)(u.U,{children:[(0,n.jsx)(v.A,{mb:2,children:(0,n.jsxs)(m.B,{"aria-label":"breadcrumb",children:[(0,n.jsx)(p.N_,{to:"/kuadrant/api-keys",children:"API keys"}),(0,n.jsx)(g.A,{children:me.metadata.name})]})}),(0,n.jsxs)(v.A,{mb:3,display:"flex",style:{gap:8},children:[(0,n.jsx)(p.N_,{to:`/catalog/default/api/${null===(A=me.spec.apiProductRef)||void 0===A?void 0:A.name}`,children:(0,n.jsx)(j.A,{variant:"outlined",startIcon:(0,n.jsx)(L.A,{}),"data-testid":"view-api-button",children:"View API"})}),(null==xe||null===(M=xe.spec)||void 0===M?void 0:M.contact)&&(xe.spec.contact.email||xe.spec.contact.url||xe.spec.contact.slack)&&(0,n.jsx)(j.A,{variant:"outlined",startIcon:(0,n.jsx)(_.A,{}),href:xe.spec.contact.email?`mailto:${xe.spec.contact.email}`:xe.spec.contact.slack?xe.spec.contact.slack:xe.spec.contact.url||"#",target:"_blank",rel:"noopener noreferrer",children:"Contact Owner"})]}),(0,n.jsxs)(b.A,{container:!0,spacing:3,children:[(0,n.jsx)(b.A,{item:!0,xs:12,md:6,children:(0,n.jsx)(x.n,{title:"API Key Details",children:(0,n.jsxs)(v.A,{children:[(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Status"}),(0,n.jsx)(v.A,{className:U.value,children:(0,n.jsx)(k.A,{label:ye,size:"small",style:(0,E.S)(ve),"data-testid":"api-key-status-chip"})}),(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"API Product"}),(0,n.jsx)(g.A,{variant:"body1",className:U.value,children:(0,n.jsx)(p.N_,{to:`/catalog/default/api/${null===(W=me.spec.apiProductRef)||void 0===W?void 0:W.name}/api-keys`,children:(null===(H=me.spec.apiProductRef)||void 0===H?void 0:H.name)||"unknown"})}),(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Tier"}),(0,n.jsx)(v.A,{className:U.value,children:(0,n.jsx)(k.A,{label:me.spec.planTier,size:"small",variant:"outlined"})}),(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Requester"}),(0,n.jsx)(g.A,{variant:"body1",className:U.value,children:null===(q=me.spec.requestedBy)||void 0===q?void 0:q.userId}),(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Requested"}),(0,n.jsx)(g.A,{variant:"body1",className:U.value,children:me.metadata.creationTimestamp?new Date(me.metadata.creationTimestamp).toLocaleDateString():"-"}),(null===(F=me.status)||void 0===F?void 0:F.reviewedBy)&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Reviewed By"}),(0,n.jsxs)(g.A,{variant:"body1",className:U.value,children:[me.status.reviewedBy.replace(/^user:default\//,""),me.status.reviewedAt&&(0,n.jsxs)(g.A,{variant:"caption",color:"textSecondary",children:[" ","on"," ",new Date(me.status.reviewedAt).toLocaleDateString()]})]})]})]})})}),(0,n.jsxs)(b.A,{item:!0,xs:12,md:6,children:[(0,n.jsx)(x.n,{title:"Use Case",children:(0,n.jsx)(g.A,{variant:"body1",children:me.spec.useCase||"No use case provided"})}),"Approved"===ve&&(0,n.jsx)(v.A,{mt:2,children:(0,n.jsx)(x.n,{title:"API Key",children:le&&!ne?(0,n.jsx)(y.Ay,{title:"This API key has already been viewed and cannot be retrieved again",children:(0,n.jsxs)(v.A,{display:"flex",alignItems:"center",children:[(0,n.jsx)(g.A,{variant:"body2",color:"textSecondary",children:"Already viewed - cannot be retrieved again"}),(0,n.jsx)(z.A,{fontSize:"small",color:"disabled",style:{marginLeft:8}})]})}):(0,n.jsxs)(v.A,{className:U.apiKeyContainer,children:[(0,n.jsx)(g.A,{variant:"body2",style:{fontFamily:"monospace",flex:1},children:ie?"Loading...":ae&&ne?ne:"•".repeat(32)}),ae&&ne&&(0,n.jsx)(y.Ay,{title:"Copy to clipboard",children:(0,n.jsx)(f.A,{size:"small",onClick:()=>Ae(ne),children:(0,n.jsx)(R.A,{fontSize:"small"})})}),(0,n.jsx)(y.Ay,{title:ae?"Hide API key":"Reveal API key (one-time only)",children:(0,n.jsx)("span",{children:(0,n.jsx)(f.A,{size:"small",onClick:()=>{ae?(te(!1),re(null)):le||de(!0)},disabled:ie||le&&!ne,children:ae?(0,n.jsx)(z.A,{fontSize:"small"}):(0,n.jsx)(B.A,{fontSize:"small"})})})})]})})})]}),"Approved"===ve&&(0,n.jsx)(b.A,{item:!0,xs:12,children:(0,n.jsx)(x.n,{title:"Code Examples",children:(0,n.jsxs)(v.A,{children:[(0,n.jsx)(C.A,{value:Z,onChange:(e,a)=>ee(a),indicatorColor:"primary",textColor:"primary",children:ge.map(e=>(0,n.jsx)(w.A,{label:e.label},e.label))}),(0,n.jsx)(v.A,{className:U.tabPanel,children:(0,n.jsx)(K,{code:ge[Z].code,onCopy:()=>Ae(ge[Z].code)})})]})})}),(null===(V=me.status)||void 0===V?void 0:V.limits)&&(0,n.jsx)(b.A,{item:!0,xs:12,children:(0,n.jsx)(x.n,{title:"Rate Limits",children:(0,n.jsxs)(b.A,{container:!0,spacing:2,children:[me.status.limits.daily&&(0,n.jsxs)(b.A,{item:!0,children:[(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Daily"}),(0,n.jsx)(g.A,{variant:"h6",children:me.status.limits.daily.toLocaleString()})]}),me.status.limits.weekly&&(0,n.jsxs)(b.A,{item:!0,children:[(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Weekly"}),(0,n.jsx)(g.A,{variant:"h6",children:me.status.limits.weekly.toLocaleString()})]}),me.status.limits.monthly&&(0,n.jsxs)(b.A,{item:!0,children:[(0,n.jsx)(g.A,{variant:"caption",className:U.label,children:"Monthly"}),(0,n.jsx)(g.A,{variant:"h6",children:me.status.limits.monthly.toLocaleString()})]})]})})})]})]}),(0,n.jsxs)(P.A,{open:ce,onClose:()=>de(!1),maxWidth:"sm",children:[(0,n.jsx)(S.A,{children:(0,n.jsxs)(v.A,{display:"flex",alignItems:"center",children:[(0,n.jsx)(T.A,{color:"primary",style:{marginRight:8}}),"View API Key"]})}),(0,n.jsxs)(N.A,{children:[(0,n.jsxs)(g.A,{variant:"body1",paragraph:!0,children:["This API key can only be viewed ",(0,n.jsx)("strong",{children:"once"}),". After you reveal it, you will not be able to retrieve it again."]}),(0,n.jsx)(g.A,{variant:"body2",color:"textSecondary",children:"Make sure to copy and store it securely before closing this view."})]}),(0,n.jsxs)(I.A,{children:[(0,n.jsx)(j.A,{onClick:()=>de(!1),children:"Cancel"}),(0,n.jsx)(j.A,{variant:"contained",color:"primary",onClick:()=>{de(!1),(async()=>{se(!0);try{const e=await J.fetch(`${X}/api/kuadrant/apikeys/${O}/${G}/secret`);if(e.ok){const a=await e.json();re(a.apiKey),oe(!0),te(!0)}else 403===e.status&&(oe(!0),Q.post({message:"This API key has already been viewed and cannot be retrieved again.",severity:"warning",display:"transient"}))}catch(e){console.error("Failed to fetch API key:",e),Q.post({message:"Failed to fetch API key",severity:"error",display:"transient"})}finally{se(!1)}})()},children:"Reveal API Key"})]})]})]})}},77225:(e,a,t)=>{var n=t(4293),r=t(78920);a.A=void 0;var i=r(t(95478)),s=(0,n(t(74044)).default)(i.createElement("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");a.A=s},85121:(e,a,t)=>{var n=t(4293),r=t(78920);a.A=void 0;var i=r(t(95478)),s=(0,n(t(74044)).default)(i.createElement("path",{d:"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"}),"Email");a.A=s},96040:(e,a,t)=>{t.d(a,{n:()=>B});var n=t(31085),r=t(40703),i=t(59469),s=t(48653),l=t(45685),o=t(37197),c=t(37976),d=t(53373),h=t.n(d),p=t(10394),u=t(72501),m=t(52235),x=t(37725);const A=(0,c.makeStyles)(e=>({root:{maxWidth:"fit-content",padding:e.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:e.palette.textSubtle},arrow:{color:e.palette.textSubtle}}),{name:"BackstageBottomLink"});function v(e){const{link:a,title:t,onClick:r}=e,i=A();return(0,n.jsxs)(p.A,{children:[(0,n.jsx)(o.A,{}),(0,n.jsx)(x.N_,{to:a,onClick:r,underline:"none",children:(0,n.jsxs)(p.A,{display:"flex",alignItems:"center",className:i.root,children:[(0,n.jsx)(p.A,{className:i.boxTitle,fontWeight:"fontWeightBold",m:1,children:(0,n.jsx)(u.A,{children:(0,n.jsx)("strong",{children:t})})}),(0,n.jsx)(m.A,{className:i.arrow})]})})]})}var y=t(95478),f=t(64947);const j=(0,y.forwardRef)((e,a)=>(0,n.jsx)(x.N_,{ref:a,...e,color:"initial"})),g=(0,y.forwardRef)((e,a)=>(0,n.jsx)(f.A,{ref:a,component:j,...e}));var b=t(34169),k=t(16098),C=t(67550);const w=e=>{const{slackChannel:a}=e,{t}=(0,C.i)(k.O);return a?"string"==typeof a?(0,n.jsx)(u.A,{children:t("errorBoundary.title",{slackChannel:a})}):a.href?(0,n.jsx)(g,{to:a.href,variant:"contained",children:a.name}):(0,n.jsx)(u.A,{children:t("errorBoundary.title",{slackChannel:a.name})}):null},P=class extends y.Component{constructor(e){super(e),this.state={error:void 0,errorInfo:void 0}}componentDidCatch(e,a){console.error(`ErrorBoundary, error: ${e}`,{error:e,errorInfo:a}),this.setState({error:e,errorInfo:a})}render(){const{slackChannel:e,children:a}=this.props,{error:t}=this.state;return t?(0,n.jsx)(b.b,{title:"Something Went Wrong",error:t,children:(0,n.jsx)(w,{slackChannel:e})}):a}},S=(0,c.makeStyles)(e=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},contentAlignBottom:{display:"flex",alignItems:"self-end"},header:{padding:e.spacing(2,2,2,2.5)},headerTitle:{fontWeight:e.typography.fontWeightBold},headerSubheader:{paddingTop:e.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{},subheader:{display:"flex"}}),{name:"BackstageInfoCard"}),N=(0,c.withStyles)(e=>({root:{display:"inline-block",padding:e.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(i.A),I={card:{flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px",breakInside:"avoid-page","@media print":{height:"auto"}}},cardContent:{fullHeight:{flex:1},gridItem:{flex:1}}};function B(e){const{title:a,subheader:t,divider:c=!0,deepLink:d,slackChannel:p,errorBoundaryProps:u,variant:m,alignContent:x="normal",children:A,headerStyle:y,headerProps:f,icon:j,action:g,actionsClassName:b,actions:k,cardClassName:C,actionsTopRight:w,className:B,noPadding:z,titleTypographyProps:R,subheaderTypographyProps:T}=e,$=S();let L={},_={};m&&m.split(/[\s]+/g).forEach(e=>{L={...L,...I.card[e]},_={..._,...I.cardContent[e]}});const E=u||(p?{slackChannel:p}:{});return(0,n.jsx)(r.A,{style:L,className:B,children:(0,n.jsxs)(P,{...E,children:[a&&(0,n.jsx)(l.A,{classes:{root:h()($.header),title:$.headerTitle,subheader:$.headerSubheader,avatar:$.headerAvatar,action:$.headerAction,content:$.headerContent},title:a,subheader:t||j?(0,n.jsxs)("div",{"data-testid":"info-card-subheader",children:[t&&(0,n.jsx)("div",{className:$.subheader,children:t}),j]}):null,action:g,style:{...y},titleTypographyProps:R,subheaderTypographyProps:T,...f}),w&&(0,n.jsx)(N,{children:w}),c&&(0,n.jsx)(o.A,{}),(0,n.jsx)(s.A,{className:h()(C,{[$.noPadding]:z,[$.contentAlignBottom]:"bottom"===x}),style:_,children:A}),k&&(0,n.jsx)(i.A,{className:b,children:k}),d&&(0,n.jsx)(v,{...d})]})})}}}]);
2
+ //# sourceMappingURL=2967.c684efaf.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/2967.c684efaf.chunk.js","mappings":"yIAEIA,EAAyB,EAAQ,MAEjCC,EAA0B,EAAQ,OAKtCC,EAAQ,OAAU,EAElB,IAAIC,EAAQF,EAAwB,EAAQ,QAIxCG,GAAW,EAFMJ,EAAuB,EAAQ,QAElBK,SAAuBF,EAAMG,cAAc,OAAQ,CACnFC,EAAG,sNACD,cAEJL,EAAQ,EAAUE,C,wECjBH,SAASI,EAASC,EAAIC,QACpB,IAATA,IAAmBA,EAAO,IAC9B,IAAIC,ECDO,SAAoBF,EAAIC,EAAME,QAC5B,IAATF,IAAmBA,EAAO,SACT,IAAjBE,IAA2BA,EAAe,CAAEC,SAAS,IACzD,IAAIC,GAAa,IAAAC,QAAO,GACpBC,GAAY,EAAAC,EAAA,KACZN,GAAK,IAAAO,UAASN,GAAeO,EAAQR,EAAG,GAAIS,EAAMT,EAAG,GACrDU,GAAW,IAAAC,aAAY,WAEvB,IADA,IAAIC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIG,IAAWb,EAAWc,QAI1B,OAHKT,EAAMN,SACPO,EAAI,SAAUS,GAAa,OAAQ,IAAAC,WAAS,IAAAA,UAAS,CAAC,EAAGD,GAAY,CAAEhB,SAAS,GAAU,GAEvFJ,EAAGsB,WAAM,EAAQR,GAAMS,KAAK,SAAUC,GAEzC,OADAjB,KAAeW,IAAWb,EAAWc,SAAWR,EAAI,CAAEa,MAAOA,EAAOpB,SAAS,IACtEoB,CACX,EAAG,SAAUC,GAET,OADAlB,KAAeW,IAAWb,EAAWc,SAAWR,EAAI,CAAEc,MAAOA,EAAOrB,SAAS,IACtEqB,CACX,EACJ,EAAGxB,GACH,MAAO,CAACS,EAAOE,EACnB,CDvBac,CAAW1B,EAAIC,EAAM,CAC1BG,SAAS,IACTM,EAAQR,EAAG,GAAIU,EAAWV,EAAG,GAIjC,OAHA,IAAAyB,WAAU,WACNf,GACJ,EAAG,CAACA,IACGF,CACX,C,mCELO,MAAMkB,EAAsBC,IACjC,MAAMC,EAAO,CAAEC,OAAQ,QACvB,OAAQF,GACN,IAAK,WACH,MAAO,IAAKC,EAAME,gBAAiB,UAAWC,MAAO,QACvD,IAAK,WACH,MAAO,IAAKH,EAAME,gBAAiB,UAAWC,MAAO,QACvD,QACE,MAAO,IAAKH,EAAME,gBAAiB,UAAWC,MAAO,S,sBCZvD1C,EAAyB,EAAQ,MAEjCC,EAA0B,EAAQ,OAKtCC,EAAQ,OAAU,EAElB,IAAIC,EAAQF,EAAwB,EAAQ,QAIxCG,GAAW,EAFMJ,EAAuB,EAAQ,QAElBK,SAAuBF,EAAMG,cAAc,OAAQ,CACnFC,EAAG,8DACD,gBAEJL,EAAQ,EAAUE,C,sBCjBdJ,EAAyB,EAAQ,MAEjCC,EAA0B,EAAQ,OAKtCC,EAAQ,OAAU,EAElB,IAAIC,EAAQF,EAAwB,EAAQ,QAIxCG,GAAW,EAFMJ,EAAuB,EAAQ,QAElBK,SAAuBF,EAAMG,cAAc,OAAQ,CACnFC,EAAG,iEACD,aAEJL,EAAQ,EAAUE,C,sBCjBdJ,EAAyB,EAAQ,MAEjCC,EAA0B,EAAQ,OAKtCC,EAAQ,OAAU,EAElB,IAAIC,EAAQF,EAAwB,EAAQ,QAIxCG,GAAW,EAFMJ,EAAuB,EAAQ,QAElBK,SAAuBF,EAAMG,cAAc,OAAQ,CACnFC,EAAG,8fACD,iBAEJL,EAAQ,EAAUE,C,4bC0BlB,MAAMuC,GAAYC,EAAAA,EAAAA,GAAYC,IAAW,CACvCC,MAAO,CACLC,WAAY,IACZL,MAAOG,EAAMG,QAAQC,KAAKC,UAC1BC,aAAcN,EAAMO,QAAQ,KAE9BnB,MAAO,CACLkB,aAAcN,EAAMO,QAAQ,IAE9BC,UAAW,CACTZ,gBAAiBI,EAAMG,QAAQM,WAAWjD,QAC1CkD,QAASV,EAAMO,QAAQ,GACvBI,aAAcX,EAAMY,MAAMD,aAC1BE,WAAY,YACZC,SAAU,WACVC,SAAU,OACVC,WAAY,WACZC,UAAW,aAEbC,gBAAiB,CACfC,QAAS,OACTC,WAAY,SACZC,IAAKrB,EAAMO,QAAQ,GACnBG,QAASV,EAAMO,QAAQ,KACvBX,gBAAiBI,EAAMG,QAAQM,WAAWjD,QAC1CmD,aAAcX,EAAMY,MAAMD,aAC1BE,WAAY,aAEdS,SAAU,CACRC,UAAWvB,EAAMO,QAAQ,OAIvBiB,EAAc,EAClBC,OACAC,aAKA,MAAMC,EAAU7B,IAEhB,OACE,UAAC8B,EAAAA,EAAGA,CAACC,SAAS,W,WACZ,SAACD,EAAAA,EAAGA,CAACE,UAAWH,EAAQnB,U,SAAYiB,KACpC,SAACM,EAAAA,GAAOA,CAACC,MAAM,Y,UACb,SAACC,EAAAA,EAAUA,CACTC,KAAK,QACLC,MAAO,CAAEN,SAAU,WAAYO,IAAK,EAAGC,MAAO,GAC9CC,QAASZ,E,UAET,SAACa,EAAAA,EAAYA,CAACzB,SAAS,kBAOpB0B,EAAmB,K,IAqHhBC,EAEGA,EA+CcA,EAeWA,EASjCC,EA2CqCD,EAE3BA,EAmBFA,EAcFA,EA2HNA,EAtYT,MAAMd,EAAU7B,KACV,UAAE6C,EAAS,KAAEC,IAASC,EAAAA,EAAAA,aACtBC,GAASC,EAAAA,EAAAA,QAAOC,EAAAA,cAChBC,GAAWF,EAAAA,EAAAA,QAAOG,EAAAA,aAClBC,GAAWJ,EAAAA,EAAAA,QAAOK,EAAAA,aAClBC,EAAaP,EAAOQ,UAAU,oBAE7BC,EAAaC,KAAkBnF,EAAAA,EAAAA,UAAS,IACxCoF,GAAYC,KAAiBrF,EAAAA,EAAAA,WAAS,IACtCsF,GAAaC,KAAkBvF,EAAAA,EAAAA,UAAwB,OACvDwF,GAAeC,KAAoBzF,EAAAA,EAAAA,WAAS,IAC5C0F,GAAaC,KAAkB3F,EAAAA,EAAAA,WAAS,IACxC4F,GAAaC,KAAkB7F,EAAAA,EAAAA,WAAS,IAG7Ce,MAAO+E,GAAI,QACXnG,GAAO,MACPqB,KACE1B,EAAAA,EAAAA,GAASyG,U,IAYPC,EAXJ,MAAOC,EAAgBC,SAA0BC,QAAQC,IAAI,CAC3DxB,EAASyB,MAAM,GAAGrB,0BAAmCV,KAAaC,KAClEK,EAASyB,MAAM,GAAGrB,gCAGpB,IAAKiB,EAAeK,GAClB,MAAM,IAAIC,MAAM,2BAElB,MAAMP,QAAmBC,EAAeO,OAQxC,IAAInC,EAUJ,OAfyC,KAApB,QAAjB2B,EAAAA,EAAWS,cAAXT,IAAAA,OAAAA,EAAAA,EAAmBU,gBACrBf,IAAe,GAKbO,EAAiBI,KAEnBjC,UAD2B6B,EAAiBM,QACjBG,OAAS,IAAIC,KACrCC,I,IACqBb,E,OAApBa,EAAEC,SAASvC,QAAsC,QAA7ByB,EAAAA,EAAWe,KAAKC,qBAAhBhB,IAAAA,OAAAA,EAAAA,EAA+BzB,OACnDsC,EAAEC,SAASxC,YAAc0B,EAAWc,SAASxC,aAI5C,CAAEF,OAAQ4B,EAAsB3B,eACtC,CAACC,EAAWC,EAAMS,EAAYJ,IAE3BR,GAAS0B,cAAAA,EAAAA,GAAM1B,OACfC,GAAayB,cAAAA,EAAAA,GAAMzB,WAgDnB4C,GAAalB,MAAOhE,UAClBmF,UAAUC,UAAUC,UAAUrF,GACpC+C,EAASuC,KAAK,CACZC,QAAS,sBACTC,SAAU,UACVzE,QAAS,eAIb,GAAInD,GACF,OAAO,SAAC6H,EAAAA,EAAQA,CAAAA,GAGlB,GAAIxG,KAAUoD,GACZ,OACE,SAACqD,EAAAA,EAAkBA,CAACzG,MAAOA,IAAS,IAAIuF,MAAM,uBAIlD,MAAMnF,IAAqB,QAAbgD,EAAAA,GAAOqC,cAAPrC,IAAAA,OAAAA,EAAAA,EAAehD,QAAS,UAChCsG,GAAwB,aAAVtG,GAAuB,SAAWA,GAChDuG,IAAwB,QAAbvD,EAAAA,GAAOqC,cAAPrC,IAAAA,OAAAA,EAAAA,EAAewD,cAAe,kBACzCC,GAAgBvC,IAAe,iBAmC/BwC,GAAe,CACnB,CAAElG,MAAO,OAAQwB,KAjCC,kCAAkCyE,qBAC5CF,OAiCR,CAAE/F,MAAO,UAAWwB,KA/BF,yCAAyCuE,uDAEhCE,sDA8B3B,CAAEjG,MAAO,SAAUwB,KAzBC,6DAGTuE,gDACyBE,mCAsBpC,CAAEjG,MAAO,KAAMwB,KAlBC,6IAQ4BuE,2DACFE,wEAY5C,OACE,UAACE,EAAAA,EAAIA,CAACC,QAAQ,O,WACZ,SAACC,EAAAA,EAAMA,CACLtE,MAAOS,GAAO0C,SAASvC,KACvB2D,SAAU,gBAAwC,QAAzB9D,EAAAA,GAAO2C,KAAKC,qBAAZ5C,IAAAA,OAAAA,EAAAA,EAA2BG,OAAQ,Y,UAE5D,SAAC4D,EAAAA,GAAIA,CAACC,GAAG,qB,UACP,SAACC,EAAAA,EAAMA,CAACC,WAAW,SAACC,EAAAA,EAAaA,CAAAA,G,SAAK,0BAG1C,UAACC,EAAAA,EAAOA,C,WACN,SAACjF,EAAAA,EAAGA,CAACkF,GAAI,E,UACP,UAACC,EAAAA,EAAWA,CAACC,aAAW,a,WACtB,SAACR,EAAAA,GAAIA,CAACC,GAAG,qB,SAAqB,cAC9B,SAACQ,EAAAA,EAAUA,C,SAAExE,GAAO0C,SAASvC,aAIjC,UAAChB,EAAAA,EAAGA,CAACkF,GAAI,EAAG3F,QAAQ,OAAOgB,MAAO,CAAEd,IAAK,G,WACvC,SAACmF,EAAAA,GAAIA,CAACC,GAAI,wBAAiD,QAAzBhE,EAAAA,GAAO2C,KAAKC,qBAAZ5C,IAAAA,OAAAA,EAAAA,EAA2BG,O,UAC3D,SAAC8D,EAAAA,EAAMA,CACLQ,QAAQ,WACRP,WAAW,SAACQ,EAAAA,EAAaA,CAAAA,GACzBC,cAAY,kB,SACb,gBAIF1E,UAAgB,QAAhBA,EAAAA,GAAY0C,YAAZ1C,IAAAA,OAAAA,EAAAA,EAAkB2E,WAChB3E,GAAW0C,KAAKiC,QAAQC,OACvB5E,GAAW0C,KAAKiC,QAAQE,KACxB7E,GAAW0C,KAAKiC,QAAQG,SACxB,SAACd,EAAAA,EAAMA,CACLQ,QAAQ,WACRP,WAAW,SAACc,EAAAA,EAASA,CAAAA,GACrBC,KACEhF,GAAW0C,KAAKiC,QAAQC,MACpB,UAAU5E,GAAW0C,KAAKiC,QAAQC,QAClC5E,GAAW0C,KAAKiC,QAAQG,MACtB9E,GAAW0C,KAAKiC,QAAQG,MACxB9E,GAAW0C,KAAKiC,QAAQE,KAAO,IAEvCI,OAAO,SACPC,IAAI,sB,SACL,sBAMP,UAACC,EAAAA,EAAIA,CAACC,WAAS,EAACvH,QAAS,E,WACvB,SAACsH,EAAAA,EAAIA,CAACE,MAAI,EAACC,GAAI,GAAIC,GAAI,E,UACrB,SAACC,EAAAA,EAAQA,CAAClG,MAAM,kB,UACd,UAACJ,EAAAA,EAAGA,C,WACF,SAACqF,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,YAGxD,SAAC2B,EAAAA,EAAGA,CAACE,UAAWH,EAAQvC,M,UACtB,SAAC+I,EAAAA,EAAIA,CACHlI,MAAO8F,GACP7D,KAAK,QACLC,OAAO3C,EAAAA,EAAAA,GAAmBC,IAC1B2H,cAAY,2BAIhB,SAACH,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,iBAGxD,SAACgH,EAAAA,EAAUA,CAACC,QAAQ,QAAQpF,UAAWH,EAAQvC,M,UAC7C,SAACoH,EAAAA,GAAIA,CACHC,GAAI,wBAAiD,QAAzBhE,EAAAA,GAAO2C,KAAKC,qBAAZ5C,IAAAA,OAAAA,EAAAA,EAA2BG,gB,UAE7B,QAAzBH,EAAAA,GAAO2C,KAAKC,qBAAZ5C,IAAAA,OAAAA,EAAAA,EAA2BG,OAAQ,eAIxC,SAACqE,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,UAGxD,SAAC2B,EAAAA,EAAGA,CAACE,UAAWH,EAAQvC,M,UACtB,SAAC+I,EAAAA,EAAIA,CACHlI,MAAOwC,GAAO2C,KAAKgD,SACnBlG,KAAK,QACLgF,QAAQ,gBAIZ,SAACD,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,eAGxD,SAACgH,EAAAA,EAAUA,CAACC,QAAQ,QAAQpF,UAAWH,EAAQvC,M,SACrB,QAAvBqD,EAAAA,GAAO2C,KAAKiD,mBAAZ5F,IAAAA,OAAAA,EAAAA,EAAyB6F,UAG5B,SAACrB,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,eAGxD,SAACgH,EAAAA,EAAUA,CAACC,QAAQ,QAAQpF,UAAWH,EAAQvC,M,SAC5CqD,GAAO0C,SAASoD,kBACb,IAAIC,KACF/F,GAAO0C,SAASoD,mBAChBE,qBACF,OAGQ,QAAbhG,EAAAA,GAAOqC,cAAPrC,IAAAA,OAAAA,EAAAA,EAAeiG,cACd,sB,WACE,SAACzB,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,iBAGxD,UAACgH,EAAAA,EAAUA,CAACC,QAAQ,QAAQpF,UAAWH,EAAQvC,M,UAC5CqD,GAAOqC,OAAO4D,WAAWC,QAAQ,kBAAmB,IACpDlG,GAAOqC,OAAO8D,aACb,UAAC3B,EAAAA,EAAUA,CAACC,QAAQ,UAAUrH,MAAM,gB,UACjC,IAAI,KACF,IACF,IAAI2I,KACH/F,GAAOqC,OAAO8D,YACdH,sCAUlB,UAACZ,EAAAA,EAAIA,CAACE,MAAI,EAACC,GAAI,GAAIC,GAAI,E,WACrB,SAACC,EAAAA,EAAQA,CAAClG,MAAM,W,UACd,SAACiF,EAAAA,EAAUA,CAACC,QAAQ,Q,SACjBzE,GAAO2C,KAAKyD,SAAW,2BAIjB,aAAVpJ,KACC,SAACmC,EAAAA,EAAGA,CAACkH,GAAI,E,UACP,SAACZ,EAAAA,EAAQA,CAAClG,MAAM,U,SACb+B,KAAgBJ,IACf,SAAC5B,EAAAA,GAAOA,CAACC,MAAM,qE,UACb,UAACJ,EAAAA,EAAGA,CAACT,QAAQ,OAAOC,WAAW,S,WAC7B,SAAC6F,EAAAA,EAAUA,CAACC,QAAQ,QAAQrH,MAAM,gB,SAAgB,gDAGlD,SAACkJ,EAAAA,EAAiBA,CAChBjI,SAAS,QACTjB,MAAM,WACNsC,MAAO,CAAE6G,WAAY,WAK3B,UAACpH,EAAAA,EAAGA,CAACE,UAAWH,EAAQT,gB,WACtB,SAAC+F,EAAAA,EAAUA,CACTC,QAAQ,QACR/E,MAAO,CAAEtB,WAAY,YAAaoI,KAAM,G,SAEvCpF,GACG,aACAJ,IAAcE,GACZA,GACA,IAAIuF,OAAO,MAElBzF,IAAcE,KACb,SAAC5B,EAAAA,GAAOA,CAACC,MAAM,oB,UACb,SAACC,EAAAA,EAAUA,CACTC,KAAK,QACLI,QAAS,IAAMgD,GAAW3B,I,UAE1B,SAACpB,EAAAA,EAAYA,CAACzB,SAAS,eAI7B,SAACiB,EAAAA,GAAOA,CACNC,MACEyB,GACI,eACA,iC,UAGN,SAAC0F,OAAAA,C,UACC,SAAClH,EAAAA,EAAUA,CACTC,KAAK,QACLI,QAtQA,KACpBmB,IACFC,IAAc,GACdE,GAAe,OACLG,IACVG,IAAe,IAkQOkF,SACEvF,IAAkBE,KAAgBJ,G,SAGnCF,IACC,SAACsF,EAAAA,EAAiBA,CAACjI,SAAS,WAE5B,SAACuI,EAAAA,EAAcA,CAACvI,SAAS,0BAYlC,aAAVrB,KACC,SAACoI,EAAAA,EAAIA,CAACE,MAAI,EAACC,GAAI,G,UACb,SAACE,EAAAA,EAAQA,CAAClG,MAAM,gB,UACd,UAACJ,EAAAA,EAAGA,C,WACF,SAAC0H,EAAAA,EAAIA,CACHlK,MAAOmE,EACPgG,SAAU,CAACC,EAAGC,IAAajG,GAAeiG,GAC1CC,eAAe,UACfC,UAAU,U,SAETxD,GAAayD,IAAKC,IACjB,SAACC,EAAAA,EAAGA,CAAgB7J,MAAO4J,EAAG5J,OAApB4J,EAAG5J,WAGjB,SAAC2B,EAAAA,EAAGA,CAACE,UAAWH,EAAQL,S,UACtB,SAACE,EAAAA,CACCC,KAAM0E,GAAa5C,GAAa9B,KAChCC,OAAQ,IAAM4D,GAAWa,GAAa5C,GAAa9B,kBAQjD,QAAbgB,EAAAA,GAAOqC,cAAPrC,IAAAA,OAAAA,EAAAA,EAAesH,UACd,SAAClC,EAAAA,EAAIA,CAACE,MAAI,EAACC,GAAI,G,UACb,SAACE,EAAAA,EAAQA,CAAClG,MAAM,c,UACd,UAAC6F,EAAAA,EAAIA,CAACC,WAAS,EAACvH,QAAS,E,UACtBkC,GAAOqC,OAAOiF,OAAOC,QACpB,UAACnC,EAAAA,EAAIA,CAACE,MAAI,E,WACR,SAACd,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,WAGxD,SAACgH,EAAAA,EAAUA,CAACC,QAAQ,K,SACjBzE,GAAOqC,OAAOiF,OAAOC,MAAMC,sBAIjCxH,GAAOqC,OAAOiF,OAAOG,SACpB,UAACrC,EAAAA,EAAIA,CAACE,MAAI,E,WACR,SAACd,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,YAGxD,SAACgH,EAAAA,EAAUA,CAACC,QAAQ,K,SACjBzE,GAAOqC,OAAOiF,OAAOG,OAAOD,sBAIlCxH,GAAOqC,OAAOiF,OAAOI,UACpB,UAACtC,EAAAA,EAAIA,CAACE,MAAI,E,WACR,SAACd,EAAAA,EAAUA,CAACC,QAAQ,UAAUpF,UAAWH,EAAQ1B,M,SAAO,aAGxD,SAACgH,EAAAA,EAAUA,CAACC,QAAQ,K,SACjBzE,GAAOqC,OAAOiF,OAAOI,QAAQF,oCAWhD,UAACG,EAAAA,EAAMA,CACLC,KAAMpG,GACNqG,QAAS,IAAMpG,IAAe,GAC9BqG,SAAS,K,WAET,SAACC,EAAAA,EAAWA,C,UACV,UAAC5I,EAAAA,EAAGA,CAACT,QAAQ,OAAOC,WAAW,S,WAC7B,SAACqJ,EAAAA,EAAWA,CAAC5K,MAAM,UAAUsC,MAAO,CAAEuI,YAAa,KAAO,qBAI9D,UAACC,EAAAA,EAAaA,C,WACZ,UAAC1D,EAAAA,EAAUA,CAACC,QAAQ,QAAQ0D,WAAS,E,UAAC,oCACJ,SAACC,SAAAA,C,SAAO,SAAa,wEAGvD,SAAC5D,EAAAA,EAAUA,CAACC,QAAQ,QAAQrH,MAAM,gB,SAAgB,0EAIpD,UAACiL,EAAAA,EAAaA,C,WACZ,SAACpE,EAAAA,EAAMA,CAACpE,QAAS,IAAM4B,IAAe,G,SAAQ,YAC9C,SAACwC,EAAAA,EAAMA,CACLQ,QAAQ,YACRrH,MAAM,UACNyC,QA5WkB,KAC1B4B,IAAe,GA1CSE,WACxBN,IAAiB,GACjB,IACE,MAAMiH,QAAiB9H,EAASyB,MAC9B,GAAGrB,0BAAmCV,KAAaC,YAErD,GAAImI,EAASpG,GAAI,CACf,MAAMR,QAAa4G,EAASlG,OAC5BjB,GAAeO,EAAK1B,QACpBuB,IAAe,GACfN,IAAc,EAChB,MAA+B,MAApBqH,EAASjG,SAClBd,IAAe,GACfb,EAASuC,KAAK,CACZC,QACE,sEACFC,SAAU,UACVzE,QAAS,cAGf,CAAE,MAAO6J,GACPC,QAAQ5L,MAAM,2BAA4B2L,GAC1C7H,EAASuC,KAAK,CACZC,QAAS,0BACTC,SAAU,QACVzE,QAAS,aAEb,CAAE,QACA2C,IAAiB,EACnB,GAcAoH,I,SA2WO,4B,sBC/iBP/N,EAAyB,EAAQ,MAEjCC,EAA0B,EAAQ,OAKtCC,EAAQ,OAAU,EAElB,IAAIC,EAAQF,EAAwB,EAAQ,QAIxCG,GAAW,EAFMJ,EAAuB,EAAQ,QAElBK,SAAuBF,EAAMG,cAAc,OAAQ,CACnFC,EAAG,uDACD,WAEJL,EAAQ,EAAUE,C,sBCjBdJ,EAAyB,EAAQ,MAEjCC,EAA0B,EAAQ,OAKtCC,EAAQ,OAAU,EAElB,IAAIC,EAAQF,EAAwB,EAAQ,QAIxCG,GAAW,EAFMJ,EAAuB,EAAQ,QAElBK,SAAuBF,EAAMG,cAAc,OAAQ,CACnFC,EAAG,kHACD,SAEJL,EAAQ,EAAUE,C,oLCXlB,MAAMuC,GAAY,IAAAC,YACfC,IAAU,CACTmL,KAAM,CACJZ,SAAU,cACV7J,QAASV,EAAMO,QAAQ,EAAG,EAAG,EAAG,MAElC6K,SAAU,CACRC,OAAQ,EACRxL,MAAOG,EAAMG,QAAQmL,YAEvBC,MAAO,CACL1L,MAAOG,EAAMG,QAAQmL,cAGzB,CAAE1I,KAAM,wBAEV,SAAS4I,EAAWC,GAClB,MAAM,KAAEC,EAAI,MAAE1J,EAAK,QAAEM,GAAYmJ,EAC3B9J,EAAU7B,IAChB,OAAuB,IAAA6L,MAAK/J,EAAA,EAAK,CAAEgK,SAAU,EAC3B,IAAAC,KAAIC,EAAA,EAAS,CAAC,IACd,IAAAD,KAAI,KAAM,CAAEpF,GAAIiF,EAAMpJ,UAASyJ,UAAW,OAAQH,UAA0B,IAAAD,MAAK/J,EAAA,EAAK,CAAET,QAAS,OAAQC,WAAY,SAAUU,UAAWH,EAAQwJ,KAAMS,SAAU,EAChK,IAAAC,KAAIjK,EAAA,EAAK,CAAEE,UAAWH,EAAQyJ,SAAUlL,WAAY,iBAAkB8L,EAAG,EAAGJ,UAA0B,IAAAC,KAAI5E,EAAA,EAAY,CAAE2E,UAA0B,IAAAC,KAAI,SAAU,CAAED,SAAU5J,SAC5K,IAAA6J,KAAI,EAAAI,EAAW,CAAEnK,UAAWH,EAAQ4J,eAG1D,C,0BC7BA,MAAMW,GAAc,IAAAC,YAAW,CAACV,EAAOW,KAAwB,IAAAP,KAAI,KAAM,CAAEO,SAAQX,EAAO5L,MAAO,aAC3FwM,GAAa,IAAAF,YAAW,CAACV,EAAOW,KAAwB,IAAAP,KAAInF,EAAA,EAAU,CAAE0F,MAAKE,UAAWJ,KAAgBT,K,qCCE9G,MAAMc,EAAad,IACjB,MAAM,aAAEe,GAAiBf,GACnB,IAAQ,OAAkB,KAChC,OAAKe,EAE8B,iBAAjBA,GACO,IAAAX,KAAI5E,EAAA,EAAY,CAAE2E,SAAUa,EAAE,sBAAuB,CAAED,mBACpEA,EAAa9E,MAKF,IAAAmE,KAAIQ,EAAY,CAAE5F,GAAI+F,EAAa9E,KAAMR,QAAS,YAAa0E,SAAUY,EAAa5J,QAJpF,IAAAiJ,KAAI5E,EAAA,EAAY,CAAE2E,SAAUa,EAAE,sBAAuB,CAC1ED,aAAcA,EAAa5J,SALtB,MAUL8J,EAAgB,cAA6B,EAAAC,UACjD,WAAAC,CAAYnB,GACVoB,MAAMpB,GACNqB,KAAKxO,MAAQ,CACXe,WAAO,EACP0N,eAAW,EAEf,CACA,iBAAAC,CAAkB3N,EAAO0N,GACvB9B,QAAQ5L,MAAM,yBAAyBA,IAAS,CAAEA,QAAO0N,cACzDD,KAAKG,SAAS,CAAE5N,QAAO0N,aACzB,CACA,MAAAG,GACE,MAAM,aAAEV,EAAY,SAAEZ,GAAakB,KAAKrB,OAClC,MAAEpM,GAAUyN,KAAKxO,MACvB,OAAKe,GAGkB,IAAAwM,KAAI,IAAY,CAAE7J,MAAO,uBAAwB3C,QAAOuM,UAA0B,IAAAC,KAAIU,EAAW,CAAEC,mBAFjHZ,CAGX,GC9BI,GAAY,IAAA7L,YACfC,IAAU,CACTmN,UAAW,CACTzM,QAAS,EACT,eAAgB,CACd0M,cAAe,IAGnBC,mBAAoB,CAClBlM,QAAS,OACTC,WAAY,YAEdkM,OAAQ,CACN5M,QAASV,EAAMO,QAAQ,EAAG,EAAG,EAAG,MAElCgN,YAAa,CACXrN,WAAYF,EAAMwN,WAAWC,gBAE/BC,gBAAiB,CACfC,WAAY3N,EAAMO,QAAQ,IAE5BqN,aAAc,CAAC,EACfC,aAAc,CAAC,EACfC,cAAe,CAAC,EAChBC,UAAW,CACT5M,QAAS,UAGb,CAAEyB,KAAM,sBAEJoL,GAAsB,IAAAC,YACzBjO,IAAU,CACTmL,KAAM,CACJhK,QAAS,eACTT,QAASV,EAAMO,QAAQ,EAAG,EAAG,EAAG,GAChC2N,MAAO,WAGX,CAAEtL,KAAM,wCARkB,CAS1BuL,EAAA,GACIC,EAAiB,CACrBC,KAAM,CACJpF,KAAM,CACJ9H,QAAS,OACTmN,cAAe,UAEjBC,WAAY,CACVpN,QAAS,OACTmN,cAAe,SACfE,OAAQ,QAEVC,SAAU,CACRtN,QAAS,OACTmN,cAAe,SACfE,OAAQ,oBAERlO,aAAc,OACdoO,YAAa,aACb,eAAgB,CACdF,OAAQ,UAIdG,YAAa,CACXJ,WAAY,CACVtF,KAAM,GAERwF,SAAU,CACRxF,KAAM,KAIZ,SAASf,EAASuD,GAChB,MAAM,MACJzJ,EAAK,UACL+L,EAAS,QACTa,GAAU,EAAI,SACdC,EAAQ,aACRrC,EAAY,mBACZsC,EAAkB,QAClB5H,EAAO,aACP6H,EAAe,SAAQ,SACvBnD,EAAQ,YACRoD,EAAW,YACXC,EAAW,KACXC,EAAI,OACJC,EAAM,iBACNC,EAAgB,QAChBC,EAAO,cACPC,EAAa,gBACbC,EAAe,UACfzN,EAAS,UACTqL,EAAS,qBACTqC,EAAoB,yBACpBC,GACEhE,EACE9J,EAAU,IAChB,IAAI+N,EAAkB,CAAC,EACnBC,EAAsB,CAAC,EACvBzI,GACeA,EAAQ0I,MAAM,UACtBC,QAASjN,IAChB8M,EAAkB,IACbA,KACAtB,EAAeC,KAAKzL,IAEzB+M,EAAsB,IACjBA,KACAvB,EAAeO,YAAY/L,MAIpC,MASMkN,EAAWhB,IAAuBtC,EAAe,CAAEA,gBAAiB,CAAC,GAC3E,OAAuB,IAAAX,KAAIkE,EAAA,EAAM,CAAE5N,MAAOuN,EAAiB5N,YAAW8J,UAA0B,IAAAD,MAAKe,EAAe,IAAKoD,EAAUlE,SAAU,CAC3I5J,IAAyB,IAAA6J,KACvBmE,EAAA,EACA,CACErO,QAAS,CACPwJ,KAAM,IAAWxJ,EAAQ2L,QACzBtL,MAAOL,EAAQ4L,YACfQ,UAAWpM,EAAQ+L,gBACnBuC,OAAQtO,EAAQiM,aAChBuB,OAAQxN,EAAQkM,aAChBqC,QAASvO,EAAQmM,eAEnB9L,QACA+L,UAtBCA,GAAcmB,GAGI,IAAAvD,MAAK,MAAO,CAAE,cAAe,sBAAuBC,SAAU,CACnFmC,IAA6B,IAAAlC,KAAI,MAAO,CAAE/J,UAAWH,EAAQoM,UAAWnC,SAAUmC,IAClFmB,KAJO,KAsBLC,SACAhN,MAAO,IAAK6M,GACZQ,uBACAC,8BACGR,IAGPM,IAAmC,IAAA1D,KAAImC,EAAqB,CAAEpC,SAAU2D,IACxEX,IAA2B,IAAA/C,KAAIC,EAAA,EAAS,CAAC,IACzB,IAAAD,KACdsE,EAAA,EACA,CACErO,UAAW,IAAWwN,EAAe,CACnC,CAAC3N,EAAQwL,WAAYA,EACrB,CAACxL,EAAQ0L,oBAAsC,WAAjB0B,IAEhC5M,MAAOwN,EACP/D,aAGJyD,IAA2B,IAAAxD,KAAIsC,EAAA,EAAa,CAAErM,UAAWsN,EAAkBxD,SAAUyD,IACrFR,IAA4B,IAAAhD,KAAIL,EAAY,IAAKqD,QAErD,C","sources":["webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/icons/Visibility.js","webpack://internal.plugin-kuadrant/../../node_modules/react-use/esm/useAsync.js","webpack://internal.plugin-kuadrant/../../node_modules/react-use/esm/useAsyncFn.js","webpack://internal.plugin-kuadrant/./src/utils/styles.ts","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/icons/ArrowForward.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/icons/ArrowBack.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/icons/VisibilityOff.js","webpack://internal.plugin-kuadrant/./src/components/ApiKeyDetailPage/ApiKeyDetailPage.tsx","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/icons/Warning.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/icons/Email.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/core-components/dist/layout/BottomLink/BottomLink.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/core-components/dist/components/LinkButton/LinkButton.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/core-components/dist/layout/ErrorBoundary/ErrorBoundary.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/core-components/dist/layout/InfoCard/InfoCard.esm.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'Visibility');\n\nexports.default = _default;","import { useEffect } from 'react';\nimport useAsyncFn from './useAsyncFn';\nexport default function useAsync(fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useAsyncFn(fn, deps, {\n loading: true,\n }), state = _a[0], callback = _a[1];\n useEffect(function () {\n callback();\n }, [callback]);\n return state;\n}\n","import { __assign } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useMountedState from './useMountedState';\nexport default function useAsyncFn(fn, deps, initialState) {\n if (deps === void 0) { deps = []; }\n if (initialState === void 0) { initialState = { loading: false }; }\n var lastCallId = useRef(0);\n var isMounted = useMountedState();\n var _a = useState(initialState), state = _a[0], set = _a[1];\n var callback = useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callId = ++lastCallId.current;\n if (!state.loading) {\n set(function (prevState) { return (__assign(__assign({}, prevState), { loading: true })); });\n }\n return fn.apply(void 0, args).then(function (value) {\n isMounted() && callId === lastCallId.current && set({ value: value, loading: false });\n return value;\n }, function (error) {\n isMounted() && callId === lastCallId.current && set({ error: error, loading: false });\n return error;\n });\n }, deps);\n return [state, callback];\n}\n","import { CSSProperties } from \"react\";\n\n/**\n * Returns inline styles for API key status chips.\n * Uses inline styles to ensure proper specificity with Material-UI Chip.\n */\nexport const getStatusChipStyle = (phase: string): CSSProperties => {\n const base = { border: \"none\" };\n switch (phase) {\n case \"Approved\":\n return { ...base, backgroundColor: \"#4caf50\", color: \"#fff\" };\n case \"Rejected\":\n return { ...base, backgroundColor: \"#f44336\", color: \"#fff\" };\n default:\n return { ...base, backgroundColor: \"#ff9800\", color: \"#fff\" };\n }\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\"\n}), 'ArrowForward');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\"\n}), 'ArrowBack');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\n\nexports.default = _default;","import React, { useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport {\n useApi,\n configApiRef,\n fetchApiRef,\n alertApiRef,\n} from \"@backstage/core-plugin-api\";\nimport { useAsync } from \"react-use\";\nimport {\n Header,\n Page,\n Content,\n Progress,\n ResponseErrorPanel,\n InfoCard,\n Link,\n Breadcrumbs,\n} from \"@backstage/core-components\";\nimport {\n Box,\n Grid,\n Typography,\n Chip,\n IconButton,\n Tooltip,\n Tabs,\n Tab,\n Button,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n makeStyles,\n} from \"@material-ui/core\";\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\nimport VisibilityOffIcon from \"@material-ui/icons/VisibilityOff\";\nimport FileCopyIcon from \"@material-ui/icons/FileCopy\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport ArrowBackIcon from \"@material-ui/icons/ArrowBack\";\nimport OpenInNewIcon from \"@material-ui/icons/OpenInNew\";\nimport EmailIcon from \"@material-ui/icons/Email\";\nimport { APIKey, APIProduct } from \"../../types/api-management\";\nimport { getStatusChipStyle } from \"../../utils/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n label: {\n fontWeight: 600,\n color: theme.palette.text.secondary,\n marginBottom: theme.spacing(0.5),\n },\n value: {\n marginBottom: theme.spacing(2),\n },\n codeBlock: {\n backgroundColor: theme.palette.background.default,\n padding: theme.spacing(2),\n borderRadius: theme.shape.borderRadius,\n fontFamily: \"monospace\",\n fontSize: \"0.875rem\",\n overflow: \"auto\",\n whiteSpace: \"pre-wrap\",\n wordBreak: \"break-all\",\n },\n apiKeyContainer: {\n display: \"flex\",\n alignItems: \"center\",\n gap: theme.spacing(1),\n padding: theme.spacing(1.5),\n backgroundColor: theme.palette.background.default,\n borderRadius: theme.shape.borderRadius,\n fontFamily: \"monospace\",\n },\n tabPanel: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst CodeExample = ({\n code,\n onCopy,\n}: {\n code: string;\n onCopy: () => void;\n}) => {\n const classes = useStyles();\n\n return (\n <Box position=\"relative\">\n <Box className={classes.codeBlock}>{code}</Box>\n <Tooltip title=\"Copy code\">\n <IconButton\n size=\"small\"\n style={{ position: \"absolute\", top: 8, right: 8 }}\n onClick={onCopy}\n >\n <FileCopyIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n </Box>\n );\n};\n\nexport const ApiKeyDetailPage = () => {\n const classes = useStyles();\n const { namespace, name } = useParams<{ namespace: string; name: string }>();\n const config = useApi(configApiRef);\n const fetchApi = useApi(fetchApiRef);\n const alertApi = useApi(alertApiRef);\n const backendUrl = config.getString(\"backend.baseUrl\");\n\n const [selectedTab, setSelectedTab] = useState(0);\n const [showApiKey, setShowApiKey] = useState(false);\n const [apiKeyValue, setApiKeyValue] = useState<string | null>(null);\n const [apiKeyLoading, setApiKeyLoading] = useState(false);\n const [alreadyRead, setAlreadyRead] = useState(false);\n const [showWarning, setShowWarning] = useState(false);\n\n const {\n value: data,\n loading,\n error,\n } = useAsync(async () => {\n const [apiKeyResponse, productsResponse] = await Promise.all([\n fetchApi.fetch(`${backendUrl}/api/kuadrant/apikeys/${namespace}/${name}`),\n fetchApi.fetch(`${backendUrl}/api/kuadrant/apiproducts`),\n ]);\n\n if (!apiKeyResponse.ok) {\n throw new Error(\"Failed to fetch API key\");\n }\n const apiKeyData = await apiKeyResponse.json();\n\n // check if key has already been read\n if (apiKeyData.status?.canReadSecret === false) {\n setAlreadyRead(true);\n }\n\n // find matching api product to get contact info\n let apiProduct: APIProduct | undefined;\n if (productsResponse.ok) {\n const productsData = await productsResponse.json();\n apiProduct = (productsData.items || []).find(\n (p: APIProduct) =>\n p.metadata.name === apiKeyData.spec.apiProductRef?.name &&\n p.metadata.namespace === apiKeyData.metadata.namespace,\n );\n }\n\n return { apiKey: apiKeyData as APIKey, apiProduct };\n }, [namespace, name, backendUrl, fetchApi]);\n\n const apiKey = data?.apiKey;\n const apiProduct = data?.apiProduct;\n\n const fetchApiKeySecret = async () => {\n setApiKeyLoading(true);\n try {\n const response = await fetchApi.fetch(\n `${backendUrl}/api/kuadrant/apikeys/${namespace}/${name}/secret`,\n );\n if (response.ok) {\n const data = await response.json();\n setApiKeyValue(data.apiKey);\n setAlreadyRead(true);\n setShowApiKey(true);\n } else if (response.status === 403) {\n setAlreadyRead(true);\n alertApi.post({\n message:\n \"This API key has already been viewed and cannot be retrieved again.\",\n severity: \"warning\",\n display: \"transient\",\n });\n }\n } catch (err) {\n console.error(\"Failed to fetch API key:\", err);\n alertApi.post({\n message: \"Failed to fetch API key\",\n severity: \"error\",\n display: \"transient\",\n });\n } finally {\n setApiKeyLoading(false);\n }\n };\n\n const handleRevealClick = () => {\n if (showApiKey) {\n setShowApiKey(false);\n setApiKeyValue(null);\n } else if (!alreadyRead) {\n setShowWarning(true);\n }\n };\n\n const handleConfirmReveal = () => {\n setShowWarning(false);\n fetchApiKeySecret();\n };\n\n const handleCopy = async (text: string) => {\n await navigator.clipboard.writeText(text);\n alertApi.post({\n message: \"Copied to clipboard\",\n severity: \"success\",\n display: \"transient\",\n });\n };\n\n if (loading) {\n return <Progress />;\n }\n\n if (error || !apiKey) {\n return (\n <ResponseErrorPanel error={error || new Error(\"API key not found\")} />\n );\n }\n\n const phase = apiKey.status?.phase || \"Pending\";\n const statusLabel = phase === \"Approved\" ? \"Active\" : phase;\n const hostname = apiKey.status?.apiHostname || \"api.example.com\";\n const displayApiKey = apiKeyValue || \"<your-api-key>\";\n\n // code examples\n const curlExample = `curl -H \"Authorization: Bearer ${displayApiKey}\" \\\\\n https://${hostname}/`;\n\n const nodeExample = `const response = await fetch('https://${hostname}/', {\n headers: {\n 'Authorization': 'Bearer ${displayApiKey}'\n }\n});\nconst data = await response.json();`;\n\n const pythonExample = `import requests\n\nresponse = requests.get(\n 'https://${hostname}/',\n headers={'Authorization': 'Bearer ${displayApiKey}'}\n)\ndata = response.json()`;\n\n const goExample = `package main\n\nimport (\n \"net/http\"\n)\n\nfunc main() {\n client := &http.Client{}\n req, _ := http.NewRequest(\"GET\", \"https://${hostname}/\", nil)\n req.Header.Set(\"Authorization\", \"Bearer ${displayApiKey}\")\n resp, _ := client.Do(req)\n defer resp.Body.Close()\n}`;\n\n const codeExamples = [\n { label: \"cURL\", code: curlExample },\n { label: \"Node.js\", code: nodeExample },\n { label: \"Python\", code: pythonExample },\n { label: \"Go\", code: goExample },\n ];\n\n return (\n <Page themeId=\"tool\">\n <Header\n title={apiKey.metadata.name}\n subtitle={`API Key for ${apiKey.spec.apiProductRef?.name || \"unknown\"}`}\n >\n <Link to=\"/kuadrant/api-keys\">\n <Button startIcon={<ArrowBackIcon />}>Back to API Keys</Button>\n </Link>\n </Header>\n <Content>\n <Box mb={2}>\n <Breadcrumbs aria-label=\"breadcrumb\">\n <Link to=\"/kuadrant/api-keys\">API keys</Link>\n <Typography>{apiKey.metadata.name}</Typography>\n </Breadcrumbs>\n </Box>\n\n <Box mb={3} display=\"flex\" style={{ gap: 8 }}>\n <Link to={`/catalog/default/api/${apiKey.spec.apiProductRef?.name}`}>\n <Button\n variant=\"outlined\"\n startIcon={<OpenInNewIcon />}\n data-testid=\"view-api-button\"\n >\n View API\n </Button>\n </Link>\n {apiProduct?.spec?.contact &&\n (apiProduct.spec.contact.email ||\n apiProduct.spec.contact.url ||\n apiProduct.spec.contact.slack) && (\n <Button\n variant=\"outlined\"\n startIcon={<EmailIcon />}\n href={\n apiProduct.spec.contact.email\n ? `mailto:${apiProduct.spec.contact.email}`\n : apiProduct.spec.contact.slack\n ? apiProduct.spec.contact.slack\n : apiProduct.spec.contact.url || \"#\"\n }\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Contact Owner\n </Button>\n )}\n </Box>\n\n <Grid container spacing={3}>\n <Grid item xs={12} md={6}>\n <InfoCard title=\"API Key Details\">\n <Box>\n <Typography variant=\"caption\" className={classes.label}>\n Status\n </Typography>\n <Box className={classes.value}>\n <Chip\n label={statusLabel}\n size=\"small\"\n style={getStatusChipStyle(phase)}\n data-testid=\"api-key-status-chip\"\n />\n </Box>\n\n <Typography variant=\"caption\" className={classes.label}>\n API Product\n </Typography>\n <Typography variant=\"body1\" className={classes.value}>\n <Link\n to={`/catalog/default/api/${apiKey.spec.apiProductRef?.name}/api-keys`}\n >\n {apiKey.spec.apiProductRef?.name || \"unknown\"}\n </Link>\n </Typography>\n\n <Typography variant=\"caption\" className={classes.label}>\n Tier\n </Typography>\n <Box className={classes.value}>\n <Chip\n label={apiKey.spec.planTier}\n size=\"small\"\n variant=\"outlined\"\n />\n </Box>\n\n <Typography variant=\"caption\" className={classes.label}>\n Requester\n </Typography>\n <Typography variant=\"body1\" className={classes.value}>\n {apiKey.spec.requestedBy?.userId}\n </Typography>\n\n <Typography variant=\"caption\" className={classes.label}>\n Requested\n </Typography>\n <Typography variant=\"body1\" className={classes.value}>\n {apiKey.metadata.creationTimestamp\n ? new Date(\n apiKey.metadata.creationTimestamp,\n ).toLocaleDateString()\n : \"-\"}\n </Typography>\n\n {apiKey.status?.reviewedBy && (\n <>\n <Typography variant=\"caption\" className={classes.label}>\n Reviewed By\n </Typography>\n <Typography variant=\"body1\" className={classes.value}>\n {apiKey.status.reviewedBy.replace(/^user:default\\//, \"\")}\n {apiKey.status.reviewedAt && (\n <Typography variant=\"caption\" color=\"textSecondary\">\n {\" \"}\n on{\" \"}\n {new Date(\n apiKey.status.reviewedAt,\n ).toLocaleDateString()}\n </Typography>\n )}\n </Typography>\n </>\n )}\n </Box>\n </InfoCard>\n </Grid>\n\n <Grid item xs={12} md={6}>\n <InfoCard title=\"Use Case\">\n <Typography variant=\"body1\">\n {apiKey.spec.useCase || \"No use case provided\"}\n </Typography>\n </InfoCard>\n\n {phase === \"Approved\" && (\n <Box mt={2}>\n <InfoCard title=\"API Key\">\n {alreadyRead && !apiKeyValue ? (\n <Tooltip title=\"This API key has already been viewed and cannot be retrieved again\">\n <Box display=\"flex\" alignItems=\"center\">\n <Typography variant=\"body2\" color=\"textSecondary\">\n Already viewed - cannot be retrieved again\n </Typography>\n <VisibilityOffIcon\n fontSize=\"small\"\n color=\"disabled\"\n style={{ marginLeft: 8 }}\n />\n </Box>\n </Tooltip>\n ) : (\n <Box className={classes.apiKeyContainer}>\n <Typography\n variant=\"body2\"\n style={{ fontFamily: \"monospace\", flex: 1 }}\n >\n {apiKeyLoading\n ? \"Loading...\"\n : showApiKey && apiKeyValue\n ? apiKeyValue\n : \"•\".repeat(32)}\n </Typography>\n {showApiKey && apiKeyValue && (\n <Tooltip title=\"Copy to clipboard\">\n <IconButton\n size=\"small\"\n onClick={() => handleCopy(apiKeyValue)}\n >\n <FileCopyIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n )}\n <Tooltip\n title={\n showApiKey\n ? \"Hide API key\"\n : \"Reveal API key (one-time only)\"\n }\n >\n <span>\n <IconButton\n size=\"small\"\n onClick={handleRevealClick}\n disabled={\n apiKeyLoading || (alreadyRead && !apiKeyValue)\n }\n >\n {showApiKey ? (\n <VisibilityOffIcon fontSize=\"small\" />\n ) : (\n <VisibilityIcon fontSize=\"small\" />\n )}\n </IconButton>\n </span>\n </Tooltip>\n </Box>\n )}\n </InfoCard>\n </Box>\n )}\n </Grid>\n\n {phase === \"Approved\" && (\n <Grid item xs={12}>\n <InfoCard title=\"Code Examples\">\n <Box>\n <Tabs\n value={selectedTab}\n onChange={(_, newValue) => setSelectedTab(newValue)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n >\n {codeExamples.map((ex) => (\n <Tab key={ex.label} label={ex.label} />\n ))}\n </Tabs>\n <Box className={classes.tabPanel}>\n <CodeExample\n code={codeExamples[selectedTab].code}\n onCopy={() => handleCopy(codeExamples[selectedTab].code)}\n />\n </Box>\n </Box>\n </InfoCard>\n </Grid>\n )}\n\n {apiKey.status?.limits && (\n <Grid item xs={12}>\n <InfoCard title=\"Rate Limits\">\n <Grid container spacing={2}>\n {apiKey.status.limits.daily && (\n <Grid item>\n <Typography variant=\"caption\" className={classes.label}>\n Daily\n </Typography>\n <Typography variant=\"h6\">\n {apiKey.status.limits.daily.toLocaleString()}\n </Typography>\n </Grid>\n )}\n {apiKey.status.limits.weekly && (\n <Grid item>\n <Typography variant=\"caption\" className={classes.label}>\n Weekly\n </Typography>\n <Typography variant=\"h6\">\n {apiKey.status.limits.weekly.toLocaleString()}\n </Typography>\n </Grid>\n )}\n {apiKey.status.limits.monthly && (\n <Grid item>\n <Typography variant=\"caption\" className={classes.label}>\n Monthly\n </Typography>\n <Typography variant=\"h6\">\n {apiKey.status.limits.monthly.toLocaleString()}\n </Typography>\n </Grid>\n )}\n </Grid>\n </InfoCard>\n </Grid>\n )}\n </Grid>\n </Content>\n\n <Dialog\n open={showWarning}\n onClose={() => setShowWarning(false)}\n maxWidth=\"sm\"\n >\n <DialogTitle>\n <Box display=\"flex\" alignItems=\"center\">\n <WarningIcon color=\"primary\" style={{ marginRight: 8 }} />\n View API Key\n </Box>\n </DialogTitle>\n <DialogContent>\n <Typography variant=\"body1\" paragraph>\n This API key can only be viewed <strong>once</strong>. After you\n reveal it, you will not be able to retrieve it again.\n </Typography>\n <Typography variant=\"body2\" color=\"textSecondary\">\n Make sure to copy and store it securely before closing this view.\n </Typography>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setShowWarning(false)}>Cancel</Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleConfirmReveal}\n >\n Reveal API Key\n </Button>\n </DialogActions>\n </Dialog>\n </Page>\n );\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\"\n}), 'Warning');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z\"\n}), 'Email');\n\nexports.default = _default;","import { jsxs, jsx } from 'react/jsx-runtime';\nimport Box from '@material-ui/core/Box';\nimport Divider from '@material-ui/core/Divider';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport ArrowIcon from '@material-ui/icons/ArrowForward';\nimport { Link } from '../../components/Link/Link.esm.js';\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {\n maxWidth: \"fit-content\",\n padding: theme.spacing(2, 2, 2, 2.5)\n },\n boxTitle: {\n margin: 0,\n color: theme.palette.textSubtle\n },\n arrow: {\n color: theme.palette.textSubtle\n }\n }),\n { name: \"BackstageBottomLink\" }\n);\nfunction BottomLink(props) {\n const { link, title, onClick } = props;\n const classes = useStyles();\n return /* @__PURE__ */ jsxs(Box, { children: [\n /* @__PURE__ */ jsx(Divider, {}),\n /* @__PURE__ */ jsx(Link, { to: link, onClick, underline: \"none\", children: /* @__PURE__ */ jsxs(Box, { display: \"flex\", alignItems: \"center\", className: classes.root, children: [\n /* @__PURE__ */ jsx(Box, { className: classes.boxTitle, fontWeight: \"fontWeightBold\", m: 1, children: /* @__PURE__ */ jsx(Typography, { children: /* @__PURE__ */ jsx(\"strong\", { children: title }) }) }),\n /* @__PURE__ */ jsx(ArrowIcon, { className: classes.arrow })\n ] }) })\n ] });\n}\n\nexport { BottomLink };\n//# sourceMappingURL=BottomLink.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport Button$1 from '@material-ui/core/Button';\nimport { forwardRef } from 'react';\nimport { Link } from '../Link/Link.esm.js';\n\nconst LinkWrapper = forwardRef((props, ref) => /* @__PURE__ */ jsx(Link, { ref, ...props, color: \"initial\" }));\nconst LinkButton = forwardRef((props, ref) => /* @__PURE__ */ jsx(Button$1, { ref, component: LinkWrapper, ...props }));\nconst Button = LinkButton;\n\nexport { Button, LinkButton };\n//# sourceMappingURL=LinkButton.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport Typography from '@material-ui/core/Typography';\nimport { Component } from 'react';\nimport { LinkButton } from '../../components/LinkButton/LinkButton.esm.js';\nimport { ErrorPanel } from '../../components/ErrorPanel/ErrorPanel.esm.js';\nimport { coreComponentsTranslationRef } from '../../translation.esm.js';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\n\nconst SlackLink = (props) => {\n const { slackChannel } = props;\n const { t } = useTranslationRef(coreComponentsTranslationRef);\n if (!slackChannel) {\n return null;\n } else if (typeof slackChannel === \"string\") {\n return /* @__PURE__ */ jsx(Typography, { children: t(\"errorBoundary.title\", { slackChannel }) });\n } else if (!slackChannel.href) {\n return /* @__PURE__ */ jsx(Typography, { children: t(\"errorBoundary.title\", {\n slackChannel: slackChannel.name\n }) });\n }\n return /* @__PURE__ */ jsx(LinkButton, { to: slackChannel.href, variant: \"contained\", children: slackChannel.name });\n};\nconst ErrorBoundary = class ErrorBoundary2 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n error: void 0,\n errorInfo: void 0\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(`ErrorBoundary, error: ${error}`, { error, errorInfo });\n this.setState({ error, errorInfo });\n }\n render() {\n const { slackChannel, children } = this.props;\n const { error } = this.state;\n if (!error) {\n return children;\n }\n return /* @__PURE__ */ jsx(ErrorPanel, { title: \"Something Went Wrong\", error, children: /* @__PURE__ */ jsx(SlackLink, { slackChannel }) });\n }\n};\n\nexport { ErrorBoundary };\n//# sourceMappingURL=ErrorBoundary.esm.js.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport Card from '@material-ui/core/Card';\nimport CardActions from '@material-ui/core/CardActions';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardHeader from '@material-ui/core/CardHeader';\nimport Divider from '@material-ui/core/Divider';\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { BottomLink } from '../BottomLink/BottomLink.esm.js';\nimport { ErrorBoundary } from '../ErrorBoundary/ErrorBoundary.esm.js';\n\nconst useStyles = makeStyles(\n (theme) => ({\n noPadding: {\n padding: 0,\n \"&:last-child\": {\n paddingBottom: 0\n }\n },\n contentAlignBottom: {\n display: \"flex\",\n alignItems: \"self-end\"\n },\n header: {\n padding: theme.spacing(2, 2, 2, 2.5)\n },\n headerTitle: {\n fontWeight: theme.typography.fontWeightBold\n },\n headerSubheader: {\n paddingTop: theme.spacing(1)\n },\n headerAvatar: {},\n headerAction: {},\n headerContent: {},\n subheader: {\n display: \"flex\"\n }\n }),\n { name: \"BackstageInfoCard\" }\n);\nconst CardActionsTopRight = withStyles(\n (theme) => ({\n root: {\n display: \"inline-block\",\n padding: theme.spacing(8, 8, 0, 0),\n float: \"right\"\n }\n }),\n { name: \"BackstageInfoCardCardActionsTopRight\" }\n)(CardActions);\nconst VARIANT_STYLES = {\n card: {\n flex: {\n display: \"flex\",\n flexDirection: \"column\"\n },\n fullHeight: {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\"\n },\n gridItem: {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"calc(100% - 10px)\",\n // for pages without content header\n marginBottom: \"10px\",\n breakInside: \"avoid-page\",\n \"@media print\": {\n height: \"auto\"\n }\n }\n },\n cardContent: {\n fullHeight: {\n flex: 1\n },\n gridItem: {\n flex: 1\n }\n }\n};\nfunction InfoCard(props) {\n const {\n title,\n subheader,\n divider = true,\n deepLink,\n slackChannel,\n errorBoundaryProps,\n variant,\n alignContent = \"normal\",\n children,\n headerStyle,\n headerProps,\n icon,\n action,\n actionsClassName,\n actions,\n cardClassName,\n actionsTopRight,\n className,\n noPadding,\n titleTypographyProps,\n subheaderTypographyProps\n } = props;\n const classes = useStyles();\n let calculatedStyle = {};\n let calculatedCardStyle = {};\n if (variant) {\n const variants = variant.split(/[\\s]+/g);\n variants.forEach((name) => {\n calculatedStyle = {\n ...calculatedStyle,\n ...VARIANT_STYLES.card[name]\n };\n calculatedCardStyle = {\n ...calculatedCardStyle,\n ...VARIANT_STYLES.cardContent[name]\n };\n });\n }\n const cardSubTitle = () => {\n if (!subheader && !icon) {\n return null;\n }\n return /* @__PURE__ */ jsxs(\"div\", { \"data-testid\": \"info-card-subheader\", children: [\n subheader && /* @__PURE__ */ jsx(\"div\", { className: classes.subheader, children: subheader }),\n icon\n ] });\n };\n const errProps = errorBoundaryProps || (slackChannel ? { slackChannel } : {});\n return /* @__PURE__ */ jsx(Card, { style: calculatedStyle, className, children: /* @__PURE__ */ jsxs(ErrorBoundary, { ...errProps, children: [\n title && /* @__PURE__ */ jsx(\n CardHeader,\n {\n classes: {\n root: classNames(classes.header),\n title: classes.headerTitle,\n subheader: classes.headerSubheader,\n avatar: classes.headerAvatar,\n action: classes.headerAction,\n content: classes.headerContent\n },\n title,\n subheader: cardSubTitle(),\n action,\n style: { ...headerStyle },\n titleTypographyProps,\n subheaderTypographyProps,\n ...headerProps\n }\n ),\n actionsTopRight && /* @__PURE__ */ jsx(CardActionsTopRight, { children: actionsTopRight }),\n divider && /* @__PURE__ */ jsx(Divider, {}),\n /* @__PURE__ */ jsx(\n CardContent,\n {\n className: classNames(cardClassName, {\n [classes.noPadding]: noPadding,\n [classes.contentAlignBottom]: alignContent === \"bottom\"\n }),\n style: calculatedCardStyle,\n children\n }\n ),\n actions && /* @__PURE__ */ jsx(CardActions, { className: actionsClassName, children: actions }),\n deepLink && /* @__PURE__ */ jsx(BottomLink, { ...deepLink })\n ] }) });\n}\n\nexport { InfoCard };\n//# sourceMappingURL=InfoCard.esm.js.map\n"],"names":["_interopRequireDefault","_interopRequireWildcard","exports","React","_default","default","createElement","d","useAsync","fn","deps","_a","initialState","loading","lastCallId","useRef","isMounted","useMountedState","useState","state","set","callback","useCallback","args","_i","arguments","length","callId","current","prevState","__assign","apply","then","value","error","useAsyncFn","useEffect","getStatusChipStyle","phase","base","border","backgroundColor","color","useStyles","makeStyles","theme","label","fontWeight","palette","text","secondary","marginBottom","spacing","codeBlock","background","padding","borderRadius","shape","fontFamily","fontSize","overflow","whiteSpace","wordBreak","apiKeyContainer","display","alignItems","gap","tabPanel","marginTop","CodeExample","code","onCopy","classes","Box","position","className","Tooltip","title","IconButton","size","style","top","right","onClick","FileCopyIcon","ApiKeyDetailPage","apiKey","apiProduct","namespace","name","useParams","config","useApi","configApiRef","fetchApi","fetchApiRef","alertApi","alertApiRef","backendUrl","getString","selectedTab","setSelectedTab","showApiKey","setShowApiKey","apiKeyValue","setApiKeyValue","apiKeyLoading","setApiKeyLoading","alreadyRead","setAlreadyRead","showWarning","setShowWarning","data","async","apiKeyData","apiKeyResponse","productsResponse","Promise","all","fetch","ok","Error","json","status","canReadSecret","items","find","p","metadata","spec","apiProductRef","handleCopy","navigator","clipboard","writeText","post","message","severity","Progress","ResponseErrorPanel","statusLabel","hostname","apiHostname","displayApiKey","codeExamples","Page","themeId","Header","subtitle","Link","to","Button","startIcon","ArrowBackIcon","Content","mb","Breadcrumbs","aria-label","Typography","variant","OpenInNewIcon","data-testid","contact","email","url","slack","EmailIcon","href","target","rel","Grid","container","item","xs","md","InfoCard","Chip","planTier","requestedBy","userId","creationTimestamp","Date","toLocaleDateString","reviewedBy","replace","reviewedAt","useCase","mt","VisibilityOffIcon","marginLeft","flex","repeat","span","disabled","VisibilityIcon","Tabs","onChange","_","newValue","indicatorColor","textColor","map","ex","Tab","limits","daily","toLocaleString","weekly","monthly","Dialog","open","onClose","maxWidth","DialogTitle","WarningIcon","marginRight","DialogContent","paragraph","strong","DialogActions","response","err","console","fetchApiKeySecret","root","boxTitle","margin","textSubtle","arrow","BottomLink","props","link","jsxs","children","jsx","Divider","underline","m","A","LinkWrapper","forwardRef","ref","LinkButton","component","SlackLink","slackChannel","t","ErrorBoundary","Component","constructor","super","this","errorInfo","componentDidCatch","setState","render","noPadding","paddingBottom","contentAlignBottom","header","headerTitle","typography","fontWeightBold","headerSubheader","paddingTop","headerAvatar","headerAction","headerContent","subheader","CardActionsTopRight","withStyles","float","CardActions","VARIANT_STYLES","card","flexDirection","fullHeight","height","gridItem","breakInside","cardContent","divider","deepLink","errorBoundaryProps","alignContent","headerStyle","headerProps","icon","action","actionsClassName","actions","cardClassName","actionsTopRight","titleTypographyProps","subheaderTypographyProps","calculatedStyle","calculatedCardStyle","split","forEach","errProps","Card","CardHeader","avatar","content","CardContent"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkinternal_plugin_kuadrant=self.webpackChunkinternal_plugin_kuadrant||[]).push([[3097],{34955:(e,t,a)=>{a.d(t,{Al:()=>s,DS:()=>h,EM:()=>l,FL:()=>i,J:()=>r,KV:()=>A,R_:()=>c,U3:()=>o,dp:()=>u,jH:()=>y,q0:()=>m,uL:()=>g,v_:()=>d,vs:()=>p,z4:()=>v});var n=a(83572);(0,n.i)({name:"kuadrant.planpolicy.create",attributes:{action:"create"}}),(0,n.i)({name:"kuadrant.planpolicy.read",attributes:{action:"read"}}),(0,n.i)({name:"kuadrant.planpolicy.update",attributes:{action:"update"}}),(0,n.i)({name:"kuadrant.planpolicy.delete",attributes:{action:"delete"}});const r=(0,n.i)({name:"kuadrant.planpolicy.list",attributes:{action:"read"}}),i=(0,n.i)({name:"kuadrant.apiproduct.create",attributes:{action:"create"}}),s=((0,n.i)({name:"kuadrant.apiproduct.read.own",attributes:{action:"read"}}),(0,n.i)({name:"kuadrant.apiproduct.read.all",attributes:{action:"read"}})),o=(0,n.i)({name:"kuadrant.apiproduct.update.own",attributes:{action:"update"}}),d=(0,n.i)({name:"kuadrant.apiproduct.update.all",attributes:{action:"update"}}),l=(0,n.i)({name:"kuadrant.apiproduct.delete.own",attributes:{action:"delete"}}),c=(0,n.i)({name:"kuadrant.apiproduct.delete.all",attributes:{action:"delete"}}),p=(0,n.i)({name:"kuadrant.apiproduct.list",attributes:{action:"read"}}),u=(0,n.i)({name:"kuadrant.apikey.create",attributes:{action:"create"},resourceType:"apiproduct"}),h=(0,n.i)({name:"kuadrant.apikey.read.own",attributes:{action:"read"}}),m=((0,n.i)({name:"kuadrant.apikey.read.all",attributes:{action:"read"}}),(0,n.i)({name:"kuadrant.apikey.update.own",attributes:{action:"update"}})),v=(0,n.i)({name:"kuadrant.apikey.update.all",attributes:{action:"update"}}),g=(0,n.i)({name:"kuadrant.apikey.delete.own",attributes:{action:"delete"}}),y=(0,n.i)({name:"kuadrant.apikey.delete.all",attributes:{action:"delete"}}),A=(0,n.i)({name:"kuadrant.apikey.approve",attributes:{action:"update"}})},35015:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(95478),r=a(85608),i=a(71581);function s(e,t){void 0===t&&(t=[]);var a=function(e,t,a){void 0===t&&(t=[]),void 0===a&&(a={loading:!1});var s=(0,n.useRef)(0),o=(0,i.A)(),d=(0,n.useState)(a),l=d[0],c=d[1],p=(0,n.useCallback)(function(){for(var t=[],a=0;a<arguments.length;a++)t[a]=arguments[a];var n=++s.current;return l.loading||c(function(e){return(0,r.__assign)((0,r.__assign)({},e),{loading:!0})}),e.apply(void 0,t).then(function(e){return o()&&n===s.current&&c({value:e,loading:!1}),e},function(e){return o()&&n===s.current&&c({error:e,loading:!1}),e})},t);return[l,p]}(e,t,{loading:!0}),s=a[0],o=a[1];return(0,n.useEffect)(function(){o()},[o]),s}},37725:(e,t,a)=>{a.d(t,{N_:()=>f});var n=a(31085),r=a(22097),i=a(49203),s=a(37976),o=a(72501),d=a(53373),l=a.n(d),c=a(45250),p=a(95478),u=a(42469),h=a(39330);const m=(0,s.makeStyles)(e=>({visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",position:"absolute",userSelect:"none",whiteSpace:"nowrap",height:1,width:1},externalLink:{position:"relative"},externalLinkIcon:{verticalAlign:"bottom",marginLeft:e.spacing(.5)}}),{name:"Link"}),v=()=>{const e=(0,r.useApp)().getSystemIcon("externalLink")||h.A,t=m();return(0,n.jsx)(e,{className:t.externalLinkIcon})},g=e=>/^([a-z+.-]+):/.test(e),y=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,A=window.open;if(A&&!A.__backstage){const e=function(...e){const t=String(e[0]);if(y.test(t))throw new Error("Rejected window.open() with a javascript: URL as a security precaution");return A.apply(this,e)};e.__backstage=!0,window.open=e}const x=e=>e instanceof Array?e.map(x).join(" ").trim():"object"==typeof e&&e?x(e?.props?.children):["string","number"].includes(typeof e)?String(e):"",f=(0,p.forwardRef)(({onClick:e,noTrack:t,externalLinkIcon:a,...s},d)=>{const p=m(),h=(0,r.useAnalytics)(),A=function(){const[e]=(0,u.createRoutesFromChildren)((0,n.jsx)(u.Route,{index:!0,element:(0,n.jsx)("div",{})}));return!e.index}()?(e=>{let t=String(e);const a=(()=>{const e=(()=>{try{return(0,r.useApi)(r.configApiRef).getOptionalString("app.baseUrl")}catch{return}})()??"/",{pathname:t}=new URL(e,"http://sample.dev");return(0,c.trimEnd)(t,"/")})(),n=g(t),i=t.startsWith(a);return n||i||(t=a.concat(t)),t})(s.to):s.to,f=x(s.children)||A,j=g(A),b=j&&!!/^https?:/.exec(A);if(y.test(A))throw new Error("Link component rejected javascript: URL as a security precaution");const k=a=>{e?.(a),t||h.captureEvent("click",f,{attributes:{to:A}})};return j?(0,n.jsxs)(i.A,{...b?{target:"_blank",rel:"noopener"}:{},...s,...s["aria-label"]?{"aria-label":`${s["aria-label"]}, Opens in a new window`}:{},ref:d,href:A,onClick:k,className:l()(p.externalLink,s.className),children:[s.children,a&&(0,n.jsx)(v,{}),(0,n.jsx)(o.A,{component:"span",className:p.visuallyHidden,children:", Opens in a new window"})]}):(0,n.jsx)(i.A,{...s,ref:d,component:u.Link,to:A,onClick:k})})},39330:(e,t,a)=>{var n=a(4293),r=a(78920);t.A=void 0;var i=r(a(95478)),s=(0,n(a(74044)).default)(i.createElement("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"}),"OpenInNew");t.A=s},43097:(e,t,a)=>{a.r(t),a.d(t,{ApprovalQueueCard:()=>B});var n=a(31085),r=a(95478),i=a(22097),s=a(35015),o=a(86687),d=a(42367),l=a(96040),c=a(25010),p=a(34955),u=a(46205),h=a(76891),m=a(61477),v=a(46805),g=a(10394),y=a(72501),A=a(93453),x=a(64947),f=a(78467),j=a(67720),b=a(71677),k=a(31653),w=a(38605),C=a(8973),q=a(29655),R=a(91567),S=a(55429),P=a(92399),I=a(6924);const T=({open:e,request:t,action:a,processing:r,onClose:i,onConfirm:s})=>{var o;const d="approve"===a?"Approve":"Reject",l="approve"===a?"Approving...":"Rejecting...";return(0,n.jsxs)(h.A,{open:e,onClose:r?void 0:i,maxWidth:"sm",fullWidth:!0,children:[(0,n.jsxs)(m.A,{children:[d," API Key"]}),(0,n.jsx)(v.A,{children:t&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"User:"})," ",t.spec.requestedBy.userId]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"API:"})," ",(null===(o=t.spec.apiProductRef)||void 0===o?void 0:o.name)||"unknown"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"Tier:"})," ",t.spec.planTier]}),(0,n.jsxs)(g.A,{mb:2,children:[(0,n.jsx)(y.A,{variant:"body2",component:"span",style:{fontWeight:"bold"},children:"Use Case:"})," ",(0,n.jsx)(y.A,{variant:"body2",component:"span",style:{whiteSpace:"pre-wrap"},children:t.spec.useCase||"-"})]})]})}),(0,n.jsxs)(A.A,{children:[(0,n.jsx)(x.A,{onClick:i,disabled:r,children:"Cancel"}),(0,n.jsx)(x.A,{onClick:s,color:"approve"===a?"primary":"secondary",variant:"contained",disabled:r,startIcon:r?(0,n.jsx)(f.A,{size:16,color:"inherit"}):void 0,children:r?l:d})]})]})},$=({open:e,requests:t,action:a,processing:r,onClose:i,onConfirm:s})=>{const o="approve"===a,d=o?"Approve All":"Reject All",l=o?"Approving...":"Rejecting...";return(0,n.jsxs)(h.A,{open:e,onClose:r?void 0:i,maxWidth:"md",fullWidth:!0,children:[(0,n.jsxs)(m.A,{children:[o?"Approve":"Reject"," ",t.length," API Keys"]}),(0,n.jsxs)(v.A,{children:[(0,n.jsxs)(y.A,{variant:"body2",paragraph:!0,children:["You are about to ",o?"approve":"reject"," the following API keys:"]}),(0,n.jsx)(g.A,{mb:2,maxHeight:200,overflow:"auto",children:t.map(e=>{var t;return(0,n.jsx)(g.A,{mb:1,p:1,bgcolor:"background.default",children:(0,n.jsxs)(y.A,{variant:"body2",children:[(0,n.jsx)("strong",{children:e.spec.requestedBy.userId})," -"," ",(null===(t=e.spec.apiProductRef)||void 0===t?void 0:t.name)||"unknown"," (",e.spec.planTier,")"]})},`${e.metadata.namespace}/${e.metadata.name}`)})})]}),(0,n.jsxs)(A.A,{children:[(0,n.jsx)(x.A,{onClick:i,disabled:r,children:"Cancel"}),(0,n.jsx)(x.A,{onClick:s,color:o?"primary":"secondary",variant:"contained",disabled:r,startIcon:r?(0,n.jsx)(f.A,{size:16,color:"inherit"}):void 0,children:r?l:d})]})]})},B=()=>{const e=(0,i.useApi)(i.configApiRef),t=(0,i.useApi)(i.fetchApiRef),a=(0,i.useApi)(i.identityApiRef),h=(0,i.useApi)(i.alertApiRef),m=e.getString("backend.baseUrl"),[v,A]=(0,r.useState)(0),[f,B]=(0,r.useState)(0),[N,L]=(0,r.useState)([]),[z,_]=(0,r.useState)({open:!1,request:null,action:"approve",processing:!1}),[E,W]=(0,r.useState)({open:!1,requests:[],action:"approve",processing:!1}),{allowed:U,loading:O,error:H}=(0,u.l)(p.z4),{allowed:D,loading:F,error:M}=(0,u.l)(p.q0),Q=O||F,V=H||M,{value:J,loading:K,error:G}=(0,s.A)(async()=>{const e=(await a.getBackstageIdentity()).userEntityRef;console.log("ApprovalQueueCard: fetching all requests from",`${m}/api/kuadrant/requests`);const[n,r]=await Promise.all([t.fetch(`${m}/api/kuadrant/requests`),t.fetch(`${m}/api/kuadrant/apiproducts`)]);if(!n.ok)return console.log("ApprovalQueueCard: failed to fetch requests, status:",n.status),{pending:[],approved:[],rejected:[],reviewedBy:e,ownedApiProducts:new Set};const i=n.headers.get("content-type");if(!(null==i?void 0:i.includes("application/json")))return console.error("ApprovalQueueCard: received non-json response"),h.post({message:"Unexpected content-type from the server response. Please contact support.",display:"transient",severity:"warning"}),{pending:[],approved:[],rejected:[],reviewedBy:e,ownedApiProducts:new Set};const s=(await n.json()).items||[],o=new Set;if(r.ok){const t=await r.json();for(const a of t.items||[]){var d,l;(null===(l=a.metadata)||void 0===l||null===(d=l.annotations)||void 0===d?void 0:d["backstage.io/owner"])===e&&o.add(`${a.metadata.namespace}/${a.metadata.name}`)}}console.log("ApprovalQueueCard: received",s.length,"total requests"),console.log("ApprovalQueueCard: user owns",o.size,"api products");const c=s.filter(e=>{var t;return"Pending"===((null===(t=e.status)||void 0===t?void 0:t.phase)||"Pending")}),p=s.filter(e=>{var t;return"Approved"===(null===(t=e.status)||void 0===t?void 0:t.phase)}),u=s.filter(e=>{var t;return"Rejected"===(null===(t=e.status)||void 0===t?void 0:t.phase)});return console.log("ApprovalQueueCard: grouped -",{pending:c.length,approved:p.length,rejected:u.length}),{pending:c,approved:p,rejected:u,reviewedBy:e,ownedApiProducts:o}},[m,t,a,v]);if(K||Q)return(0,n.jsx)(o.k,{});if(G)return(0,n.jsx)(d._,{error:G});if(V)return(0,n.jsxs)(g.A,{p:2,children:[(0,n.jsxs)(y.A,{color:"error",children:["Unable to check permissions: ",V.message]}),(0,n.jsx)(y.A,{variant:"body2",color:"textSecondary",children:"Permission: kuadrant.apikey.update.all"}),(0,n.jsx)(y.A,{variant:"body2",color:"textSecondary",children:"Please try again or contact your administrator"})]});const X=(null==J?void 0:J.pending)||[],Y=(null==J?void 0:J.approved)||[],Z=(null==J?void 0:J.rejected)||[],ee=e=>new Date(e).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}),te=[{title:"Name",field:"metadata.name",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.name})},{title:"User",field:"spec.requestedBy.userId",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.spec.requestedBy.userId})},{title:"API",field:"spec.apiProductRef.name",render:e=>{var t;return(0,n.jsx)(y.A,{variant:"body2",children:(0,n.jsx)("strong",{children:(null===(t=e.spec.apiProductRef)||void 0===t?void 0:t.name)||"unknown"})})}},{title:"Namespace",field:"metadata.namespace",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.namespace})},{title:"Tier",field:"spec.planTier",render:e=>(0,n.jsx)(j.A,{label:e.spec.planTier,size:"small"})},{title:"Use Case",field:"spec.useCase",render:e=>e.spec.useCase?(0,n.jsx)(b.Ay,{title:e.spec.useCase,placement:"top",children:(0,n.jsx)(y.A,{variant:"body2",style:{maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.spec.useCase})}):(0,n.jsx)(y.A,{variant:"body2",children:"-"})},{title:"Requested",field:"metadata.creationTimestamp",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.creationTimestamp?ee(e.metadata.creationTimestamp):"-"})},{title:"Actions",filtering:!1,render:e=>{var t,a;const r=`${e.metadata.namespace}/${(null===(t=e.spec.apiProductRef)||void 0===t?void 0:t.name)||"unknown"}`;var i;const s=null!==(i=null==J||null===(a=J.ownedApiProducts)||void 0===a?void 0:a.has(r))&&void 0!==i&&i;return U||D&&s?(0,n.jsxs)(g.A,{display:"flex",style:{gap:8},children:[(0,n.jsx)(x.A,{size:"small",startIcon:(0,n.jsx)(S.A,{}),onClick:()=>{_({open:!0,request:e,action:"approve",processing:!1})},color:"primary",variant:"outlined",children:"Approve"}),(0,n.jsx)(x.A,{size:"small",startIcon:(0,n.jsx)(P.A,{}),onClick:()=>{_({open:!0,request:e,action:"reject",processing:!1})},color:"secondary",variant:"outlined",children:"Reject"})]}):null}}],ae=[{title:"Name",field:"metadata.name",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.name})},{title:"User",field:"spec.requestedBy.userId",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.spec.requestedBy.userId})},{title:"API",field:"spec.apiProductRef.name",render:e=>{var t;return(0,n.jsx)(y.A,{variant:"body2",children:(0,n.jsx)("strong",{children:(null===(t=e.spec.apiProductRef)||void 0===t?void 0:t.name)||"unknown"})})}},{title:"Namespace",field:"metadata.namespace",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.namespace})},{title:"Tier",field:"spec.planTier",render:e=>(0,n.jsx)(j.A,{label:e.spec.planTier,size:"small"})},{title:"Requested",field:"metadata.creationTimestamp",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.creationTimestamp?ee(e.metadata.creationTimestamp):"-"})},{title:"Approved",field:"status.reviewedAt",render:e=>{var t;return(0,n.jsx)(y.A,{variant:"body2",children:(null===(t=e.status)||void 0===t?void 0:t.reviewedAt)?ee(e.status.reviewedAt):"-"})}},{title:"Reviewed By",field:"status.reviewedBy",render:e=>{var t;return(0,n.jsx)(y.A,{variant:"body2",children:(null===(t=e.status)||void 0===t?void 0:t.reviewedBy)||"-"})}},{title:"Approval Type",field:"status.reviewedBy",render:e=>{var t;const a="system"===(null===(t=e.status)||void 0===t?void 0:t.reviewedBy);return(0,n.jsx)(j.A,{label:a?"Automatic":"Manual",size:"small",color:a?"default":"primary"})}}],ne=[{title:"Name",field:"metadata.name",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.name})},{title:"User",field:"spec.requestedBy.userId",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.spec.requestedBy.userId})},{title:"API",field:"spec.apiProductRef.name",render:e=>{var t;return(0,n.jsx)(y.A,{variant:"body2",children:(0,n.jsx)("strong",{children:(null===(t=e.spec.apiProductRef)||void 0===t?void 0:t.name)||"unknown"})})}},{title:"Namespace",field:"metadata.namespace",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.namespace})},{title:"Tier",field:"spec.planTier",render:e=>(0,n.jsx)(j.A,{label:e.spec.planTier,size:"small"})},{title:"Requested",field:"metadata.creationTimestamp",render:e=>(0,n.jsx)(y.A,{variant:"body2",children:e.metadata.creationTimestamp?ee(e.metadata.creationTimestamp):"-"})},{title:"Rejected",field:"status.reviewedAt",render:e=>{var t;return(0,n.jsx)(y.A,{variant:"body2",children:(null===(t=e.status)||void 0===t?void 0:t.reviewedAt)?ee(e.status.reviewedAt):"-"})}},{title:"Reviewed By",field:"status.reviewedBy",render:e=>{var t;return(0,n.jsx)(y.A,{variant:"body2",children:(null===(t=e.status)||void 0===t?void 0:t.reviewedBy)||"-"})}}],re=(()=>{const e=e=>e.map(e=>({...e,id:e.metadata.name}));switch(f){case 0:return{data:X.map(e=>{const t=N.some(t=>t.metadata.name===e.metadata.name&&t.metadata.namespace===e.metadata.namespace);return{...e,tableData:{checked:t}}}),columns:te,showSelection:!0};case 1:return{data:e(Y),columns:ae,showSelection:!1};case 2:return{data:e(Z),columns:ne,showSelection:!1};default:return{data:e(X),columns:te,showSelection:!0}}})(),ie=(e=>{const t=new Map;return e.forEach(e=>{var a;const n=`${e.metadata.namespace}/${(null===(a=e.spec.apiProductRef)||void 0===a?void 0:a.name)||"unknown"}`;t.has(n)||t.set(n,[]),t.get(n).push(e)}),t})(re.data),se=Array.from(ie.keys()).sort();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.n,{title:"API Access Requests",subheader:`${X.length} pending, ${Y.length} approved, ${Z.length} rejected`,children:[(0,n.jsx)(g.A,{mb:2,"data-testid":"approval-queue-card",children:(0,n.jsxs)(k.A,{value:f,onChange:(e,t)=>{B(t),L([])},indicatorColor:"primary",textColor:"primary","data-testid":"approval-queue-tabs",children:[(0,n.jsx)(w.A,{label:`Pending (${X.length})`,"data-testid":"approval-queue-pending-tab"}),(0,n.jsx)(w.A,{label:`Approved (${Y.length})`,"data-testid":"approval-queue-approved-tab"}),(0,n.jsx)(w.A,{label:`Rejected (${Z.length})`,"data-testid":"approval-queue-rejected-tab"})]})}),0===f&&N.length>0&&(0,n.jsxs)(g.A,{mb:2,display:"flex",alignItems:"center",justifyContent:"space-between",p:2,bgcolor:"background.default",children:[(0,n.jsxs)(y.A,{variant:"body2",children:[N.length," request",1!==N.length?"s":""," selected"]}),(0,n.jsxs)(g.A,{display:"flex",style:{gap:8},children:[(0,n.jsx)(x.A,{size:"small",variant:"contained",color:"primary",startIcon:(0,n.jsx)(S.A,{}),onClick:()=>{0!==N.length&&W({open:!0,requests:N,action:"approve",processing:!1})},children:"Approve Selected"}),(0,n.jsx)(x.A,{size:"small",variant:"contained",color:"secondary",startIcon:(0,n.jsx)(P.A,{}),onClick:()=>{0!==N.length&&W({open:!0,requests:N,action:"reject",processing:!1})},children:"Reject Selected"})]})]}),0===re.data.length?(0,n.jsx)(g.A,{p:3,textAlign:"center",children:(0,n.jsxs)(y.A,{variant:"body1",color:"textSecondary",children:[0===f&&"No pending requests.",1===f&&"No approved requests.",2===f&&"No rejected requests."]})}):(0,n.jsx)(g.A,{children:se.map(e=>{var t,a,r;const i=ie.get(e)||[],s=(null===(a=i[0])||void 0===a||null===(t=a.spec.apiProductRef)||void 0===t?void 0:t.name)||e;var o;const d=null!==(o=null==J||null===(r=J.ownedApiProducts)||void 0===r?void 0:r.has(e))&&void 0!==o&&o,l=U||D&&d;return(0,n.jsxs)(C.A,{defaultExpanded:1===se.length,children:[(0,n.jsx)(q.A,{expandIcon:(0,n.jsx)(I.A,{}),children:(0,n.jsxs)(g.A,{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",children:[(0,n.jsx)(y.A,{variant:"h6",children:s}),(0,n.jsx)(j.A,{label:`${i.length} request${1!==i.length?"s":""}`,size:"small",color:"primary",style:{marginRight:16}})]})}),(0,n.jsx)(R.A,{children:(0,n.jsx)(g.A,{width:"100%",children:(0,n.jsx)(c.X,{options:{selection:l&&re.showSelection,paging:i.length>5,pageSize:20,search:!0,filtering:!0,debounceInterval:300,showTextRowsSelected:!1,toolbar:!0,emptyRowsWhenPaging:!1},data:i,columns:re.columns,onSelectionChange:t=>{const a=N.filter(t=>{var a;return`${t.metadata.namespace}/${(null===(a=t.spec.apiProductRef)||void 0===a?void 0:a.name)||"unknown"}`!==e});L([...a,...t])}})})})]},e)})})]}),(0,n.jsx)(T,{open:z.open,request:z.request,action:z.action,processing:z.processing,onClose:()=>_({open:!1,request:null,action:"approve",processing:!1}),onConfirm:async()=>{if(!z.request||!J)return;_(e=>({...e,processing:!0}));const e="approve"===z.action?`${m}/api/kuadrant/requests/${z.request.metadata.namespace}/${z.request.metadata.name}/approve`:`${m}/api/kuadrant/requests/${z.request.metadata.namespace}/${z.request.metadata.name}/reject`;try{if(!(await t.fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reviewedBy:J.reviewedBy})})).ok)throw new Error(`failed to ${z.action} request`);_({open:!1,request:null,action:"approve",processing:!1}),A(e=>e+1);const a="approve"===z.action?"approved":"rejected";h.post({message:`API key ${a}`,severity:"success",display:"transient"})}catch(e){console.error(`error ${z.action}ing request:`,e),_(e=>({...e,processing:!1})),h.post({message:`Failed to ${z.action} API key`,severity:"error",display:"transient"})}}}),(0,n.jsx)($,{open:E.open,requests:E.requests,action:E.action,processing:E.processing,onClose:()=>W({open:!1,requests:[],action:"approve",processing:!1}),onConfirm:async()=>{if(!J||0===E.requests.length)return;W(e=>({...e,processing:!0}));const e="approve"===E.action,a=e?`${m}/api/kuadrant/requests/bulk-approve`:`${m}/api/kuadrant/requests/bulk-reject`;try{if(!(await t.fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({requests:E.requests.map(e=>({namespace:e.metadata.namespace,name:e.metadata.name})),reviewedBy:J.reviewedBy})})).ok)throw new Error(`failed to bulk ${E.action} requests`);const n=E.requests.length,r=e?"approved":"rejected";W({open:!1,requests:[],action:"approve",processing:!1}),L([]),A(e=>e+1),h.post({message:`${n} API keys ${r}`,severity:"success",display:"transient"})}catch(e){console.error(`error bulk ${E.action}ing requests:`,e),W(e=>({...e,processing:!1})),h.post({message:`Failed to bulk ${E.action} API keys`,severity:"error",display:"transient"})}}})]})}},46205:(e,t,a)=>{a.d(t,{W:()=>i,l:()=>r});var n=a(87421);function r(e,t){const a="resourceType"in e?{permission:e,resourceRef:t}:{permission:e},r=(0,n.J)(a);return{allowed:r.allowed,loading:r.loading,error:r.error}}function i(e,t,a,n){return!!n||!(!a||e!==t)}},52235:(e,t,a)=>{var n=a(4293),r=a(78920);t.A=void 0;var i=r(a(95478)),s=(0,n(a(74044)).default)(i.createElement("path",{d:"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"}),"ArrowForward");t.A=s},55429:(e,t,a)=>{var n=a(4293),r=a(78920);t.A=void 0;var i=r(a(95478)),s=(0,n(a(74044)).default)(i.createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckCircle");t.A=s},96040:(e,t,a)=>{a.d(t,{n:()=>I});var n=a(31085),r=a(40703),i=a(59469),s=a(48653),o=a(45685),d=a(37197),l=a(37976),c=a(53373),p=a.n(c),u=a(10394),h=a(72501),m=a(52235),v=a(37725);const g=(0,l.makeStyles)(e=>({root:{maxWidth:"fit-content",padding:e.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:e.palette.textSubtle},arrow:{color:e.palette.textSubtle}}),{name:"BackstageBottomLink"});function y(e){const{link:t,title:a,onClick:r}=e,i=g();return(0,n.jsxs)(u.A,{children:[(0,n.jsx)(d.A,{}),(0,n.jsx)(v.N_,{to:t,onClick:r,underline:"none",children:(0,n.jsxs)(u.A,{display:"flex",alignItems:"center",className:i.root,children:[(0,n.jsx)(u.A,{className:i.boxTitle,fontWeight:"fontWeightBold",m:1,children:(0,n.jsx)(h.A,{children:(0,n.jsx)("strong",{children:a})})}),(0,n.jsx)(m.A,{className:i.arrow})]})})]})}var A=a(95478),x=a(64947);const f=(0,A.forwardRef)((e,t)=>(0,n.jsx)(v.N_,{ref:t,...e,color:"initial"})),j=(0,A.forwardRef)((e,t)=>(0,n.jsx)(x.A,{ref:t,component:f,...e}));var b=a(34169),k=a(16098),w=a(67550);const C=e=>{const{slackChannel:t}=e,{t:a}=(0,w.i)(k.O);return t?"string"==typeof t?(0,n.jsx)(h.A,{children:a("errorBoundary.title",{slackChannel:t})}):t.href?(0,n.jsx)(j,{to:t.href,variant:"contained",children:t.name}):(0,n.jsx)(h.A,{children:a("errorBoundary.title",{slackChannel:t.name})}):null},q=class extends A.Component{constructor(e){super(e),this.state={error:void 0,errorInfo:void 0}}componentDidCatch(e,t){console.error(`ErrorBoundary, error: ${e}`,{error:e,errorInfo:t}),this.setState({error:e,errorInfo:t})}render(){const{slackChannel:e,children:t}=this.props,{error:a}=this.state;return a?(0,n.jsx)(b.b,{title:"Something Went Wrong",error:a,children:(0,n.jsx)(C,{slackChannel:e})}):t}},R=(0,l.makeStyles)(e=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},contentAlignBottom:{display:"flex",alignItems:"self-end"},header:{padding:e.spacing(2,2,2,2.5)},headerTitle:{fontWeight:e.typography.fontWeightBold},headerSubheader:{paddingTop:e.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{},subheader:{display:"flex"}}),{name:"BackstageInfoCard"}),S=(0,l.withStyles)(e=>({root:{display:"inline-block",padding:e.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(i.A),P={card:{flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px",breakInside:"avoid-page","@media print":{height:"auto"}}},cardContent:{fullHeight:{flex:1},gridItem:{flex:1}}};function I(e){const{title:t,subheader:a,divider:l=!0,deepLink:c,slackChannel:u,errorBoundaryProps:h,variant:m,alignContent:v="normal",children:g,headerStyle:A,headerProps:x,icon:f,action:j,actionsClassName:b,actions:k,cardClassName:w,actionsTopRight:C,className:I,noPadding:T,titleTypographyProps:$,subheaderTypographyProps:B}=e,N=R();let L={},z={};m&&m.split(/[\s]+/g).forEach(e=>{L={...L,...P.card[e]},z={...z,...P.cardContent[e]}});const _=h||(u?{slackChannel:u}:{});return(0,n.jsx)(r.A,{style:L,className:I,children:(0,n.jsxs)(q,{..._,children:[t&&(0,n.jsx)(o.A,{classes:{root:p()(N.header),title:N.headerTitle,subheader:N.headerSubheader,avatar:N.headerAvatar,action:N.headerAction,content:N.headerContent},title:t,subheader:a||f?(0,n.jsxs)("div",{"data-testid":"info-card-subheader",children:[a&&(0,n.jsx)("div",{className:N.subheader,children:a}),f]}):null,action:j,style:{...A},titleTypographyProps:$,subheaderTypographyProps:B,...x}),C&&(0,n.jsx)(S,{children:C}),l&&(0,n.jsx)(d.A,{}),(0,n.jsx)(s.A,{className:p()(w,{[N.noPadding]:T,[N.contentAlignBottom]:"bottom"===v}),style:z,children:g}),k&&(0,n.jsx)(i.A,{className:b,children:k}),c&&(0,n.jsx)(y,{...c})]})})}}}]);
2
+ //# sourceMappingURL=3097.4bd6b35f.chunk.js.map