@baseplate-dev/project-builder-web 0.2.4 → 0.2.5

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 (104) hide show
  1. package/dist/assets/{-constants-BC9esibq.js → -constants-CyTNHADu.js} +2 -2
  2. package/dist/assets/{-constants-BC9esibq.js.map → -constants-CyTNHADu.js.map} +1 -1
  3. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-BaAZd6c4.js → web-dPVRSC8L.js} +2 -2
  4. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-BaAZd6c4.js.map → web-dPVRSC8L.js.map} +1 -1
  5. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-DnM8acZf.js +5 -0
  6. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-DnM8acZf.js.map +1 -0
  7. package/dist/assets/__federation_shared_@baseplate-dev/{ui-components-CbLT5eCP.js → ui-components-z-HwX7Wv.js} +4 -4
  8. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-z-HwX7Wv.js.map +1 -0
  9. package/dist/assets/{_virtual___federation_fn_import-CzwHXTRo.js → _virtual___federation_fn_import-DK_YYIlv.js} +2 -2
  10. package/dist/assets/{_virtual___federation_fn_import-CzwHXTRo.js.map → _virtual___federation_fn_import-DK_YYIlv.js.map} +1 -1
  11. package/dist/assets/{backend-B3MDDop9.js → backend-B_UhUC1z.js} +2 -2
  12. package/dist/assets/{backend-B3MDDop9.js.map → backend-B_UhUC1z.js.map} +1 -1
  13. package/dist/assets/{badge-with-type-label-CNVJUqNt.js → badge-with-type-label-Cvf-Kq7s.js} +2 -2
  14. package/dist/assets/{badge-with-type-label-CNVJUqNt.js.map → badge-with-type-label-Cvf-Kq7s.js.map} +1 -1
  15. package/dist/assets/{edit._id-Ce2Ymc-o.js → edit._id-TYAWf8Zb.js} +2 -2
  16. package/dist/assets/{edit._id-Ce2Ymc-o.js.map → edit._id-TYAWf8Zb.js.map} +1 -1
  17. package/dist/assets/{enum-info-form-CVHvQqYN.js → enum-info-form-CfQbLUQ3.js} +2 -2
  18. package/dist/assets/{enum-info-form-CVHvQqYN.js.map → enum-info-form-CfQbLUQ3.js.map} +1 -1
  19. package/dist/assets/{graphql-BlURtGp8.js → graphql-DTRjqtIq.js} +2 -2
  20. package/dist/assets/{graphql-BlURtGp8.js.map → graphql-DTRjqtIq.js.map} +1 -1
  21. package/dist/assets/{hierarchy-B1V1qwhL.js → hierarchy-BDu76BxG.js} +2 -2
  22. package/dist/assets/{hierarchy-B1V1qwhL.js.map → hierarchy-BDu76BxG.js.map} +1 -1
  23. package/dist/assets/{immer-xieDw-3D.js → immer-BOh2djD_.js} +2 -2
  24. package/dist/assets/{immer-xieDw-3D.js.map → immer-BOh2djD_.js.map} +1 -1
  25. package/dist/assets/{index-1DYdEncJ.js → index-01LAxHjt.js} +2 -2
  26. package/dist/assets/{index-1DYdEncJ.js.map → index-01LAxHjt.js.map} +1 -1
  27. package/dist/assets/{index-BMCloLL3.js → index-B7G2CMwL.js} +4 -4
  28. package/dist/assets/{index-BMCloLL3.js.map → index-B7G2CMwL.js.map} +1 -1
  29. package/dist/assets/{index-BxN9iLEr.js → index-BgFEd-vA.js} +2 -2
  30. package/dist/assets/{index-BxN9iLEr.js.map → index-BgFEd-vA.js.map} +1 -1
  31. package/dist/assets/index-BkkIaDrq.js +2 -0
  32. package/dist/assets/index-BkkIaDrq.js.map +1 -0
  33. package/dist/assets/{index-DlrvL7L-.js → index-CKCJuR7p.js} +2 -2
  34. package/dist/assets/{index-DlrvL7L-.js.map → index-CKCJuR7p.js.map} +1 -1
  35. package/dist/assets/{index-BazMYfmA.js → index-Cg4QKyV6.js} +2 -2
  36. package/dist/assets/{index-BazMYfmA.js.map → index-Cg4QKyV6.js.map} +1 -1
  37. package/dist/assets/{index-BRdI-lNh.js → index-D8LleqeK.js} +2 -2
  38. package/dist/assets/{index-BRdI-lNh.js.map → index-D8LleqeK.js.map} +1 -1
  39. package/dist/assets/{index-BEMXZzJT.js → index-DITwAD5X.js} +2 -2
  40. package/dist/assets/{index-BEMXZzJT.js.map → index-DITwAD5X.js.map} +1 -1
  41. package/dist/assets/{index-1rH5AIf1.js → index-DhWOhNFS.js} +2 -2
  42. package/dist/assets/{index-1rH5AIf1.js.map → index-DhWOhNFS.js.map} +1 -1
  43. package/dist/assets/{index-Bw18F51O.js → index-PWrncK3R.js} +2 -2
  44. package/dist/assets/{index-Bw18F51O.js.map → index-PWrncK3R.js.map} +1 -1
  45. package/dist/assets/{index-DJrwWHdu.js → index-tLZ1b0Gc.js} +2 -2
  46. package/dist/assets/{index-DJrwWHdu.js.map → index-tLZ1b0Gc.js.map} +1 -1
  47. package/dist/assets/{index.esm-C6ngV5UE.js → index.esm-Bvv3vNQh.js} +2 -2
  48. package/dist/assets/{index.esm-C6ngV5UE.js.map → index.esm-Bvv3vNQh.js.map} +1 -1
  49. package/dist/assets/{model-info-form-B3UWaCuz.js → model-info-form-tJoD-VwE.js} +2 -2
  50. package/dist/assets/{model-info-form-B3UWaCuz.js.map → model-info-form-tJoD-VwE.js.map} +1 -1
  51. package/dist/assets/{model-merger-BoPVsTMR.js → model-merger-DuBMgrZ3.js} +2 -2
  52. package/dist/assets/{model-merger-BoPVsTMR.js.map → model-merger-DuBMgrZ3.js.map} +1 -1
  53. package/dist/assets/{new-app-dialog-DmiiaAcy.js → new-app-dialog-CFhp6QLe.js} +2 -2
  54. package/dist/assets/{new-app-dialog-DmiiaAcy.js.map → new-app-dialog-CFhp6QLe.js.map} +1 -1
  55. package/dist/assets/{new-enum-dialog-eE-ABw-k.js → new-enum-dialog-BxDxXwX_.js} +2 -2
  56. package/dist/assets/{new-enum-dialog-eE-ABw-k.js.map → new-enum-dialog-BxDxXwX_.js.map} +1 -1
  57. package/dist/assets/{new-model-dialog-DsUABBKe.js → new-model-dialog-D4pnLGR_.js} +2 -2
  58. package/dist/assets/{new-model-dialog-DsUABBKe.js.map → new-model-dialog-D4pnLGR_.js.map} +1 -1
  59. package/dist/assets/{route-rX4E9J5V.js → route-BGYla1q4.js} +2 -2
  60. package/dist/assets/{route-rX4E9J5V.js.map → route-BGYla1q4.js.map} +1 -1
  61. package/dist/assets/{route-sqtj7nCf.js → route-BILZA_nq.js} +2 -2
  62. package/dist/assets/{route-sqtj7nCf.js.map → route-BILZA_nq.js.map} +1 -1
  63. package/dist/assets/{route-MODh5ysn.js → route-BLMjDHl_.js} +2 -2
  64. package/dist/assets/{route-MODh5ysn.js.map → route-BLMjDHl_.js.map} +1 -1
  65. package/dist/assets/{route-Cey_4lZX.js → route-CO2y2T3j.js} +2 -2
  66. package/dist/assets/{route-Cey_4lZX.js.map → route-CO2y2T3j.js.map} +1 -1
  67. package/dist/assets/route-DSICQIL3.js +2 -0
  68. package/dist/assets/{route-CqtFDOsk.js.map → route-DSICQIL3.js.map} +1 -1
  69. package/dist/assets/{route-BcszKLdV.js → route-DYHQ0t6P.js} +2 -2
  70. package/dist/assets/{route-BcszKLdV.js.map → route-DYHQ0t6P.js.map} +1 -1
  71. package/dist/assets/{route-VW3n5-PC.js → route-DvbGaH6v.js} +2 -2
  72. package/dist/assets/{route-VW3n5-PC.js.map → route-DvbGaH6v.js.map} +1 -1
  73. package/dist/assets/{route-DioBcaFQ.js → route-MA2rDgPd.js} +2 -2
  74. package/dist/assets/{route-DioBcaFQ.js.map → route-MA2rDgPd.js.map} +1 -1
  75. package/dist/assets/{route-CBp4D5qe.js → route-rzAviP-P.js} +2 -2
  76. package/dist/assets/{route-CBp4D5qe.js.map → route-rzAviP-P.js.map} +1 -1
  77. package/dist/assets/{sections-D48VzvlO.js → sections-BSA71xrl.js} +2 -2
  78. package/dist/assets/{sections-D48VzvlO.js.map → sections-BSA71xrl.js.map} +1 -1
  79. package/dist/assets/{sections._sectionKey-Cojmxr6C.js → sections._sectionKey-DSatzih8.js} +2 -2
  80. package/dist/assets/{sections._sectionKey-Cojmxr6C.js.map → sections._sectionKey-DSatzih8.js.map} +1 -1
  81. package/dist/assets/{service-CuzPG1Yl.js → service-C0mRE7Wd.js} +2 -2
  82. package/dist/assets/{service-CuzPG1Yl.js.map → service-C0mRE7Wd.js.map} +1 -1
  83. package/dist/assets/{template-extractor-B9fEhgo_.js → template-extractor-1dzSeRMo.js} +2 -2
  84. package/dist/assets/{template-extractor-B9fEhgo_.js.map → template-extractor-1dzSeRMo.js.map} +1 -1
  85. package/dist/assets/{theme-builder-Bw8c01EE.js → theme-builder-NSOA1xIw.js} +2 -2
  86. package/dist/assets/{theme-builder-Bw8c01EE.js.map → theme-builder-NSOA1xIw.js.map} +1 -1
  87. package/dist/assets/{use-definition-schema-DANa9pch.js → use-definition-schema-DOTr2MSB.js} +2 -2
  88. package/dist/assets/{use-definition-schema-DANa9pch.js.map → use-definition-schema-DOTr2MSB.js.map} +1 -1
  89. package/dist/assets/{use-enum-form-Dz-Wnbxj.js → use-enum-form-Bon-b8Oc.js} +2 -2
  90. package/dist/assets/{use-enum-form-Dz-Wnbxj.js.map → use-enum-form-Bon-b8Oc.js.map} +1 -1
  91. package/dist/assets/{use-model-form-DMG7DdSK.js → use-model-form-Bjm8n0m8.js} +2 -2
  92. package/dist/assets/{use-model-form-DMG7DdSK.js.map → use-model-form-Bjm8n0m8.js.map} +1 -1
  93. package/dist/assets/{utils-95Eli4qP.js → utils-BGrwv_U7.js} +2 -2
  94. package/dist/assets/{utils-95Eli4qP.js.map → utils-BGrwv_U7.js.map} +1 -1
  95. package/dist/assets/{web-B6BjTv_c.js → web-B598C4Bq.js} +2 -2
  96. package/dist/assets/{web-B6BjTv_c.js.map → web-B598C4Bq.js.map} +1 -1
  97. package/dist/index.html +5 -5
  98. package/package.json +6 -6
  99. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-C7fVVw7M.js +0 -5
  100. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-C7fVVw7M.js.map +0 -1
  101. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-CbLT5eCP.js.map +0 -1
  102. package/dist/assets/index-D9m5kBYP.js +0 -2
  103. package/dist/assets/index-D9m5kBYP.js.map +0 -1
  104. package/dist/assets/route-CqtFDOsk.js +0 -2
