@baseplate-dev/project-builder-web 0.2.2 → 0.2.3

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 (113) hide show
  1. package/dist/assets/{-constants-DdiaSxL9.js → -constants-gwObfy2j.js} +2 -2
  2. package/dist/assets/{-constants-DdiaSxL9.js.map → -constants-gwObfy2j.js.map} +1 -1
  3. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-BEiksgOM.js → web-BXxolMLm.js} +2 -2
  4. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-BEiksgOM.js.map → web-BXxolMLm.js.map} +1 -1
  5. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-CDWHycLw.js +5 -0
  6. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-CDWHycLw.js.map +1 -0
  7. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-DGE1buQ-.js +46 -0
  8. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-DGE1buQ-.js.map +1 -0
  9. package/dist/assets/{_virtual___federation_fn_import-BllbkH3T.js → _virtual___federation_fn_import-CE3p-l_2.js} +2 -2
  10. package/dist/assets/{_virtual___federation_fn_import-BllbkH3T.js.map → _virtual___federation_fn_import-CE3p-l_2.js.map} +1 -1
  11. package/dist/assets/{backend-CoTpyUcx.js → backend-BAEsy0fr.js} +2 -2
  12. package/dist/assets/{backend-CoTpyUcx.js.map → backend-BAEsy0fr.js.map} +1 -1
  13. package/dist/assets/{badge-with-type-label-BTWMyfcL.js → badge-with-type-label-BuG6yCtf.js} +2 -2
  14. package/dist/assets/{badge-with-type-label-BTWMyfcL.js.map → badge-with-type-label-BuG6yCtf.js.map} +1 -1
  15. package/dist/assets/{edit._id-BzfH4jc0.js → edit._id-DPcGRUbG.js} +2 -2
  16. package/dist/assets/{edit._id-BzfH4jc0.js.map → edit._id-DPcGRUbG.js.map} +1 -1
  17. package/dist/assets/{enum-info-form-EeSfFY6Y.js → enum-info-form-BjI1ArPU.js} +2 -2
  18. package/dist/assets/{enum-info-form-EeSfFY6Y.js.map → enum-info-form-BjI1ArPU.js.map} +1 -1
  19. package/dist/assets/{graphql-D5k81FHL.js → graphql-DksHNLLL.js} +2 -2
  20. package/dist/assets/{graphql-D5k81FHL.js.map → graphql-DksHNLLL.js.map} +1 -1
  21. package/dist/assets/{hierarchy-CDgBahPq.js → hierarchy-BwshirJR.js} +2 -2
  22. package/dist/assets/{hierarchy-CDgBahPq.js.map → hierarchy-BwshirJR.js.map} +1 -1
  23. package/dist/assets/{index-B5VAZnNv.js → index-B6qfP-Zp.js} +2 -2
  24. package/dist/assets/{index-B5VAZnNv.js.map → index-B6qfP-Zp.js.map} +1 -1
  25. package/dist/assets/index-B9Di1LKs.css +1 -0
  26. package/dist/assets/{index-HA6UU1kS.js → index-BNK4j9mt.js} +2 -2
  27. package/dist/assets/{index-HA6UU1kS.js.map → index-BNK4j9mt.js.map} +1 -1
  28. package/dist/assets/{index-MPyZaAGd.js → index-BS45dlQs.js} +2 -2
  29. package/dist/assets/{index-MPyZaAGd.js.map → index-BS45dlQs.js.map} +1 -1
  30. package/dist/assets/{index-DbPo0KMc.js → index-C6ezfkGk.js} +2 -2
  31. package/dist/assets/{index-DbPo0KMc.js.map → index-C6ezfkGk.js.map} +1 -1
  32. package/dist/assets/{index-CJO9KLcs.js → index-CVRvV2mv.js} +2 -2
  33. package/dist/assets/{index-CJO9KLcs.js.map → index-CVRvV2mv.js.map} +1 -1
  34. package/dist/assets/{index-y6w6FRv9.js → index-CwavzuOe.js} +2 -2
  35. package/dist/assets/index-CwavzuOe.js.map +1 -0
  36. package/dist/assets/{index-Lx-c3w3C.js → index-Dp90A2TJ.js} +2 -2
  37. package/dist/assets/{index-Lx-c3w3C.js.map → index-Dp90A2TJ.js.map} +1 -1
  38. package/dist/assets/{index-BYcSgAsc.js → index-E5Zy1ClF.js} +2 -2
  39. package/dist/assets/{index-BYcSgAsc.js.map → index-E5Zy1ClF.js.map} +1 -1
  40. package/dist/assets/{index-ghp0h4jr.js → index-La9rk06J.js} +2 -2
  41. package/dist/assets/{index-ghp0h4jr.js.map → index-La9rk06J.js.map} +1 -1
  42. package/dist/assets/{index-VsI1zxbc.js → index-gE__lQ6b.js} +5 -5
  43. package/dist/assets/index-gE__lQ6b.js.map +1 -0
  44. package/dist/assets/{index-CJK2iGtK.js → index-s17MV-9f.js} +2 -2
  45. package/dist/assets/{index-CJK2iGtK.js.map → index-s17MV-9f.js.map} +1 -1
  46. package/dist/assets/index.esm-CyH9wtdI.js +10 -0
  47. package/dist/assets/index.esm-CyH9wtdI.js.map +1 -0
  48. package/dist/assets/{model-info-form-DWYyoR9g.js → model-info-form-B9t3m8Pj.js} +2 -2
  49. package/dist/assets/{model-info-form-DWYyoR9g.js.map → model-info-form-B9t3m8Pj.js.map} +1 -1
  50. package/dist/assets/model-merger-DL4MVNID.js +2 -0
  51. package/dist/assets/model-merger-DL4MVNID.js.map +1 -0
  52. package/dist/assets/new-app-dialog-Cd7rJ7i5.js +2 -0
  53. package/dist/assets/new-app-dialog-Cd7rJ7i5.js.map +1 -0
  54. package/dist/assets/{new-enum-dialog-DQxXV11c.js → new-enum-dialog-Z3aWnnBr.js} +2 -2
  55. package/dist/assets/{new-enum-dialog-DQxXV11c.js.map → new-enum-dialog-Z3aWnnBr.js.map} +1 -1
  56. package/dist/assets/{new-model-dialog-Ta_YghmL.js → new-model-dialog-uEX7hTid.js} +2 -2
  57. package/dist/assets/{new-model-dialog-Ta_YghmL.js.map → new-model-dialog-uEX7hTid.js.map} +1 -1
  58. package/dist/assets/{route-D9aGR6_H.js → route-B2oYTZT4.js} +2 -2
  59. package/dist/assets/{route-D9aGR6_H.js.map → route-B2oYTZT4.js.map} +1 -1
  60. package/dist/assets/{route-C0DpSC86.js → route-B6DRGm3t.js} +2 -2
  61. package/dist/assets/{route-C0DpSC86.js.map → route-B6DRGm3t.js.map} +1 -1
  62. package/dist/assets/{route-DwYLJh1Z.js → route-BOOZxY6E.js} +2 -2
  63. package/dist/assets/{route-DwYLJh1Z.js.map → route-BOOZxY6E.js.map} +1 -1
  64. package/dist/assets/{route-Ofm_Xk4Q.js → route-BwqWBMDI.js} +2 -2
  65. package/dist/assets/{route-Ofm_Xk4Q.js.map → route-BwqWBMDI.js.map} +1 -1
  66. package/dist/assets/{route-DzDATEIF.js → route-BxjC9xAo.js} +2 -2
  67. package/dist/assets/{route-DzDATEIF.js.map → route-BxjC9xAo.js.map} +1 -1
  68. package/dist/assets/{route-CmgYcJT_.js → route-BzTxfPrV.js} +2 -2
  69. package/dist/assets/{route-CmgYcJT_.js.map → route-BzTxfPrV.js.map} +1 -1
  70. package/dist/assets/route-C8YLDv4I.js +2 -0
  71. package/dist/assets/{route-cP4l-WDl.js.map → route-C8YLDv4I.js.map} +1 -1
  72. package/dist/assets/{route-De01FR6I.js → route-DrufP1-c.js} +2 -2
  73. package/dist/assets/{route-De01FR6I.js.map → route-DrufP1-c.js.map} +1 -1
  74. package/dist/assets/{route-xrfcRWC7.js → route-_AecKyFO.js} +2 -2
  75. package/dist/assets/{route-xrfcRWC7.js.map → route-_AecKyFO.js.map} +1 -1
  76. package/dist/assets/{sections-Bl6CBMqu.js → sections-D-GS6uoS.js} +2 -2
  77. package/dist/assets/{sections-Bl6CBMqu.js.map → sections-D-GS6uoS.js.map} +1 -1
  78. package/dist/assets/{sections._sectionKey-lnWxksec.js → sections._sectionKey-Bj4VmUuM.js} +2 -2
  79. package/dist/assets/{sections._sectionKey-lnWxksec.js.map → sections._sectionKey-Bj4VmUuM.js.map} +1 -1
  80. package/dist/assets/{service-CH1p5s9d.js → service-C6FdRXxU.js} +2 -2
  81. package/dist/assets/{service-CH1p5s9d.js.map → service-C6FdRXxU.js.map} +1 -1
  82. package/dist/assets/template-extractor-D2LqkpO5.js +2 -0
  83. package/dist/assets/template-extractor-D2LqkpO5.js.map +1 -0
  84. package/dist/assets/{theme-builder-LEW3UAWc.js → theme-builder-_PghOvuC.js} +2 -2
  85. package/dist/assets/{theme-builder-LEW3UAWc.js.map → theme-builder-_PghOvuC.js.map} +1 -1
  86. package/dist/assets/{use-definition-schema-BB2JVpWG.js → use-definition-schema-B2FBXmC_.js} +2 -2
  87. package/dist/assets/{use-definition-schema-BB2JVpWG.js.map → use-definition-schema-B2FBXmC_.js.map} +1 -1
  88. package/dist/assets/{use-enum-form-CMIHUOLu.js → use-enum-form-DQza9C6Q.js} +2 -2
  89. package/dist/assets/{use-enum-form-CMIHUOLu.js.map → use-enum-form-DQza9C6Q.js.map} +1 -1
  90. package/dist/assets/{use-model-form-hncL1MN2.js → use-model-form-D4qoaVd7.js} +2 -2
  91. package/dist/assets/{use-model-form-hncL1MN2.js.map → use-model-form-D4qoaVd7.js.map} +1 -1
  92. package/dist/assets/{utils-BMK0C56t.js → utils-CH9UxfXa.js} +2 -2
  93. package/dist/assets/{utils-BMK0C56t.js.map → utils-CH9UxfXa.js.map} +1 -1
  94. package/dist/assets/{web-BRltYNcY.js → web-C6Idxok-.js} +2 -2
  95. package/dist/assets/{web-BRltYNcY.js.map → web-C6Idxok-.js.map} +1 -1
  96. package/dist/index.html +5 -5
  97. package/package.json +7 -7
  98. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-ByoEPRxY.js +0 -5
  99. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-ByoEPRxY.js.map +0 -1
  100. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-2ByEN20H.js +0 -46
  101. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-2ByEN20H.js.map +0 -1
  102. package/dist/assets/index-BDJ79UQH.css +0 -1
  103. package/dist/assets/index-VsI1zxbc.js.map +0 -1
  104. package/dist/assets/index-y6w6FRv9.js.map +0 -1
  105. package/dist/assets/index.esm-CGbP6mNa.js +0 -10
  106. package/dist/assets/index.esm-CGbP6mNa.js.map +0 -1
  107. package/dist/assets/model-merger-s86W4xg2.js +0 -2
  108. package/dist/assets/model-merger-s86W4xg2.js.map +0 -1
  109. package/dist/assets/new-app-dialog-CGp0nciM.js +0 -2
  110. package/dist/assets/new-app-dialog-CGp0nciM.js.map +0 -1
  111. package/dist/assets/route-cP4l-WDl.js +0 -2
  112. package/dist/assets/template-extractor-_5pq8PSE.js +0 -2
  113. package/dist/assets/template-extractor-_5pq8PSE.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{i as o}from"./_virtual___federation_fn_import-BllbkH3T.js";import{j as e}from"./index.esm-CGbP6mNa.js";import{s as d}from"./index-VsI1zxbc.js";const{generalSettingsSchema:h}=await o("@baseplate-dev/project-builder-lib"),{useBlockUnsavedChangesNavigate:f,useProjectDefinition:j,useResettableForm:u}=await o("@baseplate-dev/project-builder-lib/web"),{FormActionBar:g,InputFieldController:s,SectionList:x,SectionListSection:b,SectionListSectionContent:S,SectionListSectionHeader:v,SectionListSectionTitle:w}=await o("@baseplate-dev/ui-components"),L=function(){const{definition:n,saveDefinitionWithFeedback:r}=j(),i=u({resolver:d(h),defaultValues:n.settings.general}),{handleSubmit:l,control:t,reset:c}=i,a=l(p=>r(m=>{m.settings.general=p}));return f({control:t,reset:c,onSubmit:a}),e.jsxs("form",{className:"relative h-full max-h-full pb-(--action-bar-height)",onSubmit:a,children:[e.jsxs("div",{className:"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6",children:[e.jsx("div",{className:"sticky top-0 border-b bg-background py-6",children:e.jsx("h1",{children:"Project settings"})}),e.jsx(x,{children:e.jsxs(b,{children:[e.jsx(v,{children:e.jsx(w,{children:"Settings"})}),e.jsxs(S,{className:"flex max-w-80 flex-col gap-4",children:[e.jsx(s,{name:"name",label:"Project Name",description:"Lowercase letters and dashes, e.g. my-project",control:t,placeholder:"e.g. my-project"}),e.jsx(s,{name:"portOffset",label:"Port Offset",description:"Multiple of 1000, e.g. 4000. This will offset the ports used by the project, e.g. API at 4001, database at 4432, to avoid conflicts with other projects.",control:t,registerOptions:{valueAsNumber:!0}}),e.jsx(s,{label:"Package Scope",name:"packageScope",description:"The scope for packages in this project, e.g. my-project will result in @my-project/app-name",control:t})]})]})})]}),e.jsx(g,{form:i})]})};export{L as component};
