@baseplate-dev/project-builder-web 0.2.1 → 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 (120) hide show
  1. package/dist/assets/-constants-gwObfy2j.js +4 -0
  2. package/dist/assets/-constants-gwObfy2j.js.map +1 -0
  3. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BXxolMLm.js +2 -0
  4. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BXxolMLm.js.map +1 -0
  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-BawTfoQI.js → _virtual___federation_fn_import-CE3p-l_2.js} +2 -2
  10. package/dist/assets/{_virtual___federation_fn_import-BawTfoQI.js.map → _virtual___federation_fn_import-CE3p-l_2.js.map} +1 -1
  11. package/dist/assets/backend-BAEsy0fr.js +2 -0
  12. package/dist/assets/backend-BAEsy0fr.js.map +1 -0
  13. package/dist/assets/badge-with-type-label-BuG6yCtf.js +2 -0
  14. package/dist/assets/badge-with-type-label-BuG6yCtf.js.map +1 -0
  15. package/dist/assets/edit._id-DPcGRUbG.js +2 -0
  16. package/dist/assets/edit._id-DPcGRUbG.js.map +1 -0
  17. package/dist/assets/enum-info-form-BjI1ArPU.js +2 -0
  18. package/dist/assets/enum-info-form-BjI1ArPU.js.map +1 -0
  19. package/dist/assets/graphql-DksHNLLL.js +2 -0
  20. package/dist/assets/graphql-DksHNLLL.js.map +1 -0
  21. package/dist/assets/hierarchy-BwshirJR.js +2 -0
  22. package/dist/assets/hierarchy-BwshirJR.js.map +1 -0
  23. package/dist/assets/immer-xieDw-3D.js +2 -0
  24. package/dist/assets/immer-xieDw-3D.js.map +1 -0
  25. package/dist/assets/index-B6qfP-Zp.js +2 -0
  26. package/dist/assets/index-B6qfP-Zp.js.map +1 -0
  27. package/dist/assets/index-B9Di1LKs.css +1 -0
  28. package/dist/assets/index-BNK4j9mt.js +2 -0
  29. package/dist/assets/index-BNK4j9mt.js.map +1 -0
  30. package/dist/assets/index-BS45dlQs.js +2 -0
  31. package/dist/assets/index-BS45dlQs.js.map +1 -0
  32. package/dist/assets/index-C6ezfkGk.js +2 -0
  33. package/dist/assets/index-C6ezfkGk.js.map +1 -0
  34. package/dist/assets/index-CVRvV2mv.js +2 -0
  35. package/dist/assets/index-CVRvV2mv.js.map +1 -0
  36. package/dist/assets/index-CwavzuOe.js +2 -0
  37. package/dist/assets/index-CwavzuOe.js.map +1 -0
  38. package/dist/assets/index-D5UX5AHP.js +5 -0
  39. package/dist/assets/index-D5UX5AHP.js.map +1 -0
  40. package/dist/assets/index-Dp90A2TJ.js +2 -0
  41. package/dist/assets/index-Dp90A2TJ.js.map +1 -0
  42. package/dist/assets/index-E5Zy1ClF.js +2 -0
  43. package/dist/assets/index-E5Zy1ClF.js.map +1 -0
  44. package/dist/assets/index-La9rk06J.js +2 -0
  45. package/dist/assets/index-La9rk06J.js.map +1 -0
  46. package/dist/assets/index-gE__lQ6b.js +58 -0
  47. package/dist/assets/index-gE__lQ6b.js.map +1 -0
  48. package/dist/assets/index-s17MV-9f.js +2 -0
  49. package/dist/assets/index-s17MV-9f.js.map +1 -0
  50. package/dist/assets/index.esm-CyH9wtdI.js +10 -0
  51. package/dist/assets/index.esm-CyH9wtdI.js.map +1 -0
  52. package/dist/assets/inflection-C1nKqrJS.js +9 -0
  53. package/dist/assets/inflection-C1nKqrJS.js.map +1 -0
  54. package/dist/assets/model-info-form-B9t3m8Pj.js +2 -0
  55. package/dist/assets/model-info-form-B9t3m8Pj.js.map +1 -0
  56. package/dist/assets/model-merger-DL4MVNID.js +2 -0
  57. package/dist/assets/model-merger-DL4MVNID.js.map +1 -0
  58. package/dist/assets/new-app-dialog-Cd7rJ7i5.js +2 -0
  59. package/dist/assets/new-app-dialog-Cd7rJ7i5.js.map +1 -0
  60. package/dist/assets/new-enum-dialog-Z3aWnnBr.js +2 -0
  61. package/dist/assets/new-enum-dialog-Z3aWnnBr.js.map +1 -0
  62. package/dist/assets/new-model-dialog-uEX7hTid.js +2 -0
  63. package/dist/assets/new-model-dialog-uEX7hTid.js.map +1 -0
  64. package/dist/assets/route-B2oYTZT4.js +2 -0
  65. package/dist/assets/route-B2oYTZT4.js.map +1 -0
  66. package/dist/assets/route-B6DRGm3t.js +2 -0
  67. package/dist/assets/route-B6DRGm3t.js.map +1 -0
  68. package/dist/assets/route-BOOZxY6E.js +2 -0
  69. package/dist/assets/route-BOOZxY6E.js.map +1 -0
  70. package/dist/assets/route-BwqWBMDI.js +2 -0
  71. package/dist/assets/route-BwqWBMDI.js.map +1 -0
  72. package/dist/assets/route-BxjC9xAo.js +2 -0
  73. package/dist/assets/route-BxjC9xAo.js.map +1 -0
  74. package/dist/assets/route-BzTxfPrV.js +2 -0
  75. package/dist/assets/route-BzTxfPrV.js.map +1 -0
  76. package/dist/assets/route-C8YLDv4I.js +2 -0
  77. package/dist/assets/route-C8YLDv4I.js.map +1 -0
  78. package/dist/assets/route-DrufP1-c.js +2 -0
  79. package/dist/assets/route-DrufP1-c.js.map +1 -0
  80. package/dist/assets/route-_AecKyFO.js +2 -0
  81. package/dist/assets/route-_AecKyFO.js.map +1 -0
  82. package/dist/assets/sections-D-GS6uoS.js +2 -0
  83. package/dist/assets/sections-D-GS6uoS.js.map +1 -0
  84. package/dist/assets/sections._sectionKey-Bj4VmUuM.js +2 -0
  85. package/dist/assets/sections._sectionKey-Bj4VmUuM.js.map +1 -0
  86. package/dist/assets/service-C6FdRXxU.js +2 -0
  87. package/dist/assets/service-C6FdRXxU.js.map +1 -0
  88. package/dist/assets/template-extractor-D2LqkpO5.js +2 -0
  89. package/dist/assets/template-extractor-D2LqkpO5.js.map +1 -0
  90. package/dist/assets/theme-builder-_PghOvuC.js +11 -0
  91. package/dist/assets/theme-builder-_PghOvuC.js.map +1 -0
  92. package/dist/assets/use-definition-schema-B2FBXmC_.js +2 -0
  93. package/dist/assets/use-definition-schema-B2FBXmC_.js.map +1 -0
  94. package/dist/assets/use-enum-form-DQza9C6Q.js +2 -0
  95. package/dist/assets/use-enum-form-DQza9C6Q.js.map +1 -0
  96. package/dist/assets/use-model-form-D4qoaVd7.js +2 -0
  97. package/dist/assets/use-model-form-D4qoaVd7.js.map +1 -0
  98. package/dist/assets/utils-CH9UxfXa.js +2 -0
  99. package/dist/assets/utils-CH9UxfXa.js.map +1 -0
  100. package/dist/assets/web-C6Idxok-.js +2 -0
  101. package/dist/assets/web-C6Idxok-.js.map +1 -0
  102. package/dist/index.html +6 -8
  103. package/package.json +9 -8
  104. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DNtY4wq3.js +0 -2
  105. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DNtY4wq3.js.map +0 -1
  106. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-zvGcQ6PN.js +0 -5
  107. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-zvGcQ6PN.js.map +0 -1
  108. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-DQh2UKHB.js +0 -46
  109. package/dist/assets/__federation_shared_@baseplate-dev/ui-components-DQh2UKHB.js.map +0 -1
  110. package/dist/assets/index-BDJ79UQH.css +0 -1
  111. package/dist/assets/index-C6NlRicZ.js +0 -78
  112. package/dist/assets/index-C6NlRicZ.js.map +0 -1
  113. package/dist/assets/index-DC_DCd-Q.js +0 -12
  114. package/dist/assets/index-DC_DCd-Q.js.map +0 -1
  115. package/dist/assets/index.esm-H0JGW0RR.js +0 -10
  116. package/dist/assets/index.esm-H0JGW0RR.js.map +0 -1
  117. package/dist/assets/model-merger-D2RoujrB.js +0 -2
  118. package/dist/assets/model-merger-D2RoujrB.js.map +0 -1
  119. package/dist/assets/not-empty-CznDVwM8.js +0 -2
  120. package/dist/assets/not-empty-CznDVwM8.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{i as r}from"./_virtual___federation_fn_import-CE3p-l_2.js";import{b as $,j as e}from"./index.esm-CyH9wtdI.js";import{G as S,I as E,B as z,J as I}from"./index-BS45dlQs.js";import{s as M,U as A,d as B}from"./index-gE__lQ6b.js";import{s as P}from"./immer-xieDw-3D.js";function T(t){return S({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"polyline",attr:{points:"15 10 20 15 15 20"},child:[]},{tag:"path",attr:{d:"M4 4v7a4 4 0 0 0 4 4h12"},child:[]}]})(t)}const{useProjectDefinition:H}=await r("@baseplate-dev/project-builder-lib/web"),{Button:D,ComboboxFieldController:U,Dialog:V,DialogContent:W,DialogFooter:G,DialogHeader:L,DialogTitle:O,InputFieldController:q}=await r("@baseplate-dev/ui-components"),{useEffect:J,useMemo:K}=await r("react"),{z:j}=await r("zod"),Q=j.object({id:j.string(),childName:j.string().min(1).regex(/^[a-z0-9-]+$/,"Must be lowercase, numbers, and dashes only"),parentRef:j.string().optional()});function X({feature:t,open:i,onClose:a}){const{definitionContainer:{definition:p},saveDefinitionWithFeedback:d}=H(),l=K(()=>({id:t?.id??"",childName:t?.name.split("/").pop()??"",parentRef:t?.parentRef}),[t]),{control:f,handleSubmit:w,reset:m,formState:{isSubmitting:v}}=$({resolver:M(Q),values:l});J(()=>{i&&m(l)},[i,l,m]);const y=w(n=>d(c=>{const x=c.features.find(s=>s.id===n.parentRef)?.name,h=n.parentRef?`${x}/${n.childName}`:n.childName;if(c.features.some(s=>s.id!==n.id&&s.name===h))throw new A("Feature with this name already exists");const b=[...c.features.filter(s=>s.id!==n.id),{id:n.id,name:h,parentRef:n.parentRef}];function F(s){const R=b.filter(u=>s?new RegExp(`^${s.name}/[^/]+$`).exec(u.name):!u.name.includes("/"));for(const u of R){const g=u.name.split("/").pop();if(!g)throw new Error("Invalid feature name");u.name=s?`${s.name}/${g}`:g,F(u)}}F(),c.features=P(b,[s=>s.name])},{onSuccess:()=>{a?.()}})),o=[{label:"None",value:void 0},...p.features.filter(n=>n.id!==t?.id).map(n=>({label:n.name,value:n.id}))];return e.jsx(V,{open:i,onOpenChange:n=>{n||a?.()},children:e.jsx(W,{children:e.jsxs("form",{className:"space-y-4",onSubmit:y,children:[e.jsx(L,{children:e.jsxs(O,{children:[t?.name?"Edit":"Add"," Feature"]})}),e.jsx(q,{control:f,name:"childName",label:"Name",autoComplete:"off","data-1p-ignore":!0}),e.jsx(U,{control:f,name:"parentRef",label:"Parent Feature",options:o}),e.jsxs(G,{children:[e.jsx(D,{onClick:a,variant:"secondary",children:"Cancel"}),e.jsx(D,{type:"submit",disabled:v,children:"Save"})]})]})})})}const{featureEntityType:C}=await r("@baseplate-dev/project-builder-lib"),{useProjectDefinition:Y}=await r("@baseplate-dev/project-builder-lib/web"),{Button:N,buttonVariants:Z,cn:_,useConfirmDialog:ee}=await r("@baseplate-dev/ui-components"),{useState:k}=await r("react");function te({feature:t,setFeatureToEdit:i,setShowFeatureForm:a,handleRemoveFeature:p}){const d=t.name.split("/").pop()??"";return e.jsxs("div",{className:"flex space-x-1",children:[e.jsx("button",{className:"mr-1 flex w-full flex-row items-center space-x-3",onClick:()=>{i(t),a(!0)},children:e.jsxs("div",{className:"flex w-full items-center space-x-1 truncate",title:d,children:[t.name.includes("/")&&e.jsxs(e.Fragment,{children:[t.name.split("/").slice(0,-2).map(l=>e.jsx("div",{className:"w-8 shrink-0"},l)),e.jsx(T,{className:"size-8 shrink-0 p-2"})]}),e.jsxs("div",{className:_(Z({variant:"secondary",size:"sm"}),"group w-full"),style:{justifyContent:"flex-start"},children:[d,e.jsx("div",{className:"flex-1"}),e.jsx(E,{className:"opacity-0 transition-opacity group-hover:opacity-100"})]})]})}),e.jsx(N,{className:"shrink-0",variant:"ghost",onClick:()=>{i({id:C.generateNewId(),name:"",parentRef:t.id}),a(!0)},size:"icon",title:`Add Sub-Feature to ${t.name}`,children:e.jsx(z,{})}),e.jsx(N,{className:"shrink-0",variant:"ghost",onClick:()=>{p(t)},size:"icon",title:`Delete ${t.name}`,children:e.jsx(I,{})})]})}const re=function(){const{definitionContainer:i,saveDefinitionWithFeedbackSync:a}=Y(),{requestConfirm:p}=ee(),{showRefIssues:d}=B(),[l,f]=k(),[w,m]=k(!1),{features:v}=i.definition,y=o=>{function n(x){const h=x.features.findIndex(b=>b.id===o.id);if(h===-1)throw new Error("Feature not found");x.features.splice(h,1)}const c=i.fixRefDeletions(n);if(c.type==="failure"){d({issues:c.issues});return}p({title:"Delete Feature",content:`Are you sure you want to delete ${o.name}?`,onConfirm:()=>{a(n,{successMessage:`Feature ${o.name} removed`})}})};return e.jsx("div",{className:"relative h-full max-h-full pb-(--action-bar-height)",children:e.jsxs("div",{className:"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6",children:[e.jsxs("div",{className:"sticky top-0 space-y-2 border-b bg-background py-6",children:[e.jsx("h1",{children:"Hierarchy"}),e.jsx("p",{className:"max-w-3xl text-muted-foreground",children:"All business logic and features are organized in a hierarchy. The structure of the features in the list below is the way the folder structure will be created in your backend/admin applications."})]}),e.jsxs("div",{className:"py-6",children:[e.jsx("div",{className:"mb-4 flex max-w-md flex-col gap-1",children:v.map(o=>e.jsx(te,{feature:o,setFeatureToEdit:f,setShowFeatureForm:m,handleRemoveFeature:y},o.id))}),e.jsx(N,{onClick:()=>{f({id:C.generateNewId(),name:"",parentRef:void 0}),m(!0)},variant:"secondary",size:"sm",children:"Add Feature"}),e.jsx(X,{feature:l,open:w,onClose:()=>{m(!1)}})]})]})})};export{re as component};
2
+ //# sourceMappingURL=hierarchy-BwshirJR.js.map