spec-snake 0.0.1-beta.0
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/README.ja.md +333 -0
- package/README.md +335 -0
- package/dist/cli.js +783 -0
- package/dist/cli.js.map +7 -0
- package/dist/client/assets/ChevronRightIcon-BcBiiChF.js +1 -0
- package/dist/client/assets/DocumentIcon-jB6zASay.js +1 -0
- package/dist/client/assets/Header-DN39nNWE.js +1 -0
- package/dist/client/assets/PlusIcon-DqYOBije.js +1 -0
- package/dist/client/assets/index-CSjjObwb.css +1 -0
- package/dist/client/assets/index-CT_VQ59w.js +1 -0
- package/dist/client/assets/index-D6usLrOW.js +26 -0
- package/dist/client/assets/index-DQxQHK-0.js +1 -0
- package/dist/client/assets/index-DYnzYTb1.js +1 -0
- package/dist/client/assets/index-Q_AobJB0.js +1 -0
- package/dist/client/assets/index-pyqED_5G.js +1 -0
- package/dist/client/assets/useStepFormStore-CBcs2c-9.js +41 -0
- package/dist/client/index.html +13 -0
- package/dist/types.d.ts +848 -0
- package/dist/types.js +99 -0
- package/package.json +85 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as l,a as g,d as m,j as s,L as r,T as i}from"./index-D6usLrOW.js";import{u as t,H as x}from"./Header-DN39nNWE.js";import{D as c}from"./DocumentIcon-jB6zASay.js";import{P as u}from"./PlusIcon-DqYOBije.js";import{C as p}from"./ChevronRightIcon-BcBiiChF.js";const h=()=>{const{scenarioId:n}=l.useParams(),{data:d}=t(g(n)),{scenario:e}=d,{data:a}=t(m(n));return s.jsx("div",{className:"min-h-screen bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50 p-8",children:s.jsxs("div",{className:"max-w-4xl mx-auto space-y-8",children:[s.jsx(x,{}),s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsxs(r,{to:"/scenarios/$scenarioId",params:{scenarioId:e.id},className:"text-sm text-gray-500 hover:text-indigo-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-300 focus-visible:ring-offset-2 rounded",children:["← ",s.jsx(i,{id:"iH8pgl"})]}),s.jsx("h2",{className:"mt-1 text-lg font-bold text-gray-900",children:s.jsx(i,{id:"yFRvSy"})}),s.jsx("p",{className:"text-sm text-gray-500",children:e.name})]}),s.jsxs("div",{className:"space-y-6",children:[s.jsxs(r,{to:"/scenarios/$scenarioId/docs/new",params:{scenarioId:e.id},className:"flex items-center gap-3 p-4 bg-indigo-50 rounded-xl hover:bg-indigo-100 transition-colors group border-2 border-dashed border-indigo-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-300 focus-visible:ring-offset-2",children:[s.jsx("div",{className:"p-2 bg-indigo-200 rounded-lg group-hover:bg-indigo-300 transition-colors",children:s.jsx(u,{className:"size-5 text-indigo-600"})}),s.jsx("span",{className:"font-medium text-indigo-700",children:s.jsx(i,{id:"NpRmdU"})})]}),a.length===0?s.jsxs("div",{className:"p-8 bg-white rounded-xl border border-gray-100 text-center",children:[s.jsx(c,{className:"size-12 text-gray-300 mx-auto mb-4"}),s.jsx("p",{className:"text-gray-500",children:s.jsx(i,{id:"ZGnMhT"})})]}):s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:a.map(o=>s.jsxs(r,{to:"/scenarios/$scenarioId/docs/$filename",params:{scenarioId:e.id,filename:o.filename},className:"flex items-center justify-between p-4 bg-white rounded-xl border border-gray-100 hover:border-indigo-200 hover:bg-gray-50 transition-colors group focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-300 focus-visible:ring-offset-2",children:[s.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s.jsx("div",{className:"p-2 bg-gray-100 rounded-lg group-hover:bg-gray-200 transition-colors shrink-0",children:s.jsx(c,{className:"size-5 text-gray-600"})}),s.jsx("h3",{className:"font-medium text-gray-900 group-hover:text-indigo-600 transition-colors truncate",children:o.filename})]}),s.jsx(p,{className:"size-5 text-gray-400 group-hover:text-indigo-600 transition-colors shrink-0"})]},o.filename))})]})]})]})})},N=h;export{N as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as U,c as q,q as Y,d as Z,f as R,a as ee,r as o,j as t}from"./index-D6usLrOW.js";import{u as se,H as oe}from"./Header-DN39nNWE.js";import{u as te,a as ne,b as ae,c as ie,d as re,g as ce,M as le,P as de,S as ue,e as pe,f as me,A as ge,h as fe,i as ve}from"./useStepFormStore-CBcs2c-9.js";import"./PlusIcon-DqYOBije.js";const Se=async e=>{if(!(await fetch(`/api/scenarios/${e.scenarioId}/docs/${encodeURIComponent(e.filename)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e.content,formData:e.formData})})).ok)throw new Error("Failed to update");await Y.invalidateQueries({queryKey:Z(e.scenarioId).queryKey})},Ce=()=>{const{_:e}=U(),c=q(d=>d.showSnackbar);return te({mutationFn:Se,onSuccess:()=>{c(e({id:"OW40Ve"}),"success")},onError:()=>{c(e({id:"Vw8l6h"}),"error")}})},we=()=>{const{_:e}=U(),{stepIndex:c,prevStep:d,step:n,nextStep:C}=R.useLoaderData(),{scenarioId:a,filename:i}=R.useParams(),{data:F}=se(ee(a)),{scenario:w,permissions:h}=F,{steps:u}=w,l=i,{formValues:p,setFormError:k}=ne({formKey:l}),{previewContent:m,setPreviewContent:P}=ae({formKey:l}),{navStatuses:y,updateNavStatus:r}=ie({formKey:l}),g=Ce(),f=re({formKey:l}),{showSnackbar:S}=q(),[H,j]=o.useState(!1),[M,D]=o.useState(!1),[Q,V]=o.useState(!1),[I,K]=o.useState("preview"),b=o.useCallback(()=>{if(!g.isPending){if(m==null){S(e({id:"lbNn+H"}),"error");return}g.mutate({scenarioId:a,filename:i,content:m,formData:p})}},[g,m,a,i,p,S,e]),N=o.useCallback(()=>{if(f.isPending)return;let s=!1;for(const v of u){const x=v.section.name,B=p[x],_=ce(v.section,B)==="error";k(x,_),r(x),_&&(s=!0)}if(s){S(e({id:"T6PvRl"}),"error");return}f.mutate({scenarioId:a,formData:p})},[f,u,p,a,k,r,S,e]),O=o.useCallback(()=>{K(s=>s==="edit"?"preview":"edit")},[]),$=o.useCallback(s=>{P(s.target.value)},[P]),G=o.useCallback(()=>{j(!0)},[]),L=o.useCallback(()=>{j(!1)},[]),z=o.useCallback(()=>{D(s=>!s)},[]),J=o.useCallback(()=>{D(!1)},[]),W=o.useCallback(()=>{V(s=>!s)},[]),T=o.useMemo(()=>u.map((s,v)=>({to:`/scenarios/${a}/docs/${encodeURIComponent(i)}?step=${s.slug}`,title:s.title,description:s.description,step:v+1,sectionName:s.section.name,status:y[s.section.name]??"default",selected:v===c})),[u,a,i,y,c]),A=o.useCallback(()=>{r(n.section.name),requestAnimationFrame(()=>{document.querySelector('[role="tab"][aria-selected="true"]')?.focus()})},[n.section.name,r]),X=o.useMemo(()=>d!=null?{to:`/scenarios/${a}/docs/${encodeURIComponent(i)}?step=${d.slug}`,label:e({id:"iH8pgl"}),onClick:()=>r(n.section.name)}:void 0,[d,a,i,n.section.name,r,e]),E=o.useMemo(()=>C!=null?{to:`/scenarios/${a}/docs/${encodeURIComponent(i)}?step=${C.slug}`,label:e({id:"hXzOVo"}),onClick:()=>r(n.section.name)}:void 0,[C,a,i,n.section.name,r,e]);return t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_1fr] xl:grid-cols-[auto_1fr_1fr] grid-rows-[auto_1fr] gap-6 min-h-screen bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50 p-8",children:[t.jsx(le,{scenarioName:w.name,isOpen:M,items:T,onClose:J,onItemClick:A}),t.jsx("div",{className:"col-span-1 xl:col-span-2",children:t.jsx(oe,{isMenuOpen:M,onOpenPreview:G,onToggleMenu:z})}),t.jsx("aside",{className:"hidden lg:flex row-span-2 min-w-0 bg-white rounded-2xl border border-gray-100 flex-col overflow-hidden sticky top-8 h-[calc(100vh-64px)] self-start",children:t.jsx(de,{allowSave:h.allowSave,isGenerating:f.isPending,isSubmitting:g.isPending,previewContent:m,previewMode:I,onContentChange:$,onCreate:b,onPreview:N,onToggleMode:O})}),t.jsx(ue,{scenarioName:w.name,isCollapsed:Q,items:T,onItemClick:A,onToggleCollapse:W}),t.jsxs("main",{className:"flex flex-col gap-6 min-w-0",children:[t.jsx("div",{className:"xl:hidden",children:t.jsx(pe,{current:c+1,description:n.description,title:n.title,total:u.length})}),n.section.type==="single"?t.jsx(me,{step:n,formKey:l},n.slug):t.jsx(ge,{step:n,formKey:l},n.slug),t.jsx(fe,{prev:X,next:E,onSubmit:E==null?b:void 0})]}),t.jsx(ve,{allowSave:h.allowSave,isGenerating:f.isPending,isOpen:H,isSubmitting:g.isPending,previewContent:m,previewMode:I,onClose:L,onContentChange:$,onCreate:b,onPreview:N,onToggleMode:O})]})},Pe=we;export{Pe as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as o,j as s,T as i,L as t}from"./index-D6usLrOW.js";import{u as a,H as n}from"./Header-DN39nNWE.js";import{C as c}from"./ChevronRightIcon-BcBiiChF.js";const d=()=>{const{data:r}=a(o());return s.jsx("div",{className:"min-h-screen bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50 p-8",children:s.jsxs("div",{className:"max-w-4xl mx-auto space-y-8",children:[s.jsx(n,{}),s.jsxs("div",{className:"space-y-4",children:[s.jsx("h2",{className:"text-lg font-bold text-gray-900",children:s.jsx(i,{id:"57upzv"})}),s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:r.map(e=>s.jsxs(t,{to:"/scenarios/$scenarioId",params:{scenarioId:e.id},className:"flex items-center justify-between p-4 bg-white rounded-xl hover:bg-gray-50 transition-colors group border border-gray-100 hover:border-indigo-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-300 focus-visible:ring-offset-2",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"text-base font-semibold text-gray-900 group-hover:text-indigo-600 transition-colors",children:e.name}),s.jsx("p",{className:"mt-1 text-sm text-gray-500",children:s.jsx(i,{id:"/vVlbJ",values:{0:e.steps.length}})})]}),s.jsx(c,{className:"size-5 text-gray-400 group-hover:text-indigo-600 transition-colors"})]},e.id))})]})]})})},g=d;export{g as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as l,j as s,L as o,T as e,a as d,d as x}from"./index-D6usLrOW.js";import{u as n,H as g}from"./Header-DN39nNWE.js";import{D as m}from"./DocumentIcon-jB6zASay.js";import{P as u}from"./PlusIcon-DqYOBije.js";import{C as t}from"./ChevronRightIcon-BcBiiChF.js";const p=()=>{const{scenarioId:r}=l.useParams(),{data:a}=n(d(r)),{scenario:i}=a,{data:c}=n(x(r));return s.jsx("div",{className:"min-h-screen bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50 p-8",children:s.jsxs("div",{className:"max-w-4xl mx-auto space-y-8",children:[s.jsx(g,{}),s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsxs(o,{to:"/scenarios",className:"text-sm text-gray-500 hover:text-indigo-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-300 focus-visible:ring-offset-2 rounded",children:["← ",s.jsx(e,{id:"FQs7H0"})]}),s.jsx("h2",{className:"mt-1 text-lg font-bold text-gray-900",children:i.name})]}),s.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[s.jsxs(o,{to:"/scenarios/$scenarioId/docs/new",params:{scenarioId:i.id},className:"flex items-center justify-between p-4 bg-white rounded-xl hover:bg-gray-50 transition-colors group border border-gray-100 hover:border-indigo-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-300 focus-visible:ring-offset-2",children:[s.jsxs("div",{className:"flex items-center gap-4",children:[s.jsx("div",{className:"p-3 bg-indigo-100 rounded-lg group-hover:bg-indigo-200 transition-colors",children:s.jsx(u,{className:"size-6 text-indigo-600"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-base font-semibold text-gray-900 group-hover:text-indigo-600 transition-colors",children:s.jsx(e,{id:"8faOjQ"})}),s.jsx("p",{className:"mt-1 text-sm text-gray-500",children:s.jsx(e,{id:"fQ4jUh"})})]})]}),s.jsx(t,{className:"size-5 text-gray-400 group-hover:text-indigo-600 transition-colors"})]}),s.jsxs(o,{to:"/scenarios/$scenarioId/docs",params:{scenarioId:i.id},className:"flex items-center justify-between p-4 bg-white rounded-xl hover:bg-gray-50 transition-colors group border border-gray-100 hover:border-purple-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-300 focus-visible:ring-offset-2",children:[s.jsxs("div",{className:"flex items-center gap-4",children:[s.jsx("div",{className:"p-3 bg-purple-100 rounded-lg group-hover:bg-purple-200 transition-colors",children:s.jsx(m,{className:"size-6 text-purple-600"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"text-base font-semibold text-gray-900 group-hover:text-purple-600 transition-colors",children:s.jsx(e,{id:"QFXSrR"})}),s.jsx("p",{className:"mt-1 text-sm text-gray-500",children:s.jsx(e,{id:"G3Kixs",values:{0:c.length}})})]})]}),s.jsx(t,{className:"size-5 text-gray-400 group-hover:text-purple-600 transition-colors"})]})]})]})]})})},N=p;export{N as component};
|