@techdocs/cli 1.11.3 → 1.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/commands/serve/mkdocs.cjs.js +1 -0
  3. package/dist/commands/serve/mkdocs.cjs.js.map +1 -1
  4. package/dist/embedded-app/.config-schema.json +90 -90
  5. package/dist/embedded-app/index.html +1 -1
  6. package/dist/embedded-app/index.html.tmpl +1 -1
  7. package/dist/embedded-app/static/3554.668a16659089.chunk.js +2 -0
  8. package/dist/embedded-app/static/3554.668a16659089.chunk.js.map +1 -0
  9. package/dist/embedded-app/static/{5443.6a7f7c419094.chunk.js → 5443.fda3da6e0bdf.chunk.js} +2 -2
  10. package/dist/embedded-app/static/5443.fda3da6e0bdf.chunk.js.map +1 -0
  11. package/dist/embedded-app/static/{8461.e13cb51757cd.chunk.js → 8461.4717852d60f5.chunk.js} +3 -3
  12. package/dist/embedded-app/static/8461.4717852d60f5.chunk.js.map +1 -0
  13. package/dist/embedded-app/static/8877.0989174775b0.chunk.js +2 -0
  14. package/dist/embedded-app/static/8877.0989174775b0.chunk.js.map +1 -0
  15. package/dist/embedded-app/static/{runtime.aa5597464824.js → runtime.cc7e46c67a58.js} +2 -2
  16. package/dist/embedded-app/static/{runtime.aa5597464824.js.map → runtime.cc7e46c67a58.js.map} +1 -1
  17. package/dist/package.json.cjs.js +1 -1
  18. package/package.json +3 -3
  19. package/dist/embedded-app/static/3554.6bba0bb8bcc1.chunk.js +0 -2
  20. package/dist/embedded-app/static/3554.6bba0bb8bcc1.chunk.js.map +0 -1
  21. package/dist/embedded-app/static/5443.6a7f7c419094.chunk.js.map +0 -1
  22. package/dist/embedded-app/static/8461.e13cb51757cd.chunk.js.map +0 -1
  23. package/dist/embedded-app/static/8877.b559311f1e18.chunk.js +0 -2
  24. package/dist/embedded-app/static/8877.b559311f1e18.chunk.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @techdocs/cli
2
2
 
3
+ ## 1.11.4
4
+
5
+ ### Patch Changes
6
+
7
+ - a270912: Improved MkDocs configuration file handling.
8
+ - Updated dependencies
9
+ - @backstage/backend-defaults@0.17.8
10
+ - @backstage/plugin-techdocs-node@1.15.4
11
+
3
12
  ## 1.11.3
4
13
 
5
14
  ### Patch Changes
@@ -53,6 +53,7 @@ Starting mkdocs server on ${localAddr}
53
53
  dockerEntrypoint: opts.dockerEntrypoint,
54
54
  dockerOptions: opts.dockerOption,
55
55
  useDocker: opts.docker,
56
+ mkdocsConfigFileName: mkdocsYmlPath,
56
57
  onStdout: logFunc,
57
58
  onStderr: logFunc
58
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mkdocs.cjs.js","sources":["../../../src/commands/serve/mkdocs.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OptionValues } from 'commander';\nimport openBrowser from 'react-dev-utils/openBrowser';\nimport { createLogger } from '../../lib/utility';\nimport { runMkdocsServer } from '../../lib/mkdocsServer';\nimport { RunOnOutput } from '@backstage/cli-common';\nimport { getMkdocsYml } from '@backstage/plugin-techdocs-node';\nimport fs from 'fs-extra';\nimport { checkIfDockerIsOperational } from './utils';\n\nexport default async function serveMkdocs(opts: OptionValues) {\n const logger = createLogger({ verbose: opts.verbose });\n\n const dockerAddr = `http://0.0.0.0:${opts.port}`;\n const localAddr = `http://127.0.0.1:${opts.port}`;\n const expectedDevAddr = opts.docker ? dockerAddr : localAddr;\n\n if (opts.docker) {\n const isDockerOperational = await checkIfDockerIsOperational(logger);\n if (!isDockerOperational) {\n return;\n }\n }\n\n const { path: mkdocsYmlPath, configIsTemporary } = await getMkdocsYml(\n './',\n opts.siteName,\n );\n\n // We want to open browser only once based on a log.\n let boolOpenBrowserTriggered = false;\n\n const logFunc: RunOnOutput = data => {\n // Sometimes the lines contain an unnecessary extra new line in between\n const logLines = data.toString().split('\\n');\n const logPrefix = opts.docker ? '[docker/mkdocs]' : '[mkdocs]';\n logLines.forEach(line => {\n if (line === '') {\n return;\n }\n\n // Logs from container is verbose.\n logger.verbose(`${logPrefix} ${line}`);\n\n // When the server has started, open a new browser tab for the user.\n if (\n !boolOpenBrowserTriggered &&\n line.includes(`Serving on ${expectedDevAddr}`)\n ) {\n // Always open the local address, since 0.0.0.0 belongs to docker\n logger.info(`\\nStarting mkdocs server on ${localAddr}\\n`);\n openBrowser(localAddr);\n boolOpenBrowserTriggered = true;\n }\n });\n };\n // mkdocs writes all of its logs to stderr by default, and not stdout.\n // https://github.com/mkdocs/mkdocs/issues/879#issuecomment-203536006\n // Had me questioning this whole implementation for half an hour.\n\n // Commander stores --no-docker in cmd.docker variable\n const childProcess = runMkdocsServer({\n port: opts.port,\n dockerImage: opts.dockerImage,\n dockerEntrypoint: opts.dockerEntrypoint,\n dockerOptions: opts.dockerOption,\n useDocker: opts.docker,\n onStdout: logFunc,\n onStderr: logFunc,\n });\n\n // Keep waiting for user to cancel the process\n await childProcess.waitForExit();\n\n if (configIsTemporary) {\n process.on('exit', async () => {\n fs.rmSync(mkdocsYmlPath, {});\n });\n }\n}\n"],"names":["createLogger","checkIfDockerIsOperational","getMkdocsYml","openBrowser","runMkdocsServer","fs"],"mappings":";;;;;;;;;;;;;;;;AAyBA,eAA8B,YAAY,IAAA,EAAoB;AAC5D,EAAA,MAAM,SAASA,oBAAA,CAAa,EAAE,OAAA,EAAS,IAAA,CAAK,SAAS,CAAA;AAErD,EAAA,MAAM,UAAA,GAAa,CAAA,eAAA,EAAkB,IAAA,CAAK,IAAI,CAAA,CAAA;AAC9C,EAAA,MAAM,SAAA,GAAY,CAAA,iBAAA,EAAoB,IAAA,CAAK,IAAI,CAAA,CAAA;AAC/C,EAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,MAAA,GAAS,UAAA,GAAa,SAAA;AAEnD,EAAA,IAAI,KAAK,MAAA,EAAQ;AACf,IAAA,MAAM,mBAAA,GAAsB,MAAMC,gCAAA,CAA2B,MAAM,CAAA;AACnE,IAAA,IAAI,CAAC,mBAAA,EAAqB;AACxB,MAAA;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,EAAE,IAAA,EAAM,aAAA,EAAe,iBAAA,KAAsB,MAAMC,+BAAA;AAAA,IACvD,IAAA;AAAA,IACA,IAAA,CAAK;AAAA,GACP;AAGA,EAAA,IAAI,wBAAA,GAA2B,KAAA;AAE/B,EAAA,MAAM,UAAuB,CAAA,IAAA,KAAQ;AAEnC,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,QAAA,EAAS,CAAE,MAAM,IAAI,CAAA;AAC3C,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,MAAA,GAAS,iBAAA,GAAoB,UAAA;AACpD,IAAA,QAAA,CAAS,QAAQ,CAAA,IAAA,KAAQ;AACvB,MAAA,IAAI,SAAS,EAAA,EAAI;AACf,QAAA;AAAA,MACF;AAGA,MAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAGrC,MAAA,IACE,CAAC,wBAAA,IACD,IAAA,CAAK,SAAS,CAAA,WAAA,EAAc,eAAe,EAAE,CAAA,EAC7C;AAEA,QAAA,MAAA,CAAO,IAAA,CAAK;AAAA,0BAAA,EAA+B,SAAS;AAAA,CAAI,CAAA;AACxD,QAAAC,4BAAA,CAAY,SAAS,CAAA;AACrB,QAAA,wBAAA,GAA2B,IAAA;AAAA,MAC7B;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAMA,EAAA,MAAM,eAAeC,4BAAA,CAAgB;AAAA,IACnC,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,aAAa,IAAA,CAAK,WAAA;AAAA,IAClB,kBAAkB,IAAA,CAAK,gBAAA;AAAA,IACvB,eAAe,IAAA,CAAK,YAAA;AAAA,IACpB,WAAW,IAAA,CAAK,MAAA;AAAA,IAChB,QAAA,EAAU,OAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACX,CAAA;AAGD,EAAA,MAAM,aAAa,WAAA,EAAY;AAE/B,EAAA,IAAI,iBAAA,EAAmB;AACrB,IAAA,OAAA,CAAQ,EAAA,CAAG,QAAQ,YAAY;AAC7B,MAAAC,mBAAA,CAAG,MAAA,CAAO,aAAA,EAAe,EAAE,CAAA;AAAA,IAC7B,CAAC,CAAA;AAAA,EACH;AACF;;;;"}
1
+ {"version":3,"file":"mkdocs.cjs.js","sources":["../../../src/commands/serve/mkdocs.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OptionValues } from 'commander';\nimport openBrowser from 'react-dev-utils/openBrowser';\nimport { createLogger } from '../../lib/utility';\nimport { runMkdocsServer } from '../../lib/mkdocsServer';\nimport { RunOnOutput } from '@backstage/cli-common';\nimport { getMkdocsYml } from '@backstage/plugin-techdocs-node';\nimport fs from 'fs-extra';\nimport { checkIfDockerIsOperational } from './utils';\n\nexport default async function serveMkdocs(opts: OptionValues) {\n const logger = createLogger({ verbose: opts.verbose });\n\n const dockerAddr = `http://0.0.0.0:${opts.port}`;\n const localAddr = `http://127.0.0.1:${opts.port}`;\n const expectedDevAddr = opts.docker ? dockerAddr : localAddr;\n\n if (opts.docker) {\n const isDockerOperational = await checkIfDockerIsOperational(logger);\n if (!isDockerOperational) {\n return;\n }\n }\n\n const { path: mkdocsYmlPath, configIsTemporary } = await getMkdocsYml(\n './',\n opts.siteName,\n );\n\n // We want to open browser only once based on a log.\n let boolOpenBrowserTriggered = false;\n\n const logFunc: RunOnOutput = data => {\n // Sometimes the lines contain an unnecessary extra new line in between\n const logLines = data.toString().split('\\n');\n const logPrefix = opts.docker ? '[docker/mkdocs]' : '[mkdocs]';\n logLines.forEach(line => {\n if (line === '') {\n return;\n }\n\n // Logs from container is verbose.\n logger.verbose(`${logPrefix} ${line}`);\n\n // When the server has started, open a new browser tab for the user.\n if (\n !boolOpenBrowserTriggered &&\n line.includes(`Serving on ${expectedDevAddr}`)\n ) {\n // Always open the local address, since 0.0.0.0 belongs to docker\n logger.info(`\\nStarting mkdocs server on ${localAddr}\\n`);\n openBrowser(localAddr);\n boolOpenBrowserTriggered = true;\n }\n });\n };\n // mkdocs writes all of its logs to stderr by default, and not stdout.\n // https://github.com/mkdocs/mkdocs/issues/879#issuecomment-203536006\n // Had me questioning this whole implementation for half an hour.\n\n // Commander stores --no-docker in cmd.docker variable\n const childProcess = runMkdocsServer({\n port: opts.port,\n dockerImage: opts.dockerImage,\n dockerEntrypoint: opts.dockerEntrypoint,\n dockerOptions: opts.dockerOption,\n useDocker: opts.docker,\n mkdocsConfigFileName: mkdocsYmlPath,\n onStdout: logFunc,\n onStderr: logFunc,\n });\n\n // Keep waiting for user to cancel the process\n await childProcess.waitForExit();\n\n if (configIsTemporary) {\n process.on('exit', async () => {\n fs.rmSync(mkdocsYmlPath, {});\n });\n }\n}\n"],"names":["createLogger","checkIfDockerIsOperational","getMkdocsYml","openBrowser","runMkdocsServer","fs"],"mappings":";;;;;;;;;;;;;;;;AAyBA,eAA8B,YAAY,IAAA,EAAoB;AAC5D,EAAA,MAAM,SAASA,oBAAA,CAAa,EAAE,OAAA,EAAS,IAAA,CAAK,SAAS,CAAA;AAErD,EAAA,MAAM,UAAA,GAAa,CAAA,eAAA,EAAkB,IAAA,CAAK,IAAI,CAAA,CAAA;AAC9C,EAAA,MAAM,SAAA,GAAY,CAAA,iBAAA,EAAoB,IAAA,CAAK,IAAI,CAAA,CAAA;AAC/C,EAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,MAAA,GAAS,UAAA,GAAa,SAAA;AAEnD,EAAA,IAAI,KAAK,MAAA,EAAQ;AACf,IAAA,MAAM,mBAAA,GAAsB,MAAMC,gCAAA,CAA2B,MAAM,CAAA;AACnE,IAAA,IAAI,CAAC,mBAAA,EAAqB;AACxB,MAAA;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,EAAE,IAAA,EAAM,aAAA,EAAe,iBAAA,KAAsB,MAAMC,+BAAA;AAAA,IACvD,IAAA;AAAA,IACA,IAAA,CAAK;AAAA,GACP;AAGA,EAAA,IAAI,wBAAA,GAA2B,KAAA;AAE/B,EAAA,MAAM,UAAuB,CAAA,IAAA,KAAQ;AAEnC,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,QAAA,EAAS,CAAE,MAAM,IAAI,CAAA;AAC3C,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,MAAA,GAAS,iBAAA,GAAoB,UAAA;AACpD,IAAA,QAAA,CAAS,QAAQ,CAAA,IAAA,KAAQ;AACvB,MAAA,IAAI,SAAS,EAAA,EAAI;AACf,QAAA;AAAA,MACF;AAGA,MAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAGrC,MAAA,IACE,CAAC,wBAAA,IACD,IAAA,CAAK,SAAS,CAAA,WAAA,EAAc,eAAe,EAAE,CAAA,EAC7C;AAEA,QAAA,MAAA,CAAO,IAAA,CAAK;AAAA,0BAAA,EAA+B,SAAS;AAAA,CAAI,CAAA;AACxD,QAAAC,4BAAA,CAAY,SAAS,CAAA;AACrB,QAAA,wBAAA,GAA2B,IAAA;AAAA,MAC7B;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAMA,EAAA,MAAM,eAAeC,4BAAA,CAAgB;AAAA,IACnC,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,aAAa,IAAA,CAAK,WAAA;AAAA,IAClB,kBAAkB,IAAA,CAAK,gBAAA;AAAA,IACvB,eAAe,IAAA,CAAK,YAAA;AAAA,IACpB,WAAW,IAAA,CAAK,MAAA;AAAA,IAChB,oBAAA,EAAsB,aAAA;AAAA,IACtB,QAAA,EAAU,OAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACX,CAAA;AAGD,EAAA,MAAM,aAAa,WAAA,EAAY;AAE/B,EAAA,IAAI,iBAAA,EAAmB;AACrB,IAAA,OAAA,CAAQ,EAAA,CAAG,QAAQ,YAAY;AAC7B,MAAAC,mBAAA,CAAG,MAAA,CAAO,aAAA,EAAe,EAAE,CAAA;AAAA,IAC7B,CAAC,CAAA;AAAA,EACH;AACF;;;;"}
@@ -358,52 +358,6 @@
358
358
  },
