@kuadrant/kuadrant-backstage-plugin-frontend 0.2.0 → 0.3.0-aaa46b4
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.
- package/dist/api.esm.js +40 -2
- package/dist/api.esm.js.map +1 -1
- package/dist/components/ApiAccessCard/ApiAccessCard.esm.js +20 -85
- package/dist/components/ApiAccessCard/ApiAccessCard.esm.js.map +1 -1
- package/dist/components/ApiKeyApprovalPage/ApiKeyApprovalPageWithPermissions.esm.js +18 -0
- package/dist/components/ApiKeyApprovalPage/ApiKeyApprovalPageWithPermissions.esm.js.map +1 -0
- package/dist/components/ApiKeyApprovalPage/index.esm.js +1 -0
- package/dist/components/ApiKeyApprovalPage/index.esm.js.map +1 -1
- package/dist/components/ApiKeyDetailPage/ApiKeyDetailPage.esm.js +19 -60
- package/dist/components/ApiKeyDetailPage/ApiKeyDetailPage.esm.js.map +1 -1
- package/dist/components/ApiKeyManagementTab/ApiKeyManagementTab.esm.js +66 -113
- package/dist/components/ApiKeyManagementTab/ApiKeyManagementTab.esm.js.map +1 -1
- package/dist/components/ApiProductInfoCard/ApiProductInfoCard.esm.js +3 -2
- package/dist/components/ApiProductInfoCard/ApiProductInfoCard.esm.js.map +1 -1
- package/dist/components/ApprovalQueueTable/ApprovalQueueTable.esm.js +16 -15
- package/dist/components/ApprovalQueueTable/ApprovalQueueTable.esm.js.map +1 -1
- package/dist/components/CreateAPIProductDialog/CreateAPIProductDialog.esm.js +1 -7
- package/dist/components/CreateAPIProductDialog/CreateAPIProductDialog.esm.js.map +1 -1
- package/dist/components/EditAPIProductDialog/EditAPIProductDialog.esm.js +2 -3
- package/dist/components/EditAPIProductDialog/EditAPIProductDialog.esm.js.map +1 -1
- package/dist/components/KuadrantIcon/KuadrantIcon.esm.js +22 -0
- package/dist/components/KuadrantIcon/KuadrantIcon.esm.js.map +1 -0
- package/dist/components/KuadrantPage/ApiProductsPage.esm.js +5 -18
- package/dist/components/KuadrantPage/ApiProductsPage.esm.js.map +1 -1
- package/dist/components/MyApiKeysTable/MyApiKeysTable.esm.js +28 -138
- package/dist/components/MyApiKeysTable/MyApiKeysTable.esm.js.map +1 -1
- package/dist/components/PermissionGate/PermissionGate.esm.js +2 -2
- package/dist/components/PermissionGate/PermissionGate.esm.js.map +1 -1
- package/dist/components/RequestAccessDialog/RequestAccessDialog.esm.js +32 -18
- package/dist/components/RequestAccessDialog/RequestAccessDialog.esm.js.map +1 -1
- package/dist/components/SimpleRequestAccessDialog/SimpleRequestAccessDialog.esm.js +13 -2
- package/dist/components/SimpleRequestAccessDialog/SimpleRequestAccessDialog.esm.js.map +1 -1
- package/dist/components/icons.esm.js +11 -0
- package/dist/components/icons.esm.js.map +1 -0
- package/dist/index.d.ts +54 -6
- package/dist/index.esm.js +3 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/plugin.esm.js +2 -10
- package/dist/plugin.esm.js.map +1 -1
- package/dist/utils/apikeys.esm.js +21 -0
- package/dist/utils/apikeys.esm.js.map +1 -0
- package/dist/utils/styles.esm.js +5 -2
- package/dist/utils/styles.esm.js.map +1 -1
- package/dist-scalprum/internal.plugin-kuadrant.7f1de85661b1b848af15.js +2 -0
- package/dist-scalprum/internal.plugin-kuadrant.7f1de85661b1b848af15.js.map +1 -0
- package/dist-scalprum/plugin-manifest.json +3 -3
- package/dist-scalprum/static/{1037.58dd29ad.chunk.js → 1037.25758556.chunk.js} +1 -1
- package/dist-scalprum/static/{1037.58dd29ad.chunk.js.map → 1037.25758556.chunk.js.map} +1 -1
- package/dist-scalprum/static/1340.7c4f4722.chunk.js +3 -0
- package/dist-scalprum/static/1340.7c4f4722.chunk.js.map +1 -0
- package/dist-scalprum/static/1719.52ca7daf.chunk.js +2 -0
- package/dist-scalprum/static/1719.52ca7daf.chunk.js.map +1 -0
- package/dist-scalprum/static/{1881.8221c002.chunk.js → 1931.f6a5edbb.chunk.js} +2 -2
- package/dist-scalprum/static/1931.f6a5edbb.chunk.js.map +1 -0
- package/dist-scalprum/static/20.b3a37d1d.chunk.js +3 -0
- package/dist-scalprum/static/20.b3a37d1d.chunk.js.map +1 -0
- package/dist-scalprum/static/2251.08f3db99.chunk.js +2 -0
- package/dist-scalprum/static/2251.08f3db99.chunk.js.map +1 -0
- package/dist-scalprum/static/2769.e09b0ab0.chunk.js +2 -0
- package/dist-scalprum/static/2769.e09b0ab0.chunk.js.map +1 -0
- package/dist-scalprum/static/2821.1ac360ec.chunk.js +2 -0
- package/dist-scalprum/static/2821.1ac360ec.chunk.js.map +1 -0
- package/dist-scalprum/static/2952.b54bd390.chunk.js +2 -0
- package/dist-scalprum/static/2952.b54bd390.chunk.js.map +1 -0
- package/dist-scalprum/static/2967.004a950e.chunk.js +2 -0
- package/dist-scalprum/static/2967.004a950e.chunk.js.map +1 -0
- package/dist-scalprum/static/3015.1fe097c2.chunk.js +3 -0
- package/dist-scalprum/static/3015.1fe097c2.chunk.js.LICENSE.txt +9 -0
- package/dist-scalprum/static/3015.1fe097c2.chunk.js.map +1 -0
- package/dist-scalprum/static/327.74ecd572.chunk.js +2 -0
- package/dist-scalprum/static/327.74ecd572.chunk.js.map +1 -0
- package/dist-scalprum/static/3657.882640ca.chunk.js +3 -0
- package/dist-scalprum/static/3657.882640ca.chunk.js.LICENSE.txt +8 -0
- package/dist-scalprum/static/3657.882640ca.chunk.js.map +1 -0
- package/dist-scalprum/static/3658.104704cc.chunk.js +2 -0
- package/dist-scalprum/static/3658.104704cc.chunk.js.map +1 -0
- package/dist-scalprum/static/{3897.ef4554b5.chunk.js → 3897.6e9c07c0.chunk.js} +1 -1
- package/dist-scalprum/static/{3897.ef4554b5.chunk.js.map → 3897.6e9c07c0.chunk.js.map} +1 -1
- package/dist-scalprum/static/3917.888fba36.chunk.js +2 -0
- package/dist-scalprum/static/3917.888fba36.chunk.js.map +1 -0
- package/dist-scalprum/static/3947.f5320e89.chunk.js +2 -0
- package/dist-scalprum/static/3947.f5320e89.chunk.js.map +1 -0
- package/dist-scalprum/static/{4083.488ff7a9.chunk.js → 4083.811c4e7a.chunk.js} +2 -2
- package/dist-scalprum/static/{4083.488ff7a9.chunk.js.map → 4083.811c4e7a.chunk.js.map} +1 -1
- package/dist-scalprum/static/438.4335b833.chunk.js +2 -0
- package/dist-scalprum/static/438.4335b833.chunk.js.map +1 -0
- package/dist-scalprum/static/4908.4f21d453.chunk.js +2 -0
- package/dist-scalprum/static/4908.4f21d453.chunk.js.map +1 -0
- package/dist-scalprum/static/{5010.6241b64f.chunk.js → 5010.4f67737b.chunk.js} +2 -2
- package/dist-scalprum/static/{5010.6241b64f.chunk.js.map → 5010.4f67737b.chunk.js.map} +1 -1
- package/dist-scalprum/static/5197.53535ff4.chunk.js +2 -0
- package/dist-scalprum/static/5197.53535ff4.chunk.js.map +1 -0
- package/dist-scalprum/static/5289.6c803140.chunk.js +2 -0
- package/dist-scalprum/static/5289.6c803140.chunk.js.map +1 -0
- package/dist-scalprum/static/5943.4e1dedc5.chunk.js +2 -0
- package/dist-scalprum/static/5943.4e1dedc5.chunk.js.map +1 -0
- package/dist-scalprum/static/6038.63d1f832.chunk.js +3 -0
- package/dist-scalprum/static/6038.63d1f832.chunk.js.LICENSE.txt +8 -0
- package/dist-scalprum/static/6038.63d1f832.chunk.js.map +1 -0
- package/dist-scalprum/static/{6272.b5645dc2.chunk.js → 6272.3ed14ea4.chunk.js} +1 -1
- package/dist-scalprum/static/{6272.b5645dc2.chunk.js.map → 6272.3ed14ea4.chunk.js.map} +1 -1
- package/dist-scalprum/static/6311.da1849d1.chunk.js +2 -0
- package/dist-scalprum/static/6311.da1849d1.chunk.js.map +1 -0
- package/dist-scalprum/static/635.f63679a5.chunk.js +3 -0
- package/dist-scalprum/static/635.f63679a5.chunk.js.map +1 -0
- package/dist-scalprum/static/6371.02375475.chunk.js +3 -0
- package/dist-scalprum/static/6371.02375475.chunk.js.LICENSE.txt +9 -0
- package/dist-scalprum/static/6371.02375475.chunk.js.map +1 -0
- package/dist-scalprum/static/{6386.2d20c412.chunk.js → 6386.5922f271.chunk.js} +3 -3
- package/dist-scalprum/static/{6386.2d20c412.chunk.js.map → 6386.5922f271.chunk.js.map} +1 -1
- package/dist-scalprum/static/6837.6252b97a.chunk.js +2 -0
- package/dist-scalprum/static/6837.6252b97a.chunk.js.map +1 -0
- package/dist-scalprum/static/{6972.e47ec97e.chunk.js → 6972.f22b9446.chunk.js} +1 -1
- package/dist-scalprum/static/{6972.e47ec97e.chunk.js.map → 6972.f22b9446.chunk.js.map} +1 -1
- package/dist-scalprum/static/7164.5dc4bc72.chunk.js +2 -0
- package/dist-scalprum/static/7164.5dc4bc72.chunk.js.map +1 -0
- package/dist-scalprum/static/{7266.e760b8c3.chunk.js → 7266.3c4174cc.chunk.js} +1 -1
- package/dist-scalprum/static/{7266.e760b8c3.chunk.js.map → 7266.3c4174cc.chunk.js.map} +1 -1
- package/dist-scalprum/static/7270.8ee9d452.chunk.js +2 -0
- package/dist-scalprum/static/7270.8ee9d452.chunk.js.map +1 -0
- package/dist-scalprum/static/{7791.8f84478d.chunk.js → 7791.ad31cf6d.chunk.js} +2 -2
- package/dist-scalprum/static/{7791.8f84478d.chunk.js.map → 7791.ad31cf6d.chunk.js.map} +1 -1
- package/dist-scalprum/static/{8563.46f1a3e1.chunk.js → 8563.6501eafb.chunk.js} +2 -2
- package/dist-scalprum/static/{8563.46f1a3e1.chunk.js.map → 8563.6501eafb.chunk.js.map} +1 -1
- package/dist-scalprum/static/980.744a4d36.chunk.js +2 -0
- package/dist-scalprum/static/980.744a4d36.chunk.js.map +1 -0
- package/dist-scalprum/static/exposed-KuadrantIcon.08abbb96.chunk.js +3 -0
- package/dist-scalprum/static/exposed-KuadrantIcon.08abbb96.chunk.js.LICENSE.txt +9 -0
- package/dist-scalprum/static/exposed-KuadrantIcon.08abbb96.chunk.js.map +1 -0
- package/dist-scalprum/static/exposed-KuadrantPage.f123b200.chunk.js +2 -0
- package/dist-scalprum/static/exposed-KuadrantPage.f123b200.chunk.js.map +1 -0
- package/dist-scalprum/static/exposed-PluginRoot.3a5f9157.chunk.js +2 -0
- package/dist-scalprum/static/exposed-PluginRoot.3a5f9157.chunk.js.map +1 -0
- package/package.json +6 -3
- package/dist/components/EntityApiApprovalTab/EntityApiApprovalTab.esm.js +0 -265
- package/dist/components/EntityApiApprovalTab/EntityApiApprovalTab.esm.js.map +0 -1
- package/dist/components/EntityApiApprovalTab/index.esm.js +0 -2
- package/dist/components/EntityApiApprovalTab/index.esm.js.map +0 -1
- package/dist-scalprum/internal.plugin-kuadrant.b3d35dc8b21ce867aa09.js +0 -2
- package/dist-scalprum/internal.plugin-kuadrant.b3d35dc8b21ce867aa09.js.map +0 -1
- package/dist-scalprum/static/1319.ac195ac2.chunk.js +0 -2
- package/dist-scalprum/static/1319.ac195ac2.chunk.js.map +0 -1
- package/dist-scalprum/static/1584.ae3779f0.chunk.js +0 -3
- package/dist-scalprum/static/1584.ae3779f0.chunk.js.map +0 -1
- package/dist-scalprum/static/1881.8221c002.chunk.js.map +0 -1
- package/dist-scalprum/static/2967.7c6a34cd.chunk.js +0 -2
- package/dist-scalprum/static/2967.7c6a34cd.chunk.js.map +0 -1
- package/dist-scalprum/static/3118.daee3324.chunk.js +0 -3
- package/dist-scalprum/static/3118.daee3324.chunk.js.map +0 -1
- package/dist-scalprum/static/3581.b5b97f08.chunk.js +0 -2
- package/dist-scalprum/static/3581.b5b97f08.chunk.js.map +0 -1
- package/dist-scalprum/static/369.2374941c.chunk.js +0 -2
- package/dist-scalprum/static/369.2374941c.chunk.js.map +0 -1
- package/dist-scalprum/static/3947.ad129ba4.chunk.js +0 -2
- package/dist-scalprum/static/3947.ad129ba4.chunk.js.map +0 -1
- package/dist-scalprum/static/3976.e0873210.chunk.js +0 -2
- package/dist-scalprum/static/3976.e0873210.chunk.js.map +0 -1
- package/dist-scalprum/static/4434.f92f6ba4.chunk.js +0 -2
- package/dist-scalprum/static/4434.f92f6ba4.chunk.js.map +0 -1
- package/dist-scalprum/static/483.d55d6ab2.chunk.js +0 -2
- package/dist-scalprum/static/483.d55d6ab2.chunk.js.map +0 -1
- package/dist-scalprum/static/512.f1c51799.chunk.js +0 -2
- package/dist-scalprum/static/512.f1c51799.chunk.js.map +0 -1
- package/dist-scalprum/static/5203.3df62d7e.chunk.js +0 -2
- package/dist-scalprum/static/5203.3df62d7e.chunk.js.map +0 -1
- package/dist-scalprum/static/5289.2e686027.chunk.js +0 -2
- package/dist-scalprum/static/5289.2e686027.chunk.js.map +0 -1
- package/dist-scalprum/static/5453.3c20d0a6.chunk.js +0 -2
- package/dist-scalprum/static/5453.3c20d0a6.chunk.js.map +0 -1
- package/dist-scalprum/static/6371.f183dddb.chunk.js +0 -3
- package/dist-scalprum/static/6371.f183dddb.chunk.js.map +0 -1
- package/dist-scalprum/static/6426.bf20c588.chunk.js +0 -2
- package/dist-scalprum/static/6426.bf20c588.chunk.js.map +0 -1
- package/dist-scalprum/static/6800.ddabed69.chunk.js +0 -2
- package/dist-scalprum/static/6800.ddabed69.chunk.js.map +0 -1
- package/dist-scalprum/static/7005.d548f8f1.chunk.js +0 -2
- package/dist-scalprum/static/7005.d548f8f1.chunk.js.map +0 -1
- package/dist-scalprum/static/7057.fcd688c7.chunk.js +0 -2
- package/dist-scalprum/static/7057.fcd688c7.chunk.js.map +0 -1
- package/dist-scalprum/static/7270.301a3c46.chunk.js +0 -2
- package/dist-scalprum/static/7270.301a3c46.chunk.js.map +0 -1
- package/dist-scalprum/static/9051.f095a8a1.chunk.js +0 -2
- package/dist-scalprum/static/9051.f095a8a1.chunk.js.map +0 -1
- package/dist-scalprum/static/9079.b6d5c19c.chunk.js +0 -2
- package/dist-scalprum/static/9079.b6d5c19c.chunk.js.map +0 -1
- package/dist-scalprum/static/9625.b0c6610a.chunk.js +0 -2
- package/dist-scalprum/static/9625.b0c6610a.chunk.js.map +0 -1
- package/dist-scalprum/static/9838.589f2156.chunk.js +0 -2
- package/dist-scalprum/static/9838.589f2156.chunk.js.map +0 -1
- package/dist-scalprum/static/exposed-PluginRoot.a8448fcc.chunk.js +0 -2
- package/dist-scalprum/static/exposed-PluginRoot.a8448fcc.chunk.js.map +0 -1
- /package/dist-scalprum/static/{1584.ae3779f0.chunk.js.LICENSE.txt → 1340.7c4f4722.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{3118.daee3324.chunk.js.LICENSE.txt → 20.b3a37d1d.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{4083.488ff7a9.chunk.js.LICENSE.txt → 4083.811c4e7a.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{5010.6241b64f.chunk.js.LICENSE.txt → 5010.4f67737b.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{6371.f183dddb.chunk.js.LICENSE.txt → 635.f63679a5.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{6386.2d20c412.chunk.js.LICENSE.txt → 6386.5922f271.chunk.js.LICENSE.txt} +0 -0
- /package/dist-scalprum/static/{8563.46f1a3e1.chunk.js.LICENSE.txt → 8563.6501eafb.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/6972.e47ec97e.chunk.js","mappings":"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","sources":["webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/analytics/AnalyticsContext.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AnalyticsApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/analytics/Tracker.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/analytics/useAnalytics.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AppTreeApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/SwappableComponentsApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/IconsApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/DialogApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/RouteResolutionApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionDataRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/createExtensionDataContainer.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveInputOverrides.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/schema/createSchemaFromZod.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/opaque-internal/src/OpaqueType.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalExtensionDefinition.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtension.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/AnalyticsImplementationBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/ApiBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/coreExtensionData.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootElementBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootWrapperBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/IconBundleBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavContentBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavItemBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/createSwappableComponent.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/DefaultSwappableComponents.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/ErrorBoundary.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/core-plugin-api/src/analytics/Tracker.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/AppNodeProvider.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/ExtensionBoundary.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/PageBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/RouterBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/SignInPageBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/ThemeBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/TranslationBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/SwappableComponentBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/describeParentCallSite.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/RouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/SubRouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/ExternalRouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRefParams.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionInput.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveExtensionDefinition.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalFrontendPlugin.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendPlugin.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendModule.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendFeatureLoader.esm.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, createVersionedValueMap } from '@backstage/version-bridge';\nimport { useContext } from 'react';\n\nconst AnalyticsReactContext = createVersionedContext(\"analytics-context\");\nconst useAnalyticsContext = () => {\n const theContext = useContext(AnalyticsReactContext);\n if (theContext === void 0) {\n return {\n pluginId: \"app\",\n extensionId: \"app\"\n };\n }\n const theValue = theContext.atVersion(1);\n if (theValue === void 0) {\n throw new Error(\"No context found for version 1.\");\n }\n return theValue;\n};\nconst AnalyticsContext = (options) => {\n const { attributes, children } = options;\n const parentValues = useAnalyticsContext();\n const combinedValue = {\n ...parentValues,\n ...attributes\n };\n const versionedCombinedValue = createVersionedValueMap({ 1: combinedValue });\n return /* @__PURE__ */ jsx(AnalyticsReactContext.Provider, { value: versionedCombinedValue, children });\n};\n\nexport { AnalyticsContext, useAnalyticsContext };\n//# sourceMappingURL=AnalyticsContext.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst analyticsApiRef = createApiRef({\n id: \"core.analytics\"\n});\n\nexport { analyticsApiRef };\n//# sourceMappingURL=AnalyticsApi.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\nconst globalEvents = getOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\nclass Tracker {\n constructor(analyticsApi, context = {\n pluginId: \"root\",\n extensionId: \"App\"\n }) {\n this.analyticsApi = analyticsApi;\n this.context = context;\n if (!globalEvents.beforeUnloadRegistered) {\n addEventListener(\n \"beforeunload\",\n () => {\n if (globalEvents.mostRecentGatheredNavigation) {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n },\n { once: true, passive: true }\n );\n globalEvents.beforeUnloadRegistered = true;\n }\n }\n setContext(context) {\n this.context = context;\n }\n captureEvent(action, subject, {\n value,\n attributes\n } = {}) {\n const context = this.context;\n if (action === routableExtensionRenderedEvent) {\n if (globalEvents.mostRecentGatheredNavigation) {\n globalEvents.mostRecentRoutableExtensionRender = {\n context: {\n ...context,\n extensionId: \"App\"\n }\n };\n }\n return;\n }\n if (globalEvents.mostRecentGatheredNavigation) {\n try {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n if (action === \"navigate\" && context.pluginId === \"root\") {\n globalEvents.mostRecentGatheredNavigation = {\n action,\n subject,\n value,\n attributes,\n context\n };\n return;\n }\n try {\n this.analyticsApi.captureEvent({\n action,\n subject,\n value,\n attributes,\n context\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n }\n}\n\nexport { Tracker, routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { useApi } from '@backstage/core-plugin-api';\nimport { useAnalyticsContext } from './AnalyticsContext.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport { analyticsApiRef } from '../apis/definitions/AnalyticsApi.esm.js';\nimport { useRef } from 'react';\nimport { Tracker } from './Tracker.esm.js';\n\nfunction useAnalyticsApi() {\n try {\n return useApi(analyticsApiRef);\n } catch (error) {\n if (error.name === \"NotImplementedError\") {\n return { captureEvent: () => {\n } };\n }\n throw error;\n }\n}\nfunction useAnalytics() {\n const trackerRef = useRef(null);\n const context = useAnalyticsContext();\n const analyticsApi = useAnalyticsApi();\n function getTracker() {\n if (trackerRef.current === null) {\n trackerRef.current = new Tracker(analyticsApi);\n }\n return trackerRef.current;\n }\n const tracker = getTracker();\n tracker.setContext(context);\n return tracker;\n}\n\nexport { useAnalytics };\n//# sourceMappingURL=useAnalytics.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst appTreeApiRef = createApiRef({ id: \"core.app-tree\" });\n\nexport { appTreeApiRef };\n//# sourceMappingURL=AppTreeApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst swappableComponentsApiRef = createApiRef({\n id: \"core.swappable-components\"\n});\n\nexport { swappableComponentsApiRef };\n//# sourceMappingURL=SwappableComponentsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst iconsApiRef = createApiRef({\n id: \"core.icons\"\n});\n\nexport { iconsApiRef };\n//# sourceMappingURL=IconsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst dialogApiRef = createApiRef({\n id: \"core.dialog\"\n});\n\nexport { dialogApiRef };\n//# sourceMappingURL=DialogApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst routeResolutionApiRef = createApiRef({\n id: \"core.route-resolution\"\n});\n\nexport { routeResolutionApiRef };\n//# sourceMappingURL=RouteResolutionApi.esm.js.map\n","function createExtensionDataRef() {\n const createRef = (refId) => Object.assign(\n (value) => ({\n $$type: \"@backstage/ExtensionDataValue\",\n id: refId,\n value\n }),\n {\n id: refId,\n $$type: \"@backstage/ExtensionDataRef\",\n config: {},\n optional() {\n return {\n ...this,\n config: { ...this.config, optional: true }\n };\n },\n toString() {\n const optional = Boolean(this.config.optional);\n return `ExtensionDataRef{id=${refId},optional=${optional}}`;\n }\n }\n );\n return {\n with(options) {\n return createRef(options.id);\n }\n };\n}\n\nexport { createExtensionDataRef };\n//# sourceMappingURL=createExtensionDataRef.esm.js.map\n","function createExtensionDataContainer(values, contextName, declaredRefs) {\n if (typeof values !== \"object\" || !values?.[Symbol.iterator]) {\n throw new Error(`${contextName} did not provide an iterable object`);\n }\n const container = /* @__PURE__ */ new Map();\n const verifyRefs = declaredRefs && new Map(declaredRefs.map((ref) => [ref.id, ref]));\n for (const output of values) {\n if (verifyRefs) {\n if (!verifyRefs.delete(output.id)) {\n throw new Error(\n `extension data '${output.id}' was provided but not declared`\n );\n }\n }\n container.set(output.id, output);\n }\n const remainingRefs = verifyRefs && Array.from(verifyRefs.values()).filter((ref) => !ref.config.optional);\n if (remainingRefs && remainingRefs.length > 0) {\n throw new Error(\n `missing required extension data value(s) '${remainingRefs.map((ref) => ref.id).join(\", \")}'`\n );\n }\n return {\n get(ref) {\n return container.get(ref.id)?.value;\n },\n [Symbol.iterator]() {\n return container.values();\n }\n };\n}\n\nexport { createExtensionDataContainer };\n//# sourceMappingURL=createExtensionDataContainer.esm.js.map\n","import { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nfunction expectArray(value) {\n return value;\n}\nfunction expectItem(value) {\n return value;\n}\nfunction resolveInputOverrides(declaredInputs, inputs, inputOverrides) {\n if (!declaredInputs || !inputs || !inputOverrides) {\n return inputs;\n }\n const newInputs = {};\n for (const name in declaredInputs) {\n if (!Object.hasOwn(declaredInputs, name)) {\n continue;\n }\n const declaredInput = declaredInputs[name];\n const providedData = inputOverrides[name];\n if (declaredInput.config.singleton) {\n const originalInput = expectItem(inputs[name]);\n if (providedData) {\n const providedContainer = createExtensionDataContainer(\n providedData,\n \"extension input override\",\n declaredInput.extensionData\n );\n if (!originalInput) {\n throw new Error(\n `attempted to override data of input '${name}' but it is not present in the original inputs`\n );\n }\n newInputs[name] = Object.assign(providedContainer, {\n node: originalInput.node\n });\n }\n } else {\n const originalInput = expectArray(inputs[name]);\n if (!Array.isArray(providedData)) {\n throw new Error(\n `override data provided for input '${name}' must be an array`\n );\n }\n if (providedData.length === 0) {\n newInputs[name] = [];\n } else {\n const withNodesCount = providedData.filter((d) => \"node\" in d).length;\n if (withNodesCount === 0) {\n if (originalInput.length !== providedData.length) {\n throw new Error(\n `override data provided for input '${name}' must match the length of the original inputs`\n );\n }\n newInputs[name] = providedData.map((data, i) => {\n const providedContainer = createExtensionDataContainer(\n data,\n \"extension input override\",\n declaredInput.extensionData\n );\n return Object.assign(providedContainer, {\n node: originalInput[i].node\n });\n });\n } else if (withNodesCount === providedData.length) {\n newInputs[name] = providedData;\n } else {\n throw new Error(\n `override data for input '${name}' may not mix forwarded inputs with data overrides`\n );\n }\n }\n }\n }\n return newInputs;\n}\n\nexport { resolveInputOverrides };\n//# sourceMappingURL=resolveInputOverrides.esm.js.map\n","import { z } from 'zod';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nfunction createSchemaFromZod(schemaCreator) {\n const schema = schemaCreator(z);\n return {\n // TODO: Types allow z.array etc here but it will break stuff\n parse: (input) => {\n const result = schema.safeParse(input);\n if (result.success) {\n return result.data;\n }\n throw new Error(result.error.issues.map(formatIssue).join(\"; \"));\n },\n // TODO: Verify why we are not compatible with the latest zodToJsonSchema.\n schema: zodToJsonSchema(schema)\n };\n}\nfunction formatIssue(issue) {\n if (issue.code === \"invalid_union\") {\n return formatIssue(issue.unionErrors[0].issues[0]);\n }\n let message = issue.message;\n if (message === \"Required\") {\n message = `Missing required value`;\n }\n if (issue.path.length) {\n message += ` at '${issue.path.join(\".\")}'`;\n }\n return message;\n}\n\nexport { createSchemaFromZod };\n//# sourceMappingURL=createSchemaFromZod.esm.js.map\n","class OpaqueType {\n /**\n * Creates a new opaque type.\n *\n * @param options.type The type identifier of the opaque type\n * @param options.versions The available versions of the opaque type\n * @returns A new opaque type helper\n */\n static create(options) {\n return new OpaqueType(options.type, new Set(options.versions));\n }\n #type;\n #versions;\n constructor(type, versions) {\n this.#type = type;\n this.#versions = versions;\n }\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TPublic`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TPublic = void 0;\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TInternal`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TInternal = void 0;\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @returns True if the value matches this opaque type\n */\n isType = (value) => {\n return this.#isThisInternalType(value);\n };\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @throws If the value is not an instance of this opaque type or is of an unsupported version\n * @returns The internal version of the opaque type\n */\n toInternal = (value) => {\n if (!this.#isThisInternalType(value)) {\n throw new TypeError(\n `Invalid opaque type, expected '${this.#type}', but got '${this.#stringifyUnknown(value)}'`\n );\n }\n if (!this.#versions.has(value.version)) {\n const versions = Array.from(this.#versions).map(this.#stringifyVersion);\n if (versions.length > 1) {\n versions[versions.length - 1] = `or ${versions[versions.length - 1]}`;\n }\n const expected = versions.length > 2 ? versions.join(\", \") : versions.join(\" \");\n throw new TypeError(\n `Invalid opaque type instance, got version ${this.#stringifyVersion(\n value.version\n )}, expected ${expected}`\n );\n }\n return value;\n };\n /**\n * Creates an instance of the opaque type, returning the public type.\n *\n * @param version The version of the instance to create\n * @param value The remaining public and internal properties of the instance\n * @returns An instance of the opaque type\n */\n createInstance(version, props) {\n return Object.assign(props, {\n $$type: this.#type,\n ...version && { version }\n });\n }\n #isThisInternalType(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n return value.$$type === this.#type;\n }\n #stringifyUnknown(value) {\n if (typeof value !== \"object\") {\n return `<${typeof value}>`;\n }\n if (value === null) {\n return \"<null>\";\n }\n if (\"$$type\" in value) {\n return String(value.$$type);\n }\n return String(value);\n }\n #stringifyVersion = (version) => {\n return version ? `'${version}'` : \"undefined\";\n };\n}\n\nexport { OpaqueType };\n//# sourceMappingURL=OpaqueType.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueExtensionDefinition = OpaqueType.create({\n type: \"@backstage/ExtensionDefinition\",\n versions: [\"v1\", \"v2\"]\n});\n\nexport { OpaqueExtensionDefinition };\n//# sourceMappingURL=InternalExtensionDefinition.esm.js.map\n","import { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { createSchemaFromZod } from '../schema/createSchemaFromZod.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nconst ctxParamsSymbol = Symbol(\"params\");\nfunction createExtension(options) {\n const schemaDeclaration = options.config?.schema;\n const configSchema = schemaDeclaration && createSchemaFromZod(\n (innerZ) => innerZ.object(\n Object.fromEntries(\n Object.entries(schemaDeclaration).map(([k, v]) => [k, v(innerZ)])\n )\n )\n );\n return OpaqueExtensionDefinition.createInstance(\"v2\", {\n T: void 0,\n kind: options.kind,\n name: options.name,\n attachTo: options.attachTo,\n disabled: options.disabled ?? false,\n inputs: options.inputs ?? {},\n output: options.output,\n configSchema,\n factory: options.factory,\n toString() {\n const parts = [];\n if (options.kind) {\n parts.push(`kind=${options.kind}`);\n }\n if (options.name) {\n parts.push(`name=${options.name}`);\n }\n parts.push(\n `attachTo=${[options.attachTo].flat().map((a) => `${a.id}@${a.input}`).join(\"+\")}`\n );\n return `ExtensionDefinition{${parts.join(\",\")}}`;\n },\n override(overrideOptions) {\n if (!Array.isArray(options.output)) {\n throw new Error(\n \"Cannot override an extension that is not declared using the new format with outputs as an array\"\n );\n }\n if (overrideOptions.output && !overrideOptions.factory) {\n throw new Error(\n \"Refused to override output without also overriding factory\"\n );\n }\n if (overrideOptions.params && overrideOptions.factory) {\n throw new Error(\n \"Refused to override params and factory at the same time\"\n );\n }\n return createExtension({\n kind: options.kind,\n name: options.name,\n attachTo: overrideOptions.attachTo ?? options.attachTo,\n disabled: overrideOptions.disabled ?? options.disabled,\n inputs: { ...overrideOptions.inputs, ...options.inputs },\n output: overrideOptions.output ?? options.output,\n config: options.config || overrideOptions.config ? {\n schema: {\n ...options.config?.schema,\n ...overrideOptions.config?.schema\n }\n } : void 0,\n factory: ({ node, apis, config, inputs }) => {\n if (!overrideOptions.factory) {\n return options.factory({\n node,\n apis,\n config,\n inputs,\n [ctxParamsSymbol]: overrideOptions.params\n });\n }\n const parentResult = overrideOptions.factory(\n (innerContext) => {\n return createExtensionDataContainer(\n options.factory({\n node,\n apis,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n ),\n [ctxParamsSymbol]: innerContext?.params\n }),\n \"original extension factory\",\n options.output\n );\n },\n {\n node,\n apis,\n config,\n inputs\n }\n );\n if (typeof parentResult !== \"object\" || !parentResult?.[Symbol.iterator]) {\n throw new Error(\n \"extension factory override did not provide an iterable object\"\n );\n }\n const deduplicatedResult = /* @__PURE__ */ new Map();\n for (const item of parentResult) {\n deduplicatedResult.set(item.id, item);\n }\n return deduplicatedResult.values();\n }\n });\n }\n });\n}\n\nexport { createExtension, ctxParamsSymbol };\n//# sourceMappingURL=createExtension.esm.js.map\n","import { createExtension, ctxParamsSymbol } from './createExtension.esm.js';\nimport { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { OpaqueType } from '../opaque-internal/src/OpaqueType.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\n\nconst OpaqueBlueprintParams = OpaqueType.create({\n type: \"@backstage/BlueprintParams\",\n versions: [\"v1\"]\n});\nfunction createExtensionBlueprintParams(params) {\n return OpaqueBlueprintParams.createInstance(\"v1\", { T: null, params });\n}\nfunction unwrapParamsFactory(params, defineParams, kind) {\n const paramDefinition = params(defineParams);\n try {\n return OpaqueBlueprintParams.toInternal(paramDefinition).params;\n } catch (e) {\n throw new TypeError(\n `Invalid invocation of blueprint with kind '${kind}', the parameter definition callback function did not return a valid parameter definition object; Caused by: ${e.message}`\n );\n }\n}\nfunction unwrapParams(params, ctx, defineParams, kind) {\n const overrideParams = ctx[ctxParamsSymbol];\n if (defineParams) {\n if (overrideParams) {\n if (typeof overrideParams !== \"function\") {\n throw new TypeError(\n `Invalid extension override of blueprint with kind '${kind}', the override params were passed as a plain object, but this blueprint requires them to be passed in callback form`\n );\n }\n return unwrapParamsFactory(overrideParams, defineParams, kind);\n }\n if (typeof params !== \"function\") {\n throw new TypeError(\n `Invalid invocation of blueprint with kind '${kind}', the parameters where passed as a plain object, but this blueprint requires them to be passed in callback form`\n );\n }\n return unwrapParamsFactory(params, defineParams, kind);\n }\n const base = typeof params === \"function\" ? unwrapParamsFactory(\n params,\n createExtensionBlueprintParams,\n kind\n ) : params;\n const overrides = typeof overrideParams === \"function\" ? unwrapParamsFactory(\n overrideParams,\n createExtensionBlueprintParams,\n kind\n ) : overrideParams;\n return {\n ...base,\n ...overrides\n };\n}\nfunction createExtensionBlueprint(options) {\n const defineParams = options.defineParams;\n return {\n dataRefs: options.dataRefs,\n make(args) {\n return createExtension({\n kind: options.kind,\n name: args.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: options.inputs,\n output: options.output,\n config: options.config,\n factory: (ctx) => options.factory(\n unwrapParams(args.params, ctx, defineParams, options.kind),\n ctx\n )\n });\n },\n makeWithOverrides(args) {\n return createExtension({\n kind: options.kind,\n name: args.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: { ...args.inputs, ...options.inputs },\n output: args.output ?? options.output,\n config: options.config || args.config ? {\n schema: {\n ...options.config?.schema,\n ...args.config?.schema\n }\n } : void 0,\n factory: (ctx) => {\n const { node, config, inputs, apis } = ctx;\n return args.factory(\n (innerParams, innerContext) => {\n return createExtensionDataContainer(\n options.factory(\n unwrapParams(innerParams, ctx, defineParams, options.kind),\n {\n apis,\n node,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n )\n }\n ),\n \"original blueprint factory\",\n options.output\n );\n },\n {\n apis,\n node,\n config,\n inputs\n }\n );\n }\n });\n }\n };\n}\n\nexport { createExtensionBlueprint, createExtensionBlueprintParams };\n//# sourceMappingURL=createExtensionBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint, createExtensionBlueprintParams } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst factoryDataRef = createExtensionDataRef().with({\n id: \"core.analytics.factory\"\n});\nconst AnalyticsImplementationBlueprint = createExtensionBlueprint({\n kind: \"analytics\",\n attachTo: [{ id: \"api:app/analytics\", input: \"implementations\" }],\n output: [factoryDataRef],\n dataRefs: {\n factory: factoryDataRef\n },\n defineParams: (params) => createExtensionBlueprintParams(params),\n *factory(params) {\n yield factoryDataRef(params);\n }\n});\n\nexport { AnalyticsImplementationBlueprint };\n//# sourceMappingURL=AnalyticsImplementationBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint, createExtensionBlueprintParams } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst factoryDataRef = createExtensionDataRef().with({\n id: \"core.api.factory\"\n});\nconst ApiBlueprint = createExtensionBlueprint({\n kind: \"api\",\n attachTo: { id: \"root\", input: \"apis\" },\n output: [factoryDataRef],\n dataRefs: {\n factory: factoryDataRef\n },\n defineParams: (params) => createExtensionBlueprintParams(params),\n *factory(params) {\n yield factoryDataRef(params);\n }\n});\n\nexport { ApiBlueprint };\n//# sourceMappingURL=ApiBlueprint.esm.js.map\n","import { createExtensionDataRef } from './createExtensionDataRef.esm.js';\n\nconst coreExtensionData = {\n reactElement: createExtensionDataRef().with({\n id: \"core.reactElement\"\n }),\n routePath: createExtensionDataRef().with({ id: \"core.routing.path\" }),\n routeRef: createExtensionDataRef().with({ id: \"core.routing.ref\" })\n};\n\nexport { coreExtensionData };\n//# sourceMappingURL=coreExtensionData.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst AppRootElementBlueprint = createExtensionBlueprint({\n kind: \"app-root-element\",\n attachTo: { id: \"app/root\", input: \"elements\" },\n output: [coreExtensionData.reactElement],\n *factory(params) {\n yield coreExtensionData.reactElement(params.element);\n }\n});\n\nexport { AppRootElementBlueprint };\n//# sourceMappingURL=AppRootElementBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.root.wrapper\" });\nconst AppRootWrapperBlueprint = createExtensionBlueprint({\n kind: \"app-root-wrapper\",\n attachTo: { id: \"app/root\", input: \"wrappers\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n yield componentDataRef(params.component);\n }\n});\n\nexport { AppRootWrapperBlueprint };\n//# sourceMappingURL=AppRootWrapperBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst iconsDataRef = createExtensionDataRef().with({ id: \"core.icons\" });\nconst IconBundleBlueprint = createExtensionBlueprint({\n kind: \"icon-bundle\",\n attachTo: { id: \"api:app/icons\", input: \"icons\" },\n output: [iconsDataRef],\n factory: (params) => [\n iconsDataRef(params.icons)\n ],\n dataRefs: {\n icons: iconsDataRef\n }\n});\n\nexport { IconBundleBlueprint };\n//# sourceMappingURL=IconBundleBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({\n id: \"core.nav-content.component\"\n});\nconst NavContentBlueprint = createExtensionBlueprint({\n kind: \"nav-content\",\n attachTo: { id: \"app/nav\", input: \"content\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n yield componentDataRef(params.component);\n }\n});\n\nexport { NavContentBlueprint };\n//# sourceMappingURL=NavContentBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst targetDataRef = createExtensionDataRef().with({ id: \"core.nav-item.target\" });\nconst NavItemBlueprint = createExtensionBlueprint({\n kind: \"nav-item\",\n attachTo: { id: \"app/nav\", input: \"items\" },\n output: [targetDataRef],\n dataRefs: {\n target: targetDataRef\n },\n factory: ({\n icon,\n routeRef,\n title\n }, { config }) => [\n targetDataRef({\n title: config.title ?? title,\n icon,\n routeRef\n })\n ],\n config: {\n schema: {\n title: (z) => z.string().optional()\n }\n }\n});\n\nexport { NavItemBlueprint };\n//# sourceMappingURL=NavItemBlueprint.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueSwappableComponentRef = OpaqueType.create({\n versions: [\"v1\"],\n type: \"@backstage/SwappableComponentRef\"\n});\n\nexport { OpaqueSwappableComponentRef };\n//# sourceMappingURL=InternalSwappableComponentRef.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { swappableComponentsApiRef } from '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport { lazy } from 'react';\nimport { OpaqueSwappableComponentRef } from '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nconst useComponentRefApi = () => {\n try {\n return useApi(swappableComponentsApiRef);\n } catch (e) {\n return void 0;\n }\n};\nfunction createSwappableComponent(options) {\n const FallbackComponent = (p) => /* @__PURE__ */ jsx(\"div\", { \"data-testid\": options.id, ...p });\n const ref = OpaqueSwappableComponentRef.createInstance(\"v1\", {\n id: options.id,\n TProps: null,\n TExternalProps: null,\n toString() {\n return `SwappableComponentRef{id=${options.id}}`;\n },\n defaultComponent: lazy(async () => {\n const Component = await options.loader?.() ?? FallbackComponent;\n return { default: Component };\n }),\n transformProps: options.transformProps\n });\n const ComponentRefImpl = (props) => {\n const api = useComponentRefApi();\n if (!api) {\n const internalRef = OpaqueSwappableComponentRef.toInternal(ref);\n const Component2 = internalRef.defaultComponent;\n const innerProps = internalRef.transformProps?.(props) ?? props;\n return /* @__PURE__ */ jsx(Component2, { ...innerProps });\n }\n const Component = api.getComponent(ref);\n return /* @__PURE__ */ jsx(Component, { ...props });\n };\n Object.assign(ComponentRefImpl, { ref });\n return ComponentRefImpl;\n}\n\nexport { createSwappableComponent };\n//# sourceMappingURL=createSwappableComponent.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createSwappableComponent } from './createSwappableComponent.esm.js';\n\nconst Progress = createSwappableComponent({\n id: \"core-progress\"\n});\nconst NotFoundErrorPage = createSwappableComponent({\n id: \"core-not-found-error-page\"\n});\nconst ErrorDisplay = createSwappableComponent({\n id: \"core-error-display\",\n loader: () => (props) => /* @__PURE__ */ jsx(\"div\", { \"data-testid\": \"core-error-display\", children: props.error.message })\n});\n\nexport { ErrorDisplay, NotFoundErrorPage, Progress };\n//# sourceMappingURL=DefaultSwappableComponents.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { Component } from 'react';\nimport { ErrorDisplay } from './DefaultSwappableComponents.esm.js';\n\nclass ErrorBoundary extends Component {\n static getDerivedStateFromError(error) {\n return { error };\n }\n state = { error: void 0 };\n handleErrorReset = () => {\n this.setState({ error: void 0 });\n };\n render() {\n const { error } = this.state;\n const { plugin, children } = this.props;\n if (error) {\n return /* @__PURE__ */ jsx(\n ErrorDisplay,\n {\n plugin,\n error,\n resetError: this.handleErrorReset\n }\n );\n }\n return children;\n }\n}\n\nexport { ErrorBoundary };\n//# sourceMappingURL=ErrorBoundary.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\ngetOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\n\nexport { routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, createVersionedValueMap, useVersionedContext } from '@backstage/version-bridge';\n\nconst CONTEXT_KEY = \"app-node-context\";\nconst AppNodeContext = createVersionedContext(CONTEXT_KEY);\nfunction AppNodeProvider({\n node,\n children\n}) {\n const versionedValue = createVersionedValueMap({ 1: { node } });\n return /* @__PURE__ */ jsx(AppNodeContext.Provider, { value: versionedValue, children });\n}\nfunction useAppNode() {\n const versionedContext = useVersionedContext(CONTEXT_KEY);\n if (!versionedContext) {\n return void 0;\n }\n const context = versionedContext.atVersion(1);\n if (!context) {\n throw new Error(\"AppNodeContext v1 not available\");\n }\n return context.node;\n}\n\nexport { AppNodeProvider, useAppNode };\n//# sourceMappingURL=AppNodeProvider.esm.js.map\n","import { jsx, Fragment } from 'react/jsx-runtime';\nimport { lazy, Suspense, useEffect } from 'react';\nimport { AnalyticsContext, useAnalytics } from '@backstage/core-plugin-api';\nimport { ErrorBoundary } from './ErrorBoundary.esm.js';\nimport { routableExtensionRenderedEvent } from '../core-plugin-api/src/analytics/Tracker.esm.js';\nimport { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport '../wiring/createExtensionBlueprint.esm.js';\nimport { AppNodeProvider } from './AppNodeProvider.esm.js';\nimport { Progress } from './DefaultSwappableComponents.esm.js';\n\nconst RouteTracker = (props) => {\n const { enabled, children } = props;\n const analytics = useAnalytics();\n useEffect(() => {\n if (enabled) {\n analytics.captureEvent(routableExtensionRenderedEvent, \"\");\n }\n }, [analytics, enabled]);\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction ExtensionBoundary(props) {\n const { node, children } = props;\n const hasRoutePathOutput = Boolean(\n node.instance?.getData(coreExtensionData.routePath)\n );\n const plugin = node.spec.plugin;\n const attributes = {\n extensionId: node.spec.id,\n pluginId: node.spec.plugin?.id ?? \"app\"\n };\n return /* @__PURE__ */ jsx(AppNodeProvider, { node, children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Progress, {}), children: /* @__PURE__ */ jsx(ErrorBoundary, { plugin, children: /* @__PURE__ */ jsx(AnalyticsContext, { attributes, children: /* @__PURE__ */ jsx(RouteTracker, { enabled: hasRoutePathOutput, children }) }) }) }) });\n}\n((ExtensionBoundary2) => {\n function lazy$1(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((element) => ({ default: () => element }))\n );\n return /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, {}) });\n }\n ExtensionBoundary2.lazy = lazy$1;\n function lazyComponent(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((Component) => ({ default: Component }))\n );\n return (props) => /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) });\n }\n ExtensionBoundary2.lazyComponent = lazyComponent;\n})(ExtensionBoundary || (ExtensionBoundary = {}));\n\nexport { ExtensionBoundary };\n//# sourceMappingURL=ExtensionBoundary.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport 'react/jsx-runtime';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '@backstage/core-plugin-api';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport 'react';\nimport '../components/AppNodeProvider.esm.js';\nimport '../components/DefaultSwappableComponents.esm.js';\n\nconst PageBlueprint = createExtensionBlueprint({\n kind: \"page\",\n attachTo: { id: \"app/routes\", input: \"routes\" },\n output: [\n coreExtensionData.routePath,\n coreExtensionData.reactElement,\n coreExtensionData.routeRef.optional()\n ],\n config: {\n schema: {\n path: (z) => z.string().optional()\n }\n },\n *factory(params, { config, node }) {\n yield coreExtensionData.routePath(config.path ?? params.path);\n yield coreExtensionData.reactElement(\n ExtensionBoundary.lazy(node, params.loader)\n );\n if (params.routeRef) {\n yield coreExtensionData.routeRef(params.routeRef);\n }\n }\n});\n\nexport { PageBlueprint };\n//# sourceMappingURL=PageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.router.wrapper\" });\nconst RouterBlueprint = createExtensionBlueprint({\n kind: \"app-router-component\",\n attachTo: { id: \"app/root\", input: \"router\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n yield componentDataRef(params.component);\n }\n});\n\nexport { RouterBlueprint };\n//# sourceMappingURL=RouterBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { lazy } from 'react';\nimport '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '@backstage/core-plugin-api';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport '../components/AppNodeProvider.esm.js';\nimport '../components/DefaultSwappableComponents.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"core.sign-in-page.component\" });\nconst SignInPageBlueprint = createExtensionBlueprint({\n kind: \"sign-in-page\",\n attachTo: { id: \"app/root\", input: \"signInPage\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory({\n loader\n }, { node }) {\n const ExtensionComponent = lazy(\n () => loader().then((component) => ({ default: component }))\n );\n yield componentDataRef((props) => /* @__PURE__ */ jsx(ExtensionBoundary, { node, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) }));\n }\n});\n\nexport { SignInPageBlueprint };\n//# sourceMappingURL=SignInPageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst themeDataRef = createExtensionDataRef().with({\n id: \"core.theme.theme\"\n});\nconst ThemeBlueprint = createExtensionBlueprint({\n kind: \"theme\",\n attachTo: { id: \"api:app/app-theme\", input: \"themes\" },\n output: [themeDataRef],\n dataRefs: {\n theme: themeDataRef\n },\n factory: ({ theme }) => [themeDataRef(theme)]\n});\n\nexport { ThemeBlueprint };\n//# sourceMappingURL=ThemeBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst translationDataRef = createExtensionDataRef().with({ id: \"core.translation.translation\" });\nconst TranslationBlueprint = createExtensionBlueprint({\n kind: \"translation\",\n attachTo: { id: \"api:app/translations\", input: \"translations\" },\n output: [translationDataRef],\n dataRefs: {\n translation: translationDataRef\n },\n factory: ({\n resource\n }) => [translationDataRef(resource)]\n});\n\nexport { TranslationBlueprint };\n//# sourceMappingURL=TranslationBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint, createExtensionBlueprintParams } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"core.swappableComponent\" });\nconst SwappableComponentBlueprint = createExtensionBlueprint({\n kind: \"component\",\n attachTo: { id: \"api:app/swappable-components\", input: \"components\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n defineParams(params) {\n return createExtensionBlueprintParams(params);\n },\n factory: (params) => [\n componentDataRef({\n ref: params.component.ref,\n loader: params.loader\n })\n ]\n});\n\nexport { SwappableComponentBlueprint, componentDataRef };\n//# sourceMappingURL=SwappableComponentBlueprint.esm.js.map\n","const MESSAGE_MARKER = \"eHgtF5hmbrXyiEvo\";\nfunction describeParentCallSite(ErrorConstructor = Error) {\n const { stack } = new ErrorConstructor(MESSAGE_MARKER);\n if (!stack) {\n return \"<unknown>\";\n }\n const startIndex = stack.includes(MESSAGE_MARKER) ? stack.indexOf(\"\\n\") + 1 : 0;\n const secondEntryStart = stack.indexOf(\"\\n\", stack.indexOf(\"\\n\", startIndex) + 1) + 1;\n const secondEntryEnd = stack.indexOf(\"\\n\", secondEntryStart);\n const line = stack.substring(secondEntryStart, secondEntryEnd).trim();\n if (!line) {\n return \"unknown\";\n }\n if (line.includes(\"(\")) {\n return line.substring(line.indexOf(\"(\") + 1, line.indexOf(\")\"));\n }\n if (line.includes(\"@\")) {\n return line.substring(line.indexOf(\"@\") + 1);\n }\n return line;\n}\n\nexport { describeParentCallSite };\n//# sourceMappingURL=describeParentCallSite.esm.js.map\n","import { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nfunction toInternalRouteRef(resource) {\n const r = resource;\n if (r.$$type !== \"@backstage/RouteRef\") {\n throw new Error(`Invalid RouteRef, bad type '${r.$$type}'`);\n }\n return r;\n}\nclass RouteRefImpl {\n constructor(params = [], creationSite, alias) {\n this.params = params;\n this.#params = params;\n this.#creationSite = creationSite;\n this.#alias = alias;\n }\n $$type = \"@backstage/RouteRef\";\n version = \"v1\";\n #id;\n #params;\n #creationSite;\n #alias;\n getParams() {\n return this.#params;\n }\n get alias() {\n return this.#alias;\n }\n getDescription() {\n if (this.#id) {\n return this.#id;\n }\n return `created at '${this.#creationSite}'`;\n }\n get #name() {\n return this.$$type.slice(\"@backstage/\".length);\n }\n setId(id) {\n if (!id) {\n throw new Error(`${this.#name} id must be a non-empty string`);\n }\n if (this.#id && this.#id !== id) {\n throw new Error(\n `${this.#name} was referenced twice as both '${this.#id}' and '${id}'`\n );\n }\n this.#id = id;\n }\n toString() {\n return `${this.#name}{${this.getDescription()}}`;\n }\n}\nfunction createRouteRef(config) {\n return new RouteRefImpl(\n config?.params,\n describeParentCallSite(),\n config?.aliasFor\n );\n}\n\nexport { RouteRefImpl, createRouteRef, toInternalRouteRef };\n//# sourceMappingURL=RouteRef.esm.js.map\n","import { toInternalRouteRef } from './RouteRef.esm.js';\n\nconst PARAM_PATTERN = /^\\w+$/;\nclass SubRouteRefImpl {\n constructor(path, params, parent) {\n this.path = path;\n this.#params = params;\n this.#parent = parent;\n }\n $$type = \"@backstage/SubRouteRef\";\n version = \"v1\";\n #params;\n #parent;\n getParams() {\n return this.#params;\n }\n getParent() {\n return this.#parent;\n }\n getDescription() {\n const parent = toInternalRouteRef(this.#parent);\n return `at ${this.path} with parent ${parent.getDescription()}`;\n }\n toString() {\n return `SubRouteRef{${this.getDescription()}}`;\n }\n}\nfunction createSubRouteRef(config) {\n const { path, parent } = config;\n const internalParent = toInternalRouteRef(parent);\n const parentParams = internalParent.getParams();\n const pathParams = path.split(\"/\").filter((p) => p.startsWith(\":\")).map((p) => p.substring(1));\n const params = [...parentParams, ...pathParams];\n if (parentParams.some((p) => pathParams.includes(p))) {\n throw new Error(\n \"SubRouteRef may not have params that overlap with its parent\"\n );\n }\n if (!path.startsWith(\"/\")) {\n throw new Error(`SubRouteRef path must start with '/', got '${path}'`);\n }\n if (path.endsWith(\"/\")) {\n throw new Error(`SubRouteRef path must not end with '/', got '${path}'`);\n }\n for (const param of pathParams) {\n if (!PARAM_PATTERN.test(param)) {\n throw new Error(`SubRouteRef path has invalid param, got '${param}'`);\n }\n }\n const subRouteRef = new SubRouteRefImpl(\n path,\n params,\n parent\n );\n return subRouteRef;\n}\n\nexport { SubRouteRefImpl, createSubRouteRef };\n//# sourceMappingURL=SubRouteRef.esm.js.map\n","import { RouteRefImpl } from './RouteRef.esm.js';\nimport { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nclass ExternalRouteRefImpl extends RouteRefImpl {\n constructor(params = [], defaultTarget, creationSite) {\n super(params, creationSite);\n this.params = params;\n this.defaultTarget = defaultTarget;\n }\n $$type = \"@backstage/ExternalRouteRef\";\n getDefaultTarget() {\n return this.defaultTarget;\n }\n}\nfunction createExternalRouteRef(options) {\n return new ExternalRouteRefImpl(\n options?.params,\n options?.defaultTarget,\n describeParentCallSite()\n );\n}\n\nexport { createExternalRouteRef };\n//# sourceMappingURL=ExternalRouteRef.esm.js.map\n","import { useMemo } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useApi } from '@backstage/core-plugin-api';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport { routeResolutionApiRef } from '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\n\nfunction useRouteRef(routeRef) {\n const { pathname } = useLocation();\n const routeResolutionApi = useApi(routeResolutionApiRef);\n const routeFunc = useMemo(\n () => routeResolutionApi.resolve(routeRef, { sourcePath: pathname }),\n [routeResolutionApi, routeRef, pathname]\n );\n return routeFunc;\n}\n\nexport { useRouteRef };\n//# sourceMappingURL=useRouteRef.esm.js.map\n","import { useParams } from 'react-router-dom';\n\nfunction useRouteRefParams(_routeRef) {\n return useParams();\n}\n\nexport { useRouteRefParams };\n//# sourceMappingURL=useRouteRefParams.esm.js.map\n","function createExtensionInput(extensionData, config) {\n if (process.env.NODE_ENV !== \"production\") {\n if (Array.isArray(extensionData)) {\n const seen = /* @__PURE__ */ new Set();\n const duplicates = [];\n for (const dataRef of extensionData) {\n if (seen.has(dataRef.id)) {\n duplicates.push(dataRef.id);\n } else {\n seen.add(dataRef.id);\n }\n }\n if (duplicates.length > 0) {\n throw new Error(\n `ExtensionInput may not have duplicate data refs: '${duplicates.join(\n \"', '\"\n )}'`\n );\n }\n }\n }\n return {\n $$type: \"@backstage/ExtensionInput\",\n extensionData,\n config: {\n singleton: Boolean(config?.singleton),\n optional: Boolean(config?.optional)\n },\n replaces: config?.replaces\n };\n}\n\nexport { createExtensionInput };\n//# sourceMappingURL=createExtensionInput.esm.js.map\n","import { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction resolveExtensionDefinition(definition, context) {\n const internalDefinition = OpaqueExtensionDefinition.toInternal(definition);\n const {\n name,\n kind,\n namespace: _skip1,\n override: _skip2,\n ...rest\n } = internalDefinition;\n const namespace = internalDefinition.namespace ?? context?.namespace;\n const namePart = name && namespace ? `${namespace}/${name}` : namespace || name;\n if (!namePart) {\n throw new Error(\n `Extension must declare an explicit namespace or name as it could not be resolved from context, kind=${kind} namespace=${namespace} name=${name}`\n );\n }\n const id = kind ? `${kind}:${namePart}` : namePart;\n return {\n ...rest,\n $$type: \"@backstage/Extension\",\n version: internalDefinition.version,\n id,\n toString() {\n return `Extension{id=${id}}`;\n }\n };\n}\n\nexport { resolveExtensionDefinition };\n//# sourceMappingURL=resolveExtensionDefinition.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueFrontendPlugin = OpaqueType.create({\n type: \"@backstage/FrontendPlugin\",\n versions: [\"v1\"]\n});\n\nexport { OpaqueFrontendPlugin };\n//# sourceMappingURL=InternalFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueFrontendPlugin } from '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\nimport '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendPlugin(options) {\n const pluginId = options.pluginId;\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return OpaqueFrontendPlugin.createInstance(\"v1\", {\n id: pluginId,\n routes: options.routes ?? {},\n externalRoutes: options.externalRoutes ?? {},\n featureFlags: options.featureFlags ?? [],\n extensions,\n infoOptions: options.info,\n // This method is overridden when the plugin instance is installed in an app\n async info() {\n throw new Error(\n `Attempted to load plugin info for plugin '${pluginId}', but the plugin instance is not installed in an app`\n );\n },\n getExtension(id) {\n const ext = extensionDefinitionsById.get(id);\n if (!ext) {\n throw new Error(\n `Attempted to get non-existent extension '${id}' from plugin '${pluginId}'`\n );\n }\n return ext;\n },\n toString() {\n return `Plugin{id=${pluginId}}`;\n },\n withOverrides(overrides) {\n const overriddenExtensionIds = new Set(\n overrides.extensions.map(\n (e) => resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n const nonOverriddenExtensions = (options.extensions ?? []).filter(\n (e) => !overriddenExtensionIds.has(\n resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n return createFrontendPlugin({\n ...options,\n pluginId,\n extensions: [...nonOverriddenExtensions, ...overrides.extensions],\n info: {\n ...options.info,\n ...overrides.info\n }\n });\n }\n });\n}\n\nexport { createFrontendPlugin };\n//# sourceMappingURL=createFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendModule(options) {\n const { pluginId } = options;\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return {\n $$type: \"@backstage/FrontendModule\",\n version: \"v1\",\n pluginId,\n featureFlags: options.featureFlags ?? [],\n extensions,\n toString() {\n return `Module{pluginId=${pluginId}}`;\n }\n };\n}\n\nexport { createFrontendModule };\n//# sourceMappingURL=createFrontendModule.esm.js.map\n","import { describeParentCallSite } from '../routing/describeParentCallSite.esm.js';\n\nfunction createFrontendFeatureLoader(options) {\n const description = `created at '${describeParentCallSite()}'`;\n return {\n $$type: \"@backstage/FrontendFeatureLoader\",\n version: \"v1\",\n description,\n toString() {\n return `FeatureLoader{description=${description}}`;\n },\n async loader(deps) {\n const it = await options.loader(deps);\n const result = new Array();\n for await (const item of it) {\n if (isFeatureOrLoader(item)) {\n result.push(item);\n } else if (\"default\" in item) {\n result.push(item.default);\n } else {\n throw new Error(`Invalid item \"${item}\"`);\n }\n }\n return result;\n }\n };\n}\nfunction isFeatureOrLoader(obj) {\n if (obj !== null && typeof obj === \"object\" && \"$$type\" in obj) {\n return obj.$$type === \"@backstage/FrontendPlugin\" || obj.$$type === \"@backstage/FrontendModule\" || obj.$$type === \"@backstage/FrontendFeatureLoader\";\n }\n return false;\n}\n\nexport { createFrontendFeatureLoader };\n//# sourceMappingURL=createFrontendFeatureLoader.esm.js.map\n"],"names":["AnalyticsReactContext","createVersionedContext","useAnalyticsContext","theContext","useContext","pluginId","extensionId","theValue","atVersion","Error","AnalyticsContext","options","attributes","children","combinedValue","versionedCombinedValue","createVersionedValueMap","jsx","Provider","value","analyticsApiRef","createApiRef","id","globalEvents","getOrCreateGlobalSingleton","mostRecentGatheredNavigation","mostRecentRoutableExtensionRender","beforeUnloadRegistered","Tracker","constructor","analyticsApi","context","this","addEventListener","captureEvent","once","passive","setContext","action","subject","e","console","warn","useAnalytics","trackerRef","useRef","useApi","error","name","useAnalyticsApi","tracker","current","appTreeApiRef","swappableComponentsApiRef","iconsApiRef","dialogApiRef","routeResolutionApiRef","createExtensionDataRef","createRef","refId","Object","assign","$$type","config","optional","toString","Boolean","with","createExtensionDataContainer","values","contextName","declaredRefs","Symbol","iterator","container","Map","verifyRefs","map","ref","output","delete","set","remainingRefs","Array","from","filter","length","join","get","expectArray","expectItem","resolveInputOverrides","declaredInputs","inputs","inputOverrides","newInputs","hasOwn","declaredInput","providedData","singleton","originalInput","providedContainer","extensionData","node","isArray","withNodesCount","d","data","i","formatIssue","issue","code","unionErrors","issues","message","path","OpaqueType","create","type","Set","versions","TPublic","TInternal","isType","toInternal","TypeError","has","version","expected","createInstance","props","String","OpaqueExtensionDefinition","ctxParamsSymbol","createExtension","schemaDeclaration","schema","configSchema","innerZ","object","fromEntries","entries","k","v","parse","input","result","safeParse","success","createSchemaFromZod","T","kind","attachTo","disabled","factory","parts","push","flat","a","override","overrideOptions","params","apis","parentResult","innerContext","deduplicatedResult","item","OpaqueBlueprintParams","createExtensionBlueprintParams","unwrapParamsFactory","defineParams","paramDefinition","unwrapParams","ctx","overrideParams","createExtensionBlueprint","dataRefs","make","args","makeWithOverrides","innerParams","factoryDataRef","AnalyticsImplementationBlueprint","ApiBlueprint","coreExtensionData","reactElement","routePath","routeRef","AppRootElementBlueprint","element","componentDataRef","AppRootWrapperBlueprint","component","iconsDataRef","IconBundleBlueprint","icons","NavContentBlueprint","targetDataRef","NavItemBlueprint","target","icon","title","z","string","OpaqueSwappableComponentRef","useComponentRefApi","createSwappableComponent","FallbackComponent","p","TProps","TExternalProps","defaultComponent","lazy","async","default","loader","transformProps","ComponentRefImpl","api","internalRef","Component2","innerProps","Component","getComponent","Progress","NotFoundErrorPage","ErrorDisplay","ErrorBoundary","getDerivedStateFromError","state","handleErrorReset","setState","render","plugin","resetError","CONTEXT_KEY","AppNodeContext","AppNodeProvider","versionedValue","useAppNode","versionedContext","useVersionedContext","RouteTracker","enabled","analytics","useEffect","Fragment","ExtensionBoundary","hasRoutePathOutput","instance","getData","spec","Suspense","fallback","ExtensionBoundary2","appNode","ExtensionComponent","then","lazyComponent","PageBlueprint","RouterBlueprint","SignInPageBlueprint","themeDataRef","ThemeBlueprint","theme","translationDataRef","TranslationBlueprint","translation","resource","SwappableComponentBlueprint","MESSAGE_MARKER","describeParentCallSite","ErrorConstructor","stack","startIndex","includes","indexOf","secondEntryStart","secondEntryEnd","line","substring","trim","toInternalRouteRef","r","RouteRefImpl","creationSite","alias","getParams","getDescription","slice","setId","createRouteRef","aliasFor","PARAM_PATTERN","SubRouteRefImpl","parent","getParent","createSubRouteRef","parentParams","pathParams","split","startsWith","some","endsWith","param","test","ExternalRouteRefImpl","defaultTarget","super","getDefaultTarget","createExternalRouteRef","useRouteRef","pathname","useLocation","routeResolutionApi","useMemo","resolve","sourcePath","useRouteRefParams","_routeRef","useParams","createExtensionInput","replaces","resolveExtensionDefinition","definition","internalDefinition","namespace","_skip1","_skip2","rest","namePart","OpaqueFrontendPlugin","createFrontendPlugin","extensions","extensionDefinitionsById","def","internal","ext","size","extensionIds","duplicates","index","routes","externalRoutes","featureFlags","infoOptions","info","getExtension","withOverrides","overrides","overriddenExtensionIds","nonOverriddenExtensions","createFrontendModule","createFrontendFeatureLoader","description","deps","it","isFeatureOrLoader","obj"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/6972.f22b9446.chunk.js","mappings":"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","sources":["webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/analytics/AnalyticsContext.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AnalyticsApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/analytics/Tracker.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/analytics/useAnalytics.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AppTreeApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/SwappableComponentsApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/IconsApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/DialogApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/RouteResolutionApi.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionDataRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/createExtensionDataContainer.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveInputOverrides.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/schema/createSchemaFromZod.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/opaque-internal/src/OpaqueType.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalExtensionDefinition.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtension.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/AnalyticsImplementationBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/ApiBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/coreExtensionData.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootElementBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootWrapperBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/IconBundleBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavContentBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavItemBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/createSwappableComponent.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/DefaultSwappableComponents.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/ErrorBoundary.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/core-plugin-api/src/analytics/Tracker.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/AppNodeProvider.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/components/ExtensionBoundary.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/PageBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/RouterBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/SignInPageBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/ThemeBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/TranslationBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/blueprints/SwappableComponentBlueprint.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/describeParentCallSite.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/RouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/SubRouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/ExternalRouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRef.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRefParams.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionInput.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveExtensionDefinition.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalFrontendPlugin.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendPlugin.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendModule.esm.js","webpack://internal.plugin-kuadrant/./node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendFeatureLoader.esm.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, createVersionedValueMap } from '@backstage/version-bridge';\nimport { useContext } from 'react';\n\nconst AnalyticsReactContext = createVersionedContext(\"analytics-context\");\nconst useAnalyticsContext = () => {\n const theContext = useContext(AnalyticsReactContext);\n if (theContext === void 0) {\n return {\n pluginId: \"app\",\n extensionId: \"app\"\n };\n }\n const theValue = theContext.atVersion(1);\n if (theValue === void 0) {\n throw new Error(\"No context found for version 1.\");\n }\n return theValue;\n};\nconst AnalyticsContext = (options) => {\n const { attributes, children } = options;\n const parentValues = useAnalyticsContext();\n const combinedValue = {\n ...parentValues,\n ...attributes\n };\n const versionedCombinedValue = createVersionedValueMap({ 1: combinedValue });\n return /* @__PURE__ */ jsx(AnalyticsReactContext.Provider, { value: versionedCombinedValue, children });\n};\n\nexport { AnalyticsContext, useAnalyticsContext };\n//# sourceMappingURL=AnalyticsContext.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst analyticsApiRef = createApiRef({\n id: \"core.analytics\"\n});\n\nexport { analyticsApiRef };\n//# sourceMappingURL=AnalyticsApi.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\nconst globalEvents = getOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\nclass Tracker {\n constructor(analyticsApi, context = {\n pluginId: \"root\",\n extensionId: \"App\"\n }) {\n this.analyticsApi = analyticsApi;\n this.context = context;\n if (!globalEvents.beforeUnloadRegistered) {\n addEventListener(\n \"beforeunload\",\n () => {\n if (globalEvents.mostRecentGatheredNavigation) {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n },\n { once: true, passive: true }\n );\n globalEvents.beforeUnloadRegistered = true;\n }\n }\n setContext(context) {\n this.context = context;\n }\n captureEvent(action, subject, {\n value,\n attributes\n } = {}) {\n const context = this.context;\n if (action === routableExtensionRenderedEvent) {\n if (globalEvents.mostRecentGatheredNavigation) {\n globalEvents.mostRecentRoutableExtensionRender = {\n context: {\n ...context,\n extensionId: \"App\"\n }\n };\n }\n return;\n }\n if (globalEvents.mostRecentGatheredNavigation) {\n try {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n if (action === \"navigate\" && context.pluginId === \"root\") {\n globalEvents.mostRecentGatheredNavigation = {\n action,\n subject,\n value,\n attributes,\n context\n };\n return;\n }\n try {\n this.analyticsApi.captureEvent({\n action,\n subject,\n value,\n attributes,\n context\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n }\n}\n\nexport { Tracker, routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { useApi } from '@backstage/core-plugin-api';\nimport { useAnalyticsContext } from './AnalyticsContext.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport { analyticsApiRef } from '../apis/definitions/AnalyticsApi.esm.js';\nimport { useRef } from 'react';\nimport { Tracker } from './Tracker.esm.js';\n\nfunction useAnalyticsApi() {\n try {\n return useApi(analyticsApiRef);\n } catch (error) {\n if (error.name === \"NotImplementedError\") {\n return { captureEvent: () => {\n } };\n }\n throw error;\n }\n}\nfunction useAnalytics() {\n const trackerRef = useRef(null);\n const context = useAnalyticsContext();\n const analyticsApi = useAnalyticsApi();\n function getTracker() {\n if (trackerRef.current === null) {\n trackerRef.current = new Tracker(analyticsApi);\n }\n return trackerRef.current;\n }\n const tracker = getTracker();\n tracker.setContext(context);\n return tracker;\n}\n\nexport { useAnalytics };\n//# sourceMappingURL=useAnalytics.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst appTreeApiRef = createApiRef({ id: \"core.app-tree\" });\n\nexport { appTreeApiRef };\n//# sourceMappingURL=AppTreeApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst swappableComponentsApiRef = createApiRef({\n id: \"core.swappable-components\"\n});\n\nexport { swappableComponentsApiRef };\n//# sourceMappingURL=SwappableComponentsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst iconsApiRef = createApiRef({\n id: \"core.icons\"\n});\n\nexport { iconsApiRef };\n//# sourceMappingURL=IconsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst dialogApiRef = createApiRef({\n id: \"core.dialog\"\n});\n\nexport { dialogApiRef };\n//# sourceMappingURL=DialogApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst routeResolutionApiRef = createApiRef({\n id: \"core.route-resolution\"\n});\n\nexport { routeResolutionApiRef };\n//# sourceMappingURL=RouteResolutionApi.esm.js.map\n","function createExtensionDataRef() {\n const createRef = (refId) => Object.assign(\n (value) => ({\n $$type: \"@backstage/ExtensionDataValue\",\n id: refId,\n value\n }),\n {\n id: refId,\n $$type: \"@backstage/ExtensionDataRef\",\n config: {},\n optional() {\n return {\n ...this,\n config: { ...this.config, optional: true }\n };\n },\n toString() {\n const optional = Boolean(this.config.optional);\n return `ExtensionDataRef{id=${refId},optional=${optional}}`;\n }\n }\n );\n return {\n with(options) {\n return createRef(options.id);\n }\n };\n}\n\nexport { createExtensionDataRef };\n//# sourceMappingURL=createExtensionDataRef.esm.js.map\n","function createExtensionDataContainer(values, contextName, declaredRefs) {\n if (typeof values !== \"object\" || !values?.[Symbol.iterator]) {\n throw new Error(`${contextName} did not provide an iterable object`);\n }\n const container = /* @__PURE__ */ new Map();\n const verifyRefs = declaredRefs && new Map(declaredRefs.map((ref) => [ref.id, ref]));\n for (const output of values) {\n if (verifyRefs) {\n if (!verifyRefs.delete(output.id)) {\n throw new Error(\n `extension data '${output.id}' was provided but not declared`\n );\n }\n }\n container.set(output.id, output);\n }\n const remainingRefs = verifyRefs && Array.from(verifyRefs.values()).filter((ref) => !ref.config.optional);\n if (remainingRefs && remainingRefs.length > 0) {\n throw new Error(\n `missing required extension data value(s) '${remainingRefs.map((ref) => ref.id).join(\", \")}'`\n );\n }\n return {\n get(ref) {\n return container.get(ref.id)?.value;\n },\n [Symbol.iterator]() {\n return container.values();\n }\n };\n}\n\nexport { createExtensionDataContainer };\n//# sourceMappingURL=createExtensionDataContainer.esm.js.map\n","import { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nfunction expectArray(value) {\n return value;\n}\nfunction expectItem(value) {\n return value;\n}\nfunction resolveInputOverrides(declaredInputs, inputs, inputOverrides) {\n if (!declaredInputs || !inputs || !inputOverrides) {\n return inputs;\n }\n const newInputs = {};\n for (const name in declaredInputs) {\n if (!Object.hasOwn(declaredInputs, name)) {\n continue;\n }\n const declaredInput = declaredInputs[name];\n const providedData = inputOverrides[name];\n if (declaredInput.config.singleton) {\n const originalInput = expectItem(inputs[name]);\n if (providedData) {\n const providedContainer = createExtensionDataContainer(\n providedData,\n \"extension input override\",\n declaredInput.extensionData\n );\n if (!originalInput) {\n throw new Error(\n `attempted to override data of input '${name}' but it is not present in the original inputs`\n );\n }\n newInputs[name] = Object.assign(providedContainer, {\n node: originalInput.node\n });\n }\n } else {\n const originalInput = expectArray(inputs[name]);\n if (!Array.isArray(providedData)) {\n throw new Error(\n `override data provided for input '${name}' must be an array`\n );\n }\n if (providedData.length === 0) {\n newInputs[name] = [];\n } else {\n const withNodesCount = providedData.filter((d) => \"node\" in d).length;\n if (withNodesCount === 0) {\n if (originalInput.length !== providedData.length) {\n throw new Error(\n `override data provided for input '${name}' must match the length of the original inputs`\n );\n }\n newInputs[name] = providedData.map((data, i) => {\n const providedContainer = createExtensionDataContainer(\n data,\n \"extension input override\",\n declaredInput.extensionData\n );\n return Object.assign(providedContainer, {\n node: originalInput[i].node\n });\n });\n } else if (withNodesCount === providedData.length) {\n newInputs[name] = providedData;\n } else {\n throw new Error(\n `override data for input '${name}' may not mix forwarded inputs with data overrides`\n );\n }\n }\n }\n }\n return newInputs;\n}\n\nexport { resolveInputOverrides };\n//# sourceMappingURL=resolveInputOverrides.esm.js.map\n","import { z } from 'zod';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nfunction createSchemaFromZod(schemaCreator) {\n const schema = schemaCreator(z);\n return {\n // TODO: Types allow z.array etc here but it will break stuff\n parse: (input) => {\n const result = schema.safeParse(input);\n if (result.success) {\n return result.data;\n }\n throw new Error(result.error.issues.map(formatIssue).join(\"; \"));\n },\n // TODO: Verify why we are not compatible with the latest zodToJsonSchema.\n schema: zodToJsonSchema(schema)\n };\n}\nfunction formatIssue(issue) {\n if (issue.code === \"invalid_union\") {\n return formatIssue(issue.unionErrors[0].issues[0]);\n }\n let message = issue.message;\n if (message === \"Required\") {\n message = `Missing required value`;\n }\n if (issue.path.length) {\n message += ` at '${issue.path.join(\".\")}'`;\n }\n return message;\n}\n\nexport { createSchemaFromZod };\n//# sourceMappingURL=createSchemaFromZod.esm.js.map\n","class OpaqueType {\n /**\n * Creates a new opaque type.\n *\n * @param options.type The type identifier of the opaque type\n * @param options.versions The available versions of the opaque type\n * @returns A new opaque type helper\n */\n static create(options) {\n return new OpaqueType(options.type, new Set(options.versions));\n }\n #type;\n #versions;\n constructor(type, versions) {\n this.#type = type;\n this.#versions = versions;\n }\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TPublic`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TPublic = void 0;\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TInternal`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TInternal = void 0;\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @returns True if the value matches this opaque type\n */\n isType = (value) => {\n return this.#isThisInternalType(value);\n };\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @throws If the value is not an instance of this opaque type or is of an unsupported version\n * @returns The internal version of the opaque type\n */\n toInternal = (value) => {\n if (!this.#isThisInternalType(value)) {\n throw new TypeError(\n `Invalid opaque type, expected '${this.#type}', but got '${this.#stringifyUnknown(value)}'`\n );\n }\n if (!this.#versions.has(value.version)) {\n const versions = Array.from(this.#versions).map(this.#stringifyVersion);\n if (versions.length > 1) {\n versions[versions.length - 1] = `or ${versions[versions.length - 1]}`;\n }\n const expected = versions.length > 2 ? versions.join(\", \") : versions.join(\" \");\n throw new TypeError(\n `Invalid opaque type instance, got version ${this.#stringifyVersion(\n value.version\n )}, expected ${expected}`\n );\n }\n return value;\n };\n /**\n * Creates an instance of the opaque type, returning the public type.\n *\n * @param version The version of the instance to create\n * @param value The remaining public and internal properties of the instance\n * @returns An instance of the opaque type\n */\n createInstance(version, props) {\n return Object.assign(props, {\n $$type: this.#type,\n ...version && { version }\n });\n }\n #isThisInternalType(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n return value.$$type === this.#type;\n }\n #stringifyUnknown(value) {\n if (typeof value !== \"object\") {\n return `<${typeof value}>`;\n }\n if (value === null) {\n return \"<null>\";\n }\n if (\"$$type\" in value) {\n return String(value.$$type);\n }\n return String(value);\n }\n #stringifyVersion = (version) => {\n return version ? `'${version}'` : \"undefined\";\n };\n}\n\nexport { OpaqueType };\n//# sourceMappingURL=OpaqueType.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueExtensionDefinition = OpaqueType.create({\n type: \"@backstage/ExtensionDefinition\",\n versions: [\"v1\", \"v2\"]\n});\n\nexport { OpaqueExtensionDefinition };\n//# sourceMappingURL=InternalExtensionDefinition.esm.js.map\n","import { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { createSchemaFromZod } from '../schema/createSchemaFromZod.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nconst ctxParamsSymbol = Symbol(\"params\");\nfunction createExtension(options) {\n const schemaDeclaration = options.config?.schema;\n const configSchema = schemaDeclaration && createSchemaFromZod(\n (innerZ) => innerZ.object(\n Object.fromEntries(\n Object.entries(schemaDeclaration).map(([k, v]) => [k, v(innerZ)])\n )\n )\n );\n return OpaqueExtensionDefinition.createInstance(\"v2\", {\n T: void 0,\n kind: options.kind,\n name: options.name,\n attachTo: options.attachTo,\n disabled: options.disabled ?? false,\n inputs: options.inputs ?? {},\n output: options.output,\n configSchema,\n factory: options.factory,\n toString() {\n const parts = [];\n if (options.kind) {\n parts.push(`kind=${options.kind}`);\n }\n if (options.name) {\n parts.push(`name=${options.name}`);\n }\n parts.push(\n `attachTo=${[options.attachTo].flat().map((a) => `${a.id}@${a.input}`).join(\"+\")}`\n );\n return `ExtensionDefinition{${parts.join(\",\")}}`;\n },\n override(overrideOptions) {\n if (!Array.isArray(options.output)) {\n throw new Error(\n \"Cannot override an extension that is not declared using the new format with outputs as an array\"\n );\n }\n if (overrideOptions.output && !overrideOptions.factory) {\n throw new Error(\n \"Refused to override output without also overriding factory\"\n );\n }\n if (overrideOptions.params && overrideOptions.factory) {\n throw new Error(\n \"Refused to override params and factory at the same time\"\n );\n }\n return createExtension({\n kind: options.kind,\n name: options.name,\n attachTo: overrideOptions.attachTo ?? options.attachTo,\n disabled: overrideOptions.disabled ?? options.disabled,\n inputs: { ...overrideOptions.inputs, ...options.inputs },\n output: overrideOptions.output ?? options.output,\n config: options.config || overrideOptions.config ? {\n schema: {\n ...options.config?.schema,\n ...overrideOptions.config?.schema\n }\n } : void 0,\n factory: ({ node, apis, config, inputs }) => {\n if (!overrideOptions.factory) {\n return options.factory({\n node,\n apis,\n config,\n inputs,\n [ctxParamsSymbol]: overrideOptions.params\n });\n }\n const parentResult = overrideOptions.factory(\n (innerContext) => {\n return createExtensionDataContainer(\n options.factory({\n node,\n apis,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n ),\n [ctxParamsSymbol]: innerContext?.params\n }),\n \"original extension factory\",\n options.output\n );\n },\n {\n node,\n apis,\n config,\n inputs\n }\n );\n if (typeof parentResult !== \"object\" || !parentResult?.[Symbol.iterator]) {\n throw new Error(\n \"extension factory override did not provide an iterable object\"\n );\n }\n const deduplicatedResult = /* @__PURE__ */ new Map();\n for (const item of parentResult) {\n deduplicatedResult.set(item.id, item);\n }\n return deduplicatedResult.values();\n }\n });\n }\n });\n}\n\nexport { createExtension, ctxParamsSymbol };\n//# sourceMappingURL=createExtension.esm.js.map\n","import { createExtension, ctxParamsSymbol } from './createExtension.esm.js';\nimport { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { OpaqueType } from '../opaque-internal/src/OpaqueType.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\n\nconst OpaqueBlueprintParams = OpaqueType.create({\n type: \"@backstage/BlueprintParams\",\n versions: [\"v1\"]\n});\nfunction createExtensionBlueprintParams(params) {\n return OpaqueBlueprintParams.createInstance(\"v1\", { T: null, params });\n}\nfunction unwrapParamsFactory(params, defineParams, kind) {\n const paramDefinition = params(defineParams);\n try {\n return OpaqueBlueprintParams.toInternal(paramDefinition).params;\n } catch (e) {\n throw new TypeError(\n `Invalid invocation of blueprint with kind '${kind}', the parameter definition callback function did not return a valid parameter definition object; Caused by: ${e.message}`\n );\n }\n}\nfunction unwrapParams(params, ctx, defineParams, kind) {\n const overrideParams = ctx[ctxParamsSymbol];\n if (defineParams) {\n if (overrideParams) {\n if (typeof overrideParams !== \"function\") {\n throw new TypeError(\n `Invalid extension override of blueprint with kind '${kind}', the override params were passed as a plain object, but this blueprint requires them to be passed in callback form`\n );\n }\n return unwrapParamsFactory(overrideParams, defineParams, kind);\n }\n if (typeof params !== \"function\") {\n throw new TypeError(\n `Invalid invocation of blueprint with kind '${kind}', the parameters where passed as a plain object, but this blueprint requires them to be passed in callback form`\n );\n }\n return unwrapParamsFactory(params, defineParams, kind);\n }\n const base = typeof params === \"function\" ? unwrapParamsFactory(\n params,\n createExtensionBlueprintParams,\n kind\n ) : params;\n const overrides = typeof overrideParams === \"function\" ? unwrapParamsFactory(\n overrideParams,\n createExtensionBlueprintParams,\n kind\n ) : overrideParams;\n return {\n ...base,\n ...overrides\n };\n}\nfunction createExtensionBlueprint(options) {\n const defineParams = options.defineParams;\n return {\n dataRefs: options.dataRefs,\n make(args) {\n return createExtension({\n kind: options.kind,\n name: args.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: options.inputs,\n output: options.output,\n config: options.config,\n factory: (ctx) => options.factory(\n unwrapParams(args.params, ctx, defineParams, options.kind),\n ctx\n )\n });\n },\n makeWithOverrides(args) {\n return createExtension({\n kind: options.kind,\n name: args.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: { ...args.inputs, ...options.inputs },\n output: args.output ?? options.output,\n config: options.config || args.config ? {\n schema: {\n ...options.config?.schema,\n ...args.config?.schema\n }\n } : void 0,\n factory: (ctx) => {\n const { node, config, inputs, apis } = ctx;\n return args.factory(\n (innerParams, innerContext) => {\n return createExtensionDataContainer(\n options.factory(\n unwrapParams(innerParams, ctx, defineParams, options.kind),\n {\n apis,\n node,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n )\n }\n ),\n \"original blueprint factory\",\n options.output\n );\n },\n {\n apis,\n node,\n config,\n inputs\n }\n );\n }\n });\n }\n };\n}\n\nexport { createExtensionBlueprint, createExtensionBlueprintParams };\n//# sourceMappingURL=createExtensionBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint, createExtensionBlueprintParams } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst factoryDataRef = createExtensionDataRef().with({\n id: \"core.analytics.factory\"\n});\nconst AnalyticsImplementationBlueprint = createExtensionBlueprint({\n kind: \"analytics\",\n attachTo: [{ id: \"api:app/analytics\", input: \"implementations\" }],\n output: [factoryDataRef],\n dataRefs: {\n factory: factoryDataRef\n },\n defineParams: (params) => createExtensionBlueprintParams(params),\n *factory(params) {\n yield factoryDataRef(params);\n }\n});\n\nexport { AnalyticsImplementationBlueprint };\n//# sourceMappingURL=AnalyticsImplementationBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint, createExtensionBlueprintParams } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst factoryDataRef = createExtensionDataRef().with({\n id: \"core.api.factory\"\n});\nconst ApiBlueprint = createExtensionBlueprint({\n kind: \"api\",\n attachTo: { id: \"root\", input: \"apis\" },\n output: [factoryDataRef],\n dataRefs: {\n factory: factoryDataRef\n },\n defineParams: (params) => createExtensionBlueprintParams(params),\n *factory(params) {\n yield factoryDataRef(params);\n }\n});\n\nexport { ApiBlueprint };\n//# sourceMappingURL=ApiBlueprint.esm.js.map\n","import { createExtensionDataRef } from './createExtensionDataRef.esm.js';\n\nconst coreExtensionData = {\n reactElement: createExtensionDataRef().with({\n id: \"core.reactElement\"\n }),\n routePath: createExtensionDataRef().with({ id: \"core.routing.path\" }),\n routeRef: createExtensionDataRef().with({ id: \"core.routing.ref\" })\n};\n\nexport { coreExtensionData };\n//# sourceMappingURL=coreExtensionData.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst AppRootElementBlueprint = createExtensionBlueprint({\n kind: \"app-root-element\",\n attachTo: { id: \"app/root\", input: \"elements\" },\n output: [coreExtensionData.reactElement],\n *factory(params) {\n yield coreExtensionData.reactElement(params.element);\n }\n});\n\nexport { AppRootElementBlueprint };\n//# sourceMappingURL=AppRootElementBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.root.wrapper\" });\nconst AppRootWrapperBlueprint = createExtensionBlueprint({\n kind: \"app-root-wrapper\",\n attachTo: { id: \"app/root\", input: \"wrappers\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n yield componentDataRef(params.component);\n }\n});\n\nexport { AppRootWrapperBlueprint };\n//# sourceMappingURL=AppRootWrapperBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst iconsDataRef = createExtensionDataRef().with({ id: \"core.icons\" });\nconst IconBundleBlueprint = createExtensionBlueprint({\n kind: \"icon-bundle\",\n attachTo: { id: \"api:app/icons\", input: \"icons\" },\n output: [iconsDataRef],\n factory: (params) => [\n iconsDataRef(params.icons)\n ],\n dataRefs: {\n icons: iconsDataRef\n }\n});\n\nexport { IconBundleBlueprint };\n//# sourceMappingURL=IconBundleBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({\n id: \"core.nav-content.component\"\n});\nconst NavContentBlueprint = createExtensionBlueprint({\n kind: \"nav-content\",\n attachTo: { id: \"app/nav\", input: \"content\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n yield componentDataRef(params.component);\n }\n});\n\nexport { NavContentBlueprint };\n//# sourceMappingURL=NavContentBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst targetDataRef = createExtensionDataRef().with({ id: \"core.nav-item.target\" });\nconst NavItemBlueprint = createExtensionBlueprint({\n kind: \"nav-item\",\n attachTo: { id: \"app/nav\", input: \"items\" },\n output: [targetDataRef],\n dataRefs: {\n target: targetDataRef\n },\n factory: ({\n icon,\n routeRef,\n title\n }, { config }) => [\n targetDataRef({\n title: config.title ?? title,\n icon,\n routeRef\n })\n ],\n config: {\n schema: {\n title: (z) => z.string().optional()\n }\n }\n});\n\nexport { NavItemBlueprint };\n//# sourceMappingURL=NavItemBlueprint.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueSwappableComponentRef = OpaqueType.create({\n versions: [\"v1\"],\n type: \"@backstage/SwappableComponentRef\"\n});\n\nexport { OpaqueSwappableComponentRef };\n//# sourceMappingURL=InternalSwappableComponentRef.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { swappableComponentsApiRef } from '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport { lazy } from 'react';\nimport { OpaqueSwappableComponentRef } from '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nconst useComponentRefApi = () => {\n try {\n return useApi(swappableComponentsApiRef);\n } catch (e) {\n return void 0;\n }\n};\nfunction createSwappableComponent(options) {\n const FallbackComponent = (p) => /* @__PURE__ */ jsx(\"div\", { \"data-testid\": options.id, ...p });\n const ref = OpaqueSwappableComponentRef.createInstance(\"v1\", {\n id: options.id,\n TProps: null,\n TExternalProps: null,\n toString() {\n return `SwappableComponentRef{id=${options.id}}`;\n },\n defaultComponent: lazy(async () => {\n const Component = await options.loader?.() ?? FallbackComponent;\n return { default: Component };\n }),\n transformProps: options.transformProps\n });\n const ComponentRefImpl = (props) => {\n const api = useComponentRefApi();\n if (!api) {\n const internalRef = OpaqueSwappableComponentRef.toInternal(ref);\n const Component2 = internalRef.defaultComponent;\n const innerProps = internalRef.transformProps?.(props) ?? props;\n return /* @__PURE__ */ jsx(Component2, { ...innerProps });\n }\n const Component = api.getComponent(ref);\n return /* @__PURE__ */ jsx(Component, { ...props });\n };\n Object.assign(ComponentRefImpl, { ref });\n return ComponentRefImpl;\n}\n\nexport { createSwappableComponent };\n//# sourceMappingURL=createSwappableComponent.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createSwappableComponent } from './createSwappableComponent.esm.js';\n\nconst Progress = createSwappableComponent({\n id: \"core-progress\"\n});\nconst NotFoundErrorPage = createSwappableComponent({\n id: \"core-not-found-error-page\"\n});\nconst ErrorDisplay = createSwappableComponent({\n id: \"core-error-display\",\n loader: () => (props) => /* @__PURE__ */ jsx(\"div\", { \"data-testid\": \"core-error-display\", children: props.error.message })\n});\n\nexport { ErrorDisplay, NotFoundErrorPage, Progress };\n//# sourceMappingURL=DefaultSwappableComponents.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { Component } from 'react';\nimport { ErrorDisplay } from './DefaultSwappableComponents.esm.js';\n\nclass ErrorBoundary extends Component {\n static getDerivedStateFromError(error) {\n return { error };\n }\n state = { error: void 0 };\n handleErrorReset = () => {\n this.setState({ error: void 0 });\n };\n render() {\n const { error } = this.state;\n const { plugin, children } = this.props;\n if (error) {\n return /* @__PURE__ */ jsx(\n ErrorDisplay,\n {\n plugin,\n error,\n resetError: this.handleErrorReset\n }\n );\n }\n return children;\n }\n}\n\nexport { ErrorBoundary };\n//# sourceMappingURL=ErrorBoundary.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\ngetOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\n\nexport { routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, createVersionedValueMap, useVersionedContext } from '@backstage/version-bridge';\n\nconst CONTEXT_KEY = \"app-node-context\";\nconst AppNodeContext = createVersionedContext(CONTEXT_KEY);\nfunction AppNodeProvider({\n node,\n children\n}) {\n const versionedValue = createVersionedValueMap({ 1: { node } });\n return /* @__PURE__ */ jsx(AppNodeContext.Provider, { value: versionedValue, children });\n}\nfunction useAppNode() {\n const versionedContext = useVersionedContext(CONTEXT_KEY);\n if (!versionedContext) {\n return void 0;\n }\n const context = versionedContext.atVersion(1);\n if (!context) {\n throw new Error(\"AppNodeContext v1 not available\");\n }\n return context.node;\n}\n\nexport { AppNodeProvider, useAppNode };\n//# sourceMappingURL=AppNodeProvider.esm.js.map\n","import { jsx, Fragment } from 'react/jsx-runtime';\nimport { lazy, Suspense, useEffect } from 'react';\nimport { AnalyticsContext, useAnalytics } from '@backstage/core-plugin-api';\nimport { ErrorBoundary } from './ErrorBoundary.esm.js';\nimport { routableExtensionRenderedEvent } from '../core-plugin-api/src/analytics/Tracker.esm.js';\nimport { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport '../wiring/createExtensionBlueprint.esm.js';\nimport { AppNodeProvider } from './AppNodeProvider.esm.js';\nimport { Progress } from './DefaultSwappableComponents.esm.js';\n\nconst RouteTracker = (props) => {\n const { enabled, children } = props;\n const analytics = useAnalytics();\n useEffect(() => {\n if (enabled) {\n analytics.captureEvent(routableExtensionRenderedEvent, \"\");\n }\n }, [analytics, enabled]);\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction ExtensionBoundary(props) {\n const { node, children } = props;\n const hasRoutePathOutput = Boolean(\n node.instance?.getData(coreExtensionData.routePath)\n );\n const plugin = node.spec.plugin;\n const attributes = {\n extensionId: node.spec.id,\n pluginId: node.spec.plugin?.id ?? \"app\"\n };\n return /* @__PURE__ */ jsx(AppNodeProvider, { node, children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Progress, {}), children: /* @__PURE__ */ jsx(ErrorBoundary, { plugin, children: /* @__PURE__ */ jsx(AnalyticsContext, { attributes, children: /* @__PURE__ */ jsx(RouteTracker, { enabled: hasRoutePathOutput, children }) }) }) }) });\n}\n((ExtensionBoundary2) => {\n function lazy$1(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((element) => ({ default: () => element }))\n );\n return /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, {}) });\n }\n ExtensionBoundary2.lazy = lazy$1;\n function lazyComponent(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((Component) => ({ default: Component }))\n );\n return (props) => /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) });\n }\n ExtensionBoundary2.lazyComponent = lazyComponent;\n})(ExtensionBoundary || (ExtensionBoundary = {}));\n\nexport { ExtensionBoundary };\n//# sourceMappingURL=ExtensionBoundary.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport 'react/jsx-runtime';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '@backstage/core-plugin-api';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport 'react';\nimport '../components/AppNodeProvider.esm.js';\nimport '../components/DefaultSwappableComponents.esm.js';\n\nconst PageBlueprint = createExtensionBlueprint({\n kind: \"page\",\n attachTo: { id: \"app/routes\", input: \"routes\" },\n output: [\n coreExtensionData.routePath,\n coreExtensionData.reactElement,\n coreExtensionData.routeRef.optional()\n ],\n config: {\n schema: {\n path: (z) => z.string().optional()\n }\n },\n *factory(params, { config, node }) {\n yield coreExtensionData.routePath(config.path ?? params.path);\n yield coreExtensionData.reactElement(\n ExtensionBoundary.lazy(node, params.loader)\n );\n if (params.routeRef) {\n yield coreExtensionData.routeRef(params.routeRef);\n }\n }\n});\n\nexport { PageBlueprint };\n//# sourceMappingURL=PageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.router.wrapper\" });\nconst RouterBlueprint = createExtensionBlueprint({\n kind: \"app-router-component\",\n attachTo: { id: \"app/root\", input: \"router\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n yield componentDataRef(params.component);\n }\n});\n\nexport { RouterBlueprint };\n//# sourceMappingURL=RouterBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { lazy } from 'react';\nimport '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '@backstage/core-plugin-api';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport '../components/AppNodeProvider.esm.js';\nimport '../components/DefaultSwappableComponents.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"core.sign-in-page.component\" });\nconst SignInPageBlueprint = createExtensionBlueprint({\n kind: \"sign-in-page\",\n attachTo: { id: \"app/root\", input: \"signInPage\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory({\n loader\n }, { node }) {\n const ExtensionComponent = lazy(\n () => loader().then((component) => ({ default: component }))\n );\n yield componentDataRef((props) => /* @__PURE__ */ jsx(ExtensionBoundary, { node, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) }));\n }\n});\n\nexport { SignInPageBlueprint };\n//# sourceMappingURL=SignInPageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst themeDataRef = createExtensionDataRef().with({\n id: \"core.theme.theme\"\n});\nconst ThemeBlueprint = createExtensionBlueprint({\n kind: \"theme\",\n attachTo: { id: \"api:app/app-theme\", input: \"themes\" },\n output: [themeDataRef],\n dataRefs: {\n theme: themeDataRef\n },\n factory: ({ theme }) => [themeDataRef(theme)]\n});\n\nexport { ThemeBlueprint };\n//# sourceMappingURL=ThemeBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst translationDataRef = createExtensionDataRef().with({ id: \"core.translation.translation\" });\nconst TranslationBlueprint = createExtensionBlueprint({\n kind: \"translation\",\n attachTo: { id: \"api:app/translations\", input: \"translations\" },\n output: [translationDataRef],\n dataRefs: {\n translation: translationDataRef\n },\n factory: ({\n resource\n }) => [translationDataRef(resource)]\n});\n\nexport { TranslationBlueprint };\n//# sourceMappingURL=TranslationBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint, createExtensionBlueprintParams } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"core.swappableComponent\" });\nconst SwappableComponentBlueprint = createExtensionBlueprint({\n kind: \"component\",\n attachTo: { id: \"api:app/swappable-components\", input: \"components\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n defineParams(params) {\n return createExtensionBlueprintParams(params);\n },\n factory: (params) => [\n componentDataRef({\n ref: params.component.ref,\n loader: params.loader\n })\n ]\n});\n\nexport { SwappableComponentBlueprint, componentDataRef };\n//# sourceMappingURL=SwappableComponentBlueprint.esm.js.map\n","const MESSAGE_MARKER = \"eHgtF5hmbrXyiEvo\";\nfunction describeParentCallSite(ErrorConstructor = Error) {\n const { stack } = new ErrorConstructor(MESSAGE_MARKER);\n if (!stack) {\n return \"<unknown>\";\n }\n const startIndex = stack.includes(MESSAGE_MARKER) ? stack.indexOf(\"\\n\") + 1 : 0;\n const secondEntryStart = stack.indexOf(\"\\n\", stack.indexOf(\"\\n\", startIndex) + 1) + 1;\n const secondEntryEnd = stack.indexOf(\"\\n\", secondEntryStart);\n const line = stack.substring(secondEntryStart, secondEntryEnd).trim();\n if (!line) {\n return \"unknown\";\n }\n if (line.includes(\"(\")) {\n return line.substring(line.indexOf(\"(\") + 1, line.indexOf(\")\"));\n }\n if (line.includes(\"@\")) {\n return line.substring(line.indexOf(\"@\") + 1);\n }\n return line;\n}\n\nexport { describeParentCallSite };\n//# sourceMappingURL=describeParentCallSite.esm.js.map\n","import { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nfunction toInternalRouteRef(resource) {\n const r = resource;\n if (r.$$type !== \"@backstage/RouteRef\") {\n throw new Error(`Invalid RouteRef, bad type '${r.$$type}'`);\n }\n return r;\n}\nclass RouteRefImpl {\n constructor(params = [], creationSite, alias) {\n this.params = params;\n this.#params = params;\n this.#creationSite = creationSite;\n this.#alias = alias;\n }\n $$type = \"@backstage/RouteRef\";\n version = \"v1\";\n #id;\n #params;\n #creationSite;\n #alias;\n getParams() {\n return this.#params;\n }\n get alias() {\n return this.#alias;\n }\n getDescription() {\n if (this.#id) {\n return this.#id;\n }\n return `created at '${this.#creationSite}'`;\n }\n get #name() {\n return this.$$type.slice(\"@backstage/\".length);\n }\n setId(id) {\n if (!id) {\n throw new Error(`${this.#name} id must be a non-empty string`);\n }\n if (this.#id && this.#id !== id) {\n throw new Error(\n `${this.#name} was referenced twice as both '${this.#id}' and '${id}'`\n );\n }\n this.#id = id;\n }\n toString() {\n return `${this.#name}{${this.getDescription()}}`;\n }\n}\nfunction createRouteRef(config) {\n return new RouteRefImpl(\n config?.params,\n describeParentCallSite(),\n config?.aliasFor\n );\n}\n\nexport { RouteRefImpl, createRouteRef, toInternalRouteRef };\n//# sourceMappingURL=RouteRef.esm.js.map\n","import { toInternalRouteRef } from './RouteRef.esm.js';\n\nconst PARAM_PATTERN = /^\\w+$/;\nclass SubRouteRefImpl {\n constructor(path, params, parent) {\n this.path = path;\n this.#params = params;\n this.#parent = parent;\n }\n $$type = \"@backstage/SubRouteRef\";\n version = \"v1\";\n #params;\n #parent;\n getParams() {\n return this.#params;\n }\n getParent() {\n return this.#parent;\n }\n getDescription() {\n const parent = toInternalRouteRef(this.#parent);\n return `at ${this.path} with parent ${parent.getDescription()}`;\n }\n toString() {\n return `SubRouteRef{${this.getDescription()}}`;\n }\n}\nfunction createSubRouteRef(config) {\n const { path, parent } = config;\n const internalParent = toInternalRouteRef(parent);\n const parentParams = internalParent.getParams();\n const pathParams = path.split(\"/\").filter((p) => p.startsWith(\":\")).map((p) => p.substring(1));\n const params = [...parentParams, ...pathParams];\n if (parentParams.some((p) => pathParams.includes(p))) {\n throw new Error(\n \"SubRouteRef may not have params that overlap with its parent\"\n );\n }\n if (!path.startsWith(\"/\")) {\n throw new Error(`SubRouteRef path must start with '/', got '${path}'`);\n }\n if (path.endsWith(\"/\")) {\n throw new Error(`SubRouteRef path must not end with '/', got '${path}'`);\n }\n for (const param of pathParams) {\n if (!PARAM_PATTERN.test(param)) {\n throw new Error(`SubRouteRef path has invalid param, got '${param}'`);\n }\n }\n const subRouteRef = new SubRouteRefImpl(\n path,\n params,\n parent\n );\n return subRouteRef;\n}\n\nexport { SubRouteRefImpl, createSubRouteRef };\n//# sourceMappingURL=SubRouteRef.esm.js.map\n","import { RouteRefImpl } from './RouteRef.esm.js';\nimport { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nclass ExternalRouteRefImpl extends RouteRefImpl {\n constructor(params = [], defaultTarget, creationSite) {\n super(params, creationSite);\n this.params = params;\n this.defaultTarget = defaultTarget;\n }\n $$type = \"@backstage/ExternalRouteRef\";\n getDefaultTarget() {\n return this.defaultTarget;\n }\n}\nfunction createExternalRouteRef(options) {\n return new ExternalRouteRefImpl(\n options?.params,\n options?.defaultTarget,\n describeParentCallSite()\n );\n}\n\nexport { createExternalRouteRef };\n//# sourceMappingURL=ExternalRouteRef.esm.js.map\n","import { useMemo } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useApi } from '@backstage/core-plugin-api';\nimport '../apis/definitions/SwappableComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport { routeResolutionApiRef } from '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\n\nfunction useRouteRef(routeRef) {\n const { pathname } = useLocation();\n const routeResolutionApi = useApi(routeResolutionApiRef);\n const routeFunc = useMemo(\n () => routeResolutionApi.resolve(routeRef, { sourcePath: pathname }),\n [routeResolutionApi, routeRef, pathname]\n );\n return routeFunc;\n}\n\nexport { useRouteRef };\n//# sourceMappingURL=useRouteRef.esm.js.map\n","import { useParams } from 'react-router-dom';\n\nfunction useRouteRefParams(_routeRef) {\n return useParams();\n}\n\nexport { useRouteRefParams };\n//# sourceMappingURL=useRouteRefParams.esm.js.map\n","function createExtensionInput(extensionData, config) {\n if (process.env.NODE_ENV !== \"production\") {\n if (Array.isArray(extensionData)) {\n const seen = /* @__PURE__ */ new Set();\n const duplicates = [];\n for (const dataRef of extensionData) {\n if (seen.has(dataRef.id)) {\n duplicates.push(dataRef.id);\n } else {\n seen.add(dataRef.id);\n }\n }\n if (duplicates.length > 0) {\n throw new Error(\n `ExtensionInput may not have duplicate data refs: '${duplicates.join(\n \"', '\"\n )}'`\n );\n }\n }\n }\n return {\n $$type: \"@backstage/ExtensionInput\",\n extensionData,\n config: {\n singleton: Boolean(config?.singleton),\n optional: Boolean(config?.optional)\n },\n replaces: config?.replaces\n };\n}\n\nexport { createExtensionInput };\n//# sourceMappingURL=createExtensionInput.esm.js.map\n","import { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction resolveExtensionDefinition(definition, context) {\n const internalDefinition = OpaqueExtensionDefinition.toInternal(definition);\n const {\n name,\n kind,\n namespace: _skip1,\n override: _skip2,\n ...rest\n } = internalDefinition;\n const namespace = internalDefinition.namespace ?? context?.namespace;\n const namePart = name && namespace ? `${namespace}/${name}` : namespace || name;\n if (!namePart) {\n throw new Error(\n `Extension must declare an explicit namespace or name as it could not be resolved from context, kind=${kind} namespace=${namespace} name=${name}`\n );\n }\n const id = kind ? `${kind}:${namePart}` : namePart;\n return {\n ...rest,\n $$type: \"@backstage/Extension\",\n version: internalDefinition.version,\n id,\n toString() {\n return `Extension{id=${id}}`;\n }\n };\n}\n\nexport { resolveExtensionDefinition };\n//# sourceMappingURL=resolveExtensionDefinition.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueFrontendPlugin = OpaqueType.create({\n type: \"@backstage/FrontendPlugin\",\n versions: [\"v1\"]\n});\n\nexport { OpaqueFrontendPlugin };\n//# sourceMappingURL=InternalFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueFrontendPlugin } from '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\nimport '../frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendPlugin(options) {\n const pluginId = options.pluginId;\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return OpaqueFrontendPlugin.createInstance(\"v1\", {\n id: pluginId,\n routes: options.routes ?? {},\n externalRoutes: options.externalRoutes ?? {},\n featureFlags: options.featureFlags ?? [],\n extensions,\n infoOptions: options.info,\n // This method is overridden when the plugin instance is installed in an app\n async info() {\n throw new Error(\n `Attempted to load plugin info for plugin '${pluginId}', but the plugin instance is not installed in an app`\n );\n },\n getExtension(id) {\n const ext = extensionDefinitionsById.get(id);\n if (!ext) {\n throw new Error(\n `Attempted to get non-existent extension '${id}' from plugin '${pluginId}'`\n );\n }\n return ext;\n },\n toString() {\n return `Plugin{id=${pluginId}}`;\n },\n withOverrides(overrides) {\n const overriddenExtensionIds = new Set(\n overrides.extensions.map(\n (e) => resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n const nonOverriddenExtensions = (options.extensions ?? []).filter(\n (e) => !overriddenExtensionIds.has(\n resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n return createFrontendPlugin({\n ...options,\n pluginId,\n extensions: [...nonOverriddenExtensions, ...overrides.extensions],\n info: {\n ...options.info,\n ...overrides.info\n }\n });\n }\n });\n}\n\nexport { createFrontendPlugin };\n//# sourceMappingURL=createFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendModule(options) {\n const { pluginId } = options;\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return {\n $$type: \"@backstage/FrontendModule\",\n version: \"v1\",\n pluginId,\n featureFlags: options.featureFlags ?? [],\n extensions,\n toString() {\n return `Module{pluginId=${pluginId}}`;\n }\n };\n}\n\nexport { createFrontendModule };\n//# sourceMappingURL=createFrontendModule.esm.js.map\n","import { describeParentCallSite } from '../routing/describeParentCallSite.esm.js';\n\nfunction createFrontendFeatureLoader(options) {\n const description = `created at '${describeParentCallSite()}'`;\n return {\n $$type: \"@backstage/FrontendFeatureLoader\",\n version: \"v1\",\n description,\n toString() {\n return `FeatureLoader{description=${description}}`;\n },\n async loader(deps) {\n const it = await options.loader(deps);\n const result = new Array();\n for await (const item of it) {\n if (isFeatureOrLoader(item)) {\n result.push(item);\n } else if (\"default\" in item) {\n result.push(item.default);\n } else {\n throw new Error(`Invalid item \"${item}\"`);\n }\n }\n return result;\n }\n };\n}\nfunction isFeatureOrLoader(obj) {\n if (obj !== null && typeof obj === \"object\" && \"$$type\" in obj) {\n return obj.$$type === \"@backstage/FrontendPlugin\" || obj.$$type === \"@backstage/FrontendModule\" || obj.$$type === \"@backstage/FrontendFeatureLoader\";\n }\n return false;\n}\n\nexport { createFrontendFeatureLoader };\n//# sourceMappingURL=createFrontendFeatureLoader.esm.js.map\n"],"names":["AnalyticsReactContext","createVersionedContext","useAnalyticsContext","theContext","useContext","pluginId","extensionId","theValue","atVersion","Error","AnalyticsContext","options","attributes","children","combinedValue","versionedCombinedValue","createVersionedValueMap","jsx","Provider","value","analyticsApiRef","createApiRef","id","globalEvents","getOrCreateGlobalSingleton","mostRecentGatheredNavigation","mostRecentRoutableExtensionRender","beforeUnloadRegistered","Tracker","constructor","analyticsApi","context","this","addEventListener","captureEvent","once","passive","setContext","action","subject","e","console","warn","useAnalytics","trackerRef","useRef","useApi","error","name","useAnalyticsApi","tracker","current","appTreeApiRef","swappableComponentsApiRef","iconsApiRef","dialogApiRef","routeResolutionApiRef","createExtensionDataRef","createRef","refId","Object","assign","$$type","config","optional","toString","Boolean","with","createExtensionDataContainer","values","contextName","declaredRefs","Symbol","iterator","container","Map","verifyRefs","map","ref","output","delete","set","remainingRefs","Array","from","filter","length","join","get","expectArray","expectItem","resolveInputOverrides","declaredInputs","inputs","inputOverrides","newInputs","hasOwn","declaredInput","providedData","singleton","originalInput","providedContainer","extensionData","node","isArray","withNodesCount","d","data","i","formatIssue","issue","code","unionErrors","issues","message","path","OpaqueType","create","type","Set","versions","TPublic","TInternal","isType","toInternal","TypeError","has","version","expected","createInstance","props","String","OpaqueExtensionDefinition","ctxParamsSymbol","createExtension","schemaDeclaration","schema","configSchema","innerZ","object","fromEntries","entries","k","v","parse","input","result","safeParse","success","createSchemaFromZod","T","kind","attachTo","disabled","factory","parts","push","flat","a","override","overrideOptions","params","apis","parentResult","innerContext","deduplicatedResult","item","OpaqueBlueprintParams","createExtensionBlueprintParams","unwrapParamsFactory","defineParams","paramDefinition","unwrapParams","ctx","overrideParams","createExtensionBlueprint","dataRefs","make","args","makeWithOverrides","innerParams","factoryDataRef","AnalyticsImplementationBlueprint","ApiBlueprint","coreExtensionData","reactElement","routePath","routeRef","AppRootElementBlueprint","element","componentDataRef","AppRootWrapperBlueprint","component","iconsDataRef","IconBundleBlueprint","icons","NavContentBlueprint","targetDataRef","NavItemBlueprint","target","icon","title","z","string","OpaqueSwappableComponentRef","useComponentRefApi","createSwappableComponent","FallbackComponent","p","TProps","TExternalProps","defaultComponent","lazy","async","default","loader","transformProps","ComponentRefImpl","api","internalRef","Component2","innerProps","Component","getComponent","Progress","NotFoundErrorPage","ErrorDisplay","ErrorBoundary","getDerivedStateFromError","state","handleErrorReset","setState","render","plugin","resetError","CONTEXT_KEY","AppNodeContext","AppNodeProvider","versionedValue","useAppNode","versionedContext","useVersionedContext","RouteTracker","enabled","analytics","useEffect","Fragment","ExtensionBoundary","hasRoutePathOutput","instance","getData","spec","Suspense","fallback","ExtensionBoundary2","appNode","ExtensionComponent","then","lazyComponent","PageBlueprint","RouterBlueprint","SignInPageBlueprint","themeDataRef","ThemeBlueprint","theme","translationDataRef","TranslationBlueprint","translation","resource","SwappableComponentBlueprint","MESSAGE_MARKER","describeParentCallSite","ErrorConstructor","stack","startIndex","includes","indexOf","secondEntryStart","secondEntryEnd","line","substring","trim","toInternalRouteRef","r","RouteRefImpl","creationSite","alias","getParams","getDescription","slice","setId","createRouteRef","aliasFor","PARAM_PATTERN","SubRouteRefImpl","parent","getParent","createSubRouteRef","parentParams","pathParams","split","startsWith","some","endsWith","param","test","ExternalRouteRefImpl","defaultTarget","super","getDefaultTarget","createExternalRouteRef","useRouteRef","pathname","useLocation","routeResolutionApi","useMemo","resolve","sourcePath","useRouteRefParams","_routeRef","useParams","createExtensionInput","replaces","resolveExtensionDefinition","definition","internalDefinition","namespace","_skip1","_skip2","rest","namePart","OpaqueFrontendPlugin","createFrontendPlugin","extensions","extensionDefinitionsById","def","internal","ext","size","extensionIds","duplicates","index","routes","externalRoutes","featureFlags","infoOptions","info","getExtension","withOverrides","overrides","overriddenExtensionIds","nonOverriddenExtensions","createFrontendModule","createFrontendFeatureLoader","description","deps","it","isFeatureOrLoader","obj"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkinternal_plugin_kuadrant=self.webpackChunkinternal_plugin_kuadrant||[]).push([[7164],{67164:(e,t,r)=>{r.r(t),r.d(t,{default:()=>ne});var n=function(){function e(e){var t=this;this._insertTag=function(e){var r;r=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,r),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{r.insertRule(e,r.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},e}(),a=Math.abs,c=String.fromCharCode,s=Object.assign;function i(e){return e.trim()}function u(e,t,r){return e.replace(t,r)}function o(e,t){return e.indexOf(t)}function l(e,t){return 0|e.charCodeAt(t)}function f(e,t,r){return e.slice(t,r)}function h(e){return e.length}function p(e){return e.length}function d(e,t){return t.push(e),e}var g=1,b=1,v=0,y=0,k=0,m="";function w(e,t,r,n,a,c,s){return{value:e,root:t,parent:r,type:n,props:a,children:c,line:g,column:b,length:s,return:""}}function $(e,t){return s(w("",null,null,"",null,null,0),e,{length:-e.length},t)}function x(){return k=y>0?l(m,--y):0,b--,10===k&&(b=1,g--),k}function A(){return k=y<v?l(m,y++):0,b++,10===k&&(b=1,g++),k}function C(){return l(m,y)}function S(){return y}function P(e,t){return f(m,e,t)}function _(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function z(e){return g=b=1,v=h(m=e),y=0,[]}function E(e){return m="",e}function T(e){return i(P(y-1,O(91===e?e+2:40===e?e+1:e)))}function j(e){for(;(k=C())&&k<33;)A();return _(e)>2||_(k)>3?"":" "}function N(e,t){for(;--t&&A()&&!(k<48||k>102||k>57&&k<65||k>70&&k<97););return P(e,S()+(t<6&&32==C()&&32==A()))}function O(e){for(;A();)switch(k){case e:return y;case 34:case 39:34!==e&&39!==e&&O(k);break;case 40:41===e&&O(e);break;case 92:A()}return y}function q(e,t){for(;A()&&e+k!==57&&(e+k!==84||47!==C()););return"/*"+P(t,y-1)+"*"+c(47===e?e:A())}function M(e){for(;!_(C());)A();return P(e,y)}var R="-ms-",B="-moz-",W="-webkit-",D="comm",F="rule",G="decl",H="@keyframes";function I(e,t){for(var r="",n=p(e),a=0;a<n;a++)r+=t(e[a],a,e,t)||"";return r}function J(e,t,r,n){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case G:return e.return=e.return||e.value;case D:return"";case H:return e.return=e.value+"{"+I(e.children,n)+"}";case F:e.value=e.props.join(",")}return h(r=I(e.children,n))?e.return=e.value+"{"+r+"}":""}function K(e){return E(L("",null,null,null,[""],e=z(e),0,[0],e))}function L(e,t,r,n,a,s,i,f,p){for(var g=0,b=0,v=i,y=0,k=0,m=0,w=1,$=1,P=1,_=0,z="",E=a,O=s,R=n,B=z;$;)switch(m=_,_=A()){case 40:if(108!=m&&58==l(B,v-1)){-1!=o(B+=u(T(_),"&","&\f"),"&\f")&&(P=-1);break}case 34:case 39:case 91:B+=T(_);break;case 9:case 10:case 13:case 32:B+=j(m);break;case 92:B+=N(S()-1,7);continue;case 47:switch(C()){case 42:case 47:d(U(q(A(),S()),t,r),p);break;default:B+="/"}break;case 123*w:f[g++]=h(B)*P;case 125*w:case 59:case 0:switch(_){case 0:case 125:$=0;case 59+b:-1==P&&(B=u(B,/\f/g,"")),k>0&&h(B)-v&&d(k>32?V(B+";",n,r,v-1):V(u(B," ","")+";",n,r,v-2),p);break;case 59:B+=";";default:if(d(R=Q(B,t,r,g,b,a,f,z,E=[],O=[],v),s),123===_)if(0===b)L(B,t,R,R,E,s,v,f,O);else switch(99===y&&110===l(B,3)?100:y){case 100:case 108:case 109:case 115:L(e,R,R,n&&d(Q(e,R,R,0,0,a,f,z,a,E=[],v),O),a,O,v,f,n?E:O);break;default:L(B,R,R,R,[""],O,0,f,O)}}g=b=k=0,w=P=1,z=B="",v=i;break;case 58:v=1+h(B),k=m;default:if(w<1)if(123==_)--w;else if(125==_&&0==w++&&125==x())continue;switch(B+=c(_),_*w){case 38:P=b>0?1:(B+="\f",-1);break;case 44:f[g++]=(h(B)-1)*P,P=1;break;case 64:45===C()&&(B+=T(A())),y=C(),b=v=h(z=B+=M(S())),_++;break;case 45:45===m&&2==h(B)&&(w=0)}}return s}function Q(e,t,r,n,c,s,o,l,h,d,g){for(var b=c-1,v=0===c?s:[""],y=p(v),k=0,m=0,$=0;k<n;++k)for(var x=0,A=f(e,b+1,b=a(m=o[k])),C=e;x<y;++x)(C=i(m>0?v[x]+" "+A:u(A,/&\f/g,v[x])))&&(h[$++]=C);return w(e,t,r,0===c?F:l,h,d,g)}function U(e,t,r){return w(e,t,r,D,c(k),f(e,2,-2),0)}function V(e,t,r,n){return w(e,t,r,G,f(e,0,n),f(e,n+1,-1),n)}var X=function(e,t,r){for(var n=0,a=0;n=a,a=C(),38===n&&12===a&&(t[r]=1),!_(a);)A();return P(e,y)},Y=new WeakMap,Z=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;"rule"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||Y.get(r))&&!n){Y.set(e,!0);for(var a=[],s=function(e,t){return E(function(e,t){var r=-1,n=44;do{switch(_(n)){case 0:38===n&&12===C()&&(t[r]=1),e[r]+=X(y-1,t,r);break;case 2:e[r]+=T(n);break;case 4:if(44===n){e[++r]=58===C()?"&\f":"",t[r]=e[r].length;break}default:e[r]+=c(n)}}while(n=A());return e}(z(e),t))}(t,a),i=r.props,u=0,o=0;u<s.length;u++)for(var l=0;l<i.length;l++,o++)e.props[o]=a[u]?s[u].replace(/&\f/g,i[l]):i[l]+" "+s[u]}}},ee=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function te(e,t){switch(function(e,t){return 45^l(e,0)?(((t<<2^l(e,0))<<2^l(e,1))<<2^l(e,2))<<2^l(e,3):0}(e,t)){case 5103:return W+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return W+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return W+e+B+e+R+e+e;case 6828:case 4268:return W+e+R+e+e;case 6165:return W+e+R+"flex-"+e+e;case 5187:return W+e+u(e,/(\w+).+(:[^]+)/,W+"box-$1$2"+R+"flex-$1$2")+e;case 5443:return W+e+R+"flex-item-"+u(e,/flex-|-self/,"")+e;case 4675:return W+e+R+"flex-line-pack"+u(e,/align-content|flex-|-self/,"")+e;case 5548:return W+e+R+u(e,"shrink","negative")+e;case 5292:return W+e+R+u(e,"basis","preferred-size")+e;case 6060:return W+"box-"+u(e,"-grow","")+W+e+R+u(e,"grow","positive")+e;case 4554:return W+u(e,/([^-])(transform)/g,"$1"+W+"$2")+e;case 6187:return u(u(u(e,/(zoom-|grab)/,W+"$1"),/(image-set)/,W+"$1"),e,"")+e;case 5495:case 3959:return u(e,/(image-set\([^]*)/,W+"$1$`$1");case 4968:return u(u(e,/(.+:)(flex-)?(.*)/,W+"box-pack:$3"+R+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+W+e+e;case 4095:case 3583:case 4068:case 2532:return u(e,/(.+)-inline(.+)/,W+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(h(e)-1-t>6)switch(l(e,t+1)){case 109:if(45!==l(e,t+4))break;case 102:return u(e,/(.+:)(.+)-([^]+)/,"$1"+W+"$2-$3$1"+B+(108==l(e,t+3)?"$3":"$2-$3"))+e;case 115:return~o(e,"stretch")?te(u(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==l(e,t+1))break;case 6444:switch(l(e,h(e)-3-(~o(e,"!important")&&10))){case 107:return u(e,":",":"+W)+e;case 101:return u(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+W+(45===l(e,14)?"inline-":"")+"box$3$1"+W+"$2$3$1"+R+"$2box$3")+e}break;case 5936:switch(l(e,t+11)){case 114:return W+e+R+u(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return W+e+R+u(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return W+e+R+u(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return W+e+R+e+e}return e}var re=[function(e,t,r,n){if(e.length>-1&&!e.return)switch(e.type){case G:e.return=te(e.value,e.length);break;case H:return I([$(e,{value:u(e.value,"@","@"+W)})],n);case F:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,function(t){switch(function(e){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return I([$(e,{props:[u(t,/:(read-\w+)/,":-moz-$1")]})],n);case"::placeholder":return I([$(e,{props:[u(t,/:(plac\w+)/,":"+W+"input-$1")]}),$(e,{props:[u(t,/:(plac\w+)/,":-moz-$1")]}),$(e,{props:[u(t,/:(plac\w+)/,R+"input-$1")]})],n)}return""})}}],ne=function(e){var t=e.key;if("css"===t){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))})}var a,c,s=e.stylisPlugins||re,i={},u=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(e){for(var t=e.getAttribute("data-emotion").split(" "),r=1;r<t.length;r++)i[t[r]]=!0;u.push(e)});var o,l,f,h,d=[J,(h=function(e){o.insert(e)},function(e){e.root||(e=e.return)&&h(e)})],g=(l=[Z,ee].concat(s,d),f=p(l),function(e,t,r,n){for(var a="",c=0;c<f;c++)a+=l[c](e,t,r,n)||"";return a});c=function(e,t,r,n){o=r,I(K(e?e+"{"+t.styles+"}":t.styles),g),n&&(b.inserted[t.name]=!0)};var b={key:t,sheet:new n({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:c};return b.sheet.hydrate(u),b}}}]);
|
|
2
|
+
//# sourceMappingURL=7164.5dc4bc72.chunk.js.map
|