@@ -1,2 +0,0 @@
1
- import{i as r}from"./_virtual___federation_fn_import-CzwHXTRo.js";import{j as e}from"./index.esm-C6ngV5UE.js";import{b as N,c as y,L as k,l as E,I as S,t as I}from"./index-BMCloLL3.js";import{D}from"./index-BxN9iLEr.js";import{l as $}from"./utils-95Eli4qP.js";function A(c,n,a){return`/api/plugins/${c}/${n}/static/${a}`}const{pluginEntityType:b,webConfigSpec:v}=await r("@baseplate-dev/project-builder-lib"),{useProjectDefinition:F}=await r("@baseplate-dev/project-builder-lib/web"),{Button:f,Card:W,CardContent:M,CardDescription:L,CardHeader:T,CardTitle:z}=await r("@baseplate-dev/ui-components");function C({className:c,plugin:n,isActive:a}){const{currentProjectId:s}=N(),{saveDefinitionWithFeedbackSync:d,schemaParserContext:u,definitionContainer:p,pluginContainer:m,isSavingDefinition:o}=F(),l=y();function i(){if($(u.pluginStore,n,p.definition).getPluginSpec(v).getWebConfigComponent(n.id)){l({to:`/plugins/edit/${n.id}`}).catch(E);return}d(j=>{j.plugins=[...(j.plugins??[]).filter(x=>x.packageName!==n.packageName||x.name!==n.name),{id:b.idFromKey(n.id),packageName:n.packageName,name:n.name,version:n.version,config:{}}]},{successMessage:`Enabled ${n.displayName}!`})}function t(){d(g=>{g.plugins=(g.plugins??[]).filter(h=>h.id!==b.idFromKey(n.id))},{successMessage:`Disabled ${n.displayName}!`})}const w=m.getPluginSpec(v).getWebConfigComponent(n.id);return e.jsxs(W,{className:c,children:[e.jsx(T,{children:e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("div",{className:"rounded-xl border",children:n.icon&&s?e.jsx("img",{src:A(s,n.id,n.icon),className:"size-12 rounded-xl bg-muted",alt:`${n.displayName} logo`}):e.jsx(D,{className:"size-12 bg-muted p-2"})}),e.jsxs("div",{children:[e.jsx(z,{children:n.displayName}),e.jsx(L,{children:n.packageName})]})]}),e.jsx("div",{children:a?w?e.jsx(k,{to:"/plugins/edit/$id",from:"/",params:{id:n.id},children:e.jsx(f,{variant:"secondary",children:"Configure"})}):e.jsx(f,{variant:"secondary",onClick:t,disabled:o,children:"Disable"}):e.jsx(f,{variant:"secondary",onClick:i,disabled:o,children:"Enable"})})]})}),e.jsx(M,{children:e.jsx("div",{className:"text-sm",children:e.jsx("p",{children:n.description})})})]})}const{useProjectDefinition:H}=await r("@baseplate-dev/project-builder-lib/web"),{EmptyDisplay:K,ErrorableLoader:R}=await r("@baseplate-dev/ui-components"),{useEffect:B,useState:P}=await r("react"),O=function(){const{currentProjectId:n}=N(),[a,s]=P(null),{definition:d}=H(),[u,p]=P(null);if(B(()=>{if(s(null),!!n){if(S){s([]);return}I.plugins.getAvailablePlugins.mutate({projectId:n}).then(s).catch(p)}},[n]),!a)return e.jsx(R,{error:u});if(a.length===0)return e.jsx(K,{header:"No plugins available.",subtitle:"Please install plugins via package.json."});const m=d.plugins??[],o=a.filter(i=>m.some(t=>t.packageName===i.packageName&&t.name===i.name)),l=a.filter(i=>!i.hidden&&!m.some(t=>t.packageName===i.packageName&&t.name===i.name));return e.jsxs("div",{className:"max-w-2xl space-y-4 p-4",children:[e.jsx("h1",{children:"Manage Plugins"}),e.jsx("p",{children:"Plugins are a way to extend the functionality of your project, such as adding authentication. You can enable, disable, and manage plugins from this page."}),e.jsxs("p",{children:["To add additional plugins, you can install them to your root package with ",e.jsx("strong",{children:"pnpm"}),"."]}),o.length===0?null:e.jsxs(e.Fragment,{children:[e.jsxs("h3",{children:["Active Plugins (",o.length,")"]}),o.map(i=>e.jsx(C,{plugin:i,isActive:!0},i.id))]}),l.length===0?null:e.jsxs(e.Fragment,{children:[e.jsxs("h3",{children:["Available Plugins (",l.length,")"]}),l.map(i=>e.jsx(C,{plugin:i,isActive:!1},i.id))]})]})};export{O as component};
2
- //# sourceMappingURL=index-D9m5kBYP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-D9m5kBYP.js","sources":["../../src/services/plugins.ts","../../src/routes/plugins/-components/plugin-card.tsx","../../src/routes/plugins/index.tsx?tsr-split=component"],"sourcesContent":["export function getPluginStaticUrl(\n projectId: string,\n pluginId: string,\n path: string,\n): string {\n return `/api/plugins/${projectId}/${pluginId}/static/${path}`;\n}\n","import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n pluginEntityType,\n webConfigSpec,\n} from '@baseplate-dev/project-builder-lib';\nimport { useProjectDefinition } from '@baseplate-dev/project-builder-lib/web';\nimport {\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@baseplate-dev/ui-components';\nimport { Link, useNavigate } from '@tanstack/react-router';\nimport { MdExtension } from 'react-icons/md';\n\nimport { useProjects } from '#src/hooks/use-projects.js';\nimport { logAndFormatError } from '#src/services/error-formatter.js';\nimport { getPluginStaticUrl } from '#src/services/plugins.js';\n\nimport { loadPluginImplementationStoreWithNewPlugin } from './utils.js';\n\ninterface PluginCardProps {\n className?: string;\n plugin: PluginMetadataWithPaths;\n isActive: boolean;\n}\n\nexport function PluginCard({\n className,\n plugin,\n isActive,\n}: PluginCardProps): React.JSX.Element {\n const { currentProjectId } = useProjects();\n const {\n saveDefinitionWithFeedbackSync,\n schemaParserContext,\n definitionContainer,\n pluginContainer,\n isSavingDefinition,\n } = useProjectDefinition();\n const navigate = useNavigate();\n\n function enablePlugin(): void {\n const implementations = loadPluginImplementationStoreWithNewPlugin(\n schemaParserContext.pluginStore,\n plugin,\n definitionContainer.definition,\n );\n const webConfigImplementation =\n implementations.getPluginSpec(webConfigSpec);\n const webConfig = webConfigImplementation.getWebConfigComponent(plugin.id);\n if (webConfig) {\n // redirect to plugin config page\n navigate({ to: `/plugins/edit/${plugin.id}` }).catch(logAndFormatError);\n return;\n }\n saveDefinitionWithFeedbackSync(\n (draft) => {\n draft.plugins = [\n ...(draft.plugins ?? []).filter(\n (p) =>\n p.packageName !== plugin.packageName || p.name !== plugin.name,\n ),\n {\n id: pluginEntityType.idFromKey(plugin.id),\n packageName: plugin.packageName,\n name: plugin.name,\n version: plugin.version,\n config: {},\n },\n ];\n },\n {\n successMessage: `Enabled ${plugin.displayName}!`,\n },\n );\n }\n\n function disablePlugin(): void {\n saveDefinitionWithFeedbackSync(\n (draft) => {\n draft.plugins = (draft.plugins ?? []).filter(\n (p) => p.id !== pluginEntityType.idFromKey(plugin.id),\n );\n },\n {\n successMessage: `Disabled ${plugin.displayName}!`,\n },\n );\n }\n\n const webConfigImplementation = pluginContainer.getPluginSpec(webConfigSpec);\n const webConfig = webConfigImplementation.getWebConfigComponent(plugin.id);\n\n return (\n <Card className={className}>\n <CardHeader>\n <div className=\"flex items-center justify-between gap-4\">\n <div className=\"flex items-center space-x-4\">\n <div className=\"rounded-xl border\">\n {plugin.icon && currentProjectId ? (\n <img\n src={getPluginStaticUrl(\n currentProjectId,\n plugin.id,\n plugin.icon,\n )}\n className=\"size-12 rounded-xl bg-muted\"\n alt={`${plugin.displayName} logo`}\n />\n ) : (\n <MdExtension className=\"size-12 bg-muted p-2\" />\n )}\n </div>\n <div>\n <CardTitle>{plugin.displayName}</CardTitle>\n <CardDescription>{plugin.packageName}</CardDescription>\n </div>\n </div>\n <div>\n {(() => {\n if (!isActive) {\n return (\n <Button\n variant=\"secondary\"\n onClick={enablePlugin}\n disabled={isSavingDefinition}\n >\n Enable\n </Button>\n );\n } else if (webConfig) {\n return (\n <Link\n to={`/plugins/edit/$id`}\n from=\"/\"\n params={{ id: plugin.id }}\n >\n <Button variant=\"secondary\">Configure</Button>\n </Link>\n );\n } else {\n return (\n <Button\n variant=\"secondary\"\n onClick={disablePlugin}\n disabled={isSavingDefinition}\n >\n Disable\n </Button>\n );\n }\n })()}\n </div>\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"text-sm\">\n <p>{plugin.description}</p>\n </div>\n </CardContent>\n </Card>\n );\n}\n","import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport { useProjectDefinition } from '@baseplate-dev/project-builder-lib/web';\nimport { EmptyDisplay, ErrorableLoader } from '@baseplate-dev/ui-components';\nimport { createFileRoute } from '@tanstack/react-router';\nimport { useEffect, useState } from 'react';\n\nimport { useProjects } from '#src/hooks/use-projects.js';\nimport { IS_PREVIEW } from '#src/services/config.js';\nimport { trpc } from '#src/services/trpc.js';\n\nimport { PluginCard } from './-components/plugin-card.js';\n\nexport const Route = createFileRoute('/plugins/')({\n component: PluginsHomePage,\n});\n\nfunction PluginsHomePage(): React.JSX.Element {\n const { currentProjectId } = useProjects();\n const [plugins, setPlugins] = useState<PluginMetadataWithPaths[] | null>(\n null,\n );\n const { definition } = useProjectDefinition();\n const [error, setError] = useState<unknown>(null);\n\n useEffect(() => {\n setPlugins(null);\n if (!currentProjectId) {\n return;\n }\n if (IS_PREVIEW) {\n setPlugins([]);\n return;\n }\n trpc.plugins.getAvailablePlugins\n .mutate({ projectId: currentProjectId })\n .then(setPlugins)\n .catch(setError);\n }, [currentProjectId]);\n\n if (!plugins) {\n return <ErrorableLoader error={error} />;\n }\n\n if (plugins.length === 0) {\n return (\n <EmptyDisplay\n header=\"No plugins available.\"\n subtitle=\"Please install plugins via package.json.\"\n />\n );\n }\n\n const pluginConfig = definition.plugins ?? [];\n const installedPlugins = plugins.filter((plugin) =>\n pluginConfig.some(\n (config) =>\n config.packageName === plugin.packageName &&\n config.name === plugin.name,\n ),\n );\n const uninstalledPlugins = plugins.filter(\n (plugin) =>\n !plugin.hidden &&\n !pluginConfig.some(\n (config) =>\n config.packageName === plugin.packageName &&\n config.name === plugin.name,\n ),\n );\n\n return (\n <div className=\"max-w-2xl space-y-4 p-4\">\n <h1>Manage Plugins</h1>\n <p>\n Plugins are a way to extend the functionality of your project, such as\n adding authentication. You can enable, disable, and manage plugins from\n this page.\n </p>\n <p>\n To add additional plugins, you can install them to your root package\n with <strong>pnpm</strong>.\n </p>\n {installedPlugins.length === 0 ? null : (\n <>\n <h3>Active Plugins ({installedPlugins.length})</h3>\n {installedPlugins.map((plugin) => (\n <PluginCard key={plugin.id} plugin={plugin} isActive />\n ))}\n </>\n )}\n {uninstalledPlugins.length === 0 ? null : (\n <>\n <h3>Available Plugins ({uninstalledPlugins.length})</h3>\n {uninstalledPlugins.map((plugin) => (\n <PluginCard key={plugin.id} plugin={plugin} isActive={false} />\n ))}\n </>\n )}\n </div>\n );\n}\n"],"names":["getPluginStaticUrl","projectId","pluginId","path","pluginEntityType","webConfigSpec","importShared","useProjectDefinition","Button","Card","CardContent","CardDescription","CardHeader","CardTitle","PluginCard","className","plugin","isActive","currentProjectId","useProjects","saveDefinitionWithFeedbackSync","schemaParserContext","definitionContainer","pluginContainer","isSavingDefinition","navigate","useNavigate","enablePlugin","loadPluginImplementationStoreWithNewPlugin","logAndFormatError","draft","p","disablePlugin","webConfig","jsxs","jsx","MdExtension","Link","EmptyDisplay","ErrorableLoader","useEffect","useState","SplitComponent","plugins","setPlugins","definition","error","setError","IS_PREVIEW","getAvailablePlugins","mutate","then","catch","length","pluginConfig","installedPlugins","filter","some","config","packageName","name","uninstalledPlugins","hidden","Fragment","map","id"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import"./index.esm-C6ngV5UE.js";import{N as o}from"./index-BMCloLL3.js";const p=o;export{p as notFoundComponent};
2
- //# sourceMappingURL=route-CqtFDOsk.js.map