359
359
  "packageName": "@backstage/core-app-api"
360
360
  },
361
- {
362
- "path": "../core-components/config.d.ts",
363
- "value": {
364
- "$schema": "http://json-schema.org/draft-07/schema#",
365
- "type": "object",
366
- "properties": {
367
- "auth": {
368
- "type": "object",
369
- "properties": {
370
- "autologout": {
371
- "type": "object",
372
- "properties": {
373
- "enabled": {
374
- "type": "boolean",
375
- "description": "Enable or disable the autologout feature",
376
- "visibility": "frontend"
377
- },
378
- "idleTimeoutMinutes": {
379
- "type": "number",
380
- "description": "Number of minutes after which the inactive user is logged out automatically. Default is 60 minutes (1 hour)",
381
- "visibility": "frontend"
382
- },
383
- "promptBeforeIdleSeconds": {
384
- "type": "number",
385
- "description": "Number of seconds before the idle timeout where the user will be asked if it's still active. A dialog will be shown. Default is 10 seconds. Set to 0 seconds to disable the prompt.",
386
- "visibility": "frontend"
387
- },
388
- "useWorkerTimers": {
389
- "type": "boolean",
390
- "description": "Enable/disable the usage of worker thread timers instead of main thread timers. Default is true. If you experience some browser incompatibility, you may try to set this to false.",
391
- "visibility": "frontend"
392
- },
393
- "logoutIfDisconnected": {
394
- "type": "boolean",
395
- "description": "Enable/disable the automatic logout also on users that are logged in but with no Backstage tabs open. Default is true.",
396
- "visibility": "frontend"
397
- }
398
- },
399
- "description": "Autologout feature configuration"
400
- }
401
- }
402
- }
403
- }
404
- },
405
- "packageName": "@backstage/core-components"
406
- },
407
361
  {
408
362
  "path": "../../plugins/techdocs/config.d.ts",
409
363
  "value": {
@@ -992,6 +946,52 @@
992
946
  },
993
947
  "packageName": "@backstage/integration"
994
948
  },
949
+ {
950
+ "path": "../core-components/config.d.ts",
951
+ "value": {
952
+ "$schema": "http://json-schema.org/draft-07/schema#",
953
+ "type": "object",
954
+ "properties": {
955
+ "auth": {
956
+ "type": "object",
957
+ "properties": {
958
+ "autologout": {
959
+ "type": "object",
960
+ "properties": {
961
+ "enabled": {
962
+ "type": "boolean",
963
+ "description": "Enable or disable the autologout feature",
964
+ "visibility": "frontend"
965
+ },
966
+ "idleTimeoutMinutes": {
967
+ "type": "number",
968
+ "description": "Number of minutes after which the inactive user is logged out automatically. Default is 60 minutes (1 hour)",
969
+ "visibility": "frontend"
970
+ },
971
+ "promptBeforeIdleSeconds": {
972
+ "type": "number",
973
+ "description": "Number of seconds before the idle timeout where the user will be asked if it's still active. A dialog will be shown. Default is 10 seconds. Set to 0 seconds to disable the prompt.",
974
+ "visibility": "frontend"
975
+ },
976
+ "useWorkerTimers": {
977
+ "type": "boolean",
978
+ "description": "Enable/disable the usage of worker thread timers instead of main thread timers. Default is true. If you experience some browser incompatibility, you may try to set this to false.",
979
+ "visibility": "frontend"
980
+ },
981
+ "logoutIfDisconnected": {
982
+ "type": "boolean",
983
+ "description": "Enable/disable the automatic logout also on users that are logged in but with no Backstage tabs open. Default is true.",
984
+ "visibility": "frontend"
985
+ }
986
+ },
987
+ "description": "Autologout feature configuration"
988
+ }
989
+ }
990
+ }
991
+ }
992
+ },
993
+ "packageName": "@backstage/core-components"
994
+ },
995
995
  {
996
996
  "path": "../../plugins/catalog/config.d.ts",
997
997
  "value": {
@@ -1195,6 +1195,25 @@
1195
1195
  },
1196
1196
  "packageName": "@backstage/frontend-app-api"
1197
1197
  },
1198
+ {
1199
+ "path": "../backend-plugin-api/config.d.ts",
1200
+ "value": {
1201
+ "$schema": "http://json-schema.org/draft-07/schema#",
1202
+ "type": "object",
1203
+ "properties": {
1204
+ "backend": {
1205
+ "type": "object",
1206
+ "properties": {
1207
+ "workingDirectory": {
1208
+ "type": "string",
1209
+ "description": "An absolute path to a directory that can be used as a working dir, for example as scratch space for large operations."
1210
+ }
1211
+ }
1212
+ }
1213
+ }
1214
+ },
1215
+ "packageName": "@backstage/backend-plugin-api"
1216
+ },
1198
1217
  {
1199
1218
  "path": "../../plugins/auth-backend/config.d.ts",
1200
1219
  "value": {
@@ -1613,25 +1632,6 @@
1613
1632
  },
1614
1633
  "packageName": "@backstage/plugin-auth-backend-module-guest-provider"
1615
1634
  },
1616
- {
1617
- "path": "../backend-plugin-api/config.d.ts",
1618
- "value": {
1619
- "$schema": "http://json-schema.org/draft-07/schema#",
1620
- "type": "object",
1621
- "properties": {
1622
- "backend": {
1623
- "type": "object",
1624
- "properties": {
1625
- "workingDirectory": {
1626
- "type": "string",
1627
- "description": "An absolute path to a directory that can be used as a working dir, for example as scratch space for large operations."
1628
- }
1629
- }
1630
- }
1631
- }
1632
- },
1633
- "packageName": "@backstage/backend-plugin-api"
1634
- },
1635
1635
  {
1636
1636
  "path": "../backend-app-api/config.d.ts",
1637
1637
  "value": {
@@ -1731,6 +1731,30 @@
1731
1731
  },
1732
1732
  "packageName": "@backstage/backend-app-api"
1733
1733
  },
1734
+ {
1735
+ "path": "../../plugins/events-node/config.d.ts",
1736
+ "value": {
1737
+ "$schema": "http://json-schema.org/draft-07/schema#",
1738
+ "type": "object",
1739
+ "properties": {
1740
+ "events": {
1741
+ "type": "object",
1742
+ "properties": {
1743
+ "useEventBus": {
1744
+ "type": "string",
1745
+ "enum": [
1746
+ "never",
1747
+ "always",
1748
+ "auto"
1749
+ ],
1750
+ "description": "Whether to use the event bus API in the events plugin backend to distribute events across multiple instances when publishing and subscribing to events.\n\nThe default is 'auto', which means means that the event bus API will be used if it's available, but will be disabled if the events backend returns a 404.\n\nIf set to 'never', the events service will only ever publish events locally to the same instance, while if set to 'always', the event bus API will never be disabled, even if the events backend returns a 404."
1751
+ }
1752
+ }
1753
+ }
1754
+ }
1755
+ },
1756
+ "packageName": "@backstage/plugin-events-node"
1757
+ },
1734
1758
  {
1735
1759
  "path": "../backend-defaults/config.d.ts",
1736
1760
  "value": {
@@ -4042,7 +4066,7 @@
4042
4066
  "items": {
4043
4067
  "type": "string"
4044
4068
  },
4045
- "description": "An optional list of paths. In case they are present only targets matching any of them will are allowed. You can use trailing slashes to make sure only subdirectories are allowed, for example `/mydir/` will allow targets with paths like `/mydir/a` but will block paths like `/mydir2`."
4069
+ "description": "An optional list of paths. When present, only targets matching an exact path or a path below it at a segment boundary are allowed. For example, `/mydir` allows `/mydir` and `/mydir/a`, but blocks `/mydir2`. A trailing slash excludes the exact path without the slash, so `/mydir/` allows `/mydir/a` but not `/mydir`."
4046
4070
  }
4047
4071
  },
4048
4072
  "required": [
@@ -4150,30 +4174,6 @@
4150
4174
  },
4151
4175
  "packageName": "@backstage/backend-defaults"