2
- //# sourceMappingURL=index-ghp0h4jr.js.map
1
+ import{i as o}from"./_virtual___federation_fn_import-CE3p-l_2.js";import{j as e}from"./index.esm-CyH9wtdI.js";import{s as d}from"./index-gE__lQ6b.js";const{generalSettingsSchema:h}=await o("@baseplate-dev/project-builder-lib"),{useBlockUnsavedChangesNavigate:f,useProjectDefinition:j,useResettableForm:u}=await o("@baseplate-dev/project-builder-lib/web"),{FormActionBar:g,InputFieldController:s,SectionList:x,SectionListSection:b,SectionListSectionContent:S,SectionListSectionHeader:v,SectionListSectionTitle:w}=await o("@baseplate-dev/ui-components"),L=function(){const{definition:n,saveDefinitionWithFeedback:r}=j(),i=u({resolver:d(h),defaultValues:n.settings.general}),{handleSubmit:l,control:t,reset:c}=i,a=l(p=>r(m=>{m.settings.general=p}));return f({control:t,reset:c,onSubmit:a}),e.jsxs("form",{className:"relative h-full max-h-full pb-(--action-bar-height)",onSubmit:a,children:[e.jsxs("div",{className:"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6",children:[e.jsx("div",{className:"sticky top-0 border-b bg-background py-6",children:e.jsx("h1",{children:"Project settings"})}),e.jsx(x,{children:e.jsxs(b,{children:[e.jsx(v,{children:e.jsx(w,{children:"Settings"})}),e.jsxs(S,{className:"flex max-w-80 flex-col gap-4",children:[e.jsx(s,{name:"name",label:"Project Name",description:"Lowercase letters and dashes, e.g. my-project",control:t,placeholder:"e.g. my-project"}),e.jsx(s,{name:"portOffset",label:"Port Offset",description:"Multiple of 1000, e.g. 4000. This will offset the ports used by the project, e.g. API at 4001, database at 4432, to avoid conflicts with other projects.",control:t,registerOptions:{valueAsNumber:!0}}),e.jsx(s,{label:"Package Scope",name:"packageScope",description:"The scope for packages in this project, e.g. my-project will result in @my-project/app-name",control:t})]})]})})]}),e.jsx(g,{form:i})]})};export{L as component};
2
+ //# sourceMappingURL=index-La9rk06J.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-ghp0h4jr.js","sources":["../../src/routes/settings/index.tsx?tsr-split=component"],"sourcesContent":["import type React from 'react';\n\nimport { generalSettingsSchema } from '@baseplate-dev/project-builder-lib';\nimport {\n useBlockUnsavedChangesNavigate,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n FormActionBar,\n InputFieldController,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { createFileRoute } from '@tanstack/react-router';\n\nexport const Route = createFileRoute('/settings/')({\n component: ProjectSettingsPage,\n beforeLoad: () => ({\n getTitle: () => 'Project Settings',\n }),\n});\n\nfunction ProjectSettingsPage(): React.JSX.Element {\n const { definition, saveDefinitionWithFeedback } = useProjectDefinition();\n\n const form = useResettableForm({\n resolver: zodResolver(generalSettingsSchema),\n defaultValues: definition.settings.general,\n });\n\n const { handleSubmit, control, reset } = form;\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback((draftConfig) => {\n draftConfig.settings.general = data;\n }),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <form\n className=\"relative h-full max-h-full pb-(--action-bar-height)\"\n onSubmit={onSubmit}\n >\n <div className=\"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6\">\n <div className=\"sticky top-0 border-b bg-background py-6\">\n <h1>Project settings</h1>\n </div>\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>Settings</SectionListSectionTitle>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"flex max-w-80 flex-col gap-4\">\n <InputFieldController\n name=\"name\"\n label=\"Project Name\"\n description=\"Lowercase letters and dashes, e.g. my-project\"\n control={control}\n placeholder=\"e.g. my-project\"\n />\n <InputFieldController\n name=\"portOffset\"\n label=\"Port Offset\"\n description=\"Multiple of 1000, e.g. 4000. This will offset the ports used by the project, e.g. API at 4001, database at 4432, to avoid conflicts with other projects.\"\n control={control}\n registerOptions={{ valueAsNumber: true }}\n />\n <InputFieldController\n label=\"Package Scope\"\n name=\"packageScope\"\n description=\"The scope for packages in this project, e.g. my-project will result in @my-project/app-name\"\n control={control}\n />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n <FormActionBar form={form} />\n </form>\n );\n}\n"],"names":["generalSettingsSchema","importShared","useBlockUnsavedChangesNavigate","useProjectDefinition","useResettableForm","FormActionBar","InputFieldController","SectionList","SectionListSection","SectionListSectionContent","SectionListSectionHeader","SectionListSectionTitle","SplitComponent","definition","saveDefinitionWithFeedback","form","resolver","zodResolver","defaultValues","settings","general","handleSubmit","control","reset","onSubmit","draftConfig","data","jsxs","jsx","valueAsNumber"],"mappings":"sJAEA,KAAA,CAAA,sBAAAA,CAAA,EAAA,MAAAC,EAAA,oCAAA,EACA,CAAA,+BAAAC,EAAA,qBAAAC,EAAA,kBAAAC,CAAA,EAAA,MAAAH,EAAA,wCAAA,EAKA,CAAA,cAAAI,EAAA,qBAAAC,EAAA,YAAAC,EAAA,mBAAAC,EAAA,0BAAAC,EAAA,yBAAAC,EAAA,wBAAAC,CAAA,EAAA,MAAAV,EAAA,8BAAA,EASsDW,EAAA,UAUJ,CAC1C,KAAA,CAAEC,WAAAA,EAAYC,2BAAAA,GAA+BX,EAAqB,EAElEY,EAAOX,EAAkB,CAC7BY,SAAUC,EAAYjB,CAAqB,EAC3CkB,cAAeL,EAAWM,SAASC,OAAAA,CACpC,EAEK,CAAEC,aAAAA,EAAcC,QAAAA,EAASC,MAAAA,CAAAA,EAAUR,EAEnCS,EAAWH,EACfP,GAAAA,EAA4CW,GAAA,CAC1CA,EAAYN,SAASC,QAAUM,CAAAA,CAChC,CACH,EAE+B,OAAAxB,EAAA,CAAEoB,QAAAA,EAASC,MAAAA,EAAOC,SAAAA,CAAAA,CAAU,EAGxDG,EAAAA,KAAA,OAAA,CACC,UAAU,sDACV,SAAAH,EAEA,SAAA,CAACG,EAAAA,KAAA,MAAA,CAAI,UAAU,8DACb,SAAA,CAAAC,EAAAA,IAAC,OAAI,UAAU,2CACb,SAACA,MAAA,KAAA,CAAG,4BAAgB,CACtB,CAAA,EACAA,EAAA,IAACrB,EACC,CAAA,SAAAoB,EAAAA,KAACnB,EACC,CAAA,SAAA,CAAAoB,MAAClB,EACC,CAAA,SAAAkB,EAAA,IAACjB,EAAwB,CAAA,SAAA,UAAQ,CAAA,EACnC,EACAgB,EAAAA,KAAClB,EAA0B,CAAA,UAAU,+BACnC,SAAA,CAACmB,EAAAA,IAAAtB,EAAA,CACC,KAAK,OACL,MAAM,eACN,YAAY,gDACZ,QAAAgB,EACA,YAAY,iBAAiB,CAAA,EAE/BM,EAAAA,IAACtB,GACC,KAAK,aACL,MAAM,cACN,YAAY,2JACZ,QAAAgB,EACA,gBAAiB,CAAEO,cAAe,EAAA,EAAO,EAE3CD,MAACtB,GACC,MAAM,gBACN,KAAK,eACL,YAAY,8FACZ,QAAAgB,CAAiB,CAAA,CAAA,CAErB,CAAA,CAAA,CAAA,CACF,CACF,CAAA,CAAA,EACF,EACAM,MAACvB,GAAc,KAAAU,CAAW,CAAA,CAAA,EAC5B,CAEJ"}
1
+ {"version":3,"file":"index-La9rk06J.js","sources":["../../src/routes/settings/index.tsx?tsr-split=component"],"sourcesContent":["import type React from 'react';\n\nimport { generalSettingsSchema } from '@baseplate-dev/project-builder-lib';\nimport {\n useBlockUnsavedChangesNavigate,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n FormActionBar,\n InputFieldController,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionHeader,\n SectionListSectionTitle,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { createFileRoute } from '@tanstack/react-router';\n\nexport const Route = createFileRoute('/settings/')({\n component: ProjectSettingsPage,\n beforeLoad: () => ({\n getTitle: () => 'Project Settings',\n }),\n});\n\nfunction ProjectSettingsPage(): React.JSX.Element {\n const { definition, saveDefinitionWithFeedback } = useProjectDefinition();\n\n const form = useResettableForm({\n resolver: zodResolver(generalSettingsSchema),\n defaultValues: definition.settings.general,\n });\n\n const { handleSubmit, control, reset } = form;\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback((draftConfig) => {\n draftConfig.settings.general = data;\n }),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n return (\n <form\n className=\"relative h-full max-h-full pb-(--action-bar-height)\"\n onSubmit={onSubmit}\n >\n <div className=\"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6\">\n <div className=\"sticky top-0 border-b bg-background py-6\">\n <h1>Project settings</h1>\n </div>\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>Settings</SectionListSectionTitle>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"flex max-w-80 flex-col gap-4\">\n <InputFieldController\n name=\"name\"\n label=\"Project Name\"\n description=\"Lowercase letters and dashes, e.g. my-project\"\n control={control}\n placeholder=\"e.g. my-project\"\n />\n <InputFieldController\n name=\"portOffset\"\n label=\"Port Offset\"\n description=\"Multiple of 1000, e.g. 4000. This will offset the ports used by the project, e.g. API at 4001, database at 4432, to avoid conflicts with other projects.\"\n control={control}\n registerOptions={{ valueAsNumber: true }}\n />\n <InputFieldController\n label=\"Package Scope\"\n name=\"packageScope\"\n description=\"The scope for packages in this project, e.g. my-project will result in @my-project/app-name\"\n control={control}\n />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n <FormActionBar form={form} />\n </form>\n );\n}\n"],"names":["generalSettingsSchema","importShared","useBlockUnsavedChangesNavigate","useProjectDefinition","useResettableForm","FormActionBar","InputFieldController","SectionList","SectionListSection","SectionListSectionContent","SectionListSectionHeader","SectionListSectionTitle","SplitComponent","definition","saveDefinitionWithFeedback","form","resolver","zodResolver","defaultValues","settings","general","handleSubmit","control","reset","onSubmit","draftConfig","data","jsxs","jsx","valueAsNumber"],"mappings":"sJAEA,KAAA,CAAA,sBAAAA,CAAA,EAAA,MAAAC,EAAA,oCAAA,EACA,CAAA,+BAAAC,EAAA,qBAAAC,EAAA,kBAAAC,CAAA,EAAA,MAAAH,EAAA,wCAAA,EAKA,CAAA,cAAAI,EAAA,qBAAAC,EAAA,YAAAC,EAAA,mBAAAC,EAAA,0BAAAC,EAAA,yBAAAC,EAAA,wBAAAC,CAAA,EAAA,MAAAV,EAAA,8BAAA,EASsDW,EAAA,UAUJ,CAC1C,KAAA,CAAEC,WAAAA,EAAYC,2BAAAA,GAA+BX,EAAqB,EAElEY,EAAOX,EAAkB,CAC7BY,SAAUC,EAAYjB,CAAqB,EAC3CkB,cAAeL,EAAWM,SAASC,OAAAA,CACpC,EAEK,CAAEC,aAAAA,EAAcC,QAAAA,EAASC,MAAAA,CAAAA,EAAUR,EAEnCS,EAAWH,EACfP,GAAAA,EAA4CW,GAAA,CAC1CA,EAAYN,SAASC,QAAUM,CAAAA,CAChC,CACH,EAE+B,OAAAxB,EAAA,CAAEoB,QAAAA,EAASC,MAAAA,EAAOC,SAAAA,CAAAA,CAAU,EAGxDG,EAAAA,KAAA,OAAA,CACC,UAAU,sDACV,SAAAH,EAEA,SAAA,CAACG,EAAAA,KAAA,MAAA,CAAI,UAAU,8DACb,SAAA,CAAAC,EAAAA,IAAC,OAAI,UAAU,2CACb,SAACA,MAAA,KAAA,CAAG,4BAAgB,CACtB,CAAA,EACAA,EAAA,IAACrB,EACC,CAAA,SAAAoB,EAAAA,KAACnB,EACC,CAAA,SAAA,CAAAoB,MAAClB,EACC,CAAA,SAAAkB,EAAA,IAACjB,EAAwB,CAAA,SAAA,UAAQ,CAAA,EACnC,EACAgB,EAAAA,KAAClB,EAA0B,CAAA,UAAU,+BACnC,SAAA,CAACmB,EAAAA,IAAAtB,EAAA,CACC,KAAK,OACL,MAAM,eACN,YAAY,gDACZ,QAAAgB,EACA,YAAY,iBAAiB,CAAA,EAE/BM,EAAAA,IAACtB,GACC,KAAK,aACL,MAAM,cACN,YAAY,2JACZ,QAAAgB,EACA,gBAAiB,CAAEO,cAAe,EAAA,EAAO,EAE3CD,MAACtB,GACC,MAAM,gBACN,KAAK,eACL,YAAY,8FACZ,QAAAgB,CAAiB,CAAA,CAAA,CAErB,CAAA,CAAA,CAAA,CACF,CACF,CAAA,CAAA,EACF,EACAM,MAACvB,GAAc,KAAAU,CAAW,CAAA,CAAA,EAC5B,CAEJ"}