@baseplate-dev/project-builder-web 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{-constants-BYERQCO8.js → -constants-CBBXnsgS.js} +2 -2
- package/dist/assets/{-constants-BYERQCO8.js.map → -constants-CBBXnsgS.js.map} +1 -1
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-Db9HEBw5.js.map +1 -1
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-fZlnH9Ds.js.map +1 -1
- package/dist/assets/__federation_shared_@baseplate-dev/ui-components-CoxJjxbV.js.map +1 -1
- package/dist/assets/__federation_shared_@baseplate-dev/utils-Bhl1WBIT.js.map +1 -1
- package/dist/assets/__federation_shared_@tanstack/react-router-JHHIpdEJ.js.map +1 -1
- package/dist/assets/__federation_shared_react-WURrSs1p.js.map +1 -1
- package/dist/assets/__federation_shared_react-dom-CWagDEjd.js.map +1 -1
- package/dist/assets/__federation_shared_zod-CBKZOTZP.js.map +1 -1
- package/dist/assets/_virtual___federation_fn_import-D3sI42Ph.js.map +1 -1
- package/dist/assets/{admin-Dy1xMuLp.js → admin-BmEAbqDf.js} +2 -2
- package/dist/assets/{admin-Dy1xMuLp.js.map → admin-BmEAbqDf.js.map} +1 -1
- package/dist/assets/{backend-SevlkhOM.js → backend-3ZlC6POv.js} +2 -2
- package/dist/assets/{backend-SevlkhOM.js.map → backend-3ZlC6POv.js.map} +1 -1
- package/dist/assets/badge-with-type-label-CThmzNSh.js.map +1 -1
- package/dist/assets/capitalize-gOJXDbsR.js.map +1 -1
- package/dist/assets/{edit._key-BgnflZIL.js → edit._key-D-7xw9rv.js} +2 -2
- package/dist/assets/{edit._key-BgnflZIL.js.map → edit._key-D-7xw9rv.js.map} +1 -1
- package/dist/assets/{edit._sectionKey-D4mTSUhO.js → edit._sectionKey-CZgof0ob.js} +3 -3
- package/dist/assets/edit._sectionKey-CZgof0ob.js.map +1 -0
- package/dist/assets/enum-info-form-3ykREN-o.js.map +1 -1
- package/dist/assets/{graphql-C37jbnTG.js → graphql-DFecTG83.js} +2 -2
- package/dist/assets/{graphql-C37jbnTG.js.map → graphql-DFecTG83.js.map} +1 -1
- package/dist/assets/{hierarchy-CNBHjTAJ.js → hierarchy-jFN5DTrv.js} +2 -2
- package/dist/assets/{hierarchy-CNBHjTAJ.js.map → hierarchy-jFN5DTrv.js.map} +1 -1
- package/dist/assets/immer-B7fdkLVi.js.map +1 -1
- package/dist/assets/{index-CFlVUowS.js → index-B4AqRYYd.js} +2 -2
- package/dist/assets/{index-CFlVUowS.js.map → index-B4AqRYYd.js.map} +1 -1
- package/dist/assets/{index-B3A5IWAQ.js → index-BJlq0bmu.js} +2 -2
- package/dist/assets/{index-B3A5IWAQ.js.map → index-BJlq0bmu.js.map} +1 -1
- package/dist/assets/{index-CDx3IfgN.js → index-BPRSO52F.js} +2 -2
- package/dist/assets/{index-CDx3IfgN.js.map → index-BPRSO52F.js.map} +1 -1
- package/dist/assets/{index-CAFf3K5-.js → index-BWWBFiT1.js} +2 -2
- package/dist/assets/{index-CAFf3K5-.js.map → index-BWWBFiT1.js.map} +1 -1
- package/dist/assets/{index-Ckh17o1U.js → index-BZ4uW6kN.js} +2 -2
- package/dist/assets/{index-Ckh17o1U.js.map → index-BZ4uW6kN.js.map} +1 -1
- package/dist/assets/{index-D48MR3bL.js → index-BpFwTs3X.js} +2 -2
- package/dist/assets/{index-D48MR3bL.js.map → index-BpFwTs3X.js.map} +1 -1
- package/dist/assets/{index-mFxKl9yz.js → index-CbnCfDth.js} +2 -2
- package/dist/assets/{index-mFxKl9yz.js.map → index-CbnCfDth.js.map} +1 -1
- package/dist/assets/{index-DEKFCy0H.js → index-Cd_baD6T.js} +4 -4
- package/dist/assets/index-Cd_baD6T.js.map +1 -0
- package/dist/assets/index-D5UX5AHP.js.map +1 -1
- package/dist/assets/index-DRRJXHq_.js.map +1 -1
- package/dist/assets/{index-2EwzbJik.js → index-DhfdQsvQ.js} +2 -2
- package/dist/assets/{index-2EwzbJik.js.map → index-DhfdQsvQ.js.map} +1 -1
- package/dist/assets/index-DqHVrEeL.js.map +1 -1
- package/dist/assets/index-Dqph-b0R.css +1 -0
- package/dist/assets/{index-B2l1e3vi.js → index-UtPzkFI2.js} +2 -2
- package/dist/assets/{index-B2l1e3vi.js.map → index-UtPzkFI2.js.map} +1 -1
- package/dist/assets/index-c0qeY2gs.js.map +1 -1
- package/dist/assets/index-tHURiz2C.js.map +1 -1
- package/dist/assets/index-tflukq04.js.map +1 -1
- package/dist/assets/index.esm-CdP29Ssb.js.map +1 -1
- package/dist/assets/inflection-C1nKqrJS.js.map +1 -1
- package/dist/assets/isEqual-C420KeG-.js.map +1 -1
- package/dist/assets/jsx-runtime-D_zvdyIk.js.map +1 -1
- package/dist/assets/model-info-form-koY65NLs.js.map +1 -1
- package/dist/assets/model-merger-D1L5cIAo.js.map +1 -1
- package/dist/assets/{new-admin-section-dialog-4X2fxo7a.js → new-admin-section-dialog-DFpUuP_Z.js} +2 -2
- package/dist/assets/{new-admin-section-dialog-4X2fxo7a.js.map → new-admin-section-dialog-DFpUuP_Z.js.map} +1 -1
- package/dist/assets/{new-app-dialog-CCI4q4Mt.js → new-app-dialog-Cnp9A5Cx.js} +2 -2
- package/dist/assets/{new-app-dialog-CCI4q4Mt.js.map → new-app-dialog-Cnp9A5Cx.js.map} +1 -1
- package/dist/assets/{new-enum-dialog-B5zvBxhT.js → new-enum-dialog-CE3pNVPW.js} +2 -2
- package/dist/assets/{new-enum-dialog-B5zvBxhT.js.map → new-enum-dialog-CE3pNVPW.js.map} +1 -1
- package/dist/assets/{new-model-dialog-CiwTpKcZ.js → new-model-dialog-BUqUnu3F.js} +2 -2
- package/dist/assets/{new-model-dialog-CiwTpKcZ.js.map → new-model-dialog-BUqUnu3F.js.map} +1 -1
- package/dist/assets/{route-PmxQsBVj.js → route-BMREAhaC.js} +2 -2
- package/dist/assets/{route-PmxQsBVj.js.map → route-BMREAhaC.js.map} +1 -1
- package/dist/assets/{route-CZgTuGeJ.js → route-B_y_fjG1.js} +2 -2
- package/dist/assets/{route-CZgTuGeJ.js.map → route-B_y_fjG1.js.map} +1 -1
- package/dist/assets/{route-DluQ5e3_.js → route-CM78Qts_.js} +2 -2
- package/dist/assets/{route-DluQ5e3_.js.map → route-CM78Qts_.js.map} +1 -1
- package/dist/assets/{route-6ErXC2Qt.js → route-D-8r4X0U.js} +2 -2
- package/dist/assets/{route-6ErXC2Qt.js.map → route-D-8r4X0U.js.map} +1 -1
- package/dist/assets/{route-gzD4oiAl.js → route-D7DRL965.js} +2 -2
- package/dist/assets/{route-gzD4oiAl.js.map → route-D7DRL965.js.map} +1 -1
- package/dist/assets/{route-C6wCPwVj.js → route-DGnyRZBc.js} +2 -2
- package/dist/assets/{route-C6wCPwVj.js.map → route-DGnyRZBc.js.map} +1 -1
- package/dist/assets/route-Dm8VYkZY.js +2 -0
- package/dist/assets/{route-DLz_DL5S.js.map → route-Dm8VYkZY.js.map} +1 -1
- package/dist/assets/{route-C3eBLQEr.js → route-Dpt-JNZC.js} +2 -2
- package/dist/assets/{route-C3eBLQEr.js.map → route-Dpt-JNZC.js.map} +1 -1
- package/dist/assets/{route-DzYT3FNA.js → route-pfSpaHo3.js} +2 -2
- package/dist/assets/{route-DzYT3FNA.js.map → route-pfSpaHo3.js.map} +1 -1
- package/dist/assets/{route-gYB7kkkm.js → route-x978fCyu.js} +2 -2
- package/dist/assets/{route-gYB7kkkm.js.map → route-x978fCyu.js.map} +1 -1
- package/dist/assets/{service--2LVz4Ht.js → service-BSH0RhEL.js} +2 -2
- package/dist/assets/{service--2LVz4Ht.js.map → service-BSH0RhEL.js.map} +1 -1
- package/dist/assets/sortBy-C9bvycg5.js.map +1 -1
- package/dist/assets/{template-extractor-D33LuEZ8.js → template-extractor-Dzitw66S.js} +2 -2
- package/dist/assets/{template-extractor-D33LuEZ8.js.map → template-extractor-Dzitw66S.js.map} +1 -1
- package/dist/assets/{theme-builder-CWetoMuo.js → theme-builder-00-pJhvO.js} +2 -2
- package/dist/assets/{theme-builder-CWetoMuo.js.map → theme-builder-00-pJhvO.js.map} +1 -1
- package/dist/assets/use-definition-schema-BuO4pbji.js.map +1 -1
- package/dist/assets/{use-enum-form-BRBAlWJc.js → use-enum-form-CiJfrBqR.js} +2 -2
- package/dist/assets/{use-enum-form-BRBAlWJc.js.map → use-enum-form-CiJfrBqR.js.map} +1 -1
- package/dist/assets/{use-model-form-psj-JlE9.js → use-model-form-AKI1Wi68.js} +2 -2
- package/dist/assets/{use-model-form-psj-JlE9.js.map → use-model-form-AKI1Wi68.js.map} +1 -1
- package/dist/index.html +2 -2
- package/package.json +11 -11
- package/dist/assets/edit._sectionKey-D4mTSUhO.js.map +0 -1
- package/dist/assets/index-DEKFCy0H.js.map +0 -1
- package/dist/assets/index-DPK1IfNZ.css +0 -1
- package/dist/assets/route-DLz_DL5S.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as r}from"./_virtual___federation_fn_import-D3sI42Ph.js";import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{G as $,H as S,A as E,I as z}from"./index-tflukq04.js";import{s as I,U as A,b as M}from"./index-
|
|
2
|
-
//# sourceMappingURL=hierarchy-
|
|
1
|
+
import{i as r}from"./_virtual___federation_fn_import-D3sI42Ph.js";import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{G as $,H as S,A as E,I as z}from"./index-tflukq04.js";import{s as I,U as A,b as M}from"./index-Cd_baD6T.js";import{b as B}from"./index.esm-CdP29Ssb.js";import{s as P}from"./sortBy-C9bvycg5.js";function H(t){return $({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:T}=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}=T(),l=K(()=>({id:t?.id??"",childName:t?.name.split("/").pop()??"",parentRef:t?.parentRef}),[t]),{control:f,handleSubmit:w,reset:m,formState:{isSubmitting:v}}=B({resolver:I(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(H,{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(S,{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(E,{})}),e.jsx(N,{className:"shrink-0",variant:"ghost",onClick:()=>{p(t)},size:"icon",title:`Delete ${t.name}`,children:e.jsx(z,{})})]})}const le=function(){const{definitionContainer:i,saveDefinitionWithFeedbackSync:a}=Y(),{requestConfirm:p}=ee(),{showRefIssues:d}=M(),[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{le as component};
|
|
2
|
+
//# sourceMappingURL=hierarchy-jFN5DTrv.js.map
|