4152
4176
  },
4153
- {
4154
- "path": "../../plugins/events-node/config.d.ts",
4155
- "value": {
4156
- "$schema": "http://json-schema.org/draft-07/schema#",
4157
- "type": "object",
4158
- "properties": {
4159
- "events": {
4160
- "type": "object",
4161
- "properties": {
4162
- "useEventBus": {
4163
- "type": "string",
4164
- "enum": [
4165
- "never",
4166
- "always",
4167
- "auto"
4168
- ],
4169
- "description": "Whether to use the event bus API in the events plugin backend to distribute events across multiple instances when publishing and subscribing to events.\n\nThe default is 'auto', which means means that the event bus API will be used if it's available, but will be disabled if the events backend returns a 404.\n\nIf set to 'never', the events service will only ever publish events locally to the same instance, while if set to 'always', the event bus API will never be disabled, even if the events backend returns a 404."
4170
- }
4171
- }
4172
- }
4173
- }
4174
- },
4175
- "packageName": "@backstage/plugin-events-node"
4176
- },
4177
4177
  {
4178
4178
  "path": "../../plugins/auth-backend-module-google-provider/config.d.ts",
4179
4179
  "value": {
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="color-scheme" content="light dark"/><meta name="description" content="Backstage is an open source framework for building developer portals"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><link rel="icon" href="/favicon.ico"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"/><title>Techdocs Preview App</title><meta name="backstage-app-mode" content="public"><script defer="defer" src="/static/runtime.aa5597464824.js"></script><script defer="defer" src="/static/module-react-aria.84a78dd1e874.js"></script><script defer="defer" src="/static/module-material-ui.0bea4977e580.js"></script><script defer="defer" src="/static/module-motion-dom.3c999f2a9b4e.js"></script><script defer="defer" src="/static/module-lodash.abe41c34b13d.js"></script><script defer="defer" src="/static/module-zod.c13f6fd98701.js"></script><script defer="defer" src="/static/module-ajv.1cd135f79aa8.js"></script><script defer="defer" src="/static/module-framer-motion.f34ff33a9d5f.js"></script><script defer="defer" src="/static/module-mui.9c07ad9e010f.js"></script><script defer="defer" src="/static/module-react-stately.3db88231cc18.js"></script><script defer="defer" src="/static/module-react-aria-components.edebf589ec05.js"></script><script defer="defer" src="/static/module-micromark-core-commonmark.d049c8fc059e.js"></script><script defer="defer" src="/static/module-parse5.94980036c2b0.js"></script><script defer="defer" src="/static/module-react-dom.c631e87dd2a2.js"></script><script defer="defer" src="/static/module-react-hook-form.2803e955e58c.js"></script><script defer="defer" src="/static/module-i18next.c154323c180d.js"></script><script defer="defer" src="/static/module-dompurify.2a1a57d1bb7d.js"></script><script defer="defer" src="/static/module-remixicon.4e40b5b6bde1.js"></script><script defer="defer" src="/static/module-remix-run.0c80eb31316a.js"></script><script defer="defer" src="/static/vendor.12fa41368f4c.js"></script><script defer="defer" src="/static/main.63b77055452b.js"></script><link href="/static/main.24d2ac7d6fef.css" rel="stylesheet"><script type="backstage.io/config">[
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="color-scheme" content="light dark"/><meta name="description" content="Backstage is an open source framework for building developer portals"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><link rel="icon" href="/favicon.ico"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"/><title>Techdocs Preview App</title><meta name="backstage-app-mode" content="public"><script defer="defer" src="/static/runtime.cc7e46c67a58.js"></script><script defer="defer" src="/static/module-react-aria.84a78dd1e874.js"></script><script defer="defer" src="/static/module-material-ui.0bea4977e580.js"></script><script defer="defer" src="/static/module-motion-dom.3c999f2a9b4e.js"></script><script defer="defer" src="/static/module-lodash.abe41c34b13d.js"></script><script defer="defer" src="/static/module-zod.c13f6fd98701.js"></script><script defer="defer" src="/static/module-ajv.1cd135f79aa8.js"></script><script defer="defer" src="/static/module-framer-motion.f34ff33a9d5f.js"></script><script defer="defer" src="/static/module-mui.9c07ad9e010f.js"></script><script defer="defer" src="/static/module-react-stately.3db88231cc18.js"></script><script defer="defer" src="/static/module-react-aria-components.edebf589ec05.js"></script><script defer="defer" src="/static/module-micromark-core-commonmark.d049c8fc059e.js"></script><script defer="defer" src="/static/module-parse5.94980036c2b0.js"></script><script defer="defer" src="/static/module-react-dom.c631e87dd2a2.js"></script><script defer="defer" src="/static/module-react-hook-form.2803e955e58c.js"></script><script defer="defer" src="/static/module-i18next.c154323c180d.js"></script><script defer="defer" src="/static/module-dompurify.2a1a57d1bb7d.js"></script><script defer="defer" src="/static/module-remixicon.4e40b5b6bde1.js"></script><script defer="defer" src="/static/module-remix-run.0c80eb31316a.js"></script><script defer="defer" src="/static/vendor.12fa41368f4c.js"></script><script defer="defer" src="/static/main.63b77055452b.js"></script><link href="/static/main.24d2ac7d6fef.css" rel="stylesheet"><script type="backstage.io/config">[
2
2
  {
3
3
  "context": "app-config.yaml",
4
4
  "data": {
@@ -43,7 +43,7 @@
43
43
  color="#5bbad5"
44
44
  />
45
45
  <title><%= config.getString('app.title') %></title>
46
- <meta name="backstage-app-mode" content="public"><meta name="backstage-public-path" content="<%= publicPath %>/"><script defer src="<%= publicPath %>/static/runtime.aa5597464824.js"></script><script defer src="<%= publicPath %>/static/module-react-aria.84a78dd1e874.js"></script><script defer src="<%= publicPath %>/static/module-material-ui.0bea4977e580.js"></script><script defer src="<%= publicPath %>/static/module-motion-dom.3c999f2a9b4e.js"></script><script defer src="<%= publicPath %>/static/module-lodash.abe41c34b13d.js"></script><script defer src="<%= publicPath %>/static/module-zod.c13f6fd98701.js"></script><script defer src="<%= publicPath %>/static/module-ajv.1cd135f79aa8.js"></script><script defer src="<%= publicPath %>/static/module-framer-motion.f34ff33a9d5f.js"></script><script defer src="<%= publicPath %>/static/module-mui.9c07ad9e010f.js"></script><script defer src="<%= publicPath %>/static/module-react-stately.3db88231cc18.js"></script><script defer src="<%= publicPath %>/static/module-react-aria-components.edebf589ec05.js"></script><script defer src="<%= publicPath %>/static/module-micromark-core-commonmark.d049c8fc059e.js"></script><script defer src="<%= publicPath %>/static/module-parse5.94980036c2b0.js"></script><script defer src="<%= publicPath %>/static/module-react-dom.c631e87dd2a2.js"></script><script defer src="<%= publicPath %>/static/module-react-hook-form.2803e955e58c.js"></script><script defer src="<%= publicPath %>/static/module-i18next.c154323c180d.js"></script><script defer src="<%= publicPath %>/static/module-dompurify.2a1a57d1bb7d.js"></script><script defer src="<%= publicPath %>/static/module-remixicon.4e40b5b6bde1.js"></script><script defer src="<%= publicPath %>/static/module-remix-run.0c80eb31316a.js"></script><script defer src="<%= publicPath %>/static/vendor.12fa41368f4c.js"></script><script defer src="<%= publicPath %>/static/main.63b77055452b.js"></script><link href="<%= publicPath %>/static/main.24d2ac7d6fef.css" rel="stylesheet"></head>
46
+ <meta name="backstage-app-mode" content="public"><meta name="backstage-public-path" content="<%= publicPath %>/"><script defer src="<%= publicPath %>/static/runtime.cc7e46c67a58.js"></script><script defer src="<%= publicPath %>/static/module-react-aria.84a78dd1e874.js"></script><script defer src="<%= publicPath %>/static/module-material-ui.0bea4977e580.js"></script><script defer src="<%= publicPath %>/static/module-motion-dom.3c999f2a9b4e.js"></script><script defer src="<%= publicPath %>/static/module-lodash.abe41c34b13d.js"></script><script defer src="<%= publicPath %>/static/module-zod.c13f6fd98701.js"></script><script defer src="<%= publicPath %>/static/module-ajv.1cd135f79aa8.js"></script><script defer src="<%= publicPath %>/static/module-framer-motion.f34ff33a9d5f.js"></script><script defer src="<%= publicPath %>/static/module-mui.9c07ad9e010f.js"></script><script defer src="<%= publicPath %>/static/module-react-stately.3db88231cc18.js"></script><script defer src="<%= publicPath %>/static/module-react-aria-components.edebf589ec05.js"></script><script defer src="<%= publicPath %>/static/module-micromark-core-commonmark.d049c8fc059e.js"></script><script defer src="<%= publicPath %>/static/module-parse5.94980036c2b0.js"></script><script defer src="<%= publicPath %>/static/module-react-dom.c631e87dd2a2.js"></script><script defer src="<%= publicPath %>/static/module-react-hook-form.2803e955e58c.js"></script><script defer src="<%= publicPath %>/static/module-i18next.c154323c180d.js"></script><script defer src="<%= publicPath %>/static/module-dompurify.2a1a57d1bb7d.js"></script><script defer src="<%= publicPath %>/static/module-remixicon.4e40b5b6bde1.js"></script><script defer src="<%= publicPath %>/static/module-remix-run.0c80eb31316a.js"></script><script defer src="<%= publicPath %>/static/vendor.12fa41368f4c.js"></script><script defer src="<%= publicPath %>/static/main.63b77055452b.js"></script><link href="<%= publicPath %>/static/main.24d2ac7d6fef.css" rel="stylesheet"></head>
47
47
  <body>
48
48
  <noscript>You need to enable JavaScript to run this app.</noscript>
49
49
  <div id="root"></div>
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["3554"],{55290(e,t,a){var r=a(4293),n=a(78920);t.default=void 0;var l=n(a(14041));t.default=(0,r(a(74044)).default)(l.createElement("path",{d:"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z"}),"Share")},35571(e,t,a){a.d(t,{p:()=>m});var r=a(31085),n=a(42899),l=a(58837),i=a(72501);let o=a.p+"static/missingAnnotation.5df688e77377.svg",s=a.p+"static/noInformation.acf1ccf4441e.svg",c=a.p+"static/createComponent.7c188d7fa450.svg",u=a.p+"static/noBuild.169833d0d90f.svg",d=(0,l.A)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),f=({missing:e})=>{let t=d();switch(e){case"field":return(0,r.jsx)("img",{src:o,className:t.generalImg,alt:"annotation is missing"});case"info":return(0,r.jsx)("img",{src:s,alt:"no Information",className:t.generalImg});case"content":return(0,r.jsx)("img",{src:c,alt:"create Component",className:t.generalImg});case"data":return(0,r.jsx)("img",{src:u,alt:"no Build",className:t.generalImg});default:return null}},p=(0,l.A)(e=>({root:{backgroundColor:e.palette.background.default,padding:e.spacing(2,0,0,0)},action:{marginTop:e.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function m(e){let{title:t,description:a,missing:l,action:o}=e,s=p();return(0,r.jsxs)(n.A,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:s.root,spacing:2,children:[(0,r.jsx)(n.A,{item:!0,xs:12,md:6,children:(0,r.jsxs)(n.A,{container:!0,direction:"column",children:[(0,r.jsx)(n.A,{item:!0,xs:!0,children:(0,r.jsx)(i.A,{variant:"h5",children:t})}),(0,r.jsx)(n.A,{item:!0,xs:!0,children:(0,r.jsx)(i.A,{variant:"body1",children:a})}),(0,r.jsx)(n.A,{item:!0,xs:!0,className:s.action,children:o})]})}),(0,r.jsx)(n.A,{item:!0,xs:12,md:6,className:s.imageContainer,children:"string"==typeof l?(0,r.jsx)(f,{missing:l}):l.customImage})]})}},280(e,t,a){a.d(t,{m:()=>u,v:()=>d});var r=a(31085),n=a(29365),l=a(71677),i=a(72501),o=a(58837),s=a(55940);let c=(0,o.A)(()=>({icon:{color:"#f3ba37",cursor:"pointer",display:"inline-flex"},iconBorder:{color:"inherit",cursor:"pointer",display:"inline-flex"}}),{name:"BackstageFavoriteToggleIcon"});function u(e){let{isFavorite:t}=e,a=c();return(0,r.jsx)(i.A,{component:"span",className:t?a.icon:a.iconBorder,children:t?(0,r.jsx)(s.Gg,{}):(0,r.jsx)(s.KG,{})})}function d(e){let{id:t,title:a,isFavorite:i,onToggle:o,...s}=e;return(0,r.jsx)(l.Ay,{id:t,title:a,children:(0,r.jsx)(n.A,{"aria-label":a,id:t,onClick:()=>o(!i),color:"inherit",...s,children:(0,r.jsx)(u,{isFavorite:i})})})}},48266(e,t,a){a.d(t,{w:()=>S});var r=a(31085),n=a(77125),l=a(98552),i=a(94390),o=a(95061),s=a(41857),c=a(48543),u=a(26343),d=a(99489),f=a(7031),p=a(99703),m=a(58837),g=a(72501),h=a(92399),y=a(14041),x=a(10437);let b=(0,m.A)(e=>(0,p.A)({icon:{position:"absolute",right:e.spacing(.5),pointerEvents:"none",color:"#616161"}}),{name:"BackstageClosedDropdown"}),v=()=>{let e=b();return(0,r.jsx)(x.A,{className:e.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"currentColor"})})},j=(0,m.A)(e=>(0,p.A)({icon:{position:"absolute",right:e.spacing(.5),pointerEvents:"none",color:"#616161"}}),{name:"BackstageOpenedDropdown"}),A=()=>{let e=j();return(0,r.jsx)(x.A,{className:e.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"currentColor"})})},w=(0,f.A)(e=>(0,p.A)({root:{"label + &":{marginTop:e.spacing(3)},"&.Mui-focused > div[role=button]":{borderColor:e.palette.primary.main}},input:{borderRadius:e.shape.borderRadius,position:"relative",backgroundColor:e.palette.background.paper,border:"1px solid #ced4da",fontSize:e.typography.body1.fontSize,padding:e.spacing(1.25,3.25,1.25,1.5),transition:e.transitions.create(["border-color","box-shadow"]),"&:focus":{background:e.palette.background.paper,borderRadius:e.shape.borderRadius}}}),{name:"BackstageSelectInputBase"})(s.A),C=(0,m.A)(e=>(0,p.A)({formControl:{margin:e.spacing(1,0)},label:{transform:"initial",fontWeight:"bold",fontSize:e.typography.body2.fontSize,fontFamily:e.typography.fontFamily,color:e.palette.text.primary,"&.Mui-focused":{color:e.palette.text.primary}},formLabel:{transform:"initial",fontWeight:"bold",fontSize:e.typography.body2.fontSize,fontFamily:e.typography.fontFamily,color:e.palette.text.primary,"&.Mui-focused":{color:e.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function S(e){let{multiple:t,items:a,label:s,placeholder:f,selected:p,onChange:m,triggerReset:x,native:b=!1,disabled:j=!1,margin:S,"data-testid":k="select"}=e,E=C(),[F,I]=(0,y.useState)(p||(t?[]:"")),[N,L]=(0,y.useState)(!1);return(0,y.useEffect)(()=>{I(t?[]:"")},[x,t]),(0,y.useEffect)(()=>{I(p||(t?[]:""))},[p,t]),(0,r.jsx)(n.A,{className:E.root,children:(0,r.jsxs)(o.A,{className:E.formControl,children:[(0,r.jsx)(c.A,{className:E.formLabel,children:s}),(0,r.jsxs)(d.A,{"aria-label":s,value:F,native:b,disabled:j,"data-testid":k,displayEmpty:!0,multiple:t,margin:S,onChange:e=>{I(e.target.value),m(e.target.value)},open:N,onOpen:e=>{j?e.preventDefault():L(a=>!(!t||e.target instanceof HTMLElement)||!a)},onClose:()=>{L(!1)},input:(0,r.jsx)(w,{}),label:s,renderValue:e=>t&&0!==F.length?(0,r.jsx)(n.A,{className:E.chips,children:e.map(e=>{let t=a.find(t=>t.value===e);return!!t&&(0,r.jsx)(i.A,{"data-testid":"chip",label:t?.label,clickable:!0,deleteIcon:(0,r.jsx)(h.default,{"data-testid":"cancel-icon",onMouseDown:e=>e.stopPropagation()}),onDelete:()=>{let t=F.filter(t=>t!==e);I(t),m(t)},className:E.chip},t?.value)})}):(0,r.jsx)(g.A,{children:0===F.length?f||"":a.find(t=>t.value===e)?.label}),IconComponent:()=>N?(0,r.jsx)(A,{}):(0,r.jsx)(v,{}),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null},children:[!!f&&!t&&(0,r.jsx)(u.A,{value:[],children:f}),b?a&&a.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value)):a&&a.map(e=>(0,r.jsxs)(u.A,{value:e.value,children:[t&&(0,r.jsx)(l.A,{color:"primary",checked:F.includes(e.value)||!1,className:E.checkbox}),e.label]},e.value))]})]})})}},28499(e,t,a){a.d(t,{X:()=>V});var r=a(31085),n=a(89595),l=a(25301),i=a(77125),o=a(29365),s=a(7031),c=a(58837),u=a(54917),d=a(72501),f=a(83313),p=a(89019),m=a(62461),g=a(68887),h=a(63798),y=a(64704),x=a(6774),b=a(75625),v=a(65859),j=a(45917),A=a(5416),w=a(33494),C=a(80113),S=a(26229),k=a(46802),E=a(45250),F=a(14041),I=a(89332),N=a(64947),L=a(48266);let R=(0,c.A)(e=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:e.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:e.spacing(7.5),justifyContent:"space-between",borderBottom:`1px solid ${e.palette.grey[500]}`},heder:{},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:e.spacing(2)}}}),{name:"BackstageTableFilters"}),T=e=>{let t=R(),{onChangeFilters:a}=e,{t:l}=(0,n.i)(I.O),[o,s]=(0,F.useState)({...e.selectedFilters}),[c,u]=(0,F.useState)(!1);return(0,F.useEffect)(()=>{a(o)},[o,a]),(0,r.jsxs)(i.A,{className:t.root,children:[(0,r.jsxs)(i.A,{className:`${t.header} ${t.heder}`,children:[(0,r.jsx)(i.A,{className:t.value,children:l("table.filter.title")}),(0,r.jsx)(N.A,{color:"primary",onClick:()=>{s({}),u(e=>!e)},children:l("table.filter.clearAll")})]}),(0,r.jsx)(i.A,{className:t.filters,children:!!e.filters?.length&&e.filters.map(e=>(0,r.jsx)(L.w,{triggerReset:c,...e.element,selected:o[e.element.label],onChange:t=>s({...o,[e.element.label]:t})},e.element.label))})]})};var P=a(78467);function B(e){return(0,r.jsx)("tbody",{"data-testid":"loading-indicator",children:(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:e.colSpan,children:(0,r.jsx)(i.A,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",minHeight:"15rem"},children:(0,r.jsx)(P.A,{size:"5rem"})})})})})}let O={Add:(0,F.forwardRef)((e,t)=>(0,r.jsx)(f.default,{...e,ref:t})),Check:(0,F.forwardRef)((e,t)=>(0,r.jsx)(m.default,{...e,ref:t})),Clear:(0,F.forwardRef)((e,t)=>(0,r.jsx)(y.default,{...e,ref:t})),Delete:(0,F.forwardRef)((e,t)=>(0,r.jsx)(x.default,{...e,ref:t})),DetailPanel:(0,F.forwardRef)((e,t)=>(0,r.jsx)(h.default,{...e,ref:t})),Edit:(0,F.forwardRef)((e,t)=>(0,r.jsx)(b.default,{...e,ref:t})),Export:(0,F.forwardRef)((e,t)=>(0,r.jsx)(S.default,{...e,ref:t})),Filter:(0,F.forwardRef)((e,t)=>(0,r.jsx)(v.default,{...e,ref:t})),FirstPage:(0,F.forwardRef)((e,t)=>(0,r.jsx)(A.default,{...e,ref:t})),LastPage:(0,F.forwardRef)((e,t)=>(0,r.jsx)(w.default,{...e,ref:t})),NextPage:(0,F.forwardRef)((e,t)=>(0,r.jsx)(h.default,{...e,ref:t})),PreviousPage:(0,F.forwardRef)((e,t)=>(0,r.jsx)(g.default,{...e,ref:t})),ResetSearch:(0,F.forwardRef)((e,t)=>(0,r.jsx)(y.default,{...e,ref:t})),Search:(0,F.forwardRef)((e,t)=>(0,r.jsx)(j.default,{...e,ref:t})),SortArrow:(0,F.forwardRef)((e,t)=>(0,r.jsx)(p.default,{...e,ref:t})),ThirdStateCheck:(0,F.forwardRef)((e,t)=>(0,r.jsx)(C.default,{...e,ref:t})),ViewColumn:(0,F.forwardRef)((e,t)=>(0,r.jsx)(k.default,{...e,ref:t}))};function M(e,t){let a=t.split("."),r=e[a[0]];for(let e=1;e<a.length&&void 0!==r;++e)r=r[a[e]];return r}let U=(0,s.A)(e=>({header:{padding:e.spacing(1,2,1,2.5),borderTop:`1px solid ${e.palette.grey.A100}`,borderBottom:`1px solid ${e.palette.grey.A100}`,fontWeight:e.typography.fontWeightBold,position:"static",wordBreak:"normal",textTransform:"uppercase"}}),{name:"BackstageTableHeader"})(l.MTableHeader),z=(0,s.A)(e=>({root:{padding:e.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:e.typography.fontWeightBold}},searchField:{paddingRight:e.spacing(2)}}),{name:"BackstageTableToolbar"})(l.MTableToolbar),$=(0,c.A)(e=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap"},filterControls:{display:"flex",alignItems:"center"},title:{fontWeight:e.typography.fontWeightBold,fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),D=(0,c.A)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"}),K={search:"",filtersOpen:!1,filters:{}};function W(e){let{toolbarRef:t,setSearch:a,hasFilters:l,selectedFiltersLength:s,toggleFilters:c}=e,{t:u}=(0,n.i)(I.O),f=$(),p=(0,F.useCallback)(t=>{e.onSearchChanged(t),a(t)},[e,a]);return l?(0,r.jsxs)(i.A,{className:f.root,children:[(0,r.jsxs)(i.A,{className:f.filterControls,children:[(0,r.jsx)(o.A,{onClick:c,"aria-label":"filter list",children:(0,r.jsx)(v.default,{})}),(0,r.jsxs)(d.A,{className:f.title,children:[u("table.filter.title")," (",s,")"]})]}),(0,r.jsx)(z,{...e,ref:t,onSearchChanged:p})]}):(0,r.jsx)(z,{...e,ref:t,onSearchChanged:p})}function V(e){var t,a,o,s;let{data:c,columns:f,emptyContent:p,options:m,title:g,subtitle:h,localization:y,filters:x,initialState:b,onStateChange:v,components:j,isLoading:A,style:w,...C}=e,{t:S}=(0,n.i)(I.O),k=D(),N=(0,u.A)(),L={...K,...b},[R,P]=(0,F.useState)(L.filtersOpen),z=(0,F.useCallback)(()=>P(e=>!e),[P]),[$,V]=(0,F.useState)(L.filters),[q,Q]=(0,F.useState)(L.search);(0,F.useEffect)(()=>{if(v){var e;v((e={search:q,filtersOpen:R,filters:$},(0,E.transform)(e,(e,t,a)=>{(0,E.isEqual)(t,K[a])||(e[a]=t)})))}},[q,R,$,v]);let _=(0,F.useCallback)(e=>f.find(t=>t.title===e)?.field,[f]),G=(0,F.useMemo)(()=>{if("function"==typeof c||!$)return c;let e=Object.values($);return c&&e.flat().length?c.filter(e=>!!Object.entries($).filter(([,e])=>!!e.length).every(([t,a])=>{let r=M(e,_(t));return Array.isArray(r)&&Array.isArray(a)?r.some(e=>a.includes(e)):Array.isArray(r)?r.includes(a):Array.isArray(a)?a.includes(r):r===a})):c},[c,$,_]),H=Object.values($).flat().length,X=!!x?.length,Z=(0,F.useCallback)(e=>(0,r.jsx)(W,{setSearch:Q,hasFilters:X,selectedFiltersLength:H,toggleFilters:z,...e}),[z,X,H,Q]),Y="function"!=typeof c&&0===c.length,J=f.length,ee=(0,F.useMemo)(()=>(function({columnCount:e,emptyContent:t,hasNoRows:a,loading:n}){return i=>n?(0,r.jsx)(B,{colSpan:e}):t&&a?(0,r.jsx)("tbody",{children:(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:e,children:t})})}):(0,r.jsx)(l.MTableBody,{...i})})({hasNoRows:Y,emptyContent:p,columnCount:J,loading:A}),[Y,p,J,A]);return(0,r.jsxs)(i.A,{className:k.root,children:[R&&c&&"function"!=typeof c&&x?.length&&(0,r.jsx)(T,{filters:(t=x,a=c,o=f,s=S,t.map(e=>{var t;let r,n;return{type:e.type,element:{placeholder:s("table.filter.placeholder"),label:e.column,multiple:"multiple-select"===e.type,items:[...(t=e.column,r=new Set,n=e=>{null!=e&&r.add(e)},a&&a.forEach(e=>{let a=M(e,o.find(e=>e.title===t)?.field);Array.isArray(a)?a.forEach(n):n(a)}),r)].sort().map(e=>({label:e,value:e}))}}})),selectedFilters:$,onChangeFilters:V}),(0,r.jsx)(l.default,{components:{Header:U,Body:ee,Toolbar:Z,...j},options:m,columns:f.map(e=>{let t=e.headerStyle??{},a=e.cellStyle||{};if(e.highlight)if(t.color=N.palette.textContrast,"object"==typeof a)a.fontWeight=N.typography.fontWeightBold;else{let e=a;a=(t,a,r)=>({...e(t,a,r),fontWeight:N.typography.fontWeightBold})}return{...e,headerStyle:t,cellStyle:a}}),icons:O,title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.A,{variant:"h5",component:"h2",children:g}),h&&(0,r.jsx)(d.A,{color:"textSecondary",variant:"body1",children:h})]}),data:G,style:{width:"100%",...w},localization:{...y,body:{emptyDataSourceMessage:S("table.body.emptyDataSourceMessage"),...y?.body},pagination:{firstTooltip:S("table.pagination.firstTooltip"),labelDisplayedRows:S("table.pagination.labelDisplayedRows"),labelRowsSelect:S("table.pagination.labelRowsSelect"),lastTooltip:S("table.pagination.lastTooltip"),nextTooltip:S("table.pagination.nextTooltip"),previousTooltip:S("table.pagination.previousTooltip"),...y?.pagination},header:{actions:S("table.header.actions"),...y?.header},toolbar:{searchPlaceholder:S("table.toolbar.search"),searchTooltip:S("table.toolbar.search"),...y?.toolbar}},...C})]})}V.icons=Object.freeze(O)},43311(e,t,a){a.d(t,{E:()=>l});var r=a(58077),n=a(47196);function l(e,t,a){if(a){let n="string"==typeof e||"metadata"in e?e:(0,r.U2)(e);return a.forEntity(n,t).snapshot}return(0,n.T)(e,t)}},80018(e,t,a){a.d(t,{Q:()=>w});var r=a(31085),n=a(77125),l=a(72501),i=a(4321),o=a(87263),s=a(16249),c=a(33145),u=a(58837),d=a(7031),f=a(99703),p=a(6924),m=a(62683),g=a(14041),h=a(45250),y=a(53373),x=a.n(y);let b=(0,u.A)(e=>({root:{margin:e.spacing(1,0)},label:{position:"relative",fontWeight:"bold",fontSize:e.typography.body2.fontSize,fontFamily:e.typography.fontFamily,color:e.palette.text.primary,"& > span":{top:0,left:0,position:"absolute"}}}),{name:"BackstageAutocomplete"}),v=(0,d.A)(e=>(0,f.A)({root:{},paper:{margin:0},hasClearIcon:{},hasPopupIcon:{},focused:{},inputRoot:{marginTop:24,backgroundColor:e.palette.background.paper,"$root$hasClearIcon$hasPopupIcon &":{paddingBlock:e.spacing(.75),paddingInlineStart:e.spacing(.75)},"$root$focused &":{outline:"none"},"$root &:hover > fieldset":{borderColor:"#ced4da"},"$root$focused & > fieldset":{borderWidth:1,borderColor:e.palette.primary.main}},popupIndicator:{padding:0,margin:0,color:"#616161","&:hover":{backgroundColor:"unset"},'& [class*="MuiTouchRipple-root"]':{display:"none"}},endAdornment:{"$root$hasClearIcon$hasPopupIcon &":{right:4}},input:{"$root$hasClearIcon$hasPopupIcon &":{fontSize:e.typography.body1.fontSize,paddingBlock:e.spacing(.8125)}}}),{name:"BackstageAutocompleteBase"})(m.Ay),j=e=>(0,r.jsx)(o.A,{...e,transition:!0,placement:"bottom-start",children:({TransitionProps:t})=>(0,r.jsx)(c.A,{...t,style:{transformOrigin:"0 0 0"},children:(0,r.jsx)(n.A,{children:e.children})})}),A=e=>(0,r.jsx)(i.A,{...e,elevation:8});function w(e){let{label:t,name:a,LabelProps:i,TextFieldProps:o,...c}=e,u=b(),d=(0,g.useCallback)(e=>(0,r.jsx)(s.A,{...(0,h.merge)(e,o),variant:"outlined"}),[o]),f=(0,r.jsx)(v,{size:"small",...c,renderInput:c.renderInput??d,popupIcon:(0,r.jsx)(p.default,{"data-testid":`${a}-expand`}),PaperComponent:A,PopperComponent:j});return(0,r.jsx)(n.A,{className:u.root,children:t?(0,r.jsxs)(l.A,{...i,className:x()(u.label,i?.className),component:"label",children:[(0,r.jsx)(n.A,{component:"span",children:t}),f]}):f})}},71242(e,t,a){a.d(t,{GI:()=>g});var r=a(31085),n=a(14041),l=a(77125),i=a(64947),o=a(73845),s=a(42899),c=a(72501),u=a(5893),d=a(54917),f=a(65859),p=a(79811),m=a(89595);let g=e=>(0,r.jsx)(s.A,{container:!0,style:{position:"relative"},children:e.children});g.Filters=e=>{let t=(0,u.A)(t=>t.breakpoints.down(e.options?.drawerBreakpoint??"md"),{noSsr:!0}),a=(0,d.A)(),[g,h]=(0,n.useState)(!1),{t:y}=(0,m.i)(p.j);return t?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.A,{style:{marginTop:a.spacing(1),marginLeft:a.spacing(1)},onClick:()=>h(!0),startIcon:(0,r.jsx)(f.default,{}),children:y("catalogFilter.buttonTitle")}),(0,r.jsx)(o.Ay,{open:g,onClose:()=>h(!1),anchor:e.options?.drawerAnchor??"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary",children:(0,r.jsxs)(l.A,{m:2,children:[(0,r.jsx)(c.A,{variant:"h6",component:"h2",style:{marginBottom:a.spacing(1)},children:y("catalogFilter.title")}),e.children]})})]}):(0,r.jsx)(s.A,{item:!0,lg:2,children:e.children})},g.Content=e=>(0,r.jsx)(s.A,{item:!0,xs:12,lg:10,children:e.children})},19030(e,t,a){a.d(t,{y:()=>w});var r=a(31085),n=a(77125),l=a(58837),i=a(14041),o=a(50509),s=a(73466),c=a(76272),u=a(98552),d=a(86901),f=a(44148),p=a(41260);let m=(0,r.jsx)(p.default,{fontSize:"small"}),g=(0,r.jsx)(f.default,{fontSize:"small"});function h({selected:e}){return(0,r.jsx)(u.A,{icon:m,checkedIcon:g,checked:e})}let y=(0,i.memo)(e=>{let{selected:t,value:a,availableOptions:n,showCounts:l}=e,i=l?`${a} (${n?.[a]})`:a;return(0,r.jsx)(d.A,{control:(0,r.jsx)(h,{selected:t}),label:i,onClick:e=>e.preventDefault()})});var x=a(59378),b=a(89729),v=a(80018),j=a(45250);let A=(0,l.A)({root:{},label:{textTransform:"none",fontWeight:"bold"}},{name:"CatalogReactEntityAutocompletePicker"});function w(e){let{label:t,name:a,path:l,showCounts:u,Filter:d,InputProps:f,initialSelectedOptions:p=[],filtersForAvailableValues:m=["kind"],hidden:g,getOptionLabel:h,renderOption:w}=e,C=A(),{updateFilters:S,filters:k,queryParameters:{[a]:E}}=(0,x.nK)(),F=(0,o.gf)(c.v),I=m.map(e=>k[e]),{value:N}=(0,s.A)(async()=>{let{facets:e}=await F.getEntityFacets({facets:[l],filter:(0,b.Rr)(I.filter(Boolean))});return Object.fromEntries(e[l].map(({value:e,count:t})=>[e,t]))},[...I]),L=(0,i.useMemo)(()=>[E].flat().filter(Boolean),[E]),R=k[a]?.values,[T,P]=(0,i.useState)(L.length?L:R??p);(0,i.useEffect)(()=>{L.length&&P(L)},[L]);let B=Object.keys(N??{}),O=T.length&&B.length;(0,i.useEffect)(()=>{S({[a]:O?new d(T):void 0})},[a,O,T,d,S]),(0,i.useEffect)(()=>{if(!O)return;let e=R??[];(0,j.isEqual)(e,T)||P(e)},[R]);let M=k[a];return(!M||"object"!=typeof M||"values"in M)&&B.length?g?null:(0,r.jsx)(n.A,{className:C.root,pb:1,pt:1,children:(0,r.jsx)(v.Q,{multiple:!0,disableCloseOnSelect:!0,label:t,name:`${String(a)}-picker`,options:B,value:T,TextFieldProps:f,onChange:(e,t)=>P(t),...h&&{getOptionLabel:h},renderOption:w??((e,{selected:t})=>(0,r.jsx)(y,{selected:t,value:e,availableOptions:N,showCounts:!!u}))})}):null}},8918(e,t,a){a.d(t,{t:()=>$});var r=a(31085),n=a(58077),l=a(77125),i=a(98552),o=a(86901),s=a(72501),c=a(71677),u=a(58837),d=a(44148),f=a(41260),p=a(14041),m=a(59378),g=a(47195),h=a(1497),y=a(48108),x=a(47966),b=a(87623),v=a(43311),j=a(50509),A=a(87290),w=a(76272),C=a(76842),S=a(84392);let k=e=>{let{data:t,index:a,style:r}=e;return(0,p.cloneElement)(t[a],{style:r})},E=(0,p.createContext)({}),F=(0,p.forwardRef)(({onScroll:e,...t},a)=>{let{onScroll:n,...l}=(0,p.useContext)(E);return(0,r.jsx)("div",{ref:a,onScroll:t=>{e?.(t),n?.(t)},...t,...l})}),I=(0,p.forwardRef)((e,t)=>{let{children:a,...n}=e,l=p.Children.toArray(a),i=l.length,o=Math.min(10,i)+.5;return(0,r.jsx)("div",{ref:t,children:(0,r.jsx)(E.Provider,{value:n,children:(0,r.jsx)(S.Y1,{height:36*o,itemData:l,itemCount:i,itemSize:36,outerElementType:F,width:"100%",children:k})})})});var N=a(7031),L=a(76355),R=a(79811),T=a(89595),P=a(80018);let B=(0,u.A)({root:{},label:{},input:{},fullWidth:{width:"100%"},boxLabel:{width:"100%",textOverflow:"ellipsis",overflow:"hidden"}},{name:"CatalogReactEntityOwnerPicker"}),O=(0,N.A)(e=>({label:{width:"100%"},root:{width:"90%"}}),{name:"FixedWidthFormControlLabel"})(o.A),M=(0,r.jsx)(f.default,{fontSize:"small"}),U=(0,r.jsx)(d.default,{fontSize:"small"});function z(e){let t=B(),a="group"===e.entity.kind.toLocaleLowerCase("en-US"),o="owners-only"===e.mode?(0,n.U2)(e.entity):e.entity,{primaryTitle:u}=(0,L.f)(o);return(0,r.jsx)(l.A,{className:t.fullWidth,children:(0,r.jsx)(O,{className:t.fullWidth,control:(0,r.jsx)(i.A,{icon:M,checkedIcon:U,checked:e.isSelected}),onClick:e=>e.preventDefault(),label:(0,r.jsx)(c.Ay,{title:u,children:(0,r.jsxs)(l.A,{display:"flex",alignItems:"center",children:[a?(0,r.jsx)(x.default,{fontSize:"small"}):(0,r.jsx)(y.default,{fontSize:"small"}),"\xa0",(0,r.jsx)(l.A,{className:t.boxLabel,children:(0,r.jsx)(s.A,{noWrap:!0,children:u})})]})})})})}let $=e=>{let t=B(),{mode:a="owners-only"}=e||{},i=(0,j.Q2)().get(b.n),{updateFilters:o,filters:s,queryParameters:{owners:c}}=(0,m.nK)(),[u,d]=(0,p.useState)(""),{t:f}=(0,T.i)(R.j),y=(0,p.useMemo)(()=>[c].flat().filter(Boolean),[c]),[x,S]=(0,p.useState)(y.length?new g.N9(y).values:s.owners?.values??[]),[{value:k,loading:E},F,N]=function({mode:e,initialSelectedOwnersRefs:t}){let a,r="owners-only"===e,l=(a=(0,j.gf)(w.v),(0,A.A)(async(e,t)=>{let r=t?.limit??20;if(e.cursor){let t=await a.queryEntities({cursor:e.cursor,limit:r});return{cursor:t.pageInfo.nextCursor,items:[...e.items,...t.items]}}let n=await a.queryEntities({fullTextFilter:{term:e.text||"",fields:["metadata.name","kind","spec.profile.displayname","metadata.title"]},filter:{kind:["User","Group"]},orderFields:[{field:"metadata.name",order:"asc"}],limit:r});return{cursor:n.pageInfo.nextCursor,items:n.items}},[],{loading:!0})),i=function({enabled:e}){let t=(0,j.gf)(w.v),[a]=(0,p.useState)(async()=>{if(!e)return[];let a="relations.ownedBy";return t.getEntityFacets({facets:[a]}).then(e=>e.facets[a].map(e=>e.value).map(e=>{let{kind:t,name:a,namespace:r}=(0,n.KU)(e);return{apiVersion:"backstage.io/v1beta1",kind:t,metadata:{name:a,namespace:r}}}).sort((e,t)=>e.kind.localeCompare(t.kind,"en-US")||e.metadata.namespace.localeCompare(t.metadata.namespace,"en-US")||e.metadata.name.localeCompare(t.metadata.name,"en-US"))).catch(()=>[])});return(0,A.A)(async(e,t)=>{var r;let n=await a;if(!n)return{items:[]};let l=t?.limit??20,{text:i,start:o}=(r=e).cursor&&r.cursor?JSON.parse(atob(r.cursor)):{text:r.text||"",start:0},s=n.filter(e=>{var t,a;let r;return t=i,a=e,r=t.trim(),a.kind.includes(r)||a.metadata.namespace?.includes(r)||a.metadata.name.includes(r)}),c=o+l;return{items:s.slice(0,c),...function({entities:e,limit:t,payload:a}){return e.length>t?{cursor:btoa(JSON.stringify(a))}:{}}({entities:s,limit:c,payload:{text:i,start:c}})}},[a],{loading:!0,value:{items:[]}})}({enabled:r}),[o,s]=r?i:l;return[o,s,function({enabled:e,initialSelectedOwnersRefs:t}){let a=(0,p.useRef)({}),r=(0,j.gf)(w.v),[,l]=(0,A.A)(async()=>{(await r.getEntitiesByRefs({entityRefs:t})).items.forEach(e=>{e&&(a.current[(0,n.U2)(e)]=e)})},[]);return(0,C.u)(()=>{e&&t.length>0&&l()}),{getEntity:e=>a.current[e],setEntity:e=>{a.current[(0,n.U2)(e)]=e}}}({enabled:!r,initialSelectedOwnersRefs:t})]}({mode:a,initialSelectedOwnersRefs:x});(0,h.s)(()=>F({text:u.toLocaleLowerCase("en-US")}),[u,F],250);let L=k?.items||[];return((0,p.useEffect)(()=>{y.length&&S(new g.N9(y).values)},[y]),(0,p.useEffect)(()=>{o({owners:x.length?new g.N9(x):void 0})},[x,o]),["user","group"].includes(s.kind?.value.toLocaleLowerCase("en-US")||""))?null:(0,r.jsx)(l.A,{className:t.root,pb:1,pt:1,children:(0,r.jsx)(P.Q,{label:f("entityOwnerPicker.title"),multiple:!0,disableCloseOnSelect:!0,loading:E,options:L,value:x,getOptionSelected:(e,t)=>"string"==typeof t?(0,n.U2)(e)===t:e===t,getOptionLabel:e=>{if("owners-only"===a){let t="string"==typeof e?e:(0,n.U2)(e);return(0,v.E)(t,void 0,i).primaryTitle}let t="string"==typeof e?N.getEntity(e)||(0,n.KU)(e,{defaultKind:"group",defaultNamespace:"default"}):e;return(0,v.E)(t,void 0,i).primaryTitle},onChange:(e,t)=>{d(""),S(t.map(e=>{let t="string"==typeof e?e:(0,n.U2)(e);return"string"!=typeof e&&N.setEntity(e),t}))},filterOptions:e=>e,renderOption:(e,{selected:t})=>(0,r.jsx)(z,{entity:e,isSelected:t,mode:a}),name:"owner-picker",onInputChange:(e,t)=>{d(t)},ListboxComponent:I,ListboxProps:{onScroll:e=>{let t=e.currentTarget;1>Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)&&k?.cursor&&F({items:k.items,cursor:k.cursor})},"data-testid":"owner-picker-listbox"},LabelProps:{className:t.label},TextFieldProps:{className:t.input}})})}},67762(e,t,a){a.d(t,{m:()=>u});var r=a(31085),n=a(58837),l=a(47195),i=a(19030),o=a(79811),s=a(89595);let c=(0,n.A)({input:{}},{name:"CatalogReactEntityTagPicker"}),u=e=>{let t=c(),{t:a}=(0,s.i)(o.j);return(0,r.jsx)(i.y,{label:a("entityTagPicker.title"),name:"tags",path:"metadata.tags",Filter:l.q_,showCounts:e.showCounts,InputProps:{className:t.input},initialSelectedOptions:e.initialFilter?e.initialFilter:[],hidden:e.hidden})}},59302(e,t,a){a.d(t,{y:()=>L});var r=a(31085),n=a(50509),l=a(19735),i=a(40703),o=a(58007),s=a(46423),c=a(65569),u=a(5951),d=a(26343),f=a(72501),p=a(58837),m=a(9684),g=a(55940),h=a(14041),y=a(47195),x=a(59378),b=a(48203),v=a(45250),j=a(73466),A=a(76272),w=a(89729),C=a(87290),S=a(17855),k=a(58077),E=a(75710),F=a(89595),I=a(79811);let N=(0,p.A)(e=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:e.spacing(1,0,1,0)},title:{margin:e.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:e.palette.text.primary},menuItem:{minHeight:e.spacing(6)},groupWrapper:{margin:e.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"}),L=e=>{let{initialFilter:t,availableFilters:a,hidden:p,alwaysKeepFilters:L}=e,R=N(),T=(0,n.gf)(l.U),{t:P}=(0,F.i)(I.j),B=T.getOptionalString("organization.name")??P("userListPicker.defaultOrgName"),{filters:O,updateFilters:M,queryParameters:{user:U}}=(0,x.nK)(),z=O.kind?.value?.toLowerCase(),$=["starred","all"],D=[{name:P("userListPicker.personalFilter.title"),items:[{id:"owned",label:P("userListPicker.personalFilter.ownedLabel"),icon:m.default},{id:"starred",label:P("userListPicker.personalFilter.starredLabel"),icon:g.Gg}]},{name:B,items:[{id:"all",label:P("userListPicker.orgFilterAllLabel")}]}].map(e=>({...e,items:e.items.filter(({id:e})=>["group","user"].some(e=>e===z)?$.includes(e):!a||a.includes(e))})).filter(({items:e})=>!!e.length),{count:K,loading:W,filter:V}=function(){let e=(0,n.gf)(b.K),t=(0,n.gf)(A.v),{filters:a}=(0,x.nK)(),{value:r,loading:l}=(0,j.A)(async()=>(await e.getBackstageIdentity()).ownershipEntityRefs,[]),{user:i,owners:o,...s}=a,{orderFields:c,...u}=(0,w.$3)((0,v.compact)(Object.values(s))),[{value:d,loading:f},p]=(0,C.A)(async e=>{let a=function(e,t){if(!t?.length)return;let a=e?.values??[];if(a.length){let e=(0,v.intersection)(a,t);if(0===e.length)return;return e}return t}(e.owners,e.ownershipEntityRefs);if(void 0===a)return 0;let{"metadata.name":r,...n}=e.filter.filter,{totalItems:l}=await t.queryEntities({...e.filter,filter:{...n,"relations.ownedBy":a},limit:0});return l},[],{loading:!0});return(0,S.A)(()=>{0===Object.keys(u.filter).length||void 0!==r&&p({ownershipEntityRefs:r,owners:o,filter:u})},[r,o,u]),{count:d,loading:l||f,filter:(0,h.useMemo)(()=>y.tN.owned(r??[]),[r]),ownershipEntityRefs:r}}(),{count:q}=function(){let e=(0,n.gf)(A.v),{filters:t}=(0,x.nK)(),a=(0,h.useRef)(),r=(0,h.useMemo)(()=>{let{user:e,...r}=t,n=(0,v.compact)(Object.values(r)),{orderFields:l,...i}=(0,w.$3)(n),o={...i,limit:0};return 0===Object.keys(i.filter).length?(a.current=void 0,a.current):(0,v.isEqual)(o,a.current)?a.current:(a.current=o,o)},[t]),{value:l,loading:i}=(0,j.A)(async()=>{if(void 0===r)return 0;let{totalItems:t}=await e.queryEntities(r);return t},[r]);return{count:l,loading:i}}(),{count:Q,filter:_,loading:G}=function(){let e=(0,n.gf)(A.v),{filters:t}=(0,x.nK)(),{starredEntities:a}=(0,E.I)(),r=(0,h.useRef)(),l=(0,h.useMemo)(()=>{let{user:e,...n}=t,l=(0,v.compact)(Object.values(n)),{orderFields:i,...o}=(0,w.$3)(l),s={...o,filter:{...o.filter,"metadata.name":Array.from(a).map(e=>(0,k.KU)(e).name)},limit:1e3};return(0,v.isEqual)(s,r.current)?r.current:(r.current=s,s)},[t,a]),{value:i,loading:o}=(0,j.A)(async()=>a.size?(await e.queryEntities(l)).items.map(e=>(0,k.U2)({kind:e.kind,namespace:e.metadata.namespace,name:e.metadata.name})).filter(e=>a.has(e)).length:0,[l,a]);return{count:i,loading:o,filter:(0,h.useMemo)(()=>y.tN.starred(Array.from(a)),[a])}}(),H=(0,h.useMemo)(()=>[U].flat()[0],[U]),[X,Z]=(0,h.useState)(H??t),Y=(0,h.useMemo)(()=>({all:q,starred:Q,owned:K}),[Q,K,q]);(0,h.useEffect)(()=>{H&&Z(H)},[H]);let J=W||G;return(0,h.useEffect)(()=>{J||!X||"all"===X||0!==Y[X]||L||Z("all")},[J,Y,X,Z,L]),(0,h.useEffect)(()=>{!X||J||M({user:"owned"===X?V:"starred"===X?_:y.tN.all()})},[X,_,V,M,J]),p?null:(0,r.jsx)(i.A,{className:R.root,children:D.map(e=>(0,r.jsxs)(h.Fragment,{children:[(0,r.jsx)(f.A,{variant:"subtitle2",component:"span",className:R.title,children:e.name}),(0,r.jsx)(i.A,{className:R.groupWrapper,children:(0,r.jsx)(o.A,{disablePadding:!0,dense:!0,role:"menu","aria-label":e.name,children:e.items.map((t,a)=>(0,r.jsxs)(d.A,{role:"none presentation",divider:a!==e.items.length-1,onClick:()=>Z(t.id),selected:t.id===O.user?.value,className:R.menuItem,disabled:0===Y[t.id],"data-testid":`user-picker-${t.id}`,tabIndex:0,ContainerProps:{role:"menuitem"},children:[t.icon&&(0,r.jsx)(s.A,{className:R.listIcon,children:(0,r.jsx)(t.icon,{fontSize:"small"})}),(0,r.jsx)(u.A,{children:(0,r.jsxs)(f.A,{variant:"body1",children:[t.label," "]})}),(0,r.jsx)(c.A,{children:Y[t.id]??"-"})]},t.id))})})]},e.name))})}},47195(e,t,a){a.d(t,{I5:()=>d,Kf:()=>g,N9:()=>u,V3:()=>c,gM:()=>i,gZ:()=>m,mT:()=>h,qA:()=>o,q_:()=>s,tN:()=>p,z:()=>f});var r=a(58077),n=a(49185),l=a(53320);class i{value;label;constructor(e,t){this.value=e,this.label=t}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class o{value;constructor(e){this.value=e}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class s{values;constructor(e){this.values=e}filterEntity(e){return this.values.every(t=>(e.metadata.tags??[]).includes(t))}getCatalogFilters(){return{"metadata.tags":this.values}}toQueryValue(){return this.values}}class c{value;constructor(e){this.value=e}filterEntity(e){let t=this.toUpperArray(this.value.split(/\s/)),a=this.toUpperArray([e.metadata.tags]),r=e.spec?.targets,n=this.toUpperArray([e.metadata.name,e.metadata.title,e.spec?.profile?.displayName,e.spec?.target,...Array.isArray(r)?r:[]]);for(let e of t)if(a.every(t=>t!==e)&&n.every(t=>!t.includes(e)))return!1;return!0}getFullTextFilters(){return{term:this.value,fields:["metadata.name","metadata.title","spec.profile.displayName","spec.target","spec.targets"]}}toQueryValue(){return this.value}toUpperArray(e){return e.flat().filter(e=>!!e&&"string"==typeof e).map(e=>e.toLocaleUpperCase("en-US"))}}class u{values;constructor(e){this.values=e.reduce((e,t)=>{try{return e.push((0,r.U2)((0,r.KU)(t,{defaultKind:"Group"}))),e}catch(t){return e}},[])}getCatalogFilters(){return{"relations.ownedBy":this.values}}filterEntity(e){return this.values.some(t=>(0,l.t)(e,n.vv).some(e=>(0,r.U2)(e)===t))}toQueryValue(){return this.values}}class d{values;constructor(e){this.values=e}getCatalogFilters(){return{"spec.lifecycle":this.values}}filterEntity(e){return this.values.some(t=>e.spec?.lifecycle===t)}toQueryValue(){return this.values}}class f{values;constructor(e){this.values=e}getCatalogFilters(){return{"metadata.namespace":this.values}}filterEntity(e){return this.values.some(t=>e.metadata.namespace===t)}toQueryValue(){return this.values}}class p{value;refs;constructor(e,t){this.value=e,this.refs=t}static owned(e){return new p("owned",e)}static all(){return new p("all")}static starred(e){return new p("starred",e)}getCatalogFilters(){return"owned"===this.value?{"relations.ownedBy":this.refs??[]}:"starred"===this.value?{"metadata.name":this.refs?.map(e=>(0,r.KU)(e).name)??[]}:{}}filterEntity(e){if("starred"===this.value)return this.refs?.includes((0,r.U2)(e))??!0;if("owned"===this.value){let t=(0,l.t)(e,n.vv);return this.refs?.some(e=>t.some(t=>(0,r.U2)(t)===e))??!1}return!0}toQueryValue(){return this.value}}class m{value;isOwnedEntity;isStarredEntity;constructor(e,t,a){this.value=e,this.isOwnedEntity=t,this.isStarredEntity=a}filterEntity(e){switch(this.value){case"owned":return this.isOwnedEntity(e);case"starred":return this.isStarredEntity(e);default:return!0}}toQueryValue(){return this.value}}class g{value;constructor(e){this.value=e}getCatalogFilters(){return this.value?{"metadata.annotations.backstage.io/orphan":String(this.value)}:{}}filterEntity(e){let t=e.metadata.annotations?.["backstage.io/orphan"];return void 0!==t&&this.value.toString()===t}}class h{value;constructor(e){this.value=e}filterEntity(e){let t=e?.status?.items?.length>0;return void 0!==t&&this.value===t}}},59378(e,t,a){a.d(t,{B9:()=>b,nK:()=>v});var r=a(31085),n=a(50509),l=a(9135),i=a(20549),o=a(45250),s=a(45810),c=a.n(s),u=a(14041),d=a(18690),f=a(87290),p=a(48240),m=a(71581),g=a(76272),h=a(89729);let y=(0,l.tK)("entity-list-context"),x=(0,u.createContext)(void 0),b=e=>{let t=(0,m.A)(),a=(0,n.gf)(g.v),[l,s]=(0,u.useState)({}),b=(0,d.useLocation)(),v="none";!0===e.pagination?v="cursor":"object"==typeof e.pagination&&(v=e.pagination.mode??"cursor");let j="object"==typeof e.pagination?e.pagination.limit??20:20,{queryParameters:A,cursor:w,offset:C,limit:S}=(0,u.useMemo)(()=>{let e=c().parse(b.search,{ignoreQueryPrefix:!0,arrayLimit:1e4}),t=j;if("string"==typeof e.limit){let a=Number.parseInt(e.limit,10);isNaN(a)||(t=a)}let a="string"==typeof e.offset&&"offset"===v?Number.parseInt(e.offset,10):void 0;return{queryParameters:e.filters??{},cursor:"string"==typeof e.cursor&&"cursor"===v?e.cursor:void 0,offset:"offset"===v&&a&&!isNaN(a)?a:void 0,limit:t}},[v,b.search,j]),[k,E]=(0,u.useState)(w),[F,I]=(0,u.useState)(C),[N,L]=(0,u.useState)(S),[R,T]=(0,u.useState)({backendEntities:[]}),[P,B]=(0,u.useState)(!0),[O,M]=(0,u.useState)(),[U,z]=(0,u.useState)(0),$=(0,u.useRef)(void 0),D=(0,u.useRef)(0),K=(0,u.useMemo)(()=>{let e=l.kind?.value?.toLocaleLowerCase("en-US");return"user"===e||"group"===e?{...l,owners:void 0}:l},[l]),W=async()=>{let e,t,r=(0,o.compact)(Object.values(K));if("none"!==v)if(k)e={cursor:k,limit:N},t=async()=>{let e=await a.queryEntities({cursor:k,limit:N,totalItems:"exclude"});return{backendEntities:e.items,pageInfo:e.pageInfo}};else{let n=(0,h.$3)(r);e={...n,limit:N,offset:F},t=async()=>{let e=await a.queryEntities({...n,limit:N,offset:F,totalItems:"exclude"});return{backendEntities:e.items,pageInfo:e.pageInfo}}}else{let n=(0,h.Rr)(r),{orderFields:l}=(0,h.$3)(r);e={filter:n,order:l},t=async()=>({backendEntities:(await a.getEntities({filter:n,order:l})).items})}if(0===r.length&&void 0===$.current&&!k)return void B(!1);if((0,o.isEqual)(e,$.current))return;$.current=e;let n=++D.current;B(!0),M(void 0);try{let e=await t();n===D.current&&T(e)}catch(e){n===D.current&&($.current=void 0,M(e))}finally{n===D.current&&B(!1)}};(0,p.A)(W,10,[K,k,N,F,U]);let[{value:V,loading:q},Q]=(0,f.A)(async()=>{if("none"===v)return;let e=(0,o.compact)(Object.values(K));if(0===e.length)return;let t=(0,h.$3)(e);try{return(await a.queryEntities({...t,limit:0})).totalItems}catch{return}},[a,v,K]);(0,p.A)(Q,10,[K,U]);let _=(0,u.useMemo)(()=>{let e=(0,o.compact)(Object.values(K)),t=(0,h.be)(e);return R.backendEntities.filter(t)},[K,R.backendEntities]);(0,u.useEffect)(()=>{if(!t()||0===Object.keys(l).length)return;let e=Object.keys(l).reduce((e,t)=>{let a=l[t];return a?.toQueryValue&&(e[t]=a.toQueryValue()),e},{}),a=c().parse(b.search,{ignoreQueryPrefix:!0,arrayLimit:1e4}),r=c().stringify({...a,filters:e,..."none"===v?{}:{cursor:k,limit:N,offset:F}},{addQueryPrefix:!0,arrayFormat:"repeat"}),n=`${window.location.pathname}${r}`;window.history?.replaceState(null,document.title,n)},[k,t,N,b.search,F,l,v]);let G=(0,u.useCallback)(e=>{"cursor"===v?E(void 0):"offset"===v&&I(0),s(t=>{let a="function"==typeof e?e(t):e;return{...t,...a}})},[v]),H=(0,u.useCallback)(()=>{$.current=void 0,z(e=>e+1)},[]),X=(0,u.useMemo)(()=>{if("cursor"!==v)return;let e=R.pageInfo?.prevCursor,t=R.pageInfo?.nextCursor;return{prev:e?()=>E(e):void 0,next:t?()=>E(t):void 0}},[v,R.pageInfo]),Z=(0,u.useMemo)(()=>({filters:l,entities:_,backendEntities:R.backendEntities,updateFilters:G,queryParameters:A,loading:P,error:O,pageInfo:X,totalItems:"none"===v?_.length:V??R.totalItems,totalItemsLoading:"none"!==v&&q,limit:N,offset:F,setLimit:L,setOffset:I,paginationMode:v,refresh:H}),[l,_,R,V,q,G,A,P,O,X,v,N,F,L,I,H]);return(0,r.jsx)(x.Provider,{value:Z,children:(0,r.jsx)(y.Provider,{value:(0,i.B)({1:Z}),children:e.children})})};function v(){let e=(0,l.qO)("entity-list-context"),t=(0,u.useContext)(x);if(e){let t=e.atVersion(1);if(!t)throw Error("EntityListContext v1 not available");return t}if(t)return t;throw Error("useEntityList must be used within EntityListProvider")}},75710(e,t,a){a.d(t,{I:()=>c});var r=a(58077),n=a(50509),l=a(14041),i=a(10581),o=a(769);function s(e){return"string"==typeof e?e:(0,r.U2)(e)}function c(){let e=(0,n.gf)(o.a),t=(0,i.A)((0,l.useMemo)(()=>e.starredEntitie$(),[e]),new Set),a=(0,l.useCallback)(e=>t.has(s(e)),[t]);return{starredEntities:t,toggleStarredEntity:(0,l.useCallback)(t=>e.toggleStarred(s(t)).then(),[e]),isStarredEntity:a}}},89729(e,t,a){a.d(t,{$3:()=>i,Rr:()=>o,be:()=>s});var r=a(47195);function n(e){return!!e.getFullTextFilters}function l(e){return!!e.getOrderFilters}function i(e){let t=e.reduce((e,t)=>({...e,...t.getCatalogFilters?t.getCatalogFilters():{}}),{});return{filter:t,fullTextFilter:e.find(n)?.getFullTextFilters(),orderFields:e.find(l)?.getOrderFilters()||[{field:"metadata.name",order:"asc"}]}}function o(e){let t={};return e.forEach(e=>{e instanceof r.q_||e instanceof r.N9||e instanceof r.I5||e instanceof r.z||e instanceof r.tN||e instanceof r.Kf||e instanceof r.V3||e instanceof r.gZ||Object.assign(t,e.getCatalogFilters?.()||{})}),t}function s(e){return t=>e.every(e=>!e.filterEntity||e.filterEntity(t))}},20425(e,t,a){a.d(t,{TechDocsIndexPageContent:()=>f});var r=a(31085),n=a(62445),l=a(59378),i=a(71242),o=a(59302),s=a(8918),c=a(67762),u=a(59152),d=a(55374);let f=e=>{let{initialFilter:t="owned",columns:a,actions:f,ownerPickerMode:p,pagination:m,options:g}=e;return(0,r.jsx)(n.m,{mt:"6",children:(0,r.jsx)(l.B9,{pagination:m,children:(0,r.jsxs)(i.GI,{children:[(0,r.jsxs)(i.GI.Filters,{children:[(0,r.jsx)(u.Y,{}),(0,r.jsx)(o.y,{initialFilter:t}),(0,r.jsx)(s.t,{mode:p}),(0,r.jsx)(c.m,{})]}),(0,r.jsx)(i.GI.Content,{children:(0,r.jsx)(d.$,{actions:f,columns:a,options:g})})]})})})}},99255(e,t,a){a.d(t,{V:()=>r});function r(e,t){return t.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?e:e.toLocaleLowerCase("en-US")}},31314(e,t,a){a.d(t,{o:()=>y});var r=a(31085),n=a(11688),l=a(81219),i=a(50509),o=a(19735),s=a(89595),c=a(90898),u=a(28499),d=a(35571),f=a(45463),p=a(64009),m=a(37144),g=a(44093),h=a(25046);let y=e=>{let{entities:t,title:a,loading:y,columns:x,actions:b,options:v}=e,[,j]=(0,n.A)(),A=(0,l.S)(c.Oc),w=(0,i.gf)(o.U),{t:C}=(0,s.i)(p.M);if(!t)return null;let S=(0,h.H)(t,A,w),k=[m.f.createCopyDocsUrlAction(j,C)],E=S&&S.length>20;return(0,r.jsx)(r.Fragment,{children:y||S&&S.length>0?(0,r.jsx)(u.X,{isLoading:y,options:{paging:E,pageSize:20,search:!0,actionsColumnIndex:-1,...v},data:S,columns:x||g.F,actions:b||k,title:a?`${a} (${S.length})`:`${C("table.title.all")} (${S.length})`,localization:{header:{actions:C("table.header.actions")},toolbar:{searchPlaceholder:C("table.toolbar.searchPlaceholder")},pagination:{labelRowsSelect:C("table.pagination.labelRowsSelect")},body:{emptyDataSourceMessage:C("table.body.emptyDataSourceMessage")}}}):(0,r.jsx)(d.p,{missing:"data",title:C("table.emptyState.title"),description:C("table.emptyState.description"),action:(0,r.jsx)(f.z,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained",children:C("table.emptyState.docsButton")})})})};y.columns=g.B,y.actions=m.f},55374(e,t,a){a.d(t,{$:()=>S});var r=a(31085),n=a(11688),l=a(45250),i=a(87187),o=a(4809),s=a(81219),c=a(50509),u=a(19735),d=a(89595),f=a(59378),p=a(75710),m=a(64009),g=a(31314),h=a(14041),y=a(28499),x=a(47195);function b(e){let{actions:t,columns:a,data:n,isLoading:l,options:i,title:o}=e,{updateFilters:s,setLimit:c,setOffset:u,limit:p,totalItems:g,offset:b}=(0,f.nK)(),{t:v}=(0,d.i)(m.M),[j,A]=(0,h.useState)(b&&p?Math.floor(b/p):0);return(0,h.useEffect)(()=>{g&&j*p>=g?u(Math.max(0,g-p)):u(Math.max(0,j*p))},[u,j,p,g]),(0,r.jsx)(y.X,{title:o,columns:a,data:n,options:{paginationPosition:"both",pageSizeOptions:[5,10,20,50,100],pageSize:p,emptyRowsWhenPaging:!1,actionsColumnIndex:-1,...i},actions:t,onSearchChange:e=>s({text:e?new x.V3(e):void 0}),page:j,onPageChange:e=>{A(e)},onRowsPerPageChange:e=>{c(e)},totalCount:g,localization:{header:{actions:v("table.header.actions")},toolbar:{searchPlaceholder:v("table.toolbar.searchPlaceholder")},pagination:{labelDisplayedRows:"",labelRowsSelect:v("table.pagination.labelRowsSelect")},body:{emptyDataSourceMessage:v("table.body.emptyDataSourceMessage")}},isLoading:l})}function v(e){let{actions:t,columns:a,data:n,next:l,prev:i,title:o,isLoading:s,options:c,...u}=e,{t:f}=(0,d.i)(m.M);return(0,r.jsx)(y.X,{title:s?"":o,columns:a,data:n,options:{paginationPosition:"both",...c,pageSizeOptions:[],showFirstLastPageButtons:!1,pageSize:Number.MAX_SAFE_INTEGER,emptyRowsWhenPaging:!1,actionsColumnIndex:-1},onPageChange:e=>{e>0?l?.():i?.()},page:+!!i,totalCount:l?Number.MAX_VALUE:Number.MAX_SAFE_INTEGER,localization:{header:{actions:f("table.header.actions")},toolbar:{searchPlaceholder:f("table.toolbar.searchPlaceholder")},pagination:{labelDisplayedRows:"",labelRowsSelect:f("table.pagination.labelRowsSelect")},body:{emptyDataSourceMessage:f("table.body.emptyDataSourceMessage")}},isLoading:s,...u})}var j=a(37144),A=a(44093),w=a(90898),C=a(25046);let S=e=>{let{columns:t,actions:a,options:h}=e,{loading:y,error:x,entities:S,filters:k,paginationMode:E,pageInfo:F}=(0,f.nK)(),{isStarredEntity:I,toggleStarredEntity:N}=(0,p.I)(),[,L]=(0,n.A)(),R=(0,s.S)(w.Oc),T=(0,c.gf)(u.U),{t:P}=(0,d.i)(m.M),B=(0,l.capitalize)(k.user?.value??"all"),O=[j.f.createCopyDocsUrlAction(L,P),j.f.createStarEntityAction(I,N,P)],M=(0,C.H)(S,R,T);return"cursor"===E?(0,r.jsx)(v,{columns:t||A.F,isLoading:y,title:B,actions:a||O,options:h,data:M,next:F?.next,prev:F?.prev}):"offset"===E?(0,r.jsx)(b,{columns:t||A.F,isLoading:y,title:B,actions:a||O,options:h,data:M}):x?(0,r.jsx)(i.B,{severity:"error",title:P("error.couldNotLoad"),children:(0,r.jsx)(o.z,{language:"text",text:x.toString()})}):(0,r.jsx)(g.o,{title:B,entities:S,loading:y,actions:a||O,columns:t,options:h})};S.columns=A.B,S.actions=j.f},37144(e,t,a){a.d(t,{f:()=>i});var r=a(31085),n=a(55290),l=a(280);let i={createCopyDocsUrlAction:(e,t)=>a=>({icon:()=>(0,r.jsx)(n.default,{fontSize:"small"}),tooltip:t?.("table.actions.copyDocsUrl",{})??"Click to copy documentation link to clipboard",onClick:()=>e(`${window.location.origin}${a.resolved.docsUrl}`)}),createStarEntityAction:(e,t,a)=>n=>{let i=n.entity,o=e(i);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,r.jsx)(l.m,{isFavorite:o}),tooltip:o?a?.("table.actions.removeFromFavorites",{})??"Remove from favorites":a?.("table.actions.addToFavorites",{})??"Add to favorites",onClick:()=>t(i)}}}},44093(e,t,a){a.d(t,{F:()=>m,B:()=>p});var r=a(31085),n=a(77125);let l=(0,a(58837).A)(e=>({value:{marginBottom:e.spacing(.75)},subvalue:{color:e.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function i(e){let{value:t,subvalue:a}=e,i=l();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.A,{className:i.value,children:t}),(0,r.jsx)(n.A,{className:i.subvalue,children:a})]})}var o=a(60603),s=a(53987),c=a(89595),u=a(64009);function d(e){return e.metadata.title||e.metadata.name}let f=({translationKey:e})=>{let{t}=(0,c.i)(u.M);return(0,r.jsx)(r.Fragment,{children:t(`table.columns.${e}`)})},p={createTitleColumn:e=>({...p.createNameColumn(),field:"entity.metadata.title",hidden:e?.hidden}),createNameColumn:()=>({title:(0,r.jsx)(f,{translationKey:"document"}),field:"entity.metadata.name",highlight:!0,searchable:!0,defaultSort:"asc",customSort:(e,t)=>{let a=d(e.entity).toLocaleLowerCase(),r=d(t.entity).toLocaleLowerCase();return a.localeCompare(r)},render:e=>(0,r.jsx)(i,{value:(0,r.jsx)(o.N_,{to:e.resolved.docsUrl,children:d(e.entity)}),subvalue:e.entity.metadata.description})}),createOwnerColumn:()=>({title:(0,r.jsx)(f,{translationKey:"owner"}),field:"resolved.ownedByRelationsTitle",render:({resolved:e})=>(0,r.jsx)(s.i,{entityRefs:e.ownedByRelations,defaultKind:"group"})}),createKindColumn:()=>({title:(0,r.jsx)(f,{translationKey:"kind"}),field:"entity.kind"}),createTypeColumn:()=>({title:(0,r.jsx)(f,{translationKey:"type"}),field:"entity.spec.type"})},m=[p.createTitleColumn({hidden:!0}),p.createNameColumn(),p.createOwnerColumn(),p.createKindColumn(),p.createTypeColumn()]},25046(e,t,a){a.d(t,{H:()=>o});var r=a(49185),n=a(53320),l=a(43311),i=a(99255);function o(e,t,a,o){return e.map(e=>{let s=(0,n.t)(e,r.vv);return{entity:e,resolved:{docsUrl:t({namespace:(0,i.V)(e.metadata.namespace??"default",a),kind:(0,i.V)(e.kind,a),name:(0,i.V)(e.metadata.name,a)}),ownedByRelations:s,ownedByRelationsTitle:s.map(e=>(0,l.E)(e,{defaultKind:"group"},o).primaryTitle).join(", ")}}})}},59152(e,t,a){a.d(t,{Y:()=>s});var r=a(14041),n=a(74854),l=a(59378),i=a(78931);class o{getCatalogFilters(){return{[`metadata.annotations.${i.As}`]:n.c}}}let s=()=>{let{updateFilters:e}=(0,l.nK)();return(0,r.useEffect)(()=>{e({techdocs:new o})},[e]),null}}}]);
2
+ //# sourceMappingURL=3554.668a16659089.chunk.js.map