dev-process-kit 0.0.1 → 0.0.2-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.md CHANGED
@@ -30,6 +30,8 @@ flowchart LR
30
30
 
31
31
  dev-process-kit is built to be used by an agent: the instructions for LLMs are the [`dev-process-kit` skill](skills/dev-process-kit/SKILL.md). It is published to npm as [`dev-process-kit`](https://www.npmjs.com/package/dev-process-kit), a page loads it from jsDelivr with the version pinned, and the documentation of each version is [`docs/`](docs/index.md) at its `v<version>` tag.
32
32
 
33
+ The samples of `main` are live at https://d-kimuson.github.io/dev-process-kit/.
34
+
33
35
  The shortest way to try it is to hand the skill to an agent and say what you want:
34
36
 
35
37
  ```markdown
@@ -1 +1 @@
1
- import{ak as s,al as n,au as o,ab as c}from"./shared-RRxRtPfs.js";const l=n({value:c()}),r=a=>t=>{if(!(t instanceof CustomEvent))return;const e=s(l,t.detail);e.success&&a(e.output.value)},u=a=>t=>{const e=o(t.target,HTMLSelectElement);e!==null&&a(e.value)};export{u as a,r as o};
1
+ import{ak as s,al as n,au as o,ab as c}from"./shared-z875TnWr.js";const l=n({value:c()}),r=a=>t=>{if(!(t instanceof CustomEvent))return;const e=s(l,t.detail);e.success&&a(e.output.value)},u=a=>t=>{const e=o(t.target,HTMLSelectElement);e!==null&&a(e.value)};export{u as a,r as o};
@@ -1,4 +1,4 @@
1
- import{q as v,al as y,v as Y,aq as R,ab as l,as as D,ad as m,ae as g,ar as L,a7 as Me,aw as Ne,a8 as M,a9 as C,aa as P,P as Ye,f as Le,V as _,R as u,$ as F,a4 as Ce,k as Pe,_ as J,a0 as I,a1 as c,I as Ve,A as Be,K as Ue,i as qe,m as N,a2 as S,J as ze,B as Ge,au as je,T as X}from"./shared-RRxRtPfs.js";import{s as Ke,D as He}from"./shared-BFAVBf4I.js";import{P as Z,r as Fe,p as Je,a as Xe}from"./shared-C8LUysSF.js";import{o as V}from"./shared-BAfKXeYg.js";const p={SET_ACTIVITY_NAME:v("SET_ACTIVITY_NAME","activity",y({name:m(l(),g(1))})),SET_STEP_NAME:v("SET_STEP_NAME","step",y({name:m(l(),g(1))})),REORDER_STEP:v("REORDER_STEP","step",y({after:R(l())}),{mode:"sequence"}),ADD_ACTIVITY:v("ADD_ACTIVITY","page",y({id:D,name:m(l(),g(1))}),{dedupeKey:Y}),ADD_STEP:v("ADD_STEP","activity",y({id:D,name:m(l(),g(1))}),{dedupeKey:Y}),DELETE_ACTIVITY:v("DELETE_ACTIVITY","activity",y({})),DELETE_STEP:v("DELETE_STEP","step",y({})),SET_STORY_NAME:v("SET_STORY_NAME","story",y({name:m(l(),g(1))})),SET_STORY_DESCRIPTION:v("SET_STORY_DESCRIPTION","story",y({description:l()})),SET_STORY_MILESTONE:v("SET_STORY_MILESTONE","story",y({milestoneId:R(l())})),MOVE_STORY:v("MOVE_STORY","story",y({activityId:m(l(),g(1)),stepId:m(l(),g(1)),milestoneId:R(l()),after:R(l())}),{mode:"sequence"}),REORDER_STORY:v("REORDER_STORY","story",y({after:R(l())}),{mode:"sequence"}),ADD_STORY:v("ADD_STORY","step",y({id:D,name:m(l(),g(1)),activityId:m(l(),g(1)),milestoneId:L(l())}),{dedupeKey:Y}),DELETE_STORY:v("DELETE_STORY","story",y({})),SET_MILESTONE_NAME:v("SET_MILESTONE_NAME","milestone",y({name:m(l(),g(1))})),ADD_MILESTONE:v("ADD_MILESTONE","page",y({id:D,name:m(l(),g(1))}),{dedupeKey:Y}),DELETE_MILESTONE:v("DELETE_MILESTONE","milestone",y({})),REORDER_MILESTONE:v("REORDER_MILESTONE","milestone",y({after:R(l())}),{mode:"sequence"})},Ze={setActivityName:(e,t)=>({type:"SET_ACTIVITY_NAME",target:{type:"activity",id:e},payload:{name:t}}),setStepName:(e,t)=>({type:"SET_STEP_NAME",target:{type:"step",id:e},payload:{name:t}})},Qe=M({id:m(l(),g(1)),name:m(l(),g(1))}),We=M({id:D,name:m(l(),g(1)),steps:C(P(Qe),[])}),et=M({id:m(l(),g(1)),name:m(l(),g(1))}),tt=M({id:D,name:m(l(),g(1)),description:L(l()),activityId:m(l(),g(1)),stepId:m(l(),g(1)),milestoneId:L(l())}),it=M({title:L(l()),activities:C(P(We),[]),milestones:C(P(et),[]),stories:C(P(tt),[])}),Q=e=>{const t=Me(it,e),i=new Map;for(const o of t.activities)for(const a of o.steps)i.set(a.id,o.id);const n=new Set(t.milestones.map(o=>o.id)),s=new Set,r=(o,a)=>{if(s.has(a))throw new Error(`duplicate id "${a}" in ${o}`);s.add(a)};for(const o of t.activities){r("activities",o.id);for(const a of o.steps)r("steps",a.id)}for(const o of t.milestones)r("milestones",o.id);for(const o of t.stories){r("stories",o.id);const a=i.get(o.stepId);if(a===void 0||a!==o.activityId)throw new Error(`story "${o.id}" references unknown activityId/stepId`);if(o.milestoneId!==void 0&&!n.has(o.milestoneId))throw new Error(`story "${o.id}" references unknown milestoneId "${o.milestoneId}"`)}return t},W=()=>({activities:[],milestones:[],stories:[]}),w=(e,t)=>{if(t!==void 0)return e.activities.find(i=>i.id===t)},z=(e,t)=>`${e}.${t}`,h=(e,t)=>{if(t===void 0)return;const i=Ne(t,2);if(i){const[n,s]=i;if(n===void 0||s===void 0)return;const r=e.activities.find(a=>a.id===n),o=r?.steps.find(a=>a.id===s);return r&&o?{activity:r,step:o}:void 0}if(!t.includes("."))for(const n of e.activities){const s=n.steps.find(r=>r.id===t);if(s)return{activity:n,step:s}}},k=(e,t)=>{if(t!==void 0)return e.milestones.find(i=>i.id===t)},b=(e,t)=>{if(t!==void 0)return e.stories.find(i=>i.id===t)},ee=e=>e.activities.flatMap(t=>t.steps.map(i=>({activity:t,step:i}))),nt=e=>({...e,stories:Ke(e.stories,[t=>`${t.activityId}/${t.stepId}/${t.milestoneId??""}`])}),B=(e,t,i)=>e.stories.filter(n=>n.stepId===t&&(n.milestoneId??void 0)===i),te=(e,t,i)=>e.stories.filter(n=>n.activityId===t&&(n.milestoneId??void 0)===i),x=e=>[...e.activities.map(t=>t.id),...e.activities.flatMap(t=>t.steps.map(i=>i.id)),...e.milestones.map(t=>t.id),...e.stories.map(t=>t.id)],st=(e,t)=>e.stories.filter(i=>i.stepId===t).length,ie=(e,t)=>{const i=Ye(p,t);if(i===null)return null;const n=i.target.id;switch(i.type){case"SET_ACTIVITY_NAME":{const{name:s}=i.payload;return e.activities.some(r=>r.id===n)?{...e,activities:e.activities.map(r=>r.id===n?{...r,name:s}:r)}:null}case"SET_STEP_NAME":{const{name:s}=i.payload,r=h(e,n);return r?{...e,activities:e.activities.map(o=>o.id===r.activity.id?{...o,steps:o.steps.map(a=>a.id===r.step.id?{...a,name:s}:a)}:o)}:null}case"REORDER_STEP":{const{after:s}=i.payload,r=h(e,n);if(!r)return null;const o=s===null?null:h(e,s);if(s!==null&&(!o||o.activity.id!==r.activity.id))return null;const a=se(r.activity.steps,r.step.id,o?.step.id??null);return a===null?null:{...e,activities:e.activities.map(d=>d.id===r.activity.id?{...d,steps:a}:d)}}case"ADD_ACTIVITY":{const s=i.payload;return e.activities.some(r=>r.id===s.id)?e:{...e,activities:[...e.activities,{id:s.id,name:s.name,steps:[]}]}}case"ADD_STEP":{const s=i.payload,r=e.activities.find(o=>o.id===n);return r?r.steps.some(o=>o.id===s.id)?e:{...e,activities:e.activities.map(o=>o.id===n?{...o,steps:[...o.steps,{id:s.id,name:s.name}]}:o)}:null}case"DELETE_ACTIVITY":{const s=e.activities.find(o=>o.id===n);if(!s)return null;const r=new Set(s.steps.map(o=>o.id));return{...e,activities:e.activities.filter(o=>o.id!==n),stories:e.stories.filter(o=>o.activityId!==n&&!r.has(o.stepId))}}case"DELETE_STEP":{const s=h(e,n);return s?{...e,activities:e.activities.map(r=>r.id===s.activity.id?{...r,steps:r.steps.filter(o=>o.id!==s.step.id)}:r),stories:e.stories.filter(r=>r.activityId!==s.activity.id||r.stepId!==s.step.id)}:null}case"SET_STORY_NAME":{const{name:s}=i.payload;return G(e,n,r=>({...r,name:s}))}case"SET_STORY_DESCRIPTION":{const{description:s}=i.payload;return G(e,n,r=>({...r,description:s}))}case"SET_STORY_MILESTONE":{const{milestoneId:s}=i.payload;return s!==null&&!k(e,s)?null:G(e,n,r=>s===null?j(r):{...r,milestoneId:s})}case"MOVE_STORY":{const s=i.payload,r=b(e,n);if(!r)return null;const o=h(e,s.stepId);if(!o||o.activity.id!==s.activityId||s.milestoneId!==null&&!k(e,s.milestoneId))return null;const a=s.milestoneId??void 0,d=a===void 0?{...j(r),activityId:o.activity.id,stepId:o.step.id}:{...r,activityId:o.activity.id,stepId:o.step.id,milestoneId:a};return ne(e,d,s.after)}case"REORDER_STORY":{const{after:s}=i.payload,r=b(e,n);return r?ne(e,r,s,!0):null}case"ADD_STORY":{const s=i.payload,r=h(e,t.target.id);if(!r||r.activity.id!==s.activityId||s.milestoneId!==void 0&&!k(e,s.milestoneId))return null;if(e.stories.some(a=>a.id===s.id))return e;const o={id:s.id,name:s.name,activityId:s.activityId,stepId:r.step.id,...s.milestoneId===void 0?{}:{milestoneId:s.milestoneId}};return{...e,stories:[...e.stories,o]}}case"DELETE_STORY":return e.stories.some(s=>s.id===n)?{...e,stories:e.stories.filter(s=>s.id!==n)}:null;case"SET_MILESTONE_NAME":{const{name:s}=i.payload;return e.milestones.some(r=>r.id===n)?{...e,milestones:e.milestones.map(r=>r.id===n?{...r,name:s}:r)}:null}case"ADD_MILESTONE":{const s=i.payload;return e.milestones.some(r=>r.id===s.id)?e:{...e,milestones:[...e.milestones,{id:s.id,name:s.name}]}}case"DELETE_MILESTONE":return e.milestones.some(s=>s.id===n)?{...e,milestones:e.milestones.filter(s=>s.id!==n),stories:e.stories.map(s=>s.milestoneId===n?j(s):s)}:null;case"REORDER_MILESTONE":{const{after:s}=i.payload,r=se(e.milestones,n,s);return r===null?null:{...e,milestones:r}}default:return Le(i)}},G=(e,t,i)=>e.stories.some(n=>n.id===t)?{...e,stories:e.stories.map(n=>n.id===t?i(n):n)}:null,j=e=>{const{milestoneId:t,...i}=e;return i},ne=(e,t,i,n=!1)=>{const s=t.milestoneId??void 0,r=e.stories.filter(f=>f.id!==t.id),o=r.filter(f=>f.stepId===t.stepId&&(f.milestoneId??void 0)===s);if(i!==null){const f=r.find(A=>A.id===i);if(!f||f.stepId!==t.stepId||(f.milestoneId??void 0)!==s)return null;if(n){const A=b(e,t.id);if(!A||f.stepId!==A.stepId||(f.milestoneId??void 0)!==(A.milestoneId??void 0))return null}}const a=i===null?[t,...o]:re(o,t,i),d=r.findIndex(f=>f.stepId===t.stepId&&(f.milestoneId??void 0)===s),$=new Set(o.map(f=>f.id)),E=r.filter(f=>!$.has(f.id)),T=d<0?E.length:Math.min(d,E.length),Ae=[...E.slice(0,T),...a,...E.slice(T)];return{...e,stories:Ae}},se=(e,t,i)=>{if(!e.some(r=>r.id===t)||i!==null&&!e.some(r=>r.id===i))return null;if(i===t)return[...e];const n=e.find(r=>r.id===t);if(n===void 0)return null;const s=e.filter(r=>r.id!==t);return re(s,n,i)},re=(e,t,i)=>{const n=[...e],s=i===null?-1:n.findIndex(r=>r.id===i);return n.splice(s+1,0,t),n},U=(e,t)=>{const i=typeof t=="string"?t:"",n=typeof e=="string"?e:void 0;return n===void 0?`\u2192 \u300C${i}\u300D`:`\u300C${n}\u300D\u2192\u300C${i}\u300D`},rt={SET_ACTIVITY_NAME:(e,t)=>({title:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u540D\u3092\u5909\u66F4",tone:"update",body:U(w(t,e.target.id)?.name,u(p.SET_ACTIVITY_NAME,e).name??"")}),SET_STEP_NAME:(e,t)=>({title:"\u30B9\u30C6\u30C3\u30D7\u540D\u3092\u5909\u66F4",tone:"update",body:U(h(t,e.target.id)?.step.name,u(p.SET_STEP_NAME,e).name??"")}),REORDER_STEP:e=>({title:"\u30B9\u30C6\u30C3\u30D7\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:u(p.REORDER_STEP,e).after===null||u(p.REORDER_STEP,e).after===void 0?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${String(u(p.REORDER_STEP,e).after)}\u300D\u306E\u76F4\u5F8C\u3078`}),ADD_ACTIVITY:e=>({title:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_ACTIVITY,e).name??""}\u300D`}),ADD_STEP:e=>({title:"\u30B9\u30C6\u30C3\u30D7\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_STEP,e).name??""}\u300D`}),DELETE_ACTIVITY:(e,t)=>({title:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${w(t,e.target.id)?.name??e.target.id}\u300D`}),DELETE_STEP:(e,t)=>({title:"\u30B9\u30C6\u30C3\u30D7\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${h(t,e.target.id)?.step.name??e.target.id}\u300D`}),SET_STORY_NAME:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u540D\u3092\u5909\u66F4",tone:"update",body:U(b(t,e.target.id)?.name,u(p.SET_STORY_NAME,e).name??"")}),SET_STORY_DESCRIPTION:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(u(p.SET_STORY_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),SET_STORY_MILESTONE:(e,t)=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u5909\u66F4",tone:"move",body:u(p.SET_STORY_MILESTONE,e).milestoneId===null||u(p.SET_STORY_MILESTONE,e).milestoneId===void 0?"\u2192 \u672A\u5272\u5F53\u3078":`\u2192 ${k(t,String(u(p.SET_STORY_MILESTONE,e).milestoneId))?.name??String(u(p.SET_STORY_MILESTONE,e).milestoneId)}`}),MOVE_STORY:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${h(t,String(u(p.MOVE_STORY,e).stepId))?.step.name??String(u(p.MOVE_STORY,e).stepId??"")}`}),REORDER_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:u(p.REORDER_STORY,e).after===null||u(p.REORDER_STORY,e).after===void 0?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${String(u(p.REORDER_STORY,e).after)}\u300D\u306E\u76F4\u5F8C\u3078`}),ADD_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_STORY,e).name??""}\u300D`}),DELETE_STORY:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${b(t,e.target.id)?.name??e.target.id}\u300D`}),SET_MILESTONE_NAME:(e,t)=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u540D\u3092\u5909\u66F4",tone:"update",body:U(k(t,e.target.id)?.name,u(p.SET_MILESTONE_NAME,e).name??"")}),ADD_MILESTONE:e=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_MILESTONE,e).name??""}\u300D`}),DELETE_MILESTONE:(e,t)=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${k(t,e.target.id)?.name??e.target.id}\u300D`}),REORDER_MILESTONE:e=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:u(p.REORDER_MILESTONE,e).after===null||u(p.REORDER_MILESTONE,e).after===void 0?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${String(u(p.REORDER_MILESTONE,e).after)}\u300D\u306E\u76F4\u5F8C\u3078`})},oe=(e,t,i)=>{let n;try{const s=rt[e.type];n=s?s(e,i??t):{title:e.type,tone:"meta"}}catch{n={title:e.type,tone:"meta"}}return{title:n.title,targetLabel:de(t,e.target),tone:n.tone,...n.body===void 0?{}:{summary:n.body}}},ae=e=>`${e.type} ${_(e.target)} ${JSON.stringify(e.payload)}`,de=(e,t)=>{try{switch(t.type){case"activity":{const i=w(e,t.id);return i?`\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 \xB7 ${i.name}`:`\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 \xB7 ${t.id} (missing)`}case"step":{const i=h(e,t.id)?.step;return i?`\u30B9\u30C6\u30C3\u30D7 \xB7 ${i.name}`:`\u30B9\u30C6\u30C3\u30D7 \xB7 ${t.id} (missing)`}case"story":{const i=b(e,t.id);return i?`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${i.name}`:`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${t.id} (missing)`}case"milestone":{const i=k(e,t.id);return i?`\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3 \xB7 ${i.name}`:`\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3 \xB7 ${t.id} (missing)`}case"page":return`\u30DE\u30C3\u30D7 \xB7 ${K(e)}`;default:return`${t.type} \xB7 ${t.id}`}}catch{return`${t.type} \xB7 ${t.id}`}},le=(e,t)=>{const i=[{value:"page:usm",label:"\u30DE\u30C3\u30D7\u5168\u4F53",group:"\u30DE\u30C3\u30D7"}];for(const n of e.activities){i.push({value:_({type:"activity",id:n.id}),label:n.name,group:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3"});for(const s of n.steps)i.push({value:_({type:"step",id:z(n.id,s.id)}),label:`${n.name} \u203A ${s.name}`,group:"\u30B9\u30C6\u30C3\u30D7"})}for(const n of e.milestones)i.push({value:_({type:"milestone",id:n.id}),label:n.name,group:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3"});for(const n of e.stories)i.push({value:_({type:"story",id:n.id}),label:n.name,group:"\u30B9\u30C8\u30FC\u30EA\u30FC"});return i},ot=(e,t)=>{const i=e.stories.find(n=>n.id===t.story);if(i)return{value:_({type:"story",id:i.id}),label:i.name,group:"\u30B9\u30C8\u30FC\u30EA\u30FC"};for(const n of e.activities){const s=n.steps.find(r=>r.id===t.step);if(s)return{value:_({type:"step",id:z(n.id,s.id)}),label:s.name,group:"\u30B9\u30C6\u30C3\u30D7"}}return null},K=e=>e.title??"User Story Mapping",ce=(e,t)=>{const i=h(e,t.step),n=i?.activity??w(e,t.activity)??e.activities[0],s=i?.step??n?.steps.find(a=>a.id===t.step)??n?.steps[0],r=b(e,t.story),o={...t};return n?o.activity=n.id:delete o.activity,s?o.step=s.id:delete o.step,r?o.story=r.id:delete o.story,o.view=t.view==="group"?"group":"activity",o},pe=(e,t)=>{switch(t.type){case"activity":return w(e,t.id)!==void 0;case"step":return h(e,t.id)!==void 0;case"story":return b(e,t.id)!==void 0;case"milestone":return k(e,t.id)!==void 0;case"page":return!0;default:return!1}},ue={name:"usm",label:"User Story Mapping",parseBase:Q,emptyBase:W,actions:p,apply:ie,canonicalState:nt,hasTarget:pe,canonicalTarget:(e,t)=>{if(t.type!=="step")return t;const i=h(e,t.id);return i?{...t,id:z(i.activity.id,i.step.id)}:t},describe:oe,serialize:ae,resolveNavigation:ce,commentTargets:(e,t)=>le(e),currentTarget:(e,t)=>ot(e,t),title:K},at={width:300,height:260},dt=F`
1
+ import{q as v,al as y,v as Y,aq as R,ab as l,as as D,ad as m,ae as g,ar as L,a7 as Me,aw as Ne,a8 as M,a9 as C,aa as P,P as Ye,f as Le,V as _,R as u,$ as F,a4 as Ce,k as Pe,_ as J,a0 as I,a1 as c,I as Ve,A as Be,K as Ue,i as qe,m as N,a2 as S,J as ze,B as Ge,au as je,T as X}from"./shared-z875TnWr.js";import{s as Ke,D as He}from"./shared-BFAVBf4I.js";import{P as Z,r as Fe,p as Je,a as Xe}from"./shared-CmlaxilP.js";import{o as V}from"./shared-2miVckpm.js";const p={SET_ACTIVITY_NAME:v("SET_ACTIVITY_NAME","activity",y({name:m(l(),g(1))})),SET_STEP_NAME:v("SET_STEP_NAME","step",y({name:m(l(),g(1))})),REORDER_STEP:v("REORDER_STEP","step",y({after:R(l())}),{mode:"sequence"}),ADD_ACTIVITY:v("ADD_ACTIVITY","page",y({id:D,name:m(l(),g(1))}),{dedupeKey:Y}),ADD_STEP:v("ADD_STEP","activity",y({id:D,name:m(l(),g(1))}),{dedupeKey:Y}),DELETE_ACTIVITY:v("DELETE_ACTIVITY","activity",y({})),DELETE_STEP:v("DELETE_STEP","step",y({})),SET_STORY_NAME:v("SET_STORY_NAME","story",y({name:m(l(),g(1))})),SET_STORY_DESCRIPTION:v("SET_STORY_DESCRIPTION","story",y({description:l()})),SET_STORY_MILESTONE:v("SET_STORY_MILESTONE","story",y({milestoneId:R(l())})),MOVE_STORY:v("MOVE_STORY","story",y({activityId:m(l(),g(1)),stepId:m(l(),g(1)),milestoneId:R(l()),after:R(l())}),{mode:"sequence"}),REORDER_STORY:v("REORDER_STORY","story",y({after:R(l())}),{mode:"sequence"}),ADD_STORY:v("ADD_STORY","step",y({id:D,name:m(l(),g(1)),activityId:m(l(),g(1)),milestoneId:L(l())}),{dedupeKey:Y}),DELETE_STORY:v("DELETE_STORY","story",y({})),SET_MILESTONE_NAME:v("SET_MILESTONE_NAME","milestone",y({name:m(l(),g(1))})),ADD_MILESTONE:v("ADD_MILESTONE","page",y({id:D,name:m(l(),g(1))}),{dedupeKey:Y}),DELETE_MILESTONE:v("DELETE_MILESTONE","milestone",y({})),REORDER_MILESTONE:v("REORDER_MILESTONE","milestone",y({after:R(l())}),{mode:"sequence"})},Ze={setActivityName:(e,t)=>({type:"SET_ACTIVITY_NAME",target:{type:"activity",id:e},payload:{name:t}}),setStepName:(e,t)=>({type:"SET_STEP_NAME",target:{type:"step",id:e},payload:{name:t}})},Qe=M({id:m(l(),g(1)),name:m(l(),g(1))}),We=M({id:D,name:m(l(),g(1)),steps:C(P(Qe),[])}),et=M({id:m(l(),g(1)),name:m(l(),g(1))}),tt=M({id:D,name:m(l(),g(1)),description:L(l()),activityId:m(l(),g(1)),stepId:m(l(),g(1)),milestoneId:L(l())}),it=M({title:L(l()),activities:C(P(We),[]),milestones:C(P(et),[]),stories:C(P(tt),[])}),Q=e=>{const t=Me(it,e),i=new Map;for(const o of t.activities)for(const a of o.steps)i.set(a.id,o.id);const n=new Set(t.milestones.map(o=>o.id)),s=new Set,r=(o,a)=>{if(s.has(a))throw new Error(`duplicate id "${a}" in ${o}`);s.add(a)};for(const o of t.activities){r("activities",o.id);for(const a of o.steps)r("steps",a.id)}for(const o of t.milestones)r("milestones",o.id);for(const o of t.stories){r("stories",o.id);const a=i.get(o.stepId);if(a===void 0||a!==o.activityId)throw new Error(`story "${o.id}" references unknown activityId/stepId`);if(o.milestoneId!==void 0&&!n.has(o.milestoneId))throw new Error(`story "${o.id}" references unknown milestoneId "${o.milestoneId}"`)}return t},W=()=>({activities:[],milestones:[],stories:[]}),w=(e,t)=>{if(t!==void 0)return e.activities.find(i=>i.id===t)},z=(e,t)=>`${e}.${t}`,h=(e,t)=>{if(t===void 0)return;const i=Ne(t,2);if(i){const[n,s]=i;if(n===void 0||s===void 0)return;const r=e.activities.find(a=>a.id===n),o=r?.steps.find(a=>a.id===s);return r&&o?{activity:r,step:o}:void 0}if(!t.includes("."))for(const n of e.activities){const s=n.steps.find(r=>r.id===t);if(s)return{activity:n,step:s}}},k=(e,t)=>{if(t!==void 0)return e.milestones.find(i=>i.id===t)},b=(e,t)=>{if(t!==void 0)return e.stories.find(i=>i.id===t)},ee=e=>e.activities.flatMap(t=>t.steps.map(i=>({activity:t,step:i}))),nt=e=>({...e,stories:Ke(e.stories,[t=>`${t.activityId}/${t.stepId}/${t.milestoneId??""}`])}),B=(e,t,i)=>e.stories.filter(n=>n.stepId===t&&(n.milestoneId??void 0)===i),te=(e,t,i)=>e.stories.filter(n=>n.activityId===t&&(n.milestoneId??void 0)===i),x=e=>[...e.activities.map(t=>t.id),...e.activities.flatMap(t=>t.steps.map(i=>i.id)),...e.milestones.map(t=>t.id),...e.stories.map(t=>t.id)],st=(e,t)=>e.stories.filter(i=>i.stepId===t).length,ie=(e,t)=>{const i=Ye(p,t);if(i===null)return null;const n=i.target.id;switch(i.type){case"SET_ACTIVITY_NAME":{const{name:s}=i.payload;return e.activities.some(r=>r.id===n)?{...e,activities:e.activities.map(r=>r.id===n?{...r,name:s}:r)}:null}case"SET_STEP_NAME":{const{name:s}=i.payload,r=h(e,n);return r?{...e,activities:e.activities.map(o=>o.id===r.activity.id?{...o,steps:o.steps.map(a=>a.id===r.step.id?{...a,name:s}:a)}:o)}:null}case"REORDER_STEP":{const{after:s}=i.payload,r=h(e,n);if(!r)return null;const o=s===null?null:h(e,s);if(s!==null&&(!o||o.activity.id!==r.activity.id))return null;const a=se(r.activity.steps,r.step.id,o?.step.id??null);return a===null?null:{...e,activities:e.activities.map(d=>d.id===r.activity.id?{...d,steps:a}:d)}}case"ADD_ACTIVITY":{const s=i.payload;return e.activities.some(r=>r.id===s.id)?e:{...e,activities:[...e.activities,{id:s.id,name:s.name,steps:[]}]}}case"ADD_STEP":{const s=i.payload,r=e.activities.find(o=>o.id===n);return r?r.steps.some(o=>o.id===s.id)?e:{...e,activities:e.activities.map(o=>o.id===n?{...o,steps:[...o.steps,{id:s.id,name:s.name}]}:o)}:null}case"DELETE_ACTIVITY":{const s=e.activities.find(o=>o.id===n);if(!s)return null;const r=new Set(s.steps.map(o=>o.id));return{...e,activities:e.activities.filter(o=>o.id!==n),stories:e.stories.filter(o=>o.activityId!==n&&!r.has(o.stepId))}}case"DELETE_STEP":{const s=h(e,n);return s?{...e,activities:e.activities.map(r=>r.id===s.activity.id?{...r,steps:r.steps.filter(o=>o.id!==s.step.id)}:r),stories:e.stories.filter(r=>r.activityId!==s.activity.id||r.stepId!==s.step.id)}:null}case"SET_STORY_NAME":{const{name:s}=i.payload;return G(e,n,r=>({...r,name:s}))}case"SET_STORY_DESCRIPTION":{const{description:s}=i.payload;return G(e,n,r=>({...r,description:s}))}case"SET_STORY_MILESTONE":{const{milestoneId:s}=i.payload;return s!==null&&!k(e,s)?null:G(e,n,r=>s===null?j(r):{...r,milestoneId:s})}case"MOVE_STORY":{const s=i.payload,r=b(e,n);if(!r)return null;const o=h(e,s.stepId);if(!o||o.activity.id!==s.activityId||s.milestoneId!==null&&!k(e,s.milestoneId))return null;const a=s.milestoneId??void 0,d=a===void 0?{...j(r),activityId:o.activity.id,stepId:o.step.id}:{...r,activityId:o.activity.id,stepId:o.step.id,milestoneId:a};return ne(e,d,s.after)}case"REORDER_STORY":{const{after:s}=i.payload,r=b(e,n);return r?ne(e,r,s,!0):null}case"ADD_STORY":{const s=i.payload,r=h(e,t.target.id);if(!r||r.activity.id!==s.activityId||s.milestoneId!==void 0&&!k(e,s.milestoneId))return null;if(e.stories.some(a=>a.id===s.id))return e;const o={id:s.id,name:s.name,activityId:s.activityId,stepId:r.step.id,...s.milestoneId===void 0?{}:{milestoneId:s.milestoneId}};return{...e,stories:[...e.stories,o]}}case"DELETE_STORY":return e.stories.some(s=>s.id===n)?{...e,stories:e.stories.filter(s=>s.id!==n)}:null;case"SET_MILESTONE_NAME":{const{name:s}=i.payload;return e.milestones.some(r=>r.id===n)?{...e,milestones:e.milestones.map(r=>r.id===n?{...r,name:s}:r)}:null}case"ADD_MILESTONE":{const s=i.payload;return e.milestones.some(r=>r.id===s.id)?e:{...e,milestones:[...e.milestones,{id:s.id,name:s.name}]}}case"DELETE_MILESTONE":return e.milestones.some(s=>s.id===n)?{...e,milestones:e.milestones.filter(s=>s.id!==n),stories:e.stories.map(s=>s.milestoneId===n?j(s):s)}:null;case"REORDER_MILESTONE":{const{after:s}=i.payload,r=se(e.milestones,n,s);return r===null?null:{...e,milestones:r}}default:return Le(i)}},G=(e,t,i)=>e.stories.some(n=>n.id===t)?{...e,stories:e.stories.map(n=>n.id===t?i(n):n)}:null,j=e=>{const{milestoneId:t,...i}=e;return i},ne=(e,t,i,n=!1)=>{const s=t.milestoneId??void 0,r=e.stories.filter(f=>f.id!==t.id),o=r.filter(f=>f.stepId===t.stepId&&(f.milestoneId??void 0)===s);if(i!==null){const f=r.find(A=>A.id===i);if(!f||f.stepId!==t.stepId||(f.milestoneId??void 0)!==s)return null;if(n){const A=b(e,t.id);if(!A||f.stepId!==A.stepId||(f.milestoneId??void 0)!==(A.milestoneId??void 0))return null}}const a=i===null?[t,...o]:re(o,t,i),d=r.findIndex(f=>f.stepId===t.stepId&&(f.milestoneId??void 0)===s),$=new Set(o.map(f=>f.id)),E=r.filter(f=>!$.has(f.id)),T=d<0?E.length:Math.min(d,E.length),Ae=[...E.slice(0,T),...a,...E.slice(T)];return{...e,stories:Ae}},se=(e,t,i)=>{if(!e.some(r=>r.id===t)||i!==null&&!e.some(r=>r.id===i))return null;if(i===t)return[...e];const n=e.find(r=>r.id===t);if(n===void 0)return null;const s=e.filter(r=>r.id!==t);return re(s,n,i)},re=(e,t,i)=>{const n=[...e],s=i===null?-1:n.findIndex(r=>r.id===i);return n.splice(s+1,0,t),n},U=(e,t)=>{const i=typeof t=="string"?t:"",n=typeof e=="string"?e:void 0;return n===void 0?`\u2192 \u300C${i}\u300D`:`\u300C${n}\u300D\u2192\u300C${i}\u300D`},rt={SET_ACTIVITY_NAME:(e,t)=>({title:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u540D\u3092\u5909\u66F4",tone:"update",body:U(w(t,e.target.id)?.name,u(p.SET_ACTIVITY_NAME,e).name??"")}),SET_STEP_NAME:(e,t)=>({title:"\u30B9\u30C6\u30C3\u30D7\u540D\u3092\u5909\u66F4",tone:"update",body:U(h(t,e.target.id)?.step.name,u(p.SET_STEP_NAME,e).name??"")}),REORDER_STEP:e=>({title:"\u30B9\u30C6\u30C3\u30D7\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:u(p.REORDER_STEP,e).after===null||u(p.REORDER_STEP,e).after===void 0?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${String(u(p.REORDER_STEP,e).after)}\u300D\u306E\u76F4\u5F8C\u3078`}),ADD_ACTIVITY:e=>({title:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_ACTIVITY,e).name??""}\u300D`}),ADD_STEP:e=>({title:"\u30B9\u30C6\u30C3\u30D7\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_STEP,e).name??""}\u300D`}),DELETE_ACTIVITY:(e,t)=>({title:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${w(t,e.target.id)?.name??e.target.id}\u300D`}),DELETE_STEP:(e,t)=>({title:"\u30B9\u30C6\u30C3\u30D7\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${h(t,e.target.id)?.step.name??e.target.id}\u300D`}),SET_STORY_NAME:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u540D\u3092\u5909\u66F4",tone:"update",body:U(b(t,e.target.id)?.name,u(p.SET_STORY_NAME,e).name??"")}),SET_STORY_DESCRIPTION:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(u(p.SET_STORY_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),SET_STORY_MILESTONE:(e,t)=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u5909\u66F4",tone:"move",body:u(p.SET_STORY_MILESTONE,e).milestoneId===null||u(p.SET_STORY_MILESTONE,e).milestoneId===void 0?"\u2192 \u672A\u5272\u5F53\u3078":`\u2192 ${k(t,String(u(p.SET_STORY_MILESTONE,e).milestoneId))?.name??String(u(p.SET_STORY_MILESTONE,e).milestoneId)}`}),MOVE_STORY:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${h(t,String(u(p.MOVE_STORY,e).stepId))?.step.name??String(u(p.MOVE_STORY,e).stepId??"")}`}),REORDER_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:u(p.REORDER_STORY,e).after===null||u(p.REORDER_STORY,e).after===void 0?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${String(u(p.REORDER_STORY,e).after)}\u300D\u306E\u76F4\u5F8C\u3078`}),ADD_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_STORY,e).name??""}\u300D`}),DELETE_STORY:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${b(t,e.target.id)?.name??e.target.id}\u300D`}),SET_MILESTONE_NAME:(e,t)=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u540D\u3092\u5909\u66F4",tone:"update",body:U(k(t,e.target.id)?.name,u(p.SET_MILESTONE_NAME,e).name??"")}),ADD_MILESTONE:e=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${u(p.ADD_MILESTONE,e).name??""}\u300D`}),DELETE_MILESTONE:(e,t)=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${k(t,e.target.id)?.name??e.target.id}\u300D`}),REORDER_MILESTONE:e=>({title:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:u(p.REORDER_MILESTONE,e).after===null||u(p.REORDER_MILESTONE,e).after===void 0?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${String(u(p.REORDER_MILESTONE,e).after)}\u300D\u306E\u76F4\u5F8C\u3078`})},oe=(e,t,i)=>{let n;try{const s=rt[e.type];n=s?s(e,i??t):{title:e.type,tone:"meta"}}catch{n={title:e.type,tone:"meta"}}return{title:n.title,targetLabel:de(t,e.target),tone:n.tone,...n.body===void 0?{}:{summary:n.body}}},ae=e=>`${e.type} ${_(e.target)} ${JSON.stringify(e.payload)}`,de=(e,t)=>{try{switch(t.type){case"activity":{const i=w(e,t.id);return i?`\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 \xB7 ${i.name}`:`\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 \xB7 ${t.id} (missing)`}case"step":{const i=h(e,t.id)?.step;return i?`\u30B9\u30C6\u30C3\u30D7 \xB7 ${i.name}`:`\u30B9\u30C6\u30C3\u30D7 \xB7 ${t.id} (missing)`}case"story":{const i=b(e,t.id);return i?`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${i.name}`:`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${t.id} (missing)`}case"milestone":{const i=k(e,t.id);return i?`\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3 \xB7 ${i.name}`:`\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3 \xB7 ${t.id} (missing)`}case"page":return`\u30DE\u30C3\u30D7 \xB7 ${K(e)}`;default:return`${t.type} \xB7 ${t.id}`}}catch{return`${t.type} \xB7 ${t.id}`}},le=(e,t)=>{const i=[{value:"page:usm",label:"\u30DE\u30C3\u30D7\u5168\u4F53",group:"\u30DE\u30C3\u30D7"}];for(const n of e.activities){i.push({value:_({type:"activity",id:n.id}),label:n.name,group:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3"});for(const s of n.steps)i.push({value:_({type:"step",id:z(n.id,s.id)}),label:`${n.name} \u203A ${s.name}`,group:"\u30B9\u30C6\u30C3\u30D7"})}for(const n of e.milestones)i.push({value:_({type:"milestone",id:n.id}),label:n.name,group:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3"});for(const n of e.stories)i.push({value:_({type:"story",id:n.id}),label:n.name,group:"\u30B9\u30C8\u30FC\u30EA\u30FC"});return i},ot=(e,t)=>{const i=e.stories.find(n=>n.id===t.story);if(i)return{value:_({type:"story",id:i.id}),label:i.name,group:"\u30B9\u30C8\u30FC\u30EA\u30FC"};for(const n of e.activities){const s=n.steps.find(r=>r.id===t.step);if(s)return{value:_({type:"step",id:z(n.id,s.id)}),label:s.name,group:"\u30B9\u30C6\u30C3\u30D7"}}return null},K=e=>e.title??"User Story Mapping",ce=(e,t)=>{const i=h(e,t.step),n=i?.activity??w(e,t.activity)??e.activities[0],s=i?.step??n?.steps.find(a=>a.id===t.step)??n?.steps[0],r=b(e,t.story),o={...t};return n?o.activity=n.id:delete o.activity,s?o.step=s.id:delete o.step,r?o.story=r.id:delete o.story,o.view=t.view==="group"?"group":"activity",o},pe=(e,t)=>{switch(t.type){case"activity":return w(e,t.id)!==void 0;case"step":return h(e,t.id)!==void 0;case"story":return b(e,t.id)!==void 0;case"milestone":return k(e,t.id)!==void 0;case"page":return!0;default:return!1}},ue={name:"usm",label:"User Story Mapping",parseBase:Q,emptyBase:W,actions:p,apply:ie,canonicalState:nt,hasTarget:pe,canonicalTarget:(e,t)=>{if(t.type!=="step")return t;const i=h(e,t.id);return i?{...t,id:z(i.activity.id,i.step.id)}:t},describe:oe,serialize:ae,resolveNavigation:ce,commentTargets:(e,t)=>le(e),currentTarget:(e,t)=>ot(e,t),title:K},at={width:300,height:260},dt=F`
2
2
  :host {
3
3
  display: grid;
4
4
  gap: 5px;
@@ -1,4 +1,4 @@
1
- import{Z as Ot,k as It,_ as Pt,$ as N,a0 as w,a1 as h,a2 as ae,a3 as I,a4 as Ut,A as _t,a5 as jt,a6 as Ft,a7 as B,a8 as C,a9 as b,aa as z,ab as p,ac as F,ad as $,ae as S,af as X,ag as Ht,ah as ve,ai as ye,aj as oe,ak as de,al as le,am as Nt,an as we,m as $e,ao as Bt,ap as Vt,aq as Wt,r as Yt,s as Gt}from"./shared-RRxRtPfs.js";import{i as Kt}from"./shared-DHBourhw.js";import{P as Xt,p as Jt,r as Zt}from"./shared-C8LUysSF.js";import{c as te}from"./shared-ml5h7U5L.js";const Qt='script[type="application/json"]',Se=(i,e)=>{const t=i.querySelector(Qt);if(!t)return null;const s=t.textContent??"";if(s.trim()==="")return{ok:!1,error:"JSON block is empty"};try{return{ok:!0,value:e(JSON.parse(s))}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}},es=(i,e,t)=>{const s=Se(i,e);if(s)return t(s),()=>{};const n=new MutationObserver(()=>{const a=Se(i,e);a&&(n.disconnect(),t(a))});return n.observe(i,{childList:!0,subtree:!0}),()=>n.disconnect()},Me={nodeSpacing:34,layerSpacing:84,padding:28,sweeps:4,coordinatePasses:6},se=i=>{const e=[...i].sort((s,n)=>s-n);if(e.length===0)return 0;const t=Math.floor(e.length/2);return e.length%2===1?e[t]??0:((e[t-1]??0)+(e[t]??0))/2},ts=(i,e)=>{const t=new Map;for(const r of i)t.set(r.id,[]);for(const r of e)t.get(r.from)?.push(r);const s=new Map,n=new Set,a=r=>{s.set(r,"open");for(const o of t.get(r)??[]){const d=s.get(o.to)??"new";d==="open"?n.add(o.id):d==="new"&&a(o.to)}s.set(r,"done")};for(const r of i)(s.get(r.id)??"new")==="new"&&a(r.id);return{reversed:n,forward:e.filter(r=>!n.has(r.id))}},ss=(i,e)=>{const t=new Map,s=new Map;for(const o of i)t.set(o.id,[]),s.set(o.id,[]);for(const o of e)s.get(o.from)?.push(o),t.get(o.to)?.push(o);const n=new Map(i.map(o=>[o.id,0])),a=new Map(i.map(o=>[o.id,(t.get(o.id)??[]).length])),r=i.filter(o=>(a.get(o.id)??0)===0).map(o=>o.id);for(const o of r)for(const d of s.get(o)??[]){const l=n.get(d.to)??0;n.set(d.to,Math.max(l,(n.get(o)??0)+1));const f=(a.get(d.to)??0)-1;a.set(d.to,f),f===0&&r.push(d.to)}return n},ns=(i,e,t,s)=>{const n=[...i.keys()].sort((a,r)=>a-r);for(let a=0;a<s;a++){const r=a%2===0;for(const o of r?n:[...n].reverse()){const d=i.get(o)??[],l=new Map(d.map((c,m)=>[c,m])),f=c=>{const m=l.get(c);return m===void 0?null:m},g=d.map(c=>{const m=(e.get(c)??[]).filter(M=>(t.get(M)??o)===o+(r?-1:1)).map(f).filter(M=>M!==null);return{id:c,want:m.length>0?se(m):l.get(c)??0}});g.sort((c,m)=>c.want-m.want||(l.get(c.id)??0)-(l.get(m.id)??0)),i.set(o,g.map(c=>c.id))}}},qe=(i,e,t,s)=>{const n=i.map((r,o)=>({id:r,want:t.get(r)??o*100,index:o}));n.sort((r,o)=>r.want-o.want||r.index-o.index);let a=0;for(const r of n){const o=e.get(r.id);o&&(o.y=a,a+=o.spec.height+s)}return{height:Math.max(0,a-s)}},rs=(i,e,t,s,n)=>{const a=[...i.keys()].sort((l,f)=>l-f),r=new Map;for(const l of a)r.set(l,qe(i.get(l)??[],e,new Map,n.nodeSpacing).height);const o=Math.max(0,...r.values());for(const l of a){const f=(o-(r.get(l)??0))/2;for(const g of i.get(l)??[]){const c=e.get(g);c&&(c.y+=f)}}const d=(l,f)=>{const g=(t.get(l)??[]).filter(c=>s.get(c)===f).flatMap(c=>{const m=e.get(c);return m?[m.y+m.spec.height/2]:[]});return g.length>0?se(g):null};for(let l=0;l<n.coordinatePasses;l++){const f=l%2===0;for(const g of f?a:[...a].reverse()){const c=i.get(g)??[],m=new Map;for(const q of c){const A=d(q,g+(f?-1:1)),R=e.get(q);R!==void 0&&m.set(q,A===null?R.y+R.spec.height/2:A)}const M=c.map(q=>e.get(q)?.y??0);qe(c,e,m,n.nodeSpacing);const v=c.map(q=>e.get(q)?.y??0),k=se(M)-se(v);for(const q of c){const A=e.get(q);A&&(A.y+=k)}}}},Ee=(i,e,t)=>{const s=e===void 0?void 0:i.spec.ports?.[e];return s?{x:i.x+s.x,y:i.y+s.y}:t==="out"?{x:i.x+i.spec.width,y:i.y+i.spec.height/2}:{x:i.x,y:i.y+i.spec.height/2}},Ce=(i,e,t)=>{let s=0;const n=[];for(const a of i){const r=t.byId.get(a.from),o=t.byId.get(a.to);if(!r||!o)continue;const d=Ee(r,a.fromPort,"out"),l=Ee(o,a.toPort,"in");if(a.from===a.to){const M=r.x+r.spec.width,v=r.y+r.spec.height,k=Math.max(t.padding/2,v+18);n.push({id:a.id,points:[d,{x:M+20,y:d.y},{x:M+20,y:k},{x:r.x-20,y:k},{x:r.x-20,y:l.y},l]});continue}if(!e.has(a.id)&&(r.layer<o.layer||r.layer===o.layer&&l.x>d.x+12)){if(Math.abs(d.y-l.y)<.5){n.push({id:a.id,points:[d,l]});continue}const v=r.layer<o.layer?Math.max(d.x+14,o.x-Math.max(12,t.layerSpacing/2)):(d.x+l.x)/2;n.push({id:a.id,points:[d,{x:v,y:d.y},{x:v,y:l.y},l]});continue}const f=a.fromPort===void 0?{x:r.x+r.spec.width/2,y:r.y+r.spec.height}:d,g=a.toPort===void 0?{x:o.x+o.spec.width/2,y:o.y+o.spec.height}:l,c=Math.max(f.y,g.y)+18+s*14;s+=1;const m=[d,f,{x:f.x,y:c},{x:g.x,y:c},g,l].filter((M,v,k)=>v===0||M.x!==k[v-1]?.x||M.y!==k[v-1]?.y);n.push({id:a.id,points:m})}return n},De=(i,e,t)=>{const s=e.flatMap(c=>[...c.points]),n=[...i.map(c=>c.x),...i.map(c=>c.x+c.spec.width),...s.map(c=>c.x)],a=[...i.map(c=>c.y),...i.map(c=>c.y+c.spec.height),...s.map(c=>c.y)],r=Math.min(0,...n),o=Math.min(0,...a),d=Math.max(0,...n),l=Math.max(0,...a),f=t-r,g=t-o;return{width:d-r+t*2,height:l-o+t*2,nodes:i.map(c=>({id:c.spec.id,x:c.x+f,y:c.y+g,width:c.spec.width,height:c.spec.height,layer:c.layer,order:c.order})),routes:e.map(c=>({id:c.id,points:c.points.map(m=>({x:m.x+f,y:m.y+g}))}))}},ze=(i,e)=>{const t=new Map(i.map(s=>[s.id,[]]));for(const s of e)s.from!==s.to&&(t.get(s.from)?.push(s.to),t.get(s.to)?.push(s.from));return t},Ae=(i,e,t,s)=>i.map(n=>({spec:n,layer:e.get(n.id)??0,order:t.get(n.id)??0,...s(n)})),is=(i,e)=>{const t=new Map;for(const s of i){const n=e.get(s.id)??0,a=t.get(n);a?a.push(s.id):t.set(n,[s.id])}return t},as=(i,e,t={})=>{const s={...Me,...t};if(i.length===0)return{width:0,height:0,nodes:[],routes:[]};const n=new Set(i.map(v=>v.id)),a=e.filter(v=>n.has(v.from)&&n.has(v.to)),{forward:r,reversed:o}=ts(i,a),d=ss(i,r),l=is(i,d);ns(l,ze(i,a),d,s.sweeps);const f=new Map;for(const v of l.values())v.forEach((k,q)=>f.set(k,q));const g=Ae(i,d,f,()=>({x:0,y:0})),c=new Map(g.map(v=>[v.spec.id,v]));rs(l,c,ze(i,a),d,s);const m=[...l.keys()].sort((v,k)=>v-k);let M=0;for(const v of m){const k=Math.max(...(l.get(v)??[]).map(q=>c.get(q)?.spec.width??0));for(const q of l.get(v)??[]){const A=c.get(q);A&&(A.x=M)}M+=k+s.layerSpacing}return De(g,Ce(a,o,{byId:c,layerSpacing:s.layerSpacing,padding:s.padding}),s.padding)},os=(i,e,t={})=>{const s={...Me,...t};if(i.length===0)return{width:0,height:0,nodes:[],routes:[]};const n=new Set(i.map(d=>d.id)),a=e.filter(d=>n.has(d.from)&&n.has(d.to)),r=Ae(i,new Map,new Map,d=>d.position??{x:0,y:0}),o=new Map(r.map(d=>[d.spec.id,d]));return De(r,Ce(a,new Set,{byId:o,layerSpacing:s.layerSpacing,padding:s.padding}),s.padding)},ds={active:[],match:"single"},G=(i,e)=>e.active.length===0?!0:e.match==="all"?e.active.every(t=>i.includes(t)):e.active.some(t=>i.includes(t)),ls=(i,e)=>i.active.includes(e)?{...i,active:i.active.filter(t=>t!==e)}:i.match==="single"?{...i,active:[e]}:{...i,active:[...i.active,e]},cs=(i,e)=>({match:e,active:e==="single"&&i.active.length>1?i.active.slice(-1):i.active}),ps=i=>({...i,active:[]}),us=i=>{const e=new Map;for(const t of i)for(const s of new Set(t))e.set(s,(e.get(s)??0)+1);return[...e].map(([t,s])=>({tag:t,count:s}))},H={nodes:new Map,edges:new Set},U=(i,e,t,s)=>{const n=new Map,a=new Set,r=[{id:e,depth:0}],o=new Set([e]);for(const d of r)if(!(!s&&d.depth>=1))for(const l of i){const f=t==="outgoing"?l.from:l.to,g=t==="outgoing"?l.to:l.from;f===d.id&&(a.add(l.id),!o.has(g)&&(o.add(g),n.set(g,d.depth+1),r.push({id:g,depth:d.depth+1})))}return{nodes:n,edges:a}},hs=(i,e)=>{const t=new Map(i.map(a=>[a,U(e,a,"outgoing",!0).nodes])),s=new Set,n=[];for(const a of i){if(s.has(a))continue;const r=i.filter(o=>o===a||t.get(a)?.has(o)===!0&&t.get(o)?.has(a)===!0);for(const o of r)s.add(o);(r.length>1||e.some(o=>o.from===a&&o.to===a))&&n.push(r)}return n},ce=i=>new Map(i.flatMap((e,t)=>e.map(s=>[s,t]))),Te=(i,e)=>e.get(i.from)===e.get(i.to)&&e.has(i.from),Le=i=>{try{return i.split("/").map(e=>decodeURIComponent(e))}catch{return null}},Re=(i,e,t,s)=>{const n=e!==null&&e.kind===t&&e.id===i,a=t==="node"?s.nodes.has(i):s.edges.has(i),r=t==="node"?s.nodes.get(i)??null:null;return{selected:n,related:a&&!n,dimmed:e!==null&&!n&&!a,depth:r}},K=(...i)=>i.filter(e=>typeof e=="string"&&e!=="").join(" "),ms=i=>{const e=i[0]??{x:0,y:0},t=i.at(-1)??e;if(i.length<=2)return{x:(e.x+t.x)/2,y:(e.y+t.y)/2};if(i.length===4){const a=i[1]??e,r=i[2]??t;return{x:a.x,y:(a.y+r.y)/2}}const s=i[2]??e,n=i[3]??t;return{x:(s.x+n.x)/2,y:s.y}},gs=(i,e)=>us(i).map(t=>({tag:t.tag,count:t.count,selected:e.active.includes(t.tag)})),fs=(i,e,t)=>`${i} ${t.node} \xB7 ${e} ${t.edge}`,V=[Ot,It,Pt,N`
1
+ import{Z as Ot,k as It,_ as Pt,$ as N,a0 as w,a1 as h,a2 as ae,a3 as I,a4 as Ut,A as _t,a5 as jt,a6 as Ft,a7 as B,a8 as C,a9 as b,aa as z,ab as p,ac as F,ad as $,ae as S,af as X,ag as Ht,ah as ve,ai as ye,aj as oe,ak as de,al as le,am as Nt,an as we,m as $e,ao as Bt,ap as Vt,aq as Wt,r as Yt,s as Gt}from"./shared-z875TnWr.js";import{i as Kt}from"./shared-x8nRepee.js";import{P as Xt,p as Jt,r as Zt}from"./shared-CmlaxilP.js";import{c as te}from"./shared-ml5h7U5L.js";const Qt='script[type="application/json"]',Se=(i,e)=>{const t=i.querySelector(Qt);if(!t)return null;const s=t.textContent??"";if(s.trim()==="")return{ok:!1,error:"JSON block is empty"};try{return{ok:!0,value:e(JSON.parse(s))}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}},es=(i,e,t)=>{const s=Se(i,e);if(s)return t(s),()=>{};const n=new MutationObserver(()=>{const a=Se(i,e);a&&(n.disconnect(),t(a))});return n.observe(i,{childList:!0,subtree:!0}),()=>n.disconnect()},Me={nodeSpacing:34,layerSpacing:84,padding:28,sweeps:4,coordinatePasses:6},se=i=>{const e=[...i].sort((s,n)=>s-n);if(e.length===0)return 0;const t=Math.floor(e.length/2);return e.length%2===1?e[t]??0:((e[t-1]??0)+(e[t]??0))/2},ts=(i,e)=>{const t=new Map;for(const r of i)t.set(r.id,[]);for(const r of e)t.get(r.from)?.push(r);const s=new Map,n=new Set,a=r=>{s.set(r,"open");for(const o of t.get(r)??[]){const d=s.get(o.to)??"new";d==="open"?n.add(o.id):d==="new"&&a(o.to)}s.set(r,"done")};for(const r of i)(s.get(r.id)??"new")==="new"&&a(r.id);return{reversed:n,forward:e.filter(r=>!n.has(r.id))}},ss=(i,e)=>{const t=new Map,s=new Map;for(const o of i)t.set(o.id,[]),s.set(o.id,[]);for(const o of e)s.get(o.from)?.push(o),t.get(o.to)?.push(o);const n=new Map(i.map(o=>[o.id,0])),a=new Map(i.map(o=>[o.id,(t.get(o.id)??[]).length])),r=i.filter(o=>(a.get(o.id)??0)===0).map(o=>o.id);for(const o of r)for(const d of s.get(o)??[]){const l=n.get(d.to)??0;n.set(d.to,Math.max(l,(n.get(o)??0)+1));const f=(a.get(d.to)??0)-1;a.set(d.to,f),f===0&&r.push(d.to)}return n},ns=(i,e,t,s)=>{const n=[...i.keys()].sort((a,r)=>a-r);for(let a=0;a<s;a++){const r=a%2===0;for(const o of r?n:[...n].reverse()){const d=i.get(o)??[],l=new Map(d.map((c,m)=>[c,m])),f=c=>{const m=l.get(c);return m===void 0?null:m},g=d.map(c=>{const m=(e.get(c)??[]).filter(M=>(t.get(M)??o)===o+(r?-1:1)).map(f).filter(M=>M!==null);return{id:c,want:m.length>0?se(m):l.get(c)??0}});g.sort((c,m)=>c.want-m.want||(l.get(c.id)??0)-(l.get(m.id)??0)),i.set(o,g.map(c=>c.id))}}},qe=(i,e,t,s)=>{const n=i.map((r,o)=>({id:r,want:t.get(r)??o*100,index:o}));n.sort((r,o)=>r.want-o.want||r.index-o.index);let a=0;for(const r of n){const o=e.get(r.id);o&&(o.y=a,a+=o.spec.height+s)}return{height:Math.max(0,a-s)}},rs=(i,e,t,s,n)=>{const a=[...i.keys()].sort((l,f)=>l-f),r=new Map;for(const l of a)r.set(l,qe(i.get(l)??[],e,new Map,n.nodeSpacing).height);const o=Math.max(0,...r.values());for(const l of a){const f=(o-(r.get(l)??0))/2;for(const g of i.get(l)??[]){const c=e.get(g);c&&(c.y+=f)}}const d=(l,f)=>{const g=(t.get(l)??[]).filter(c=>s.get(c)===f).flatMap(c=>{const m=e.get(c);return m?[m.y+m.spec.height/2]:[]});return g.length>0?se(g):null};for(let l=0;l<n.coordinatePasses;l++){const f=l%2===0;for(const g of f?a:[...a].reverse()){const c=i.get(g)??[],m=new Map;for(const q of c){const A=d(q,g+(f?-1:1)),R=e.get(q);R!==void 0&&m.set(q,A===null?R.y+R.spec.height/2:A)}const M=c.map(q=>e.get(q)?.y??0);qe(c,e,m,n.nodeSpacing);const v=c.map(q=>e.get(q)?.y??0),k=se(M)-se(v);for(const q of c){const A=e.get(q);A&&(A.y+=k)}}}},Ee=(i,e,t)=>{const s=e===void 0?void 0:i.spec.ports?.[e];return s?{x:i.x+s.x,y:i.y+s.y}:t==="out"?{x:i.x+i.spec.width,y:i.y+i.spec.height/2}:{x:i.x,y:i.y+i.spec.height/2}},Ce=(i,e,t)=>{let s=0;const n=[];for(const a of i){const r=t.byId.get(a.from),o=t.byId.get(a.to);if(!r||!o)continue;const d=Ee(r,a.fromPort,"out"),l=Ee(o,a.toPort,"in");if(a.from===a.to){const M=r.x+r.spec.width,v=r.y+r.spec.height,k=Math.max(t.padding/2,v+18);n.push({id:a.id,points:[d,{x:M+20,y:d.y},{x:M+20,y:k},{x:r.x-20,y:k},{x:r.x-20,y:l.y},l]});continue}if(!e.has(a.id)&&(r.layer<o.layer||r.layer===o.layer&&l.x>d.x+12)){if(Math.abs(d.y-l.y)<.5){n.push({id:a.id,points:[d,l]});continue}const v=r.layer<o.layer?Math.max(d.x+14,o.x-Math.max(12,t.layerSpacing/2)):(d.x+l.x)/2;n.push({id:a.id,points:[d,{x:v,y:d.y},{x:v,y:l.y},l]});continue}const f=a.fromPort===void 0?{x:r.x+r.spec.width/2,y:r.y+r.spec.height}:d,g=a.toPort===void 0?{x:o.x+o.spec.width/2,y:o.y+o.spec.height}:l,c=Math.max(f.y,g.y)+18+s*14;s+=1;const m=[d,f,{x:f.x,y:c},{x:g.x,y:c},g,l].filter((M,v,k)=>v===0||M.x!==k[v-1]?.x||M.y!==k[v-1]?.y);n.push({id:a.id,points:m})}return n},De=(i,e,t)=>{const s=e.flatMap(c=>[...c.points]),n=[...i.map(c=>c.x),...i.map(c=>c.x+c.spec.width),...s.map(c=>c.x)],a=[...i.map(c=>c.y),...i.map(c=>c.y+c.spec.height),...s.map(c=>c.y)],r=Math.min(0,...n),o=Math.min(0,...a),d=Math.max(0,...n),l=Math.max(0,...a),f=t-r,g=t-o;return{width:d-r+t*2,height:l-o+t*2,nodes:i.map(c=>({id:c.spec.id,x:c.x+f,y:c.y+g,width:c.spec.width,height:c.spec.height,layer:c.layer,order:c.order})),routes:e.map(c=>({id:c.id,points:c.points.map(m=>({x:m.x+f,y:m.y+g}))}))}},ze=(i,e)=>{const t=new Map(i.map(s=>[s.id,[]]));for(const s of e)s.from!==s.to&&(t.get(s.from)?.push(s.to),t.get(s.to)?.push(s.from));return t},Ae=(i,e,t,s)=>i.map(n=>({spec:n,layer:e.get(n.id)??0,order:t.get(n.id)??0,...s(n)})),is=(i,e)=>{const t=new Map;for(const s of i){const n=e.get(s.id)??0,a=t.get(n);a?a.push(s.id):t.set(n,[s.id])}return t},as=(i,e,t={})=>{const s={...Me,...t};if(i.length===0)return{width:0,height:0,nodes:[],routes:[]};const n=new Set(i.map(v=>v.id)),a=e.filter(v=>n.has(v.from)&&n.has(v.to)),{forward:r,reversed:o}=ts(i,a),d=ss(i,r),l=is(i,d);ns(l,ze(i,a),d,s.sweeps);const f=new Map;for(const v of l.values())v.forEach((k,q)=>f.set(k,q));const g=Ae(i,d,f,()=>({x:0,y:0})),c=new Map(g.map(v=>[v.spec.id,v]));rs(l,c,ze(i,a),d,s);const m=[...l.keys()].sort((v,k)=>v-k);let M=0;for(const v of m){const k=Math.max(...(l.get(v)??[]).map(q=>c.get(q)?.spec.width??0));for(const q of l.get(v)??[]){const A=c.get(q);A&&(A.x=M)}M+=k+s.layerSpacing}return De(g,Ce(a,o,{byId:c,layerSpacing:s.layerSpacing,padding:s.padding}),s.padding)},os=(i,e,t={})=>{const s={...Me,...t};if(i.length===0)return{width:0,height:0,nodes:[],routes:[]};const n=new Set(i.map(d=>d.id)),a=e.filter(d=>n.has(d.from)&&n.has(d.to)),r=Ae(i,new Map,new Map,d=>d.position??{x:0,y:0}),o=new Map(r.map(d=>[d.spec.id,d]));return De(r,Ce(a,new Set,{byId:o,layerSpacing:s.layerSpacing,padding:s.padding}),s.padding)},ds={active:[],match:"single"},G=(i,e)=>e.active.length===0?!0:e.match==="all"?e.active.every(t=>i.includes(t)):e.active.some(t=>i.includes(t)),ls=(i,e)=>i.active.includes(e)?{...i,active:i.active.filter(t=>t!==e)}:i.match==="single"?{...i,active:[e]}:{...i,active:[...i.active,e]},cs=(i,e)=>({match:e,active:e==="single"&&i.active.length>1?i.active.slice(-1):i.active}),ps=i=>({...i,active:[]}),us=i=>{const e=new Map;for(const t of i)for(const s of new Set(t))e.set(s,(e.get(s)??0)+1);return[...e].map(([t,s])=>({tag:t,count:s}))},H={nodes:new Map,edges:new Set},U=(i,e,t,s)=>{const n=new Map,a=new Set,r=[{id:e,depth:0}],o=new Set([e]);for(const d of r)if(!(!s&&d.depth>=1))for(const l of i){const f=t==="outgoing"?l.from:l.to,g=t==="outgoing"?l.to:l.from;f===d.id&&(a.add(l.id),!o.has(g)&&(o.add(g),n.set(g,d.depth+1),r.push({id:g,depth:d.depth+1})))}return{nodes:n,edges:a}},hs=(i,e)=>{const t=new Map(i.map(a=>[a,U(e,a,"outgoing",!0).nodes])),s=new Set,n=[];for(const a of i){if(s.has(a))continue;const r=i.filter(o=>o===a||t.get(a)?.has(o)===!0&&t.get(o)?.has(a)===!0);for(const o of r)s.add(o);(r.length>1||e.some(o=>o.from===a&&o.to===a))&&n.push(r)}return n},ce=i=>new Map(i.flatMap((e,t)=>e.map(s=>[s,t]))),Te=(i,e)=>e.get(i.from)===e.get(i.to)&&e.has(i.from),Le=i=>{try{return i.split("/").map(e=>decodeURIComponent(e))}catch{return null}},Re=(i,e,t,s)=>{const n=e!==null&&e.kind===t&&e.id===i,a=t==="node"?s.nodes.has(i):s.edges.has(i),r=t==="node"?s.nodes.get(i)??null:null;return{selected:n,related:a&&!n,dimmed:e!==null&&!n&&!a,depth:r}},K=(...i)=>i.filter(e=>typeof e=="string"&&e!=="").join(" "),ms=i=>{const e=i[0]??{x:0,y:0},t=i.at(-1)??e;if(i.length<=2)return{x:(e.x+t.x)/2,y:(e.y+t.y)/2};if(i.length===4){const a=i[1]??e,r=i[2]??t;return{x:a.x,y:(a.y+r.y)/2}}const s=i[2]??e,n=i[3]??t;return{x:(s.x+n.x)/2,y:s.y}},gs=(i,e)=>us(i).map(t=>({tag:t.tag,count:t.count,selected:e.active.includes(t.tag)})),fs=(i,e,t)=>`${i} ${t.node} \xB7 ${e} ${t.edge}`,V=[Ot,It,Pt,N`
2
2
  :host {
3
3
  display: block;
4
4
  container-type: inline-size;
@@ -1,4 +1,4 @@
1
- import{q as u,al as m,v as A,as as I,ar as R,ab as d,ad as f,ae as x,aq as v,a7 as qe,a8 as L,a9 as N,aa as w,P as Ue,f as Pe,V as O,R as E,m as Qe,$ as J,a4 as Ce,k as Xe,_ as Ye,a0 as $,a1 as h,A as Ve,K as ze,i as Be,a2 as V,T as W}from"./shared-RRxRtPfs.js";import{s as z,D as Ke}from"./shared-BFAVBf4I.js";import{P as je,r as Fe,p as He}from"./shared-C8LUysSF.js";import{o as Je}from"./shared-BAfKXeYg.js";const c={SET_STORY_NAME:u("SET_STORY_NAME","story",m({name:f(d(),x(1))})),SET_STORY_DESCRIPTION:u("SET_STORY_DESCRIPTION","story",m({description:d()})),REORDER_STORY:u("REORDER_STORY","story",m({after:v(d())}),{mode:"sequence"}),ADD_STORY:u("ADD_STORY","page",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_STORY:u("DELETE_STORY","story",m({})),SET_RULE_NAME:u("SET_RULE_NAME","rule",m({name:f(d(),x(1))})),SET_RULE_DESCRIPTION:u("SET_RULE_DESCRIPTION","rule",m({description:d()})),MOVE_RULE:u("MOVE_RULE","rule",m({storyId:f(d(),x(1)),after:v(d())}),{mode:"sequence"}),REORDER_RULE:u("REORDER_RULE","rule",m({after:v(d())}),{mode:"sequence"}),ADD_RULE:u("ADD_RULE","story",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_RULE:u("DELETE_RULE","rule",m({})),SET_EXAMPLE_NAME:u("SET_EXAMPLE_NAME","example",m({name:f(d(),x(1))})),SET_EXAMPLE_DESCRIPTION:u("SET_EXAMPLE_DESCRIPTION","example",m({description:d()})),MOVE_EXAMPLE:u("MOVE_EXAMPLE","example",m({ruleId:f(d(),x(1)),after:v(d())}),{mode:"sequence"}),REORDER_EXAMPLE:u("REORDER_EXAMPLE","example",m({after:v(d())}),{mode:"sequence"}),ADD_EXAMPLE:u("ADD_EXAMPLE","rule",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_EXAMPLE:u("DELETE_EXAMPLE","example",m({})),SET_QUESTION_NAME:u("SET_QUESTION_NAME","question",m({name:f(d(),x(1))})),SET_QUESTION_DESCRIPTION:u("SET_QUESTION_DESCRIPTION","question",m({description:d()})),MOVE_QUESTION:u("MOVE_QUESTION","question",m({ruleId:f(d(),x(1)),after:v(d())}),{mode:"sequence"}),REORDER_QUESTION:u("REORDER_QUESTION","question",m({after:v(d())}),{mode:"sequence"}),ADD_QUESTION:u("ADD_QUESTION","rule",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_QUESTION:u("DELETE_QUESTION","question",m({}))},k={setStoryName:(e,t)=>({type:"SET_STORY_NAME",target:{type:"story",id:e},payload:{name:t}}),setStoryDescription:(e,t)=>({type:"SET_STORY_DESCRIPTION",target:{type:"story",id:e},payload:{description:t}}),reorderStory:(e,t)=>({type:"REORDER_STORY",target:{type:"story",id:e},payload:{after:t}}),addStory:(e,t)=>({type:"ADD_STORY",target:{type:"page",id:"example-mapping"},payload:{id:e,name:t}}),deleteStory:e=>({type:"DELETE_STORY",target:{type:"story",id:e},payload:{}}),setRuleName:(e,t)=>({type:"SET_RULE_NAME",target:{type:"rule",id:e},payload:{name:t}}),setRuleDescription:(e,t)=>({type:"SET_RULE_DESCRIPTION",target:{type:"rule",id:e},payload:{description:t}}),moveRule:(e,t,r)=>({type:"MOVE_RULE",target:{type:"rule",id:e},payload:{storyId:t,after:r}}),reorderRule:(e,t)=>({type:"REORDER_RULE",target:{type:"rule",id:e},payload:{after:t}}),addRule:(e,t,r)=>({type:"ADD_RULE",target:{type:"story",id:e},payload:{id:t,name:r}}),deleteRule:e=>({type:"DELETE_RULE",target:{type:"rule",id:e},payload:{}}),setExampleName:(e,t)=>({type:"SET_EXAMPLE_NAME",target:{type:"example",id:e},payload:{name:t}}),setExampleDescription:(e,t)=>({type:"SET_EXAMPLE_DESCRIPTION",target:{type:"example",id:e},payload:{description:t}}),moveExample:(e,t,r)=>({type:"MOVE_EXAMPLE",target:{type:"example",id:e},payload:{ruleId:t,after:r}}),reorderExample:(e,t)=>({type:"REORDER_EXAMPLE",target:{type:"example",id:e},payload:{after:t}}),addExample:(e,t,r)=>({type:"ADD_EXAMPLE",target:{type:"rule",id:e},payload:{id:t,name:r}}),deleteExample:e=>({type:"DELETE_EXAMPLE",target:{type:"example",id:e},payload:{}}),setQuestionName:(e,t)=>({type:"SET_QUESTION_NAME",target:{type:"question",id:e},payload:{name:t}}),setQuestionDescription:(e,t)=>({type:"SET_QUESTION_DESCRIPTION",target:{type:"question",id:e},payload:{description:t}}),moveQuestion:(e,t,r)=>({type:"MOVE_QUESTION",target:{type:"question",id:e},payload:{ruleId:t,after:r}}),reorderQuestion:(e,t)=>({type:"REORDER_QUESTION",target:{type:"question",id:e},payload:{after:t}}),addQuestion:(e,t,r)=>({type:"ADD_QUESTION",target:{type:"rule",id:e},payload:{id:t,name:r}}),deleteQuestion:e=>({type:"DELETE_QUESTION",target:{type:"question",id:e},payload:{}})},We=L({id:I,name:f(d(),x(1)),description:R(d())}),Ze=L({id:I,storyId:f(d(),x(1)),name:f(d(),x(1)),description:R(d())}),Z=L({id:I,ruleId:f(d(),x(1)),name:f(d(),x(1)),description:R(d())}),G=L({title:R(d()),stories:N(w(We),[]),rules:N(w(Ze),[]),examples:N(w(Z),[]),questions:N(w(Z),[])}),ee=e=>{const t=qe(G,e),r=new Set,n=(i,s)=>{if(r.has(s))throw new Error(`duplicate id "${s}" in ${i}`);r.add(s)},a=new Set(t.stories.map(i=>i.id));for(const i of t.stories)n("stories",i.id);for(const i of t.rules)if(n("rules",i.id),!a.has(i.storyId))throw new Error(`rule "${i.id}" references unknown storyId "${i.storyId}"`);const o=new Map(t.rules.map(i=>[i.id,i]));for(const i of t.examples)if(n("examples",i.id),!o.has(i.ruleId))throw new Error(`example "${i.id}" references unknown ruleId "${i.ruleId}"`);for(const i of t.questions)if(n("questions",i.id),!o.has(i.ruleId))throw new Error(`question "${i.id}" references unknown ruleId "${i.ruleId}"`);return t},te=()=>({stories:[],rules:[],examples:[],questions:[]}),Ge=e=>({...e,rules:z(e.rules,["storyId"]),examples:z(e.examples,["ruleId"]),questions:z(e.questions,["ruleId"])}),S=(e,t)=>{if(t!==void 0)return e.stories.find(r=>r.id===t)},g=(e,t)=>{if(t!==void 0)return e.rules.find(r=>r.id===t)},_=(e,t)=>{if(t!==void 0)return e.examples.find(r=>r.id===t)},b=(e,t)=>{if(t!==void 0)return e.questions.find(r=>r.id===t)},q=(e,t)=>{if(t===void 0)return;const r=S(e,t);if(r)return{kind:"story",id:r.id,name:r.name,...r.description===void 0?{}:{description:r.description}};const n=g(e,t);if(n)return{kind:"rule",id:n.id,name:n.name,...n.description===void 0?{}:{description:n.description}};const a=_(e,t);if(a)return{kind:"example",id:a.id,name:a.name,...a.description===void 0?{}:{description:a.description}};const o=b(e,t);if(o)return{kind:"question",id:o.id,name:o.name,...o.description===void 0?{}:{description:o.description}}},re=(e,t)=>e.rules.filter(r=>r.storyId===t),ne=(e,t)=>e.examples.filter(r=>r.ruleId===t),ae=(e,t)=>e.questions.filter(r=>r.ruleId===t),et=(e,t)=>{if(S(e,t))return t;const r=g(e,t);if(r)return r.storyId;const n=_(e,t)?.ruleId??b(e,t)?.ruleId;return n===void 0?void 0:g(e,n)?.storyId},oe=e=>[...e.stories.map(t=>t.id),...e.rules.map(t=>t.id),...e.examples.map(t=>t.id),...e.questions.map(t=>t.id)],ie=(e,t)=>g(e,t)?.storyId,tt=(e,t)=>{const r=_(e,t);return r?ie(e,r.ruleId):void 0},se=(e,t)=>{const r=Ue(c,t);if(r===null)return null;const n=r.target.id;switch(r.type){case"SET_STORY_NAME":return de(e,n,a=>({...a,name:r.payload.name}));case"SET_STORY_DESCRIPTION":return de(e,n,a=>({...a,description:r.payload.description}));case"REORDER_STORY":{const a=me(e.stories,n,r.payload.after);return a===null?null:{...e,stories:a}}case"ADD_STORY":{const a=r.payload;return e.stories.some(o=>o.id===a.id)?e:U(e,a.id)?null:{...e,stories:[...e.stories,{id:a.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}}case"DELETE_STORY":{if(!e.stories.some(o=>o.id===n))return null;const a=new Set(e.rules.filter(o=>o.storyId===n).map(o=>o.id));return{...e,stories:e.stories.filter(o=>o.id!==n),rules:e.rules.filter(o=>o.storyId!==n),examples:e.examples.filter(o=>!a.has(o.ruleId)),questions:e.questions.filter(o=>!a.has(o.ruleId))}}case"SET_RULE_NAME":return le(e,n,a=>({...a,name:r.payload.name}));case"SET_RULE_DESCRIPTION":return le(e,n,a=>({...a,description:r.payload.description}));case"MOVE_RULE":{const a=r.payload,o=g(e,n);if(!o||!e.stories.some(s=>s.id===a.storyId))return null;const i=e.rules.filter(s=>s.storyId===a.storyId&&s.id!==n);return a.after!==null&&!i.some(s=>s.id===a.after)?null:{...e,rules:ue(e.rules,{...o,storyId:a.storyId},a.after)}}case"REORDER_RULE":{const a=g(e,n);if(!a)return null;const o=e.rules.filter(i=>i.storyId===a.storyId);return r.payload.after!==null&&!o.some(i=>i.id===r.payload.after)?null:{...e,rules:ue(e.rules,a,r.payload.after)}}case"ADD_RULE":{const a=r.payload,o=S(e,n);return o?e.rules.some(i=>i.id===a.id)?e:U(e,a.id)?null:{...e,rules:[...e.rules,{id:a.id,storyId:o.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}:null}case"DELETE_RULE":return g(e,n)?{...e,rules:e.rules.filter(a=>a.id!==n),examples:e.examples.filter(a=>a.ruleId!==n),questions:e.questions.filter(a=>a.ruleId!==n)}:null;case"SET_EXAMPLE_NAME":return pe(e,n,a=>({...a,name:r.payload.name}));case"SET_EXAMPLE_DESCRIPTION":return pe(e,n,a=>({...a,description:r.payload.description}));case"MOVE_EXAMPLE":{const a=r.payload,o=_(e,n);if(!o||!g(e,a.ruleId))return null;const i=e.examples.filter(s=>s.ruleId===a.ruleId&&s.id!==n);return a.after!==null&&!i.some(s=>s.id===a.after)?null:{...e,examples:P(e.examples,{...o,ruleId:a.ruleId},a.after)}}case"REORDER_EXAMPLE":{const a=_(e,n);if(!a)return null;const o=e.examples.filter(i=>i.ruleId===a.ruleId);return r.payload.after!==null&&!o.some(i=>i.id===r.payload.after)?null:{...e,examples:P(e.examples,a,r.payload.after)}}case"ADD_EXAMPLE":{const a=r.payload,o=g(e,n);return o?e.examples.some(i=>i.id===a.id)?e:U(e,a.id)?null:{...e,examples:[...e.examples,{id:a.id,ruleId:o.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}:null}case"DELETE_EXAMPLE":return _(e,n)?{...e,examples:e.examples.filter(a=>a.id!==n)}:null;case"SET_QUESTION_NAME":return ce(e,n,a=>({...a,name:r.payload.name}));case"SET_QUESTION_DESCRIPTION":return ce(e,n,a=>({...a,description:r.payload.description}));case"MOVE_QUESTION":{const a=r.payload,o=b(e,n);if(!o||!g(e,a.ruleId))return null;const i=e.questions.filter(s=>s.ruleId===a.ruleId&&s.id!==n);return a.after!==null&&!i.some(s=>s.id===a.after)?null:{...e,questions:P(e.questions,{...o,ruleId:a.ruleId},a.after)}}case"REORDER_QUESTION":{const a=b(e,n);if(!a)return null;const o=e.questions.filter(i=>i.ruleId===a.ruleId);return r.payload.after!==null&&!o.some(i=>i.id===r.payload.after)?null:{...e,questions:P(e.questions,a,r.payload.after)}}case"ADD_QUESTION":{const a=r.payload,o=g(e,n);return o?e.questions.some(i=>i.id===a.id)?e:U(e,a.id)?null:{...e,questions:[...e.questions,{id:a.id,ruleId:o.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}:null}case"DELETE_QUESTION":return b(e,n)?{...e,questions:e.questions.filter(a=>a.id!==n)}:null;default:return Pe(r)}},U=(e,t)=>e.stories.some(r=>r.id===t)||e.rules.some(r=>r.id===t)||e.examples.some(r=>r.id===t)||e.questions.some(r=>r.id===t),de=(e,t,r)=>e.stories.some(n=>n.id===t)?{...e,stories:e.stories.map(n=>n.id===t?r(n):n)}:null,le=(e,t,r)=>e.rules.some(n=>n.id===t)?{...e,rules:e.rules.map(n=>n.id===t?r(n):n)}:null,pe=(e,t,r)=>e.examples.some(n=>n.id===t)?{...e,examples:e.examples.map(n=>n.id===t?r(n):n)}:null,ce=(e,t,r)=>e.questions.some(n=>n.id===t)?{...e,questions:e.questions.map(n=>n.id===t?r(n):n)}:null,ue=(e,t,r)=>{const n=e.filter(p=>p.id!==t.id),a=n.filter(p=>p.storyId===t.storyId),o=r===null?[t,...a]:B(a,t,r),i=n.findIndex(p=>p.storyId===t.storyId),s=new Set(a.map(p=>p.id)),l=n.filter(p=>!s.has(p.id)),y=i<0?l.length:Math.min(i,l.length);return[...l.slice(0,y),...o,...l.slice(y)]},P=(e,t,r)=>{const n=e.filter(p=>p.id!==t.id),a=n.filter(p=>p.ruleId===t.ruleId),o=r===null?[t,...a]:B(a,t,r),i=n.findIndex(p=>p.ruleId===t.ruleId),s=new Set(a.map(p=>p.id)),l=n.filter(p=>!s.has(p.id)),y=i<0?l.length:Math.min(i,l.length);return[...l.slice(0,y),...o,...l.slice(y)]},me=(e,t,r)=>{if(!e.some(o=>o.id===t)||r!==null&&!e.some(o=>o.id===r))return null;if(r===t)return[...e];const n=e.find(o=>o.id===t);if(n===void 0)return null;const a=e.filter(o=>o.id!==t);return B(a,n,r)},B=(e,t,r)=>{const n=[...e],a=r===null?-1:n.findIndex(o=>o.id===r);return n.splice(a+1,0,t),n},Q=(e,t)=>{const r=typeof t=="string"?t:"",n=typeof e=="string"?e:void 0;return n===void 0?`\u2192 \u300C${r}\u300D`:`\u300C${n}\u300D\u2192\u300C${r}\u300D`},rt={SET_STORY_NAME:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u540D\u3092\u5909\u66F4",tone:"update",body:Q(S(t,e.target.id)?.name,E(c.SET_STORY_NAME,e).name??"")}),SET_STORY_DESCRIPTION:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_STORY_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),REORDER_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_STORY,e).after)}),ADD_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_STORY,e).name??""}\u300D`}),DELETE_STORY:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${S(t,e.target.id)?.name??e.target.id}\u300D`}),SET_RULE_NAME:(e,t)=>({title:"\u30EB\u30FC\u30EB\u540D\u3092\u5909\u66F4",tone:"update",body:Q(g(t,e.target.id)?.name,E(c.SET_RULE_NAME,e).name??"")}),SET_RULE_DESCRIPTION:e=>({title:"\u30EB\u30FC\u30EB\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_RULE_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),MOVE_RULE:(e,t)=>({title:"\u30EB\u30FC\u30EB\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${S(t,String(E(c.MOVE_RULE,e).storyId))?.name??String(E(c.MOVE_RULE,e).storyId??"")}`}),REORDER_RULE:e=>({title:"\u30EB\u30FC\u30EB\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_RULE,e).after)}),ADD_RULE:e=>({title:"\u30EB\u30FC\u30EB\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_RULE,e).name??""}\u300D`}),DELETE_RULE:(e,t)=>({title:"\u30EB\u30FC\u30EB\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${g(t,e.target.id)?.name??e.target.id}\u300D`}),SET_EXAMPLE_NAME:(e,t)=>({title:"\u5177\u4F53\u4F8B\u540D\u3092\u5909\u66F4",tone:"update",body:Q(_(t,e.target.id)?.name,E(c.SET_EXAMPLE_NAME,e).name??"")}),SET_EXAMPLE_DESCRIPTION:e=>({title:"\u5177\u4F53\u4F8B\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_EXAMPLE_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),MOVE_EXAMPLE:(e,t)=>({title:"\u5177\u4F53\u4F8B\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${g(t,String(E(c.MOVE_EXAMPLE,e).ruleId))?.name??String(E(c.MOVE_EXAMPLE,e).ruleId??"")}`}),REORDER_EXAMPLE:e=>({title:"\u5177\u4F53\u4F8B\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_EXAMPLE,e).after)}),ADD_EXAMPLE:e=>({title:"\u5177\u4F53\u4F8B\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_EXAMPLE,e).name??""}\u300D`}),DELETE_EXAMPLE:(e,t)=>({title:"\u5177\u4F53\u4F8B\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${_(t,e.target.id)?.name??e.target.id}\u300D`}),SET_QUESTION_NAME:(e,t)=>({title:"\u8CEA\u554F\u540D\u3092\u5909\u66F4",tone:"update",body:Q(b(t,e.target.id)?.name,E(c.SET_QUESTION_NAME,e).name??"")}),SET_QUESTION_DESCRIPTION:e=>({title:"\u8CEA\u554F\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_QUESTION_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),MOVE_QUESTION:(e,t)=>({title:"\u8CEA\u554F\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${g(t,String(E(c.MOVE_QUESTION,e).ruleId))?.name??String(E(c.MOVE_QUESTION,e).ruleId??"")}`}),REORDER_QUESTION:e=>({title:"\u8CEA\u554F\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_QUESTION,e).after)}),ADD_QUESTION:e=>({title:"\u8CEA\u554F\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_QUESTION,e).name??""}\u300D`}),DELETE_QUESTION:(e,t)=>({title:"\u8CEA\u554F\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${b(t,e.target.id)?.name??e.target.id}\u300D`})},C=e=>e==null?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${e}\u300D\u306E\u76F4\u5F8C\u3078`,Ee=(e,t,r)=>{let n;try{const a=rt[e.type];n=a?a(e,r??t):{title:e.type,tone:"meta"}}catch{n={title:e.type,tone:"meta"}}return{title:n.title,targetLabel:ye(t,e.target),tone:n.tone,...n.body===void 0?{}:{summary:n.body}}},ge=e=>`${e.type} ${O(e.target)} ${JSON.stringify(e.payload)}`,nt={story:"\u30B9\u30C8\u30FC\u30EA\u30FC",rule:"\u30EB\u30FC\u30EB",example:"\u5177\u4F53\u4F8B",question:"\u8CEA\u554F"},ye=(e,t)=>{try{switch(t.type){case"story":{const r=S(e,t.id);return r?`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${r.name}`:`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${t.id} (missing)`}case"rule":{const r=g(e,t.id);return r?`\u30EB\u30FC\u30EB \xB7 ${r.name}`:`\u30EB\u30FC\u30EB \xB7 ${t.id} (missing)`}case"example":{const r=_(e,t.id);return r?`\u5177\u4F53\u4F8B \xB7 ${r.name}`:`\u5177\u4F53\u4F8B \xB7 ${t.id} (missing)`}case"question":{const r=b(e,t.id);return r?`\u8CEA\u554F \xB7 ${r.name}`:`\u8CEA\u554F \xB7 ${t.id} (missing)`}case"page":return`\u30DE\u30C3\u30D7 \xB7 ${K(e)}`;default:return`${t.type} \xB7 ${t.id}`}}catch{return`${t.type} \xB7 ${t.id}`}},fe=(e,t)=>{const r=[{value:"page:example-mapping",label:"\u30DE\u30C3\u30D7\u5168\u4F53",group:"\u30DE\u30C3\u30D7"}];for(const n of e.stories)r.push({value:O({type:"story",id:n.id}),label:n.name,group:"\u30B9\u30C8\u30FC\u30EA\u30FC"});for(const n of e.rules){const a=S(e,n.storyId);r.push({value:O({type:"rule",id:n.id}),label:a?`${a.name} \u203A ${n.name}`:n.name,group:"\u30EB\u30FC\u30EB"})}for(const n of e.examples){const a=g(e,n.ruleId);r.push({value:O({type:"example",id:n.id}),label:a?`${a.name} \u203A ${n.name}`:n.name,group:"\u5177\u4F53\u4F8B"})}for(const n of e.questions){const a=g(e,n.ruleId);r.push({value:O({type:"question",id:n.id}),label:a?`${a.name} \u203A ${n.name}`:n.name,group:"\u8CEA\u554F"})}return r},xe=(e,t)=>{const r=q(e,t.card);return r?{value:O({type:r.kind,id:r.id}),label:r.name,group:nt[r.kind]}:null},at=4,ot={empty:"\u30EB\u30FC\u30EB\u672A\u6574\u7406","open-questions":"\u672A\u89E3\u6C7A\u306E\u8CEA\u554F\u3042\u308A","too-big":"\u5206\u5272\u3092\u691C\u8A0E",thin:"\u5177\u4F53\u4F8B\u306E\u7121\u3044\u30EB\u30FC\u30EB\u3042\u308A",ready:"\u5408\u610F\u3067\u304D\u305D\u3046"},he=(e,t)=>{const r=e.rules.filter(l=>l.storyId===t),n=new Set(r.map(l=>l.id)),a=e.examples.filter(l=>n.has(l.ruleId)),o=e.questions.filter(l=>n.has(l.ruleId)).length,i=r.some(l=>!a.some(y=>y.ruleId===l.id)),s=r.length===0?"empty":o>0?"open-questions":r.length>at?"too-big":i?"thin":"ready";return{rules:r.length,examples:a.length,questions:o,readiness:s,label:ot[s]}},K=e=>e.title??"Example Mapping",Se=(e,t)=>{const r=q(e,t.card),n={...t};return r?n.card=r.id:delete n.card,n},_e=(e,t)=>{switch(t.type){case"story":case"rule":case"example":case"question":return q(e,t.id)?.kind===t.type;case"page":return!0;default:return!1}},be={name:"example-mapping",label:"Example Mapping",parseBase:ee,emptyBase:te,actions:c,apply:se,canonicalState:Ge,hasTarget:_e,describe:Ee,serialize:ge,resolveNavigation:Se,commentTargets:(e,t)=>fe(e),currentTarget:(e,t)=>xe(e,t),title:K},X=(e,t,r)=>{const n=Qe(t,oe(e.state));return e.dispatch(r(n)).ok?(e.navigate({card:n}),n):null},it=e=>X(e,"new-story",t=>k.addStory(t,"\u65B0\u3057\u3044\u30B9\u30C8\u30FC\u30EA\u30FC")),st=(e,t)=>X(e,"new-rule",r=>k.addRule(t,r,"\u65B0\u3057\u3044\u30EB\u30FC\u30EB")),dt=(e,t)=>X(e,"new-example",r=>k.addExample(t,r,"\u65B0\u3057\u3044\u5177\u4F53\u4F8B")),lt=(e,t)=>X(e,"new-question",r=>k.addQuestion(t,r,"\u65B0\u3057\u3044\u8CEA\u554F")),pt={width:300,height:260},Re=["story","rule","example","question"],j={story:"\u30B9\u30C8\u30FC\u30EA\u30FC",rule:"\u30EB\u30FC\u30EB",example:"\u5177\u4F53\u4F8B",question:"\u8CEA\u554F"},Te={story:{bg:"linear-gradient(178deg, #fff3a6, #fde77a)",ink:"#4a3a06"},rule:{bg:"linear-gradient(178deg, #a3d1f5, #7cb8ea)",ink:"#0e2c4b"},example:{bg:"linear-gradient(178deg, #c9eb95, #a8dc63)",ink:"#22380a"},question:{bg:"linear-gradient(178deg, #fbc6d9, #f4a0c0)",ink:"#4b1029"}},D=e=>{const{bg:t,ink:r}=Te[e];return`--em-card-bg:${t};--em-card-ink:${r}`},ct=J`
1
+ import{q as u,al as m,v as A,as as I,ar as R,ab as d,ad as f,ae as x,aq as v,a7 as qe,a8 as L,a9 as N,aa as w,P as Ue,f as Pe,V as O,R as E,m as Qe,$ as J,a4 as Ce,k as Xe,_ as Ye,a0 as $,a1 as h,A as Ve,K as ze,i as Be,a2 as V,T as W}from"./shared-z875TnWr.js";import{s as z,D as Ke}from"./shared-BFAVBf4I.js";import{P as je,r as Fe,p as He}from"./shared-CmlaxilP.js";import{o as Je}from"./shared-2miVckpm.js";const c={SET_STORY_NAME:u("SET_STORY_NAME","story",m({name:f(d(),x(1))})),SET_STORY_DESCRIPTION:u("SET_STORY_DESCRIPTION","story",m({description:d()})),REORDER_STORY:u("REORDER_STORY","story",m({after:v(d())}),{mode:"sequence"}),ADD_STORY:u("ADD_STORY","page",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_STORY:u("DELETE_STORY","story",m({})),SET_RULE_NAME:u("SET_RULE_NAME","rule",m({name:f(d(),x(1))})),SET_RULE_DESCRIPTION:u("SET_RULE_DESCRIPTION","rule",m({description:d()})),MOVE_RULE:u("MOVE_RULE","rule",m({storyId:f(d(),x(1)),after:v(d())}),{mode:"sequence"}),REORDER_RULE:u("REORDER_RULE","rule",m({after:v(d())}),{mode:"sequence"}),ADD_RULE:u("ADD_RULE","story",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_RULE:u("DELETE_RULE","rule",m({})),SET_EXAMPLE_NAME:u("SET_EXAMPLE_NAME","example",m({name:f(d(),x(1))})),SET_EXAMPLE_DESCRIPTION:u("SET_EXAMPLE_DESCRIPTION","example",m({description:d()})),MOVE_EXAMPLE:u("MOVE_EXAMPLE","example",m({ruleId:f(d(),x(1)),after:v(d())}),{mode:"sequence"}),REORDER_EXAMPLE:u("REORDER_EXAMPLE","example",m({after:v(d())}),{mode:"sequence"}),ADD_EXAMPLE:u("ADD_EXAMPLE","rule",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_EXAMPLE:u("DELETE_EXAMPLE","example",m({})),SET_QUESTION_NAME:u("SET_QUESTION_NAME","question",m({name:f(d(),x(1))})),SET_QUESTION_DESCRIPTION:u("SET_QUESTION_DESCRIPTION","question",m({description:d()})),MOVE_QUESTION:u("MOVE_QUESTION","question",m({ruleId:f(d(),x(1)),after:v(d())}),{mode:"sequence"}),REORDER_QUESTION:u("REORDER_QUESTION","question",m({after:v(d())}),{mode:"sequence"}),ADD_QUESTION:u("ADD_QUESTION","rule",m({id:I,name:f(d(),x(1)),description:R(d())}),{dedupeKey:A}),DELETE_QUESTION:u("DELETE_QUESTION","question",m({}))},k={setStoryName:(e,t)=>({type:"SET_STORY_NAME",target:{type:"story",id:e},payload:{name:t}}),setStoryDescription:(e,t)=>({type:"SET_STORY_DESCRIPTION",target:{type:"story",id:e},payload:{description:t}}),reorderStory:(e,t)=>({type:"REORDER_STORY",target:{type:"story",id:e},payload:{after:t}}),addStory:(e,t)=>({type:"ADD_STORY",target:{type:"page",id:"example-mapping"},payload:{id:e,name:t}}),deleteStory:e=>({type:"DELETE_STORY",target:{type:"story",id:e},payload:{}}),setRuleName:(e,t)=>({type:"SET_RULE_NAME",target:{type:"rule",id:e},payload:{name:t}}),setRuleDescription:(e,t)=>({type:"SET_RULE_DESCRIPTION",target:{type:"rule",id:e},payload:{description:t}}),moveRule:(e,t,r)=>({type:"MOVE_RULE",target:{type:"rule",id:e},payload:{storyId:t,after:r}}),reorderRule:(e,t)=>({type:"REORDER_RULE",target:{type:"rule",id:e},payload:{after:t}}),addRule:(e,t,r)=>({type:"ADD_RULE",target:{type:"story",id:e},payload:{id:t,name:r}}),deleteRule:e=>({type:"DELETE_RULE",target:{type:"rule",id:e},payload:{}}),setExampleName:(e,t)=>({type:"SET_EXAMPLE_NAME",target:{type:"example",id:e},payload:{name:t}}),setExampleDescription:(e,t)=>({type:"SET_EXAMPLE_DESCRIPTION",target:{type:"example",id:e},payload:{description:t}}),moveExample:(e,t,r)=>({type:"MOVE_EXAMPLE",target:{type:"example",id:e},payload:{ruleId:t,after:r}}),reorderExample:(e,t)=>({type:"REORDER_EXAMPLE",target:{type:"example",id:e},payload:{after:t}}),addExample:(e,t,r)=>({type:"ADD_EXAMPLE",target:{type:"rule",id:e},payload:{id:t,name:r}}),deleteExample:e=>({type:"DELETE_EXAMPLE",target:{type:"example",id:e},payload:{}}),setQuestionName:(e,t)=>({type:"SET_QUESTION_NAME",target:{type:"question",id:e},payload:{name:t}}),setQuestionDescription:(e,t)=>({type:"SET_QUESTION_DESCRIPTION",target:{type:"question",id:e},payload:{description:t}}),moveQuestion:(e,t,r)=>({type:"MOVE_QUESTION",target:{type:"question",id:e},payload:{ruleId:t,after:r}}),reorderQuestion:(e,t)=>({type:"REORDER_QUESTION",target:{type:"question",id:e},payload:{after:t}}),addQuestion:(e,t,r)=>({type:"ADD_QUESTION",target:{type:"rule",id:e},payload:{id:t,name:r}}),deleteQuestion:e=>({type:"DELETE_QUESTION",target:{type:"question",id:e},payload:{}})},We=L({id:I,name:f(d(),x(1)),description:R(d())}),Ze=L({id:I,storyId:f(d(),x(1)),name:f(d(),x(1)),description:R(d())}),Z=L({id:I,ruleId:f(d(),x(1)),name:f(d(),x(1)),description:R(d())}),G=L({title:R(d()),stories:N(w(We),[]),rules:N(w(Ze),[]),examples:N(w(Z),[]),questions:N(w(Z),[])}),ee=e=>{const t=qe(G,e),r=new Set,n=(i,s)=>{if(r.has(s))throw new Error(`duplicate id "${s}" in ${i}`);r.add(s)},a=new Set(t.stories.map(i=>i.id));for(const i of t.stories)n("stories",i.id);for(const i of t.rules)if(n("rules",i.id),!a.has(i.storyId))throw new Error(`rule "${i.id}" references unknown storyId "${i.storyId}"`);const o=new Map(t.rules.map(i=>[i.id,i]));for(const i of t.examples)if(n("examples",i.id),!o.has(i.ruleId))throw new Error(`example "${i.id}" references unknown ruleId "${i.ruleId}"`);for(const i of t.questions)if(n("questions",i.id),!o.has(i.ruleId))throw new Error(`question "${i.id}" references unknown ruleId "${i.ruleId}"`);return t},te=()=>({stories:[],rules:[],examples:[],questions:[]}),Ge=e=>({...e,rules:z(e.rules,["storyId"]),examples:z(e.examples,["ruleId"]),questions:z(e.questions,["ruleId"])}),S=(e,t)=>{if(t!==void 0)return e.stories.find(r=>r.id===t)},g=(e,t)=>{if(t!==void 0)return e.rules.find(r=>r.id===t)},_=(e,t)=>{if(t!==void 0)return e.examples.find(r=>r.id===t)},b=(e,t)=>{if(t!==void 0)return e.questions.find(r=>r.id===t)},q=(e,t)=>{if(t===void 0)return;const r=S(e,t);if(r)return{kind:"story",id:r.id,name:r.name,...r.description===void 0?{}:{description:r.description}};const n=g(e,t);if(n)return{kind:"rule",id:n.id,name:n.name,...n.description===void 0?{}:{description:n.description}};const a=_(e,t);if(a)return{kind:"example",id:a.id,name:a.name,...a.description===void 0?{}:{description:a.description}};const o=b(e,t);if(o)return{kind:"question",id:o.id,name:o.name,...o.description===void 0?{}:{description:o.description}}},re=(e,t)=>e.rules.filter(r=>r.storyId===t),ne=(e,t)=>e.examples.filter(r=>r.ruleId===t),ae=(e,t)=>e.questions.filter(r=>r.ruleId===t),et=(e,t)=>{if(S(e,t))return t;const r=g(e,t);if(r)return r.storyId;const n=_(e,t)?.ruleId??b(e,t)?.ruleId;return n===void 0?void 0:g(e,n)?.storyId},oe=e=>[...e.stories.map(t=>t.id),...e.rules.map(t=>t.id),...e.examples.map(t=>t.id),...e.questions.map(t=>t.id)],ie=(e,t)=>g(e,t)?.storyId,tt=(e,t)=>{const r=_(e,t);return r?ie(e,r.ruleId):void 0},se=(e,t)=>{const r=Ue(c,t);if(r===null)return null;const n=r.target.id;switch(r.type){case"SET_STORY_NAME":return de(e,n,a=>({...a,name:r.payload.name}));case"SET_STORY_DESCRIPTION":return de(e,n,a=>({...a,description:r.payload.description}));case"REORDER_STORY":{const a=me(e.stories,n,r.payload.after);return a===null?null:{...e,stories:a}}case"ADD_STORY":{const a=r.payload;return e.stories.some(o=>o.id===a.id)?e:U(e,a.id)?null:{...e,stories:[...e.stories,{id:a.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}}case"DELETE_STORY":{if(!e.stories.some(o=>o.id===n))return null;const a=new Set(e.rules.filter(o=>o.storyId===n).map(o=>o.id));return{...e,stories:e.stories.filter(o=>o.id!==n),rules:e.rules.filter(o=>o.storyId!==n),examples:e.examples.filter(o=>!a.has(o.ruleId)),questions:e.questions.filter(o=>!a.has(o.ruleId))}}case"SET_RULE_NAME":return le(e,n,a=>({...a,name:r.payload.name}));case"SET_RULE_DESCRIPTION":return le(e,n,a=>({...a,description:r.payload.description}));case"MOVE_RULE":{const a=r.payload,o=g(e,n);if(!o||!e.stories.some(s=>s.id===a.storyId))return null;const i=e.rules.filter(s=>s.storyId===a.storyId&&s.id!==n);return a.after!==null&&!i.some(s=>s.id===a.after)?null:{...e,rules:ue(e.rules,{...o,storyId:a.storyId},a.after)}}case"REORDER_RULE":{const a=g(e,n);if(!a)return null;const o=e.rules.filter(i=>i.storyId===a.storyId);return r.payload.after!==null&&!o.some(i=>i.id===r.payload.after)?null:{...e,rules:ue(e.rules,a,r.payload.after)}}case"ADD_RULE":{const a=r.payload,o=S(e,n);return o?e.rules.some(i=>i.id===a.id)?e:U(e,a.id)?null:{...e,rules:[...e.rules,{id:a.id,storyId:o.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}:null}case"DELETE_RULE":return g(e,n)?{...e,rules:e.rules.filter(a=>a.id!==n),examples:e.examples.filter(a=>a.ruleId!==n),questions:e.questions.filter(a=>a.ruleId!==n)}:null;case"SET_EXAMPLE_NAME":return pe(e,n,a=>({...a,name:r.payload.name}));case"SET_EXAMPLE_DESCRIPTION":return pe(e,n,a=>({...a,description:r.payload.description}));case"MOVE_EXAMPLE":{const a=r.payload,o=_(e,n);if(!o||!g(e,a.ruleId))return null;const i=e.examples.filter(s=>s.ruleId===a.ruleId&&s.id!==n);return a.after!==null&&!i.some(s=>s.id===a.after)?null:{...e,examples:P(e.examples,{...o,ruleId:a.ruleId},a.after)}}case"REORDER_EXAMPLE":{const a=_(e,n);if(!a)return null;const o=e.examples.filter(i=>i.ruleId===a.ruleId);return r.payload.after!==null&&!o.some(i=>i.id===r.payload.after)?null:{...e,examples:P(e.examples,a,r.payload.after)}}case"ADD_EXAMPLE":{const a=r.payload,o=g(e,n);return o?e.examples.some(i=>i.id===a.id)?e:U(e,a.id)?null:{...e,examples:[...e.examples,{id:a.id,ruleId:o.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}:null}case"DELETE_EXAMPLE":return _(e,n)?{...e,examples:e.examples.filter(a=>a.id!==n)}:null;case"SET_QUESTION_NAME":return ce(e,n,a=>({...a,name:r.payload.name}));case"SET_QUESTION_DESCRIPTION":return ce(e,n,a=>({...a,description:r.payload.description}));case"MOVE_QUESTION":{const a=r.payload,o=b(e,n);if(!o||!g(e,a.ruleId))return null;const i=e.questions.filter(s=>s.ruleId===a.ruleId&&s.id!==n);return a.after!==null&&!i.some(s=>s.id===a.after)?null:{...e,questions:P(e.questions,{...o,ruleId:a.ruleId},a.after)}}case"REORDER_QUESTION":{const a=b(e,n);if(!a)return null;const o=e.questions.filter(i=>i.ruleId===a.ruleId);return r.payload.after!==null&&!o.some(i=>i.id===r.payload.after)?null:{...e,questions:P(e.questions,a,r.payload.after)}}case"ADD_QUESTION":{const a=r.payload,o=g(e,n);return o?e.questions.some(i=>i.id===a.id)?e:U(e,a.id)?null:{...e,questions:[...e.questions,{id:a.id,ruleId:o.id,name:a.name,...a.description===void 0?{}:{description:a.description}}]}:null}case"DELETE_QUESTION":return b(e,n)?{...e,questions:e.questions.filter(a=>a.id!==n)}:null;default:return Pe(r)}},U=(e,t)=>e.stories.some(r=>r.id===t)||e.rules.some(r=>r.id===t)||e.examples.some(r=>r.id===t)||e.questions.some(r=>r.id===t),de=(e,t,r)=>e.stories.some(n=>n.id===t)?{...e,stories:e.stories.map(n=>n.id===t?r(n):n)}:null,le=(e,t,r)=>e.rules.some(n=>n.id===t)?{...e,rules:e.rules.map(n=>n.id===t?r(n):n)}:null,pe=(e,t,r)=>e.examples.some(n=>n.id===t)?{...e,examples:e.examples.map(n=>n.id===t?r(n):n)}:null,ce=(e,t,r)=>e.questions.some(n=>n.id===t)?{...e,questions:e.questions.map(n=>n.id===t?r(n):n)}:null,ue=(e,t,r)=>{const n=e.filter(p=>p.id!==t.id),a=n.filter(p=>p.storyId===t.storyId),o=r===null?[t,...a]:B(a,t,r),i=n.findIndex(p=>p.storyId===t.storyId),s=new Set(a.map(p=>p.id)),l=n.filter(p=>!s.has(p.id)),y=i<0?l.length:Math.min(i,l.length);return[...l.slice(0,y),...o,...l.slice(y)]},P=(e,t,r)=>{const n=e.filter(p=>p.id!==t.id),a=n.filter(p=>p.ruleId===t.ruleId),o=r===null?[t,...a]:B(a,t,r),i=n.findIndex(p=>p.ruleId===t.ruleId),s=new Set(a.map(p=>p.id)),l=n.filter(p=>!s.has(p.id)),y=i<0?l.length:Math.min(i,l.length);return[...l.slice(0,y),...o,...l.slice(y)]},me=(e,t,r)=>{if(!e.some(o=>o.id===t)||r!==null&&!e.some(o=>o.id===r))return null;if(r===t)return[...e];const n=e.find(o=>o.id===t);if(n===void 0)return null;const a=e.filter(o=>o.id!==t);return B(a,n,r)},B=(e,t,r)=>{const n=[...e],a=r===null?-1:n.findIndex(o=>o.id===r);return n.splice(a+1,0,t),n},Q=(e,t)=>{const r=typeof t=="string"?t:"",n=typeof e=="string"?e:void 0;return n===void 0?`\u2192 \u300C${r}\u300D`:`\u300C${n}\u300D\u2192\u300C${r}\u300D`},rt={SET_STORY_NAME:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u540D\u3092\u5909\u66F4",tone:"update",body:Q(S(t,e.target.id)?.name,E(c.SET_STORY_NAME,e).name??"")}),SET_STORY_DESCRIPTION:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_STORY_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),REORDER_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_STORY,e).after)}),ADD_STORY:e=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_STORY,e).name??""}\u300D`}),DELETE_STORY:(e,t)=>({title:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${S(t,e.target.id)?.name??e.target.id}\u300D`}),SET_RULE_NAME:(e,t)=>({title:"\u30EB\u30FC\u30EB\u540D\u3092\u5909\u66F4",tone:"update",body:Q(g(t,e.target.id)?.name,E(c.SET_RULE_NAME,e).name??"")}),SET_RULE_DESCRIPTION:e=>({title:"\u30EB\u30FC\u30EB\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_RULE_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),MOVE_RULE:(e,t)=>({title:"\u30EB\u30FC\u30EB\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${S(t,String(E(c.MOVE_RULE,e).storyId))?.name??String(E(c.MOVE_RULE,e).storyId??"")}`}),REORDER_RULE:e=>({title:"\u30EB\u30FC\u30EB\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_RULE,e).after)}),ADD_RULE:e=>({title:"\u30EB\u30FC\u30EB\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_RULE,e).name??""}\u300D`}),DELETE_RULE:(e,t)=>({title:"\u30EB\u30FC\u30EB\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${g(t,e.target.id)?.name??e.target.id}\u300D`}),SET_EXAMPLE_NAME:(e,t)=>({title:"\u5177\u4F53\u4F8B\u540D\u3092\u5909\u66F4",tone:"update",body:Q(_(t,e.target.id)?.name,E(c.SET_EXAMPLE_NAME,e).name??"")}),SET_EXAMPLE_DESCRIPTION:e=>({title:"\u5177\u4F53\u4F8B\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_EXAMPLE_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),MOVE_EXAMPLE:(e,t)=>({title:"\u5177\u4F53\u4F8B\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${g(t,String(E(c.MOVE_EXAMPLE,e).ruleId))?.name??String(E(c.MOVE_EXAMPLE,e).ruleId??"")}`}),REORDER_EXAMPLE:e=>({title:"\u5177\u4F53\u4F8B\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_EXAMPLE,e).after)}),ADD_EXAMPLE:e=>({title:"\u5177\u4F53\u4F8B\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_EXAMPLE,e).name??""}\u300D`}),DELETE_EXAMPLE:(e,t)=>({title:"\u5177\u4F53\u4F8B\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${_(t,e.target.id)?.name??e.target.id}\u300D`}),SET_QUESTION_NAME:(e,t)=>({title:"\u8CEA\u554F\u540D\u3092\u5909\u66F4",tone:"update",body:Q(b(t,e.target.id)?.name,E(c.SET_QUESTION_NAME,e).name??"")}),SET_QUESTION_DESCRIPTION:e=>({title:"\u8CEA\u554F\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 \u300C${String(E(c.SET_QUESTION_DESCRIPTION,e).description??"").slice(0,90)}\u300D`}),MOVE_QUESTION:(e,t)=>({title:"\u8CEA\u554F\u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${g(t,String(E(c.MOVE_QUESTION,e).ruleId))?.name??String(E(c.MOVE_QUESTION,e).ruleId??"")}`}),REORDER_QUESTION:e=>({title:"\u8CEA\u554F\u306E\u9806\u5E8F\u3092\u5909\u66F4",tone:"move",body:C(E(c.REORDER_QUESTION,e).after)}),ADD_QUESTION:e=>({title:"\u8CEA\u554F\u3092\u8FFD\u52A0",tone:"create",body:`+ \u300C${E(c.ADD_QUESTION,e).name??""}\u300D`}),DELETE_QUESTION:(e,t)=>({title:"\u8CEA\u554F\u3092\u524A\u9664",tone:"delete",body:`\u2212 \u300C${b(t,e.target.id)?.name??e.target.id}\u300D`})},C=e=>e==null?"\u2192 \u5148\u982D\u3078":`\u2192 \u300C${e}\u300D\u306E\u76F4\u5F8C\u3078`,Ee=(e,t,r)=>{let n;try{const a=rt[e.type];n=a?a(e,r??t):{title:e.type,tone:"meta"}}catch{n={title:e.type,tone:"meta"}}return{title:n.title,targetLabel:ye(t,e.target),tone:n.tone,...n.body===void 0?{}:{summary:n.body}}},ge=e=>`${e.type} ${O(e.target)} ${JSON.stringify(e.payload)}`,nt={story:"\u30B9\u30C8\u30FC\u30EA\u30FC",rule:"\u30EB\u30FC\u30EB",example:"\u5177\u4F53\u4F8B",question:"\u8CEA\u554F"},ye=(e,t)=>{try{switch(t.type){case"story":{const r=S(e,t.id);return r?`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${r.name}`:`\u30B9\u30C8\u30FC\u30EA\u30FC \xB7 ${t.id} (missing)`}case"rule":{const r=g(e,t.id);return r?`\u30EB\u30FC\u30EB \xB7 ${r.name}`:`\u30EB\u30FC\u30EB \xB7 ${t.id} (missing)`}case"example":{const r=_(e,t.id);return r?`\u5177\u4F53\u4F8B \xB7 ${r.name}`:`\u5177\u4F53\u4F8B \xB7 ${t.id} (missing)`}case"question":{const r=b(e,t.id);return r?`\u8CEA\u554F \xB7 ${r.name}`:`\u8CEA\u554F \xB7 ${t.id} (missing)`}case"page":return`\u30DE\u30C3\u30D7 \xB7 ${K(e)}`;default:return`${t.type} \xB7 ${t.id}`}}catch{return`${t.type} \xB7 ${t.id}`}},fe=(e,t)=>{const r=[{value:"page:example-mapping",label:"\u30DE\u30C3\u30D7\u5168\u4F53",group:"\u30DE\u30C3\u30D7"}];for(const n of e.stories)r.push({value:O({type:"story",id:n.id}),label:n.name,group:"\u30B9\u30C8\u30FC\u30EA\u30FC"});for(const n of e.rules){const a=S(e,n.storyId);r.push({value:O({type:"rule",id:n.id}),label:a?`${a.name} \u203A ${n.name}`:n.name,group:"\u30EB\u30FC\u30EB"})}for(const n of e.examples){const a=g(e,n.ruleId);r.push({value:O({type:"example",id:n.id}),label:a?`${a.name} \u203A ${n.name}`:n.name,group:"\u5177\u4F53\u4F8B"})}for(const n of e.questions){const a=g(e,n.ruleId);r.push({value:O({type:"question",id:n.id}),label:a?`${a.name} \u203A ${n.name}`:n.name,group:"\u8CEA\u554F"})}return r},xe=(e,t)=>{const r=q(e,t.card);return r?{value:O({type:r.kind,id:r.id}),label:r.name,group:nt[r.kind]}:null},at=4,ot={empty:"\u30EB\u30FC\u30EB\u672A\u6574\u7406","open-questions":"\u672A\u89E3\u6C7A\u306E\u8CEA\u554F\u3042\u308A","too-big":"\u5206\u5272\u3092\u691C\u8A0E",thin:"\u5177\u4F53\u4F8B\u306E\u7121\u3044\u30EB\u30FC\u30EB\u3042\u308A",ready:"\u5408\u610F\u3067\u304D\u305D\u3046"},he=(e,t)=>{const r=e.rules.filter(l=>l.storyId===t),n=new Set(r.map(l=>l.id)),a=e.examples.filter(l=>n.has(l.ruleId)),o=e.questions.filter(l=>n.has(l.ruleId)).length,i=r.some(l=>!a.some(y=>y.ruleId===l.id)),s=r.length===0?"empty":o>0?"open-questions":r.length>at?"too-big":i?"thin":"ready";return{rules:r.length,examples:a.length,questions:o,readiness:s,label:ot[s]}},K=e=>e.title??"Example Mapping",Se=(e,t)=>{const r=q(e,t.card),n={...t};return r?n.card=r.id:delete n.card,n},_e=(e,t)=>{switch(t.type){case"story":case"rule":case"example":case"question":return q(e,t.id)?.kind===t.type;case"page":return!0;default:return!1}},be={name:"example-mapping",label:"Example Mapping",parseBase:ee,emptyBase:te,actions:c,apply:se,canonicalState:Ge,hasTarget:_e,describe:Ee,serialize:ge,resolveNavigation:Se,commentTargets:(e,t)=>fe(e),currentTarget:(e,t)=>xe(e,t),title:K},X=(e,t,r)=>{const n=Qe(t,oe(e.state));return e.dispatch(r(n)).ok?(e.navigate({card:n}),n):null},it=e=>X(e,"new-story",t=>k.addStory(t,"\u65B0\u3057\u3044\u30B9\u30C8\u30FC\u30EA\u30FC")),st=(e,t)=>X(e,"new-rule",r=>k.addRule(t,r,"\u65B0\u3057\u3044\u30EB\u30FC\u30EB")),dt=(e,t)=>X(e,"new-example",r=>k.addExample(t,r,"\u65B0\u3057\u3044\u5177\u4F53\u4F8B")),lt=(e,t)=>X(e,"new-question",r=>k.addQuestion(t,r,"\u65B0\u3057\u3044\u8CEA\u554F")),pt={width:300,height:260},Re=["story","rule","example","question"],j={story:"\u30B9\u30C8\u30FC\u30EA\u30FC",rule:"\u30EB\u30FC\u30EB",example:"\u5177\u4F53\u4F8B",question:"\u8CEA\u554F"},Te={story:{bg:"linear-gradient(178deg, #fff3a6, #fde77a)",ink:"#4a3a06"},rule:{bg:"linear-gradient(178deg, #a3d1f5, #7cb8ea)",ink:"#0e2c4b"},example:{bg:"linear-gradient(178deg, #c9eb95, #a8dc63)",ink:"#22380a"},question:{bg:"linear-gradient(178deg, #fbc6d9, #f4a0c0)",ink:"#4b1029"}},D=e=>{const{bg:t,ink:r}=Te[e];return`--em-card-bg:${t};--em-card-ink:${r}`},ct=J`
2
2
  :host {
3
3
  position: relative;
4
4
  display: flex;
@@ -1,4 +1,4 @@
1
- import{a0 as lt,a1 as K}from"./shared-RRxRtPfs.js";const I=Math.min,S=Math.max,Q=Math.round,Z=Math.floor,$=t=>({x:t,y:t}),Wt={left:"right",right:"left",bottom:"top",top:"bottom"};function Nt(t,e,o){return S(t,I(e,o))}function U(t,e){return typeof t=="function"?t(e):t}function _(t){return t.split("-")[0]}function Y(t){return t.split("-")[1]}function xt(t){return t==="x"?"y":"x"}function bt(t){return t==="y"?"height":"width"}function k(t){const e=t[0];return e==="t"||e==="b"?"y":"x"}function vt(t){return xt(k(t))}function Vt(t,e,o){o===void 0&&(o=!1);const n=Y(t),i=vt(t),s=bt(i);let r=i==="x"?n===(o?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(r=tt(r)),[r,tt(r)]}function _t(t){const e=tt(t);return[at(t),e,at(e)]}function at(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Rt=["left","right"],Ct=["right","left"],Ht=["top","bottom"],Bt=["bottom","top"];function zt(t,e,o){switch(t){case"top":case"bottom":return o?e?Ct:Rt:e?Rt:Ct;case"left":case"right":return e?Ht:Bt;default:return[]}}function It(t,e,o,n){const i=Y(t);let s=zt(_(t),o==="start",n);return i&&(s=s.map(r=>r+"-"+i),e&&(s=s.concat(s.map(at)))),s}function tt(t){const e=_(t);return Wt[e]+t.slice(e.length)}function Xt(t){var e,o,n,i;return{top:(e=t.top)!=null?e:0,right:(o=t.right)!=null?o:0,bottom:(n=t.bottom)!=null?n:0,left:(i=t.left)!=null?i:0}}function jt(t){return typeof t!="number"?Xt(t):{top:t,right:t,bottom:t,left:t}}function et(t){const{x:e,y:o,width:n,height:i}=t;return{width:n,height:i,top:o,left:e,right:e+n,bottom:o+i,x:e,y:o}}function At(t,e,o){let{reference:n,floating:i}=t;const s=k(e),r=vt(e),c=bt(r),l=_(e),a=s==="y",f=n.x+n.width/2-i.width/2,u=n.y+n.height/2-i.height/2,h=n[c]/2-i[c]/2;let d;switch(l){case"top":d={x:f,y:n.y-i.height};break;case"bottom":d={x:f,y:n.y+n.height};break;case"right":d={x:n.x+n.width,y:u};break;case"left":d={x:n.x-i.width,y:u};break;default:d={x:n.x,y:n.y}}const p=Y(e);return p&&(d[r]+=h*(p==="end"?1:-1)*(o&&a?-1:1)),d}async function qt(t,e){var o;e===void 0&&(e={});const{x:n,y:i,platform:s,rects:r,elements:c,strategy:l}=t,{boundary:a="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:h=!1,padding:d=0}=U(e,t),p=jt(d),w=c[h?u==="floating"?"reference":"floating":u],m=et(await s.getClippingRect({element:(o=await(s.isElement==null?void 0:s.isElement(w)))==null||o?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:a,rootBoundary:f,strategy:l})),y=u==="floating"?{x:n,y:i,width:r.floating.width,height:r.floating.height}:r.reference,x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),b=await(s.isElement==null?void 0:s.isElement(x))&&await(s.getScale==null?void 0:s.getScale(x))||{x:1,y:1},C=et(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:y,offsetParent:x,strategy:l}):y);return{top:(m.top-C.top+p.top)/b.y,bottom:(C.bottom-m.bottom+p.bottom)/b.y,left:(m.left-C.left+p.left)/b.x,right:(C.right-m.right+p.right)/b.x}}const Kt=50,Ut=async(t,e,o)=>{const{placement:n="bottom",strategy:i="absolute",middleware:s=[],platform:r}=o,c=r.detectOverflow?r:{...r,detectOverflow:qt},l=await(r.isRTL==null?void 0:r.isRTL(e));let a=await r.getElementRects({reference:t,floating:e,strategy:i}),{x:f,y:u}=At(a,n,l),h=n,d=0;const p={};for(let g=0;g<s.length;g++){const w=s[g];if(!w)continue;const{name:m,fn:y}=w,{x,y:b,data:C,reset:v}=await y({x:f,y:u,initialPlacement:n,placement:h,strategy:i,middlewareData:p,rects:a,platform:c,elements:{reference:t,floating:e}});f=x??f,u=b??u,p[m]={...p[m],...C},v&&d<Kt&&(d++,typeof v=="object"&&(v.placement&&(h=v.placement),v.rects&&(a=v.rects===!0?await r.getElementRects({reference:t,floating:e,strategy:i}):v.rects),{x:f,y:u}=At(a,h,l)),g=-1)}return{x:f,y:u,placement:h,strategy:i,middlewareData:p}},Yt=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var o,n;const{placement:i,middlewareData:s,rects:r,initialPlacement:c,platform:l,elements:a}=e,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:d="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=U(t,e);if((o=s.arrow)!=null&&o.alignmentOffset)return{};const m=_(i),y=k(c),x=_(c)===c,b=await(l.isRTL==null?void 0:l.isRTL(a.floating)),C=h||(x||!g?[tt(c)]:_t(c)),v=p!=="none";!h&&v&&C.push(...It(c,g,p,b));const P=[c,...C],T=await l.detectOverflow(e,w),W=[];let O=((n=s.flip)==null?void 0:n.overflows)||[];if(f&&W.push(T[m]),u){const N=Vt(i,r,b);W.push(T[N[0]],T[N[1]])}if(O=[...O,{placement:i,overflows:W}],!W.every(N=>N<=0)){var gt,wt;const N=(((gt=s.flip)==null?void 0:gt.index)||0)+1,ct=P[N];if(ct&&(!(u==="alignment"?y!==k(ct):!1)||O.every(A=>k(A.placement)===y?A.overflows[0]>0:!0)))return{data:{index:N,overflows:O},reset:{placement:ct}};let q=(wt=O.filter(V=>V.overflows[0]<=0).sort((V,A)=>V.overflows[1]-A.overflows[1])[0])==null?void 0:wt.placement;if(!q)switch(d){case"bestFit":{var yt;const V=(yt=O.filter(A=>{if(v){const M=k(A.placement);return M===y||M==="y"}return!0}).map(A=>[A.placement,A.overflows.filter(M=>M>0).reduce((M,Ft)=>M+Ft,0)]).sort((A,M)=>A[1]-M[1])[0])==null?void 0:yt[0];V&&(q=V);break}case"initialPlacement":q=c;break}if(i!==q)return{reset:{placement:q}}}return{}}}},Gt=new Set(["left","top"]);async function Jt(t,e){const{placement:o,platform:n,elements:i}=t,s=await(n.isRTL==null?void 0:n.isRTL(i.floating)),r=_(o),c=Y(o),l=k(o)==="y",a=Gt.has(r)?-1:1,f=s&&l?-1:1,u=U(e,t);let{mainAxis:h,crossAxis:d,alignmentAxis:p}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return c&&typeof p=="number"&&(d=c==="end"?p*-1:p),l?{x:d*f,y:h*a}:{x:h*a,y:d*f}}const Qt=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var o,n;const{x:i,y:s,placement:r,middlewareData:c}=e,l=await Jt(e,t);return r===((o=c.offset)==null?void 0:o.placement)&&(n=c.arrow)!=null&&n.alignmentOffset?{}:{x:i+l.x,y:s+l.y,data:{...l,placement:r}}}}},Zt=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:o,y:n,placement:i,platform:s}=e,{mainAxis:r=!0,crossAxis:c=!1,limiter:l={fn:y=>{let{x,y:b}=y;return{x,y:b}}},...a}=U(t,e),f={x:o,y:n},u=await s.detectOverflow(e,a),h=k(i),d=xt(h);let p=f[d],g=f[h];const w=(y,x)=>Nt(x+u[y==="y"?"top":"left"],x,x-u[y==="y"?"bottom":"right"]);r&&(p=w(d,p)),c&&(g=w(h,g));const m=l.fn({...e,[d]:p,[h]:g});return{...m,data:{x:m.x-o,y:m.y-n,enabled:{[d]:r,[h]:c}}}}}},te=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){const{placement:o,rects:n,platform:i,elements:s}=e,{apply:r=()=>{},...c}=U(t,e),l=await i.detectOverflow(e,c),a=_(o),f=Y(o),u=k(o)==="y",{width:h,height:d}=n.floating;let p,g;a==="top"||a==="bottom"?(p=a,g=f===(await(i.isRTL==null?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(g=a,p=f==="end"?"top":"bottom");const w=d-l.top-l.bottom,m=h-l.left-l.right,y=I(d-l[p],w),x=I(h-l[g],m),b=e.middlewareData.shift,C=!b;let v=y,P=x;b!=null&&b.enabled.x&&(P=m),b!=null&&b.enabled.y&&(v=w),C&&!f&&(u?P=h-2*S(l.left,l.right):v=d-2*S(l.top,l.bottom)),await r({...e,availableWidth:P,availableHeight:v});const T=await i.getDimensions(s.floating);return h!==T.width||d!==T.height?{reset:{rects:!0}}:{}}}};function nt(){return typeof window<"u"}function X(t){return Ot(t)?(t.nodeName||"").toLowerCase():"#document"}function R(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function D(t){var e;return(e=(Ot(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Ot(t){return nt()?t instanceof Node||t instanceof R(t).Node:!1}function L(t){return nt()?t instanceof Element||t instanceof R(t).Element:!1}function F(t){return nt()?t instanceof HTMLElement||t instanceof R(t).HTMLElement:!1}function Lt(t){return!nt()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof R(t).ShadowRoot}function ot(t){const{overflow:e,overflowX:o,overflowY:n,display:i}=E(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+o)&&i!=="inline"&&i!=="contents"}function ee(t){return/^(table|td|th)$/.test(X(t))}function it(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const ne=/transform|translate|scale|rotate|perspective|filter/,oe=/paint|layout|strict|content/,H=t=>!!t&&t!=="none";let ft;function ut(t){const e=L(t)?E(t):t;return H(e.transform)||H(e.translate)||H(e.scale)||H(e.rotate)||H(e.perspective)||!dt()&&(H(e.backdropFilter)||H(e.filter))||ne.test(e.willChange||"")||oe.test(e.contain||"")}function ie(t){let e=B(t);for(;F(e)&&!G(e);){if(ut(e))return e;if(it(e))return null;e=B(e)}return null}function dt(){return ft==null&&(ft=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),ft}function G(t){return/^(html|body|#document)$/.test(X(t))}function E(t){return R(t).getComputedStyle(t)}function st(t){return L(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function B(t){if(X(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Lt(t)&&t.host||D(t);return Lt(e)?e.host:e}function Et(t){const e=B(t);return G(e)?(t.ownerDocument||t).body:F(e)&&ot(e)?e:Et(e)}function J(t,e,o){var n;e===void 0&&(e=[]),o===void 0&&(o=!0);const i=Et(t),s=i===((n=t.ownerDocument)==null?void 0:n.body),r=R(i);if(s){const c=ht(r);return e.concat(r,r.visualViewport||[],ot(i)?i:[],c&&o?J(c):[])}else return e.concat(i,J(i,[],o))}function ht(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Tt(t){const e=E(t);let o=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const i=F(t),s=i?t.offsetWidth:o,r=i?t.offsetHeight:n,c=Q(o)!==s||Q(n)!==r;return c&&(o=s,n=r),{width:o,height:n,$:c}}function pt(t){return L(t)?t:t.contextElement}function j(t){const e=pt(t);if(!F(e))return $(1);const o=e.getBoundingClientRect(),{width:n,height:i,$:s}=Tt(e);let r=(s?Q(o.width):o.width)/n,c=(s?Q(o.height):o.height)/i;return(!r||!Number.isFinite(r))&&(r=1),(!c||!Number.isFinite(c))&&(c=1),{x:r,y:c}}const se=$(0);function St(t){const e=R(t);return!dt()||!e.visualViewport?se:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function re(t,e,o){return e===void 0&&(e=!1),!!o&&e&&o===R(t)}function z(t,e,o,n){e===void 0&&(e=!1),o===void 0&&(o=!1);const i=t.getBoundingClientRect(),s=pt(t);let r=$(1);e&&(n?L(n)&&(r=j(n)):r=j(t));const c=re(s,o,n)?St(s):$(0);let l=(i.left+c.x)/r.x,a=(i.top+c.y)/r.y,f=i.width/r.x,u=i.height/r.y;if(s&&n){const h=R(s),d=L(n)?R(n):n;let p=h,g=ht(p);for(;g&&d!==p;){const w=j(g),m=g.getBoundingClientRect(),y=E(g),x=m.left+(g.clientLeft+parseFloat(y.paddingLeft))*w.x,b=m.top+(g.clientTop+parseFloat(y.paddingTop))*w.y;l*=w.x,a*=w.y,f*=w.x,u*=w.y,l+=x,a+=b,p=R(g),g=ht(p)}}return et({width:f,height:u,x:l,y:a})}function rt(t,e){const o=st(t).scrollLeft;return e?e.left+o:z(D(t)).left+o}function $t(t,e){const o=t.getBoundingClientRect(),n=o.left+e.scrollLeft-rt(t,o),i=o.top+e.scrollTop;return{x:n,y:i}}function ce(t){let{elements:e,rect:o,offsetParent:n,strategy:i}=t;const s=i==="fixed",r=D(n),c=e?it(e.floating):!1;if(n===r||c&&s)return o;let l={scrollLeft:0,scrollTop:0},a=$(1);const f=$(0),u=F(n);if((u||!s)&&((X(n)!=="body"||ot(r))&&(l=st(n)),u)){const d=z(n);a=j(n),f.x=d.x+n.clientLeft,f.y=d.y+n.clientTop}const h=r&&!u&&!s?$t(r,l):$(0);return{width:o.width*a.x,height:o.height*a.y,x:o.x*a.x-l.scrollLeft*a.x+f.x+h.x,y:o.y*a.y-l.scrollTop*a.y+f.y+h.y}}function le(t){return t.getClientRects?Array.from(t.getClientRects()):[]}function ae(t){const e=st(t),o=t.ownerDocument.body,n=S(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),i=S(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let s=-e.scrollLeft+rt(t);const r=-e.scrollTop;return E(o).direction==="rtl"&&(s+=S(t.clientWidth,o.clientWidth)-n),{width:n,height:i,x:s,y:r}}const fe=25;function ue(t,e,o){o===void 0&&(o="viewport");const n=o==="layoutViewport",i=R(t),s=D(t),r=i.visualViewport;let c=s.clientWidth,l=s.clientHeight,a=0,f=0;if(r){const h=!dt()||e==="fixed";n?h||(a=-r.offsetLeft,f=-r.offsetTop):(c=r.width,l=r.height,h&&(a=r.offsetLeft,f=r.offsetTop))}if(rt(s)<=0){const h=s.ownerDocument,d=h.body,p=getComputedStyle(d),g=h.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,w=Math.abs(s.clientWidth-d.clientWidth-g),m=getComputedStyle(s).scrollbarGutter==="stable both-edges"?w/2:w;m<=fe&&(c-=m)}return{width:c,height:l,x:a,y:f}}function de(t,e){const o=z(t,!0,e==="fixed"),n=o.top+t.clientTop,i=o.left+t.clientLeft,s=j(t),r=t.clientWidth*s.x,c=t.clientHeight*s.y,l=i*s.x,a=n*s.y;return{width:r,height:c,x:l,y:a}}function kt(t,e,o){let n;if(e==="viewport"||e==="layoutViewport")n=ue(t,o,e);else if(e==="document")n=ae(D(t));else if(L(e))n=de(e,o);else{const i=St(t);n={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return et(n)}function he(t,e){const o=e.get(t);if(o)return o;let n=J(t,[],!1).filter(c=>L(c)&&X(c)!=="body"),i=null;const s=E(t).position==="fixed";let r=s?B(t):t;for(;L(r)&&!G(r);){const c=E(r),l=ut(r),a=i?i.position:s?"fixed":"";!l&&(a==="fixed"||a==="absolute"&&c.position==="static")?n=n.filter(u=>u!==r):i=c,r=B(r)}return e.set(t,n),n}function pe(t){let{element:e,boundary:o,rootBoundary:n,strategy:i}=t;const r=[...o==="clippingAncestors"?it(e)?[]:he(e,this._c):[].concat(o),n],c=kt(e,r[0],i);let l=c.top,a=c.right,f=c.bottom,u=c.left;for(let h=1;h<r.length;h++){const d=kt(e,r[h],i);l=S(d.top,l),a=I(d.right,a),f=I(d.bottom,f),u=S(d.left,u)}return{width:a-u,height:f-l,x:u,y:l}}function me(t){const{width:e,height:o}=Tt(t);return{width:e,height:o}}function ge(t,e,o){const n=F(e),i=D(e),s=o==="fixed",r=z(t,!0,s,e);let c={scrollLeft:0,scrollTop:0};const l=$(0);if((n||!s)&&((X(e)!=="body"||ot(i))&&(c=st(e)),n)){const h=z(e,!0,s,e);l.x=h.x+e.clientLeft,l.y=h.y+e.clientTop}!n&&i&&(l.x=rt(i));const a=i&&!n&&!s?$t(i,c):$(0),f=r.left+c.scrollLeft-l.x-a.x,u=r.top+c.scrollTop-l.y-a.y;return{x:f,y:u,width:r.width,height:r.height}}function mt(t){return E(t).position==="static"}function Dt(t,e){if(!F(t)||E(t).position==="fixed")return null;if(e)return e(t);let o=t.offsetParent;return D(t)===o&&(o=o.ownerDocument.body),o}function Pt(t,e){const o=R(t);if(it(t))return o;if(!F(t)){let i=B(t);for(;i&&!G(i);){if(L(i)&&!mt(i))return i;i=B(i)}return o}let n=Dt(t,e);for(;n&&ee(n)&&mt(n);)n=Dt(n,e);return n&&G(n)&&mt(n)&&!ut(n)?o:n||ie(t)||o}const we=async function(t){const e=this.getOffsetParent||Pt,o=this.getDimensions,n=await o(t.floating);return{reference:ge(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function ye(t){return E(t).direction==="rtl"}const xe={convertOffsetParentRelativeRectToViewportRelativeRect:ce,getDocumentElement:D,getClippingRect:pe,getOffsetParent:Pt,getElementRects:we,getClientRects:le,getDimensions:me,getScale:j,isElement:L,isRTL:ye};function Mt(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function be(t,e,o){let n=null,i;const s=D(t);function r(){var f;clearTimeout(i),(f=n)==null||f.disconnect(),n=null}function c(f,u){f===void 0&&(f=!1),u===void 0&&(u=1),r();const h=t.getBoundingClientRect(),{left:d,top:p,width:g,height:w}=h;if(f||e(),!g||!w)return;const m=Z(p),y=Z(s.clientWidth-(d+g)),x=Z(s.clientHeight-(p+w)),b=Z(d),v={rootMargin:-m+"px "+-y+"px "+-x+"px "+-b+"px",threshold:S(0,I(1,u))||1};let P=!0;function T(W){const O=W[0].intersectionRatio;if(!Mt(h,t.getBoundingClientRect()))return c();if(O!==u){if(!P)return c();O?c(!1,O):i=setTimeout(()=>{c(!1,1e-7)},1e3)}P=!1}try{n=new IntersectionObserver(T,{...v,root:s.ownerDocument})}catch{n=new IntersectionObserver(T,v)}n.observe(t)}const l=R(t),a=()=>c(o);return l.addEventListener("resize",a),c(!0),()=>{l.removeEventListener("resize",a),r()}}function ve(t,e,o,n){n===void 0&&(n={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,a=pt(t),f=i||s?[...a?J(a):[],...e?J(e):[]]:[];f.forEach(m=>{i&&m.addEventListener("scroll",o),s&&m.addEventListener("resize",o)});const u=a&&c?be(a,o,s):null;let h=-1,d=null;r&&(d=new ResizeObserver(m=>{let[y]=m;y&&y.target===a&&d&&e&&(d.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var x;(x=d)==null||x.observe(e)})),o()}),a&&!l&&d.observe(a),e&&d.observe(e));let p,g=l?z(t):null;l&&w();function w(){const m=z(t);g&&!Mt(g,m)&&o(),g=m,p=requestAnimationFrame(w)}return o(),()=>{var m;f.forEach(y=>{i&&y.removeEventListener("scroll",o),s&&y.removeEventListener("resize",o)}),u?.(),(m=d)==null||m.disconnect(),d=null,l&&cancelAnimationFrame(p)}}const Re=Qt,Ce=Zt,Ae=Yt,Oe=te,Le=(t,e,o)=>{const n=new Map,i=o??{},s={...xe,...i.platform,_c:n};return Ut(t,e,{...i,platform:s})},Ee=(t,e)=>({top:e,bottom:e,right:t}),Te=(t,e,o,n={})=>{if(typeof t.showPopover!="function")return()=>{};try{t.showPopover()}catch{return()=>{}}let i=!0,s=0;const r=e instanceof Element?e:{getBoundingClientRect:()=>({x:e.right,y:e.top,left:e.right,right:e.right,top:e.top,bottom:e.bottom,width:0,height:e.bottom-e.top})};t.style.width=`${o.width}px`,t.style.maxHeight=`${o.height}px`;const l=ve(r,t,()=>{const a=++s;Le(r,t,{strategy:"fixed",placement:n.placement??"bottom-end",middleware:[Re(8),Ae({padding:8,fallbackAxisSideDirection:"end"}),Ce({padding:8}),Oe({padding:8,apply:({availableWidth:f,availableHeight:u})=>{!i||a!==s||(t.style.width=`${Math.max(0,Math.min(o.width,f))}px`,t.style.maxHeight=`${Math.max(0,Math.min(o.height,u))}px`)}})]}).then(({x:f,y:u})=>{!i||a!==s||!t.isConnected||(t.style.left=`${f}px`,t.style.top=`${u}px`)}).catch(()=>{})},{animationFrame:n.trackTransform??!1,elementResize:typeof ResizeObserver<"u",layoutShift:typeof IntersectionObserver<"u"});return()=>{i=!1,l()}};class Se{#e;#t=new Map;constructor(e){this.#e=e,e.addController(this)}hostConnected(){this.#e.requestUpdate()}hostUpdated(){for(const[e,o]of this.#t)e.isConnected||(o(),this.#t.delete(e))}hostDisconnected(){for(const e of this.#t.values())e();this.#t.clear()}open(e,o,n,i){this.#t.get(e)?.(),this.#t.set(e,Te(e,o,n,i))}}const $e=(t,e,o={})=>({body:t,notes:e,submission:t.trim()||null,label:o.label??null,error:o.error??null}),ke=(t,e)=>{const o=()=>{t.submission!==null&&e({kind:"comment",body:t.submission})};return K`<div
1
+ import{a0 as lt,a1 as K}from"./shared-z875TnWr.js";const I=Math.min,S=Math.max,Q=Math.round,Z=Math.floor,$=t=>({x:t,y:t}),Wt={left:"right",right:"left",bottom:"top",top:"bottom"};function Nt(t,e,o){return S(t,I(e,o))}function U(t,e){return typeof t=="function"?t(e):t}function _(t){return t.split("-")[0]}function Y(t){return t.split("-")[1]}function xt(t){return t==="x"?"y":"x"}function bt(t){return t==="y"?"height":"width"}function k(t){const e=t[0];return e==="t"||e==="b"?"y":"x"}function vt(t){return xt(k(t))}function Vt(t,e,o){o===void 0&&(o=!1);const n=Y(t),i=vt(t),s=bt(i);let r=i==="x"?n===(o?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(r=tt(r)),[r,tt(r)]}function _t(t){const e=tt(t);return[at(t),e,at(e)]}function at(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Rt=["left","right"],Ct=["right","left"],Ht=["top","bottom"],Bt=["bottom","top"];function zt(t,e,o){switch(t){case"top":case"bottom":return o?e?Ct:Rt:e?Rt:Ct;case"left":case"right":return e?Ht:Bt;default:return[]}}function It(t,e,o,n){const i=Y(t);let s=zt(_(t),o==="start",n);return i&&(s=s.map(r=>r+"-"+i),e&&(s=s.concat(s.map(at)))),s}function tt(t){const e=_(t);return Wt[e]+t.slice(e.length)}function Xt(t){var e,o,n,i;return{top:(e=t.top)!=null?e:0,right:(o=t.right)!=null?o:0,bottom:(n=t.bottom)!=null?n:0,left:(i=t.left)!=null?i:0}}function jt(t){return typeof t!="number"?Xt(t):{top:t,right:t,bottom:t,left:t}}function et(t){const{x:e,y:o,width:n,height:i}=t;return{width:n,height:i,top:o,left:e,right:e+n,bottom:o+i,x:e,y:o}}function At(t,e,o){let{reference:n,floating:i}=t;const s=k(e),r=vt(e),c=bt(r),l=_(e),a=s==="y",f=n.x+n.width/2-i.width/2,u=n.y+n.height/2-i.height/2,h=n[c]/2-i[c]/2;let d;switch(l){case"top":d={x:f,y:n.y-i.height};break;case"bottom":d={x:f,y:n.y+n.height};break;case"right":d={x:n.x+n.width,y:u};break;case"left":d={x:n.x-i.width,y:u};break;default:d={x:n.x,y:n.y}}const p=Y(e);return p&&(d[r]+=h*(p==="end"?1:-1)*(o&&a?-1:1)),d}async function qt(t,e){var o;e===void 0&&(e={});const{x:n,y:i,platform:s,rects:r,elements:c,strategy:l}=t,{boundary:a="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:h=!1,padding:d=0}=U(e,t),p=jt(d),w=c[h?u==="floating"?"reference":"floating":u],m=et(await s.getClippingRect({element:(o=await(s.isElement==null?void 0:s.isElement(w)))==null||o?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:a,rootBoundary:f,strategy:l})),y=u==="floating"?{x:n,y:i,width:r.floating.width,height:r.floating.height}:r.reference,x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),b=await(s.isElement==null?void 0:s.isElement(x))&&await(s.getScale==null?void 0:s.getScale(x))||{x:1,y:1},C=et(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:y,offsetParent:x,strategy:l}):y);return{top:(m.top-C.top+p.top)/b.y,bottom:(C.bottom-m.bottom+p.bottom)/b.y,left:(m.left-C.left+p.left)/b.x,right:(C.right-m.right+p.right)/b.x}}const Kt=50,Ut=async(t,e,o)=>{const{placement:n="bottom",strategy:i="absolute",middleware:s=[],platform:r}=o,c=r.detectOverflow?r:{...r,detectOverflow:qt},l=await(r.isRTL==null?void 0:r.isRTL(e));let a=await r.getElementRects({reference:t,floating:e,strategy:i}),{x:f,y:u}=At(a,n,l),h=n,d=0;const p={};for(let g=0;g<s.length;g++){const w=s[g];if(!w)continue;const{name:m,fn:y}=w,{x,y:b,data:C,reset:v}=await y({x:f,y:u,initialPlacement:n,placement:h,strategy:i,middlewareData:p,rects:a,platform:c,elements:{reference:t,floating:e}});f=x??f,u=b??u,p[m]={...p[m],...C},v&&d<Kt&&(d++,typeof v=="object"&&(v.placement&&(h=v.placement),v.rects&&(a=v.rects===!0?await r.getElementRects({reference:t,floating:e,strategy:i}):v.rects),{x:f,y:u}=At(a,h,l)),g=-1)}return{x:f,y:u,placement:h,strategy:i,middlewareData:p}},Yt=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var o,n;const{placement:i,middlewareData:s,rects:r,initialPlacement:c,platform:l,elements:a}=e,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:d="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=U(t,e);if((o=s.arrow)!=null&&o.alignmentOffset)return{};const m=_(i),y=k(c),x=_(c)===c,b=await(l.isRTL==null?void 0:l.isRTL(a.floating)),C=h||(x||!g?[tt(c)]:_t(c)),v=p!=="none";!h&&v&&C.push(...It(c,g,p,b));const P=[c,...C],T=await l.detectOverflow(e,w),W=[];let O=((n=s.flip)==null?void 0:n.overflows)||[];if(f&&W.push(T[m]),u){const N=Vt(i,r,b);W.push(T[N[0]],T[N[1]])}if(O=[...O,{placement:i,overflows:W}],!W.every(N=>N<=0)){var gt,wt;const N=(((gt=s.flip)==null?void 0:gt.index)||0)+1,ct=P[N];if(ct&&(!(u==="alignment"?y!==k(ct):!1)||O.every(A=>k(A.placement)===y?A.overflows[0]>0:!0)))return{data:{index:N,overflows:O},reset:{placement:ct}};let q=(wt=O.filter(V=>V.overflows[0]<=0).sort((V,A)=>V.overflows[1]-A.overflows[1])[0])==null?void 0:wt.placement;if(!q)switch(d){case"bestFit":{var yt;const V=(yt=O.filter(A=>{if(v){const M=k(A.placement);return M===y||M==="y"}return!0}).map(A=>[A.placement,A.overflows.filter(M=>M>0).reduce((M,Ft)=>M+Ft,0)]).sort((A,M)=>A[1]-M[1])[0])==null?void 0:yt[0];V&&(q=V);break}case"initialPlacement":q=c;break}if(i!==q)return{reset:{placement:q}}}return{}}}},Gt=new Set(["left","top"]);async function Jt(t,e){const{placement:o,platform:n,elements:i}=t,s=await(n.isRTL==null?void 0:n.isRTL(i.floating)),r=_(o),c=Y(o),l=k(o)==="y",a=Gt.has(r)?-1:1,f=s&&l?-1:1,u=U(e,t);let{mainAxis:h,crossAxis:d,alignmentAxis:p}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return c&&typeof p=="number"&&(d=c==="end"?p*-1:p),l?{x:d*f,y:h*a}:{x:h*a,y:d*f}}const Qt=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var o,n;const{x:i,y:s,placement:r,middlewareData:c}=e,l=await Jt(e,t);return r===((o=c.offset)==null?void 0:o.placement)&&(n=c.arrow)!=null&&n.alignmentOffset?{}:{x:i+l.x,y:s+l.y,data:{...l,placement:r}}}}},Zt=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:o,y:n,placement:i,platform:s}=e,{mainAxis:r=!0,crossAxis:c=!1,limiter:l={fn:y=>{let{x,y:b}=y;return{x,y:b}}},...a}=U(t,e),f={x:o,y:n},u=await s.detectOverflow(e,a),h=k(i),d=xt(h);let p=f[d],g=f[h];const w=(y,x)=>Nt(x+u[y==="y"?"top":"left"],x,x-u[y==="y"?"bottom":"right"]);r&&(p=w(d,p)),c&&(g=w(h,g));const m=l.fn({...e,[d]:p,[h]:g});return{...m,data:{x:m.x-o,y:m.y-n,enabled:{[d]:r,[h]:c}}}}}},te=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){const{placement:o,rects:n,platform:i,elements:s}=e,{apply:r=()=>{},...c}=U(t,e),l=await i.detectOverflow(e,c),a=_(o),f=Y(o),u=k(o)==="y",{width:h,height:d}=n.floating;let p,g;a==="top"||a==="bottom"?(p=a,g=f===(await(i.isRTL==null?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(g=a,p=f==="end"?"top":"bottom");const w=d-l.top-l.bottom,m=h-l.left-l.right,y=I(d-l[p],w),x=I(h-l[g],m),b=e.middlewareData.shift,C=!b;let v=y,P=x;b!=null&&b.enabled.x&&(P=m),b!=null&&b.enabled.y&&(v=w),C&&!f&&(u?P=h-2*S(l.left,l.right):v=d-2*S(l.top,l.bottom)),await r({...e,availableWidth:P,availableHeight:v});const T=await i.getDimensions(s.floating);return h!==T.width||d!==T.height?{reset:{rects:!0}}:{}}}};function nt(){return typeof window<"u"}function X(t){return Ot(t)?(t.nodeName||"").toLowerCase():"#document"}function R(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function D(t){var e;return(e=(Ot(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Ot(t){return nt()?t instanceof Node||t instanceof R(t).Node:!1}function L(t){return nt()?t instanceof Element||t instanceof R(t).Element:!1}function F(t){return nt()?t instanceof HTMLElement||t instanceof R(t).HTMLElement:!1}function Lt(t){return!nt()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof R(t).ShadowRoot}function ot(t){const{overflow:e,overflowX:o,overflowY:n,display:i}=E(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+o)&&i!=="inline"&&i!=="contents"}function ee(t){return/^(table|td|th)$/.test(X(t))}function it(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const ne=/transform|translate|scale|rotate|perspective|filter/,oe=/paint|layout|strict|content/,H=t=>!!t&&t!=="none";let ft;function ut(t){const e=L(t)?E(t):t;return H(e.transform)||H(e.translate)||H(e.scale)||H(e.rotate)||H(e.perspective)||!dt()&&(H(e.backdropFilter)||H(e.filter))||ne.test(e.willChange||"")||oe.test(e.contain||"")}function ie(t){let e=B(t);for(;F(e)&&!G(e);){if(ut(e))return e;if(it(e))return null;e=B(e)}return null}function dt(){return ft==null&&(ft=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),ft}function G(t){return/^(html|body|#document)$/.test(X(t))}function E(t){return R(t).getComputedStyle(t)}function st(t){return L(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function B(t){if(X(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Lt(t)&&t.host||D(t);return Lt(e)?e.host:e}function Et(t){const e=B(t);return G(e)?(t.ownerDocument||t).body:F(e)&&ot(e)?e:Et(e)}function J(t,e,o){var n;e===void 0&&(e=[]),o===void 0&&(o=!0);const i=Et(t),s=i===((n=t.ownerDocument)==null?void 0:n.body),r=R(i);if(s){const c=ht(r);return e.concat(r,r.visualViewport||[],ot(i)?i:[],c&&o?J(c):[])}else return e.concat(i,J(i,[],o))}function ht(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Tt(t){const e=E(t);let o=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const i=F(t),s=i?t.offsetWidth:o,r=i?t.offsetHeight:n,c=Q(o)!==s||Q(n)!==r;return c&&(o=s,n=r),{width:o,height:n,$:c}}function pt(t){return L(t)?t:t.contextElement}function j(t){const e=pt(t);if(!F(e))return $(1);const o=e.getBoundingClientRect(),{width:n,height:i,$:s}=Tt(e);let r=(s?Q(o.width):o.width)/n,c=(s?Q(o.height):o.height)/i;return(!r||!Number.isFinite(r))&&(r=1),(!c||!Number.isFinite(c))&&(c=1),{x:r,y:c}}const se=$(0);function St(t){const e=R(t);return!dt()||!e.visualViewport?se:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function re(t,e,o){return e===void 0&&(e=!1),!!o&&e&&o===R(t)}function z(t,e,o,n){e===void 0&&(e=!1),o===void 0&&(o=!1);const i=t.getBoundingClientRect(),s=pt(t);let r=$(1);e&&(n?L(n)&&(r=j(n)):r=j(t));const c=re(s,o,n)?St(s):$(0);let l=(i.left+c.x)/r.x,a=(i.top+c.y)/r.y,f=i.width/r.x,u=i.height/r.y;if(s&&n){const h=R(s),d=L(n)?R(n):n;let p=h,g=ht(p);for(;g&&d!==p;){const w=j(g),m=g.getBoundingClientRect(),y=E(g),x=m.left+(g.clientLeft+parseFloat(y.paddingLeft))*w.x,b=m.top+(g.clientTop+parseFloat(y.paddingTop))*w.y;l*=w.x,a*=w.y,f*=w.x,u*=w.y,l+=x,a+=b,p=R(g),g=ht(p)}}return et({width:f,height:u,x:l,y:a})}function rt(t,e){const o=st(t).scrollLeft;return e?e.left+o:z(D(t)).left+o}function $t(t,e){const o=t.getBoundingClientRect(),n=o.left+e.scrollLeft-rt(t,o),i=o.top+e.scrollTop;return{x:n,y:i}}function ce(t){let{elements:e,rect:o,offsetParent:n,strategy:i}=t;const s=i==="fixed",r=D(n),c=e?it(e.floating):!1;if(n===r||c&&s)return o;let l={scrollLeft:0,scrollTop:0},a=$(1);const f=$(0),u=F(n);if((u||!s)&&((X(n)!=="body"||ot(r))&&(l=st(n)),u)){const d=z(n);a=j(n),f.x=d.x+n.clientLeft,f.y=d.y+n.clientTop}const h=r&&!u&&!s?$t(r,l):$(0);return{width:o.width*a.x,height:o.height*a.y,x:o.x*a.x-l.scrollLeft*a.x+f.x+h.x,y:o.y*a.y-l.scrollTop*a.y+f.y+h.y}}function le(t){return t.getClientRects?Array.from(t.getClientRects()):[]}function ae(t){const e=st(t),o=t.ownerDocument.body,n=S(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),i=S(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let s=-e.scrollLeft+rt(t);const r=-e.scrollTop;return E(o).direction==="rtl"&&(s+=S(t.clientWidth,o.clientWidth)-n),{width:n,height:i,x:s,y:r}}const fe=25;function ue(t,e,o){o===void 0&&(o="viewport");const n=o==="layoutViewport",i=R(t),s=D(t),r=i.visualViewport;let c=s.clientWidth,l=s.clientHeight,a=0,f=0;if(r){const h=!dt()||e==="fixed";n?h||(a=-r.offsetLeft,f=-r.offsetTop):(c=r.width,l=r.height,h&&(a=r.offsetLeft,f=r.offsetTop))}if(rt(s)<=0){const h=s.ownerDocument,d=h.body,p=getComputedStyle(d),g=h.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,w=Math.abs(s.clientWidth-d.clientWidth-g),m=getComputedStyle(s).scrollbarGutter==="stable both-edges"?w/2:w;m<=fe&&(c-=m)}return{width:c,height:l,x:a,y:f}}function de(t,e){const o=z(t,!0,e==="fixed"),n=o.top+t.clientTop,i=o.left+t.clientLeft,s=j(t),r=t.clientWidth*s.x,c=t.clientHeight*s.y,l=i*s.x,a=n*s.y;return{width:r,height:c,x:l,y:a}}function kt(t,e,o){let n;if(e==="viewport"||e==="layoutViewport")n=ue(t,o,e);else if(e==="document")n=ae(D(t));else if(L(e))n=de(e,o);else{const i=St(t);n={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return et(n)}function he(t,e){const o=e.get(t);if(o)return o;let n=J(t,[],!1).filter(c=>L(c)&&X(c)!=="body"),i=null;const s=E(t).position==="fixed";let r=s?B(t):t;for(;L(r)&&!G(r);){const c=E(r),l=ut(r),a=i?i.position:s?"fixed":"";!l&&(a==="fixed"||a==="absolute"&&c.position==="static")?n=n.filter(u=>u!==r):i=c,r=B(r)}return e.set(t,n),n}function pe(t){let{element:e,boundary:o,rootBoundary:n,strategy:i}=t;const r=[...o==="clippingAncestors"?it(e)?[]:he(e,this._c):[].concat(o),n],c=kt(e,r[0],i);let l=c.top,a=c.right,f=c.bottom,u=c.left;for(let h=1;h<r.length;h++){const d=kt(e,r[h],i);l=S(d.top,l),a=I(d.right,a),f=I(d.bottom,f),u=S(d.left,u)}return{width:a-u,height:f-l,x:u,y:l}}function me(t){const{width:e,height:o}=Tt(t);return{width:e,height:o}}function ge(t,e,o){const n=F(e),i=D(e),s=o==="fixed",r=z(t,!0,s,e);let c={scrollLeft:0,scrollTop:0};const l=$(0);if((n||!s)&&((X(e)!=="body"||ot(i))&&(c=st(e)),n)){const h=z(e,!0,s,e);l.x=h.x+e.clientLeft,l.y=h.y+e.clientTop}!n&&i&&(l.x=rt(i));const a=i&&!n&&!s?$t(i,c):$(0),f=r.left+c.scrollLeft-l.x-a.x,u=r.top+c.scrollTop-l.y-a.y;return{x:f,y:u,width:r.width,height:r.height}}function mt(t){return E(t).position==="static"}function Dt(t,e){if(!F(t)||E(t).position==="fixed")return null;if(e)return e(t);let o=t.offsetParent;return D(t)===o&&(o=o.ownerDocument.body),o}function Pt(t,e){const o=R(t);if(it(t))return o;if(!F(t)){let i=B(t);for(;i&&!G(i);){if(L(i)&&!mt(i))return i;i=B(i)}return o}let n=Dt(t,e);for(;n&&ee(n)&&mt(n);)n=Dt(n,e);return n&&G(n)&&mt(n)&&!ut(n)?o:n||ie(t)||o}const we=async function(t){const e=this.getOffsetParent||Pt,o=this.getDimensions,n=await o(t.floating);return{reference:ge(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function ye(t){return E(t).direction==="rtl"}const xe={convertOffsetParentRelativeRectToViewportRelativeRect:ce,getDocumentElement:D,getClippingRect:pe,getOffsetParent:Pt,getElementRects:we,getClientRects:le,getDimensions:me,getScale:j,isElement:L,isRTL:ye};function Mt(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function be(t,e,o){let n=null,i;const s=D(t);function r(){var f;clearTimeout(i),(f=n)==null||f.disconnect(),n=null}function c(f,u){f===void 0&&(f=!1),u===void 0&&(u=1),r();const h=t.getBoundingClientRect(),{left:d,top:p,width:g,height:w}=h;if(f||e(),!g||!w)return;const m=Z(p),y=Z(s.clientWidth-(d+g)),x=Z(s.clientHeight-(p+w)),b=Z(d),v={rootMargin:-m+"px "+-y+"px "+-x+"px "+-b+"px",threshold:S(0,I(1,u))||1};let P=!0;function T(W){const O=W[0].intersectionRatio;if(!Mt(h,t.getBoundingClientRect()))return c();if(O!==u){if(!P)return c();O?c(!1,O):i=setTimeout(()=>{c(!1,1e-7)},1e3)}P=!1}try{n=new IntersectionObserver(T,{...v,root:s.ownerDocument})}catch{n=new IntersectionObserver(T,v)}n.observe(t)}const l=R(t),a=()=>c(o);return l.addEventListener("resize",a),c(!0),()=>{l.removeEventListener("resize",a),r()}}function ve(t,e,o,n){n===void 0&&(n={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,a=pt(t),f=i||s?[...a?J(a):[],...e?J(e):[]]:[];f.forEach(m=>{i&&m.addEventListener("scroll",o),s&&m.addEventListener("resize",o)});const u=a&&c?be(a,o,s):null;let h=-1,d=null;r&&(d=new ResizeObserver(m=>{let[y]=m;y&&y.target===a&&d&&e&&(d.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var x;(x=d)==null||x.observe(e)})),o()}),a&&!l&&d.observe(a),e&&d.observe(e));let p,g=l?z(t):null;l&&w();function w(){const m=z(t);g&&!Mt(g,m)&&o(),g=m,p=requestAnimationFrame(w)}return o(),()=>{var m;f.forEach(y=>{i&&y.removeEventListener("scroll",o),s&&y.removeEventListener("resize",o)}),u?.(),(m=d)==null||m.disconnect(),d=null,l&&cancelAnimationFrame(p)}}const Re=Qt,Ce=Zt,Ae=Yt,Oe=te,Le=(t,e,o)=>{const n=new Map,i=o??{},s={...xe,...i.platform,_c:n};return Ut(t,e,{...i,platform:s})},Ee=(t,e)=>({top:e,bottom:e,right:t}),Te=(t,e,o,n={})=>{if(typeof t.showPopover!="function")return()=>{};try{t.showPopover()}catch{return()=>{}}let i=!0,s=0;const r=e instanceof Element?e:{getBoundingClientRect:()=>({x:e.right,y:e.top,left:e.right,right:e.right,top:e.top,bottom:e.bottom,width:0,height:e.bottom-e.top})};t.style.width=`${o.width}px`,t.style.maxHeight=`${o.height}px`;const l=ve(r,t,()=>{const a=++s;Le(r,t,{strategy:"fixed",placement:n.placement??"bottom-end",middleware:[Re(8),Ae({padding:8,fallbackAxisSideDirection:"end"}),Ce({padding:8}),Oe({padding:8,apply:({availableWidth:f,availableHeight:u})=>{!i||a!==s||(t.style.width=`${Math.max(0,Math.min(o.width,f))}px`,t.style.maxHeight=`${Math.max(0,Math.min(o.height,u))}px`)}})]}).then(({x:f,y:u})=>{!i||a!==s||!t.isConnected||(t.style.left=`${f}px`,t.style.top=`${u}px`)}).catch(()=>{})},{animationFrame:n.trackTransform??!1,elementResize:typeof ResizeObserver<"u",layoutShift:typeof IntersectionObserver<"u"});return()=>{i=!1,l()}};class Se{#e;#t=new Map;constructor(e){this.#e=e,e.addController(this)}hostConnected(){this.#e.requestUpdate()}hostUpdated(){for(const[e,o]of this.#t)e.isConnected||(o(),this.#t.delete(e))}hostDisconnected(){for(const e of this.#t.values())e();this.#t.clear()}open(e,o,n,i){this.#t.get(e)?.(),this.#t.set(e,Te(e,o,n,i))}}const $e=(t,e,o={})=>({body:t,notes:e,submission:t.trim()||null,label:o.label??null,error:o.error??null}),ke=(t,e)=>{const o=()=>{t.submission!==null&&e({kind:"comment",body:t.submission})};return K`<div
2
2
  class="comment-pop"
3
3
  popover="manual"
4
4
  role="dialog"
@@ -1,4 +1,4 @@
1
- import{a7 as ae,a8 as F,a9 as et,aa as nt,ar as N,ab as b,as as R,ac as W,ad as S,ae as I,q as $,al as T,v as ot,aq as ft,P as de,f as ce,V as U,R as w,$ as gt,a4 as le,k as pe,_ as xt,a0 as M,a1 as v,A as he,K as me,i as ue,at as fe,a3 as B,a2 as bt,au as ge,T as vt,m as C}from"./shared-RRxRtPfs.js";import{P as kt,r as xe,p as be,a as ve}from"./shared-C8LUysSF.js";import{o as ke}from"./shared-BAfKXeYg.js";import{c as Et}from"./shared-ml5h7U5L.js";function Ee(e,t){let n=0;for(let i=0;i<e.length;i++)n+=t(e[i],i);return n}const j=["actor","command","aggregate","event","policy","readmodel","external","hotspot"],ye=F({id:R,name:S(b(),I(1)),description:N(b())}),we=F({id:R,type:W(j),name:S(b(),I(1)),description:N(b()),contextId:N(b())}),$e=F({id:R,from:S(b(),I(1)),to:S(b(),I(1)),label:N(b()),kind:N(W(["member","flow"]))}),yt=F({title:N(b()),contexts:et(nt(ye),[]),elements:et(nt(we),[]),links:et(nt($e),[])}),wt=e=>{const t=ae(yt,e),n=new Set(t.elements.map(o=>o.id)),i=new Set(t.contexts.map(o=>o.id));for(const o of t.elements)if(o.contextId!==void 0&&!i.has(o.contextId))throw new Error(`unknown context "${o.contextId}" for note "${o.id}"`);for(const o of t.links){if(!n.has(o.from))throw new Error(`unknown note "${o.from}" in link "${o.id}"`);if(!n.has(o.to))throw new Error(`unknown note "${o.to}" in link "${o.id}"`)}return t},$t=()=>({contexts:[],elements:[],links:[]}),z=(e,t)=>{if(t!==void 0)return e.elements.find(n=>n.id===t)},Y=(e,t)=>{if(t!==void 0)return e.contexts.find(n=>n.id===t)},it=(e,t)=>{if(t!==void 0)return e.links.find(n=>n.id===t)},H=e=>e.elements.map(t=>t.id),y={SET_ELEMENT_NAME:$("SET_ELEMENT_NAME","element",T({name:S(b(),I(1))})),SET_ELEMENT_DESCRIPTION:$("SET_ELEMENT_DESCRIPTION","element",T({description:b()})),SET_ELEMENT_TYPE:$("SET_ELEMENT_TYPE","element",T({type:W(j)})),SET_ELEMENT_CONTEXT:$("SET_ELEMENT_CONTEXT","element",T({contextId:ft(b())})),MOVE_ELEMENT:$("MOVE_ELEMENT","element",T({after:ft(b())}),{mode:"sequence"}),ADD_ELEMENT:$("ADD_ELEMENT","page",T({id:R,type:W(j),name:S(b(),I(1)),description:N(b()),contextId:N(b())}),{dedupeKey:ot}),DELETE_ELEMENT:$("DELETE_ELEMENT","element",T({})),LINK_ELEMENTS:$("LINK_ELEMENTS","page",T({id:R,from:S(b(),I(1)),to:S(b(),I(1)),label:N(b()),kind:N(W(["member","flow"]))}),{dedupeKey:ot}),SET_LINK_LABEL:$("SET_LINK_LABEL","link",T({label:b()})),UNLINK_ELEMENTS:$("UNLINK_ELEMENTS","page",T({from:S(b(),I(1)),to:S(b(),I(1))}),{mode:"sequence"}),ADD_CONTEXT:$("ADD_CONTEXT","page",T({id:R,name:S(b(),I(1)),description:N(b())}),{dedupeKey:ot}),SET_CONTEXT_NAME:$("SET_CONTEXT_NAME","context",T({name:S(b(),I(1))})),DELETE_CONTEXT:$("DELETE_CONTEXT","context",T({}))},E={setElementName:(e,t)=>({type:"SET_ELEMENT_NAME",target:{type:"element",id:e},payload:{name:t}}),setElementDescription:(e,t)=>({type:"SET_ELEMENT_DESCRIPTION",target:{type:"element",id:e},payload:{description:t}}),setElementType:(e,t)=>({type:"SET_ELEMENT_TYPE",target:{type:"element",id:e},payload:{type:t}}),setElementContext:(e,t)=>({type:"SET_ELEMENT_CONTEXT",target:{type:"element",id:e},payload:{contextId:t}}),moveElement:(e,t)=>({type:"MOVE_ELEMENT",target:{type:"element",id:e},payload:{after:t}}),addElement:(e,t,n)=>({type:"ADD_ELEMENT",target:{type:"page",id:"event-storming"},payload:{id:e,type:t,name:n}}),deleteElement:e=>({type:"DELETE_ELEMENT",target:{type:"element",id:e},payload:{}}),linkElements:(e,t,n,i)=>({type:"LINK_ELEMENTS",target:{type:"page",id:"event-storming"},payload:{id:e,from:t,to:n,...i?.label===void 0?{}:{label:i.label},...i?.kind===void 0?{}:{kind:i.kind}}}),setLinkLabel:(e,t)=>({type:"SET_LINK_LABEL",target:{type:"link",id:e},payload:{label:t}}),unlinkElements:(e,t)=>({type:"UNLINK_ELEMENTS",target:{type:"page",id:"event-storming"},payload:{from:e,to:t}}),addContext:(e,t)=>({type:"ADD_CONTEXT",target:{type:"page",id:"event-storming"},payload:{id:e,name:t}}),setContextName:(e,t)=>({type:"SET_CONTEXT_NAME",target:{type:"context",id:e},payload:{name:t}}),deleteContext:e=>({type:"DELETE_CONTEXT",target:{type:"context",id:e},payload:{}})},Tt=(e,t)=>{const n=de(y,t);if(n===null)return null;const i=n.target.id;switch(n.type){case"SET_ELEMENT_NAME":return G(e,i,o=>({...o,name:n.payload.name}));case"SET_ELEMENT_DESCRIPTION":return G(e,i,o=>({...o,description:n.payload.description}));case"SET_ELEMENT_TYPE":return G(e,i,o=>({...o,type:n.payload.type}));case"SET_ELEMENT_CONTEXT":{const{contextId:o}=n.payload;return o!==null&&!e.contexts.some(s=>s.id===o)?null:G(e,i,s=>o===null?St(s):{...s,contextId:o})}case"MOVE_ELEMENT":{const{after:o}=n.payload,s=Te(e.elements,i,o);return s===null?null:{...e,elements:s}}case"ADD_ELEMENT":{const o=n.payload;if(e.elements.some(r=>r.id===o.id))return e;if(o.contextId!==void 0&&!e.contexts.some(r=>r.id===o.contextId))return null;const s={id:o.id,type:o.type,name:o.name,...o.description===void 0?{}:{description:o.description},...o.contextId===void 0?{}:{contextId:o.contextId}};return{...e,elements:[...e.elements,s]}}case"DELETE_ELEMENT":return e.elements.some(o=>o.id===i)?{...e,elements:e.elements.filter(o=>o.id!==i),links:e.links.filter(o=>o.from!==i&&o.to!==i)}:null;case"LINK_ELEMENTS":{const o=n.payload;return e.links.some(s=>s.id===o.id)?e:!e.elements.some(s=>s.id===o.from)||!e.elements.some(s=>s.id===o.to)?null:{...e,links:[...e.links,{id:o.id,from:o.from,to:o.to,...o.label===void 0?{}:{label:o.label},...o.kind===void 0?{}:{kind:o.kind}}]}}case"SET_LINK_LABEL":return e.links.some(o=>o.id===i)?{...e,links:e.links.map(o=>o.id===i?{...o,label:n.payload.label}:o)}:null;case"UNLINK_ELEMENTS":{const o=n.payload;return e.links.some(s=>s.from===o.from&&s.to===o.to)?{...e,links:e.links.filter(s=>!(s.from===o.from&&s.to===o.to))}:null}case"ADD_CONTEXT":{const o=n.payload;if(e.contexts.some(r=>r.id===o.id))return e;const s={id:o.id,name:o.name,...o.description===void 0?{}:{description:o.description}};return{...e,contexts:[...e.contexts,s]}}case"SET_CONTEXT_NAME":return e.contexts.some(o=>o.id===i)?{...e,contexts:e.contexts.map(o=>o.id===i?{...o,name:n.payload.name}:o)}:null;case"DELETE_CONTEXT":return e.contexts.some(o=>o.id===i)?{...e,contexts:e.contexts.filter(o=>o.id!==i),elements:e.elements.map(o=>o.contextId===i?St(o):o)}:null;default:return ce(n)}},St=e=>{const t={...e};return delete t.contextId,t},G=(e,t,n)=>e.elements.some(i=>i.id===t)?{...e,elements:e.elements.map(i=>i.id===t?n(i):i)}:null,Te=(e,t,n)=>{const i=e.findIndex(a=>a.id===t);if(i<0||n!==null&&!e.some(a=>a.id===n))return null;const o=e[i];if(o===void 0)return null;const r=[...e.filter(a=>a.id!==t)];return r.splice(n===null?0:r.findIndex(a=>a.id===n)+1,0,o),r},Se=new Set(["actor>command","command>aggregate","aggregate>event","command>event","policy>command","external>event"]),Z=(e,t)=>Se.has(`${e}>${t}`),Ie=(e,t,n)=>e.kind!==void 0?e.kind==="member":Z(t,n),Me=["readmodel","actor","policy","command","aggregate","external","event","hotspot"],_e=(e,t)=>{const n=new Map;for(const i of e.links){const o=t.get(i.from),s=t.get(i.to);if(o===void 0||s===void 0||o==="hotspot"==(s==="hotspot")||i.kind!==void 0&&i.kind!=="member")continue;const r=o==="hotspot"?i.from:i.to;n.has(r)||n.set(r,o==="hotspot"?i.to:i.from)}return n},Ne=(e,t,n)=>{const i=new Map(e.map(a=>[a.id,a.id])),o=a=>{let c=a;for(;i.get(c)!==c;)c=i.get(c)??c;let d=a;for(;d!==c;){const p=i.get(d)??c;i.set(d,c),d=p}return c};for(const a of t){if(!i.has(a.from)||!i.has(a.to))continue;const c=n.get(a.from),d=n.get(a.to);c===void 0||d===void 0||Ie(a,c,d)&&i.set(o(a.from),o(a.to))}const s=new Map,r=new Map;for(const a of e){const c=o(a.id);r.set(a.id,c);const d=s.get(c);d?d.push(a):s.set(c,[a])}return{groups:s,rootOf:r}},A=e=>{const t=new Map(e.elements.map(d=>[d.id,d.type])),n=_e(e,t),i=e.elements.filter(d=>!n.has(d.id)),{groups:o,rootOf:s}=Ne(i,e.links,t),r=new Map;for(const[d,p]of n){const m=z(e,d),f=s.get(p);if(m===void 0||f===void 0)continue;const l=r.get(f);l?l.push({note:m,targetId:p}):r.set(f,[{note:m,targetId:p}])}const a=new Map(Me.map((d,p)=>[d,p])),c=new Map(e.elements.map((d,p)=>[d.id,p]));return[...o].map(([d,p])=>{const m=[...p].sort((f,l)=>(a.get(f.type)??0)-(a.get(l.type)??0)||(c.get(f.id)??0)-(c.get(l.id)??0));return{id:p[0]?.id??"",notes:m,pins:r.get(d)??[],contextId:p.find(f=>f.contextId!==void 0)?.contextId}})},Le=e=>{const t=A(e).flatMap(i=>[...i.notes,...i.pins.map(o=>o.note)]),n=new Set(t.map(i=>i.id));return{...e,elements:[...t,...e.elements.filter(i=>!n.has(i.id))]}},It=(e,t)=>{const n=[...e.notes,...e.pins.map(r=>r.note)],i=n.find(r=>Z(t,r.type));if(i!==void 0)return{anchorId:i.id,incoming:!0};const o=n.find(r=>Z(r.type,t));if(o!==void 0)return{anchorId:o.id,incoming:!1};const s=n[0];return s===void 0?void 0:{anchorId:s.id,incoming:!0}},Mt=(e,t)=>{const n=new Map(t.flatMap(i=>i.notes.map(o=>[o.id,i.id])));return e.links.flatMap(i=>{const o=n.get(i.from),s=n.get(i.to);return o===void 0||s===void 0||o===s?[]:[{id:i.id,from:o,to:s,...i.label!==void 0?{label:i.label}:{}}]})},st=(e,t)=>`${e}\0${t}`,_t=(e,t,n)=>{const{widthOf:i,gapX:o,padX:s,maxWidth:r}=n,a=new Map;for(const h of t)a.set(st(h.from,h.to),h),a.set(st(h.to,h.from),h);const c=(h,g)=>h===void 0||g===void 0?void 0:a.get(st(h,g)),d=h=>Ee(h,g=>i(g))+o*Math.max(0,h.length-1)+s*2<=r,p=[];let m=[],f;const l=()=>{m.length!==0&&(p.push({sliceIds:m,...f===void 0?{}:{cutFrom:f}}),m=[],f=void 0)};for(const h of e.map(g=>g.id)){if(m.length>0&&!d([...m,h])){let g=m.length;for(;c(m[g-1],g===m.length?h:m[g])!==void 0&&(g-=1,g!==0););const x=g===0?[]:m.splice(g),k=g===0?c(m.at(-1),h):c(m.at(-1),x[0]);l(),m=x,f=k}m.push(h)}return l(),p},V=e=>[...e.notes].reverse().find(t=>t.type==="event")??e.notes.at(-1),Nt=(e,t)=>{const n=V(e),i=t.notes[0];if(!(n===void 0||i===void 0))return{from:n.id,to:i.id}},Oe={SET_ELEMENT_NAME:(e,t)=>({title:"\u8981\u7D20\u540D\u3092\u5909\u66F4",tone:"update",body:`"${z(t,e.target.id)?.name??"?"}\u201C \u2192 "${w(y.SET_ELEMENT_NAME,e).name}"`}),SET_ELEMENT_DESCRIPTION:e=>({title:"\u8981\u7D20\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 "${w(y.SET_ELEMENT_DESCRIPTION,e).description.slice(0,60)}"`}),SET_ELEMENT_TYPE:e=>({title:"\u8981\u7D20\u306E\u7A2E\u5225\u3092\u5909\u66F4",tone:"update",body:`\u2192 ${w(y.SET_ELEMENT_TYPE,e).type}`}),SET_ELEMENT_CONTEXT:e=>({title:"\u6240\u5C5E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u5909\u66F4",tone:"move",body:`\u2192 ${w(y.SET_ELEMENT_CONTEXT,e).contextId??"\u672A\u6240\u5C5E"}`}),MOVE_ELEMENT:e=>({title:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u4F4D\u7F6E\u3092\u5909\u66F4",tone:"move",body:w(y.MOVE_ELEMENT,e).after===null?"\u2192 \u5148\u982D\u3078":`\u2192 "${w(y.MOVE_ELEMENT,e).after}" \u306E\u76F4\u5F8C\u3078`}),ADD_ELEMENT:e=>({title:"\u8981\u7D20\u3092\u8FFD\u52A0",tone:"create",body:`+ "${w(y.ADD_ELEMENT,e).name}"`}),DELETE_ELEMENT:(e,t)=>({title:"\u8981\u7D20\u3092\u524A\u9664",tone:"delete",body:`\u2212 "${z(t,e.target.id)?.name??e.target.id}"`}),LINK_ELEMENTS:e=>({title:"\u8981\u7D20\u3092\u9023\u7D50",tone:"create",body:`${w(y.LINK_ELEMENTS,e).from} \u2192 ${w(y.LINK_ELEMENTS,e).to}`}),SET_LINK_LABEL:e=>({title:"\u30EA\u30F3\u30AF\u540D\u3092\u5909\u66F4",tone:"update",body:`\u2192 "${w(y.SET_LINK_LABEL,e).label}"`}),UNLINK_ELEMENTS:e=>({title:"\u30EA\u30F3\u30AF\u3092\u524A\u9664",tone:"delete",body:`${w(y.UNLINK_ELEMENTS,e).from} \u2192 ${w(y.UNLINK_ELEMENTS,e).to}`}),ADD_CONTEXT:e=>({title:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8FFD\u52A0",tone:"create",body:`+ "${w(y.ADD_CONTEXT,e).name}"`}),SET_CONTEXT_NAME:e=>({title:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u540D\u3092\u5909\u66F4",tone:"update",body:`\u2192 "${w(y.SET_CONTEXT_NAME,e).name}"`}),DELETE_CONTEXT:(e,t)=>({title:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u524A\u9664",tone:"delete",body:`\u2212 "${Y(t,e.target.id)?.name??e.target.id}"`})},Lt=(e,t,n)=>{const i=Oe[e.type],s=i?i(e,n??t):{title:e.type,tone:"meta"};return{title:s.title,targetLabel:Ct(t,e.target),tone:s.tone,...s.body===void 0?{}:{summary:s.body}}},Ot=e=>`${e.type} ${U(e.target)} ${JSON.stringify(e.payload)}`,Ct=(e,t)=>{switch(t.type){case"element":{const n=z(e,t.id);return n?`\u8981\u7D20 \xB7 ${n.name}`:`\u8981\u7D20 \xB7 ${t.id} (missing)`}case"context":{const n=Y(e,t.id);return n?`\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \xB7 ${n.name}`:`\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \xB7 ${t.id} (missing)`}case"link":{const n=it(e,t.id);return n?`\u30EA\u30F3\u30AF \xB7 ${n.from}\u2192${n.to}`:`\u30EA\u30F3\u30AF \xB7 ${t.id} (missing)`}case"page":return`\u30DA\u30FC\u30B8 \xB7 ${rt(e)}`;default:return`${t.type} \xB7 ${t.id}`}},Pt=e=>[...e.elements.map(t=>({value:U({type:"element",id:t.id}),label:t.name,group:"\u8981\u7D20"})),...e.contexts.map(t=>({value:U({type:"context",id:t.id}),label:t.name,group:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8"}))],Ce=(e,t)=>{const n=e.elements.find(i=>i.id===t.note);return n?{value:U({type:"element",id:n.id}),label:n.name,group:"\u8981\u7D20"}:null},rt=e=>e.title??"Event Storming",zt=(e,t)=>{const n={...t},i=z(e,t.note);t.note!==void 0&&!i&&delete n.note;const o=Y(e,t.context);return t.context!==void 0&&!o&&delete n.context,n},At=(e,t)=>{switch(t.type){case"element":return z(e,t.id)!==void 0;case"context":return Y(e,t.id)!==void 0;case"link":return it(e,t.id)!==void 0;case"page":return!0;default:return!1}},Dt={name:"event-storming",label:"Event Storming",parseBase:wt,emptyBase:$t,actions:y,apply:Tt,canonicalState:Le,hasTarget:At,describe:Lt,serialize:Ot,resolveNavigation:zt,commentTargets:(e,t)=>Pt(e),currentTarget:(e,t)=>Ce(e,t),title:rt},Pe={width:300,height:260},D={actor:"\u30A2\u30AF\u30BF\u30FC",command:"\u30B3\u30DE\u30F3\u30C9",aggregate:"\u96C6\u7D04",event:"\u30A4\u30D9\u30F3\u30C8",policy:"\u30DD\u30EA\u30B7\u30FC",readmodel:"\u30EA\u30FC\u30C9\u30E2\u30C7\u30EB",external:"\u5916\u90E8\u30B7\u30B9\u30C6\u30E0",hotspot:"\u30DB\u30C3\u30C8\u30B9\u30DD\u30C3\u30C8"},ze={event:{bg:"linear-gradient(178deg, #ffbc55, #f8a52e)",ink:"#402703"},command:{bg:"linear-gradient(178deg, #93c9f2, #74b4e8)",ink:"#0e2c4b"},aggregate:{bg:"linear-gradient(178deg, #fff3a6, #fdea7e)",ink:"#4a3a06"},actor:{bg:"linear-gradient(178deg, #ffdf63, #fdd23e)",ink:"#423204"},policy:{bg:"linear-gradient(178deg, #dcc2f7, #c9a6f0)",ink:"#32195c"},readmodel:{bg:"linear-gradient(178deg, #c0e788, #a8dc63)",ink:"#22380a"},external:{bg:"linear-gradient(178deg, #f9bcd3, #f4a0c0)",ink:"#4b1029"},hotspot:{bg:"linear-gradient(178deg, #d63550, #b81c33)",ink:"#ffffff"}},at=e=>{const{bg:t,ink:n}=ze[e];return`--es-note-bg:${t};--es-note-ink:${n}`},Ae=gt`
1
+ import{a7 as ae,a8 as F,a9 as et,aa as nt,ar as N,ab as b,as as R,ac as W,ad as S,ae as I,q as $,al as T,v as ot,aq as ft,P as de,f as ce,V as U,R as w,$ as gt,a4 as le,k as pe,_ as xt,a0 as M,a1 as v,A as he,K as me,i as ue,at as fe,a3 as B,a2 as bt,au as ge,T as vt,m as C}from"./shared-z875TnWr.js";import{P as kt,r as xe,p as be,a as ve}from"./shared-CmlaxilP.js";import{o as ke}from"./shared-2miVckpm.js";import{c as Et}from"./shared-ml5h7U5L.js";function Ee(e,t){let n=0;for(let i=0;i<e.length;i++)n+=t(e[i],i);return n}const j=["actor","command","aggregate","event","policy","readmodel","external","hotspot"],ye=F({id:R,name:S(b(),I(1)),description:N(b())}),we=F({id:R,type:W(j),name:S(b(),I(1)),description:N(b()),contextId:N(b())}),$e=F({id:R,from:S(b(),I(1)),to:S(b(),I(1)),label:N(b()),kind:N(W(["member","flow"]))}),yt=F({title:N(b()),contexts:et(nt(ye),[]),elements:et(nt(we),[]),links:et(nt($e),[])}),wt=e=>{const t=ae(yt,e),n=new Set(t.elements.map(o=>o.id)),i=new Set(t.contexts.map(o=>o.id));for(const o of t.elements)if(o.contextId!==void 0&&!i.has(o.contextId))throw new Error(`unknown context "${o.contextId}" for note "${o.id}"`);for(const o of t.links){if(!n.has(o.from))throw new Error(`unknown note "${o.from}" in link "${o.id}"`);if(!n.has(o.to))throw new Error(`unknown note "${o.to}" in link "${o.id}"`)}return t},$t=()=>({contexts:[],elements:[],links:[]}),z=(e,t)=>{if(t!==void 0)return e.elements.find(n=>n.id===t)},Y=(e,t)=>{if(t!==void 0)return e.contexts.find(n=>n.id===t)},it=(e,t)=>{if(t!==void 0)return e.links.find(n=>n.id===t)},H=e=>e.elements.map(t=>t.id),y={SET_ELEMENT_NAME:$("SET_ELEMENT_NAME","element",T({name:S(b(),I(1))})),SET_ELEMENT_DESCRIPTION:$("SET_ELEMENT_DESCRIPTION","element",T({description:b()})),SET_ELEMENT_TYPE:$("SET_ELEMENT_TYPE","element",T({type:W(j)})),SET_ELEMENT_CONTEXT:$("SET_ELEMENT_CONTEXT","element",T({contextId:ft(b())})),MOVE_ELEMENT:$("MOVE_ELEMENT","element",T({after:ft(b())}),{mode:"sequence"}),ADD_ELEMENT:$("ADD_ELEMENT","page",T({id:R,type:W(j),name:S(b(),I(1)),description:N(b()),contextId:N(b())}),{dedupeKey:ot}),DELETE_ELEMENT:$("DELETE_ELEMENT","element",T({})),LINK_ELEMENTS:$("LINK_ELEMENTS","page",T({id:R,from:S(b(),I(1)),to:S(b(),I(1)),label:N(b()),kind:N(W(["member","flow"]))}),{dedupeKey:ot}),SET_LINK_LABEL:$("SET_LINK_LABEL","link",T({label:b()})),UNLINK_ELEMENTS:$("UNLINK_ELEMENTS","page",T({from:S(b(),I(1)),to:S(b(),I(1))}),{mode:"sequence"}),ADD_CONTEXT:$("ADD_CONTEXT","page",T({id:R,name:S(b(),I(1)),description:N(b())}),{dedupeKey:ot}),SET_CONTEXT_NAME:$("SET_CONTEXT_NAME","context",T({name:S(b(),I(1))})),DELETE_CONTEXT:$("DELETE_CONTEXT","context",T({}))},E={setElementName:(e,t)=>({type:"SET_ELEMENT_NAME",target:{type:"element",id:e},payload:{name:t}}),setElementDescription:(e,t)=>({type:"SET_ELEMENT_DESCRIPTION",target:{type:"element",id:e},payload:{description:t}}),setElementType:(e,t)=>({type:"SET_ELEMENT_TYPE",target:{type:"element",id:e},payload:{type:t}}),setElementContext:(e,t)=>({type:"SET_ELEMENT_CONTEXT",target:{type:"element",id:e},payload:{contextId:t}}),moveElement:(e,t)=>({type:"MOVE_ELEMENT",target:{type:"element",id:e},payload:{after:t}}),addElement:(e,t,n)=>({type:"ADD_ELEMENT",target:{type:"page",id:"event-storming"},payload:{id:e,type:t,name:n}}),deleteElement:e=>({type:"DELETE_ELEMENT",target:{type:"element",id:e},payload:{}}),linkElements:(e,t,n,i)=>({type:"LINK_ELEMENTS",target:{type:"page",id:"event-storming"},payload:{id:e,from:t,to:n,...i?.label===void 0?{}:{label:i.label},...i?.kind===void 0?{}:{kind:i.kind}}}),setLinkLabel:(e,t)=>({type:"SET_LINK_LABEL",target:{type:"link",id:e},payload:{label:t}}),unlinkElements:(e,t)=>({type:"UNLINK_ELEMENTS",target:{type:"page",id:"event-storming"},payload:{from:e,to:t}}),addContext:(e,t)=>({type:"ADD_CONTEXT",target:{type:"page",id:"event-storming"},payload:{id:e,name:t}}),setContextName:(e,t)=>({type:"SET_CONTEXT_NAME",target:{type:"context",id:e},payload:{name:t}}),deleteContext:e=>({type:"DELETE_CONTEXT",target:{type:"context",id:e},payload:{}})},Tt=(e,t)=>{const n=de(y,t);if(n===null)return null;const i=n.target.id;switch(n.type){case"SET_ELEMENT_NAME":return G(e,i,o=>({...o,name:n.payload.name}));case"SET_ELEMENT_DESCRIPTION":return G(e,i,o=>({...o,description:n.payload.description}));case"SET_ELEMENT_TYPE":return G(e,i,o=>({...o,type:n.payload.type}));case"SET_ELEMENT_CONTEXT":{const{contextId:o}=n.payload;return o!==null&&!e.contexts.some(s=>s.id===o)?null:G(e,i,s=>o===null?St(s):{...s,contextId:o})}case"MOVE_ELEMENT":{const{after:o}=n.payload,s=Te(e.elements,i,o);return s===null?null:{...e,elements:s}}case"ADD_ELEMENT":{const o=n.payload;if(e.elements.some(r=>r.id===o.id))return e;if(o.contextId!==void 0&&!e.contexts.some(r=>r.id===o.contextId))return null;const s={id:o.id,type:o.type,name:o.name,...o.description===void 0?{}:{description:o.description},...o.contextId===void 0?{}:{contextId:o.contextId}};return{...e,elements:[...e.elements,s]}}case"DELETE_ELEMENT":return e.elements.some(o=>o.id===i)?{...e,elements:e.elements.filter(o=>o.id!==i),links:e.links.filter(o=>o.from!==i&&o.to!==i)}:null;case"LINK_ELEMENTS":{const o=n.payload;return e.links.some(s=>s.id===o.id)?e:!e.elements.some(s=>s.id===o.from)||!e.elements.some(s=>s.id===o.to)?null:{...e,links:[...e.links,{id:o.id,from:o.from,to:o.to,...o.label===void 0?{}:{label:o.label},...o.kind===void 0?{}:{kind:o.kind}}]}}case"SET_LINK_LABEL":return e.links.some(o=>o.id===i)?{...e,links:e.links.map(o=>o.id===i?{...o,label:n.payload.label}:o)}:null;case"UNLINK_ELEMENTS":{const o=n.payload;return e.links.some(s=>s.from===o.from&&s.to===o.to)?{...e,links:e.links.filter(s=>!(s.from===o.from&&s.to===o.to))}:null}case"ADD_CONTEXT":{const o=n.payload;if(e.contexts.some(r=>r.id===o.id))return e;const s={id:o.id,name:o.name,...o.description===void 0?{}:{description:o.description}};return{...e,contexts:[...e.contexts,s]}}case"SET_CONTEXT_NAME":return e.contexts.some(o=>o.id===i)?{...e,contexts:e.contexts.map(o=>o.id===i?{...o,name:n.payload.name}:o)}:null;case"DELETE_CONTEXT":return e.contexts.some(o=>o.id===i)?{...e,contexts:e.contexts.filter(o=>o.id!==i),elements:e.elements.map(o=>o.contextId===i?St(o):o)}:null;default:return ce(n)}},St=e=>{const t={...e};return delete t.contextId,t},G=(e,t,n)=>e.elements.some(i=>i.id===t)?{...e,elements:e.elements.map(i=>i.id===t?n(i):i)}:null,Te=(e,t,n)=>{const i=e.findIndex(a=>a.id===t);if(i<0||n!==null&&!e.some(a=>a.id===n))return null;const o=e[i];if(o===void 0)return null;const r=[...e.filter(a=>a.id!==t)];return r.splice(n===null?0:r.findIndex(a=>a.id===n)+1,0,o),r},Se=new Set(["actor>command","command>aggregate","aggregate>event","command>event","policy>command","external>event"]),Z=(e,t)=>Se.has(`${e}>${t}`),Ie=(e,t,n)=>e.kind!==void 0?e.kind==="member":Z(t,n),Me=["readmodel","actor","policy","command","aggregate","external","event","hotspot"],_e=(e,t)=>{const n=new Map;for(const i of e.links){const o=t.get(i.from),s=t.get(i.to);if(o===void 0||s===void 0||o==="hotspot"==(s==="hotspot")||i.kind!==void 0&&i.kind!=="member")continue;const r=o==="hotspot"?i.from:i.to;n.has(r)||n.set(r,o==="hotspot"?i.to:i.from)}return n},Ne=(e,t,n)=>{const i=new Map(e.map(a=>[a.id,a.id])),o=a=>{let c=a;for(;i.get(c)!==c;)c=i.get(c)??c;let d=a;for(;d!==c;){const p=i.get(d)??c;i.set(d,c),d=p}return c};for(const a of t){if(!i.has(a.from)||!i.has(a.to))continue;const c=n.get(a.from),d=n.get(a.to);c===void 0||d===void 0||Ie(a,c,d)&&i.set(o(a.from),o(a.to))}const s=new Map,r=new Map;for(const a of e){const c=o(a.id);r.set(a.id,c);const d=s.get(c);d?d.push(a):s.set(c,[a])}return{groups:s,rootOf:r}},A=e=>{const t=new Map(e.elements.map(d=>[d.id,d.type])),n=_e(e,t),i=e.elements.filter(d=>!n.has(d.id)),{groups:o,rootOf:s}=Ne(i,e.links,t),r=new Map;for(const[d,p]of n){const m=z(e,d),f=s.get(p);if(m===void 0||f===void 0)continue;const l=r.get(f);l?l.push({note:m,targetId:p}):r.set(f,[{note:m,targetId:p}])}const a=new Map(Me.map((d,p)=>[d,p])),c=new Map(e.elements.map((d,p)=>[d.id,p]));return[...o].map(([d,p])=>{const m=[...p].sort((f,l)=>(a.get(f.type)??0)-(a.get(l.type)??0)||(c.get(f.id)??0)-(c.get(l.id)??0));return{id:p[0]?.id??"",notes:m,pins:r.get(d)??[],contextId:p.find(f=>f.contextId!==void 0)?.contextId}})},Le=e=>{const t=A(e).flatMap(i=>[...i.notes,...i.pins.map(o=>o.note)]),n=new Set(t.map(i=>i.id));return{...e,elements:[...t,...e.elements.filter(i=>!n.has(i.id))]}},It=(e,t)=>{const n=[...e.notes,...e.pins.map(r=>r.note)],i=n.find(r=>Z(t,r.type));if(i!==void 0)return{anchorId:i.id,incoming:!0};const o=n.find(r=>Z(r.type,t));if(o!==void 0)return{anchorId:o.id,incoming:!1};const s=n[0];return s===void 0?void 0:{anchorId:s.id,incoming:!0}},Mt=(e,t)=>{const n=new Map(t.flatMap(i=>i.notes.map(o=>[o.id,i.id])));return e.links.flatMap(i=>{const o=n.get(i.from),s=n.get(i.to);return o===void 0||s===void 0||o===s?[]:[{id:i.id,from:o,to:s,...i.label!==void 0?{label:i.label}:{}}]})},st=(e,t)=>`${e}\0${t}`,_t=(e,t,n)=>{const{widthOf:i,gapX:o,padX:s,maxWidth:r}=n,a=new Map;for(const h of t)a.set(st(h.from,h.to),h),a.set(st(h.to,h.from),h);const c=(h,g)=>h===void 0||g===void 0?void 0:a.get(st(h,g)),d=h=>Ee(h,g=>i(g))+o*Math.max(0,h.length-1)+s*2<=r,p=[];let m=[],f;const l=()=>{m.length!==0&&(p.push({sliceIds:m,...f===void 0?{}:{cutFrom:f}}),m=[],f=void 0)};for(const h of e.map(g=>g.id)){if(m.length>0&&!d([...m,h])){let g=m.length;for(;c(m[g-1],g===m.length?h:m[g])!==void 0&&(g-=1,g!==0););const x=g===0?[]:m.splice(g),k=g===0?c(m.at(-1),h):c(m.at(-1),x[0]);l(),m=x,f=k}m.push(h)}return l(),p},V=e=>[...e.notes].reverse().find(t=>t.type==="event")??e.notes.at(-1),Nt=(e,t)=>{const n=V(e),i=t.notes[0];if(!(n===void 0||i===void 0))return{from:n.id,to:i.id}},Oe={SET_ELEMENT_NAME:(e,t)=>({title:"\u8981\u7D20\u540D\u3092\u5909\u66F4",tone:"update",body:`"${z(t,e.target.id)?.name??"?"}\u201C \u2192 "${w(y.SET_ELEMENT_NAME,e).name}"`}),SET_ELEMENT_DESCRIPTION:e=>({title:"\u8981\u7D20\u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:`\u2192 "${w(y.SET_ELEMENT_DESCRIPTION,e).description.slice(0,60)}"`}),SET_ELEMENT_TYPE:e=>({title:"\u8981\u7D20\u306E\u7A2E\u5225\u3092\u5909\u66F4",tone:"update",body:`\u2192 ${w(y.SET_ELEMENT_TYPE,e).type}`}),SET_ELEMENT_CONTEXT:e=>({title:"\u6240\u5C5E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u5909\u66F4",tone:"move",body:`\u2192 ${w(y.SET_ELEMENT_CONTEXT,e).contextId??"\u672A\u6240\u5C5E"}`}),MOVE_ELEMENT:e=>({title:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u4F4D\u7F6E\u3092\u5909\u66F4",tone:"move",body:w(y.MOVE_ELEMENT,e).after===null?"\u2192 \u5148\u982D\u3078":`\u2192 "${w(y.MOVE_ELEMENT,e).after}" \u306E\u76F4\u5F8C\u3078`}),ADD_ELEMENT:e=>({title:"\u8981\u7D20\u3092\u8FFD\u52A0",tone:"create",body:`+ "${w(y.ADD_ELEMENT,e).name}"`}),DELETE_ELEMENT:(e,t)=>({title:"\u8981\u7D20\u3092\u524A\u9664",tone:"delete",body:`\u2212 "${z(t,e.target.id)?.name??e.target.id}"`}),LINK_ELEMENTS:e=>({title:"\u8981\u7D20\u3092\u9023\u7D50",tone:"create",body:`${w(y.LINK_ELEMENTS,e).from} \u2192 ${w(y.LINK_ELEMENTS,e).to}`}),SET_LINK_LABEL:e=>({title:"\u30EA\u30F3\u30AF\u540D\u3092\u5909\u66F4",tone:"update",body:`\u2192 "${w(y.SET_LINK_LABEL,e).label}"`}),UNLINK_ELEMENTS:e=>({title:"\u30EA\u30F3\u30AF\u3092\u524A\u9664",tone:"delete",body:`${w(y.UNLINK_ELEMENTS,e).from} \u2192 ${w(y.UNLINK_ELEMENTS,e).to}`}),ADD_CONTEXT:e=>({title:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8FFD\u52A0",tone:"create",body:`+ "${w(y.ADD_CONTEXT,e).name}"`}),SET_CONTEXT_NAME:e=>({title:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u540D\u3092\u5909\u66F4",tone:"update",body:`\u2192 "${w(y.SET_CONTEXT_NAME,e).name}"`}),DELETE_CONTEXT:(e,t)=>({title:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u524A\u9664",tone:"delete",body:`\u2212 "${Y(t,e.target.id)?.name??e.target.id}"`})},Lt=(e,t,n)=>{const i=Oe[e.type],s=i?i(e,n??t):{title:e.type,tone:"meta"};return{title:s.title,targetLabel:Ct(t,e.target),tone:s.tone,...s.body===void 0?{}:{summary:s.body}}},Ot=e=>`${e.type} ${U(e.target)} ${JSON.stringify(e.payload)}`,Ct=(e,t)=>{switch(t.type){case"element":{const n=z(e,t.id);return n?`\u8981\u7D20 \xB7 ${n.name}`:`\u8981\u7D20 \xB7 ${t.id} (missing)`}case"context":{const n=Y(e,t.id);return n?`\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \xB7 ${n.name}`:`\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \xB7 ${t.id} (missing)`}case"link":{const n=it(e,t.id);return n?`\u30EA\u30F3\u30AF \xB7 ${n.from}\u2192${n.to}`:`\u30EA\u30F3\u30AF \xB7 ${t.id} (missing)`}case"page":return`\u30DA\u30FC\u30B8 \xB7 ${rt(e)}`;default:return`${t.type} \xB7 ${t.id}`}},Pt=e=>[...e.elements.map(t=>({value:U({type:"element",id:t.id}),label:t.name,group:"\u8981\u7D20"})),...e.contexts.map(t=>({value:U({type:"context",id:t.id}),label:t.name,group:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8"}))],Ce=(e,t)=>{const n=e.elements.find(i=>i.id===t.note);return n?{value:U({type:"element",id:n.id}),label:n.name,group:"\u8981\u7D20"}:null},rt=e=>e.title??"Event Storming",zt=(e,t)=>{const n={...t},i=z(e,t.note);t.note!==void 0&&!i&&delete n.note;const o=Y(e,t.context);return t.context!==void 0&&!o&&delete n.context,n},At=(e,t)=>{switch(t.type){case"element":return z(e,t.id)!==void 0;case"context":return Y(e,t.id)!==void 0;case"link":return it(e,t.id)!==void 0;case"page":return!0;default:return!1}},Dt={name:"event-storming",label:"Event Storming",parseBase:wt,emptyBase:$t,actions:y,apply:Tt,canonicalState:Le,hasTarget:At,describe:Lt,serialize:Ot,resolveNavigation:zt,commentTargets:(e,t)=>Pt(e),currentTarget:(e,t)=>Ce(e,t),title:rt},Pe={width:300,height:260},D={actor:"\u30A2\u30AF\u30BF\u30FC",command:"\u30B3\u30DE\u30F3\u30C9",aggregate:"\u96C6\u7D04",event:"\u30A4\u30D9\u30F3\u30C8",policy:"\u30DD\u30EA\u30B7\u30FC",readmodel:"\u30EA\u30FC\u30C9\u30E2\u30C7\u30EB",external:"\u5916\u90E8\u30B7\u30B9\u30C6\u30E0",hotspot:"\u30DB\u30C3\u30C8\u30B9\u30DD\u30C3\u30C8"},ze={event:{bg:"linear-gradient(178deg, #ffbc55, #f8a52e)",ink:"#402703"},command:{bg:"linear-gradient(178deg, #93c9f2, #74b4e8)",ink:"#0e2c4b"},aggregate:{bg:"linear-gradient(178deg, #fff3a6, #fdea7e)",ink:"#4a3a06"},actor:{bg:"linear-gradient(178deg, #ffdf63, #fdd23e)",ink:"#423204"},policy:{bg:"linear-gradient(178deg, #dcc2f7, #c9a6f0)",ink:"#32195c"},readmodel:{bg:"linear-gradient(178deg, #c0e788, #a8dc63)",ink:"#22380a"},external:{bg:"linear-gradient(178deg, #f9bcd3, #f4a0c0)",ink:"#4b1029"},hotspot:{bg:"linear-gradient(178deg, #d63550, #b81c33)",ink:"#ffffff"}},at=e=>{const{bg:t,ink:n}=ze[e];return`--es-note-bg:${t};--es-note-ink:${n}`},Ae=gt`
2
2
  :host {
3
3
  display: flex;
4
4
  flex-direction: column;
@@ -1 +1 @@
1
- import{a7 as S,a8 as s,a9 as l,aa as v,ab as o,as as _,ad as w,ae as B,V as E,T as $}from"./shared-RRxRtPfs.js";const x=s({id:_,title:w(o(),B(1))}),r=s({title:l(o(),""),sections:l(v(x),[])}),c=e=>{const t=S(r,e),a=new Set;for(const i of t.sections){if(a.has(i.id))throw new Error(`duplicate section id: ${i.id}`);a.add(i.id)}return{title:t.title,sections:t.sections}},p=()=>({title:"",sections:[]}),n=(e,t)=>e.sections.find(a=>a.id===t),d=e=>e.title===""?"Plain":e.title,m=(e,t)=>{switch(t.type){case"section":return n(e,t.id)?.title??t.id;case"page":return"\u30DA\u30FC\u30B8\u5168\u4F53";default:return t.id}},u=(e,t)=>({title:e.type,targetLabel:m(t,e.target),tone:"meta"}),f=e=>`${e.type} ${E(e.target)} ${JSON.stringify(e.payload)}`,g=e=>e.sections.map(t=>({value:`section:${t.id}`,label:t.title,group:"\u30BB\u30AF\u30B7\u30E7\u30F3"})),y=(e,t)=>t,b=(e,t)=>{switch(t.type){case"section":return n(e,t.id)!==void 0;case"page":return!0;default:return!1}},h={name:"plain",label:"Plain",parseBase:c,emptyBase:p,actions:{},apply:()=>null,hasTarget:b,describe:u,serialize:f,resolveNavigation:y,commentTargets:e=>g(e),title:d};class P extends ${constructor(){super(...arguments),this.definition=h}renderRegions(t){return{}}}const T=()=>{customElements.get("dpk-template-plain")||customElements.define("dpk-template-plain",P)},O=Object.freeze(Object.defineProperty({__proto__:null,DpkTemplatePlain:P,definePlainElement:T,describePlainAction:u,emptyPlainBase:p,findSection:n,parsePlainBase:c,plainBaseSchema:r,plainCommentTargets:g,plainDefinition:h,plainHasTarget:b,plainTargetLabel:m,plainTitle:d,resolvePlainNavigation:y,serializePlainAction:f},Symbol.toStringTag,{value:"Module"}));export{T as d,O as i};
1
+ import{a7 as S,a8 as s,a9 as l,aa as v,ab as o,as as _,ad as w,ae as B,V as E,T as $}from"./shared-z875TnWr.js";const x=s({id:_,title:w(o(),B(1))}),r=s({title:l(o(),""),sections:l(v(x),[])}),c=e=>{const t=S(r,e),a=new Set;for(const i of t.sections){if(a.has(i.id))throw new Error(`duplicate section id: ${i.id}`);a.add(i.id)}return{title:t.title,sections:t.sections}},p=()=>({title:"",sections:[]}),n=(e,t)=>e.sections.find(a=>a.id===t),d=e=>e.title===""?"Plain":e.title,m=(e,t)=>{switch(t.type){case"section":return n(e,t.id)?.title??t.id;case"page":return"\u30DA\u30FC\u30B8\u5168\u4F53";default:return t.id}},u=(e,t)=>({title:e.type,targetLabel:m(t,e.target),tone:"meta"}),f=e=>`${e.type} ${E(e.target)} ${JSON.stringify(e.payload)}`,g=e=>e.sections.map(t=>({value:`section:${t.id}`,label:t.title,group:"\u30BB\u30AF\u30B7\u30E7\u30F3"})),y=(e,t)=>t,b=(e,t)=>{switch(t.type){case"section":return n(e,t.id)!==void 0;case"page":return!0;default:return!1}},h={name:"plain",label:"Plain",parseBase:c,emptyBase:p,actions:{},apply:()=>null,hasTarget:b,describe:u,serialize:f,resolveNavigation:y,commentTargets:e=>g(e),title:d};class P extends ${constructor(){super(...arguments),this.definition=h}renderRegions(t){return{}}}const T=()=>{customElements.get("dpk-template-plain")||customElements.define("dpk-template-plain",P)},O=Object.freeze(Object.defineProperty({__proto__:null,DpkTemplatePlain:P,definePlainElement:T,describePlainAction:u,emptyPlainBase:p,findSection:n,parsePlainBase:c,plainBaseSchema:r,plainCommentTargets:g,plainDefinition:h,plainHasTarget:b,plainTargetLabel:m,plainTitle:d,resolvePlainNavigation:y,serializePlainAction:f},Symbol.toStringTag,{value:"Module"}));export{T as d,O as i};
@@ -1,4 +1,4 @@
1
- import{a7 as Re,aw as G,a8 as O,a9 as k,aa as V,ar as h,ab as c,as as I,ad as w,ae as _,ac as P,q as E,al as y,v as K,aq as Y,P as xe,f as Pe,V as C,R as f,U as De,a1 as T,a0 as R,a2 as Ae,z as $e,m as Oe,$ as Ve,T as se}from"./shared-RRxRtPfs.js";import{i as Ye}from"./shared-DHBourhw.js";import{a as oe,o as ae}from"./shared-BAfKXeYg.js";const q=["browser","native"],j=["mobile","tablet","desktop","fluid"],Ce=O({id:I,kind:k(P(q),"browser"),viewport:k(P(j),"fluid"),label:h(c()),url:h(c())}),Ne=O({id:I,name:w(c(),_(1)),description:h(c()),previews:k(V(Ce),[])}),We=O({id:I,name:w(c(),_(1)),description:h(c()),steps:k(V(Ne),[])}),Me=O({id:I,name:w(c(),_(1)),description:h(c()),stories:k(V(We),[])}),ne=O({title:h(c()),baseUrl:h(c()),activities:k(V(Me),[])}),Le=e=>{const t=new Set,r=new Set;for(const s of e.activities){if(r.has(s.id))return`duplicate activity id "${s.id}"`;r.add(s.id);const i=new Set;for(const o of s.stories){if(i.has(o.id))return`duplicate story id "${o.id}" in activity "${s.id}"`;i.add(o.id);const a=new Set;for(const n of o.steps){if(a.has(n.id))return`duplicate step id "${n.id}" in story "${o.id}"`;a.add(n.id);for(const d of n.previews){if(t.has(d.id))return`duplicate preview id "${d.id}": preview ids are global, they name a light DOM slot`;t.add(d.id)}}}}return null},de=e=>{const t=Re(ne,e),r=Le(t);if(r!==null)throw new Error(r);return t},pe=()=>({activities:[]}),D=(e,t)=>{if(t!==void 0)return e.activities.find(r=>r.id===t)},x=(e,t)=>`${e}.${t}`,S=(e,t)=>{if(t===void 0)return;const r=G(t,2);if(r){const[i,o]=r;if(i===void 0||o===void 0)return;const a=e.activities.find(d=>d.id===i),n=a?.stories.find(d=>d.id===o);return a&&n?{activity:a,story:n}:void 0}if(t.includes("."))return;const s=e.activities.flatMap(i=>i.stories.filter(o=>o.id===t).map(o=>({activity:i,story:o})));return s.length===1?s[0]:void 0},le=e=>{const t=e.lastIndexOf(".");return t>=0?e.slice(t+1):e},N=e=>`${e.activity.id}.${e.story.id}.${e.step.id}`,H=(e,t,r)=>`${e.id}.${t.id}.${r.id}`,m=(e,t)=>{if(t===void 0)return;const r=G(t,3);if(r){const[i,o,a]=r;if(i===void 0||o===void 0||a===void 0)return;const n=e.activities.find(l=>l.id===i),d=n?.stories.find(l=>l.id===o),p=d?d.steps.findIndex(l=>l.id===a):-1,g=d&&p>=0?d.steps[p]:void 0;return n&&d&&g?{activity:n,story:d,step:g,stepIndex:p}:void 0}if(t.includes("."))return;const s=F(e).filter(i=>i.step.id===t);return s.length===1?s[0]:void 0},b=(e,t)=>{if(t===void 0)return;const r=G(t,4);if(r){const[s,i,o,a]=r;if(s===void 0||i===void 0||o===void 0||a===void 0)return;const n=m(e,`${s}.${i}.${o}`),d=n?.step.previews.find(p=>p.id===a);return n&&d?{location:n,preview:d}:void 0}if(!t.includes("."))for(const s of e.activities)for(const i of s.stories)for(const[o,a]of i.steps.entries()){const n=a.previews.find(d=>d.id===t);if(n)return{location:{activity:s,story:i,step:a,stepIndex:o},preview:n}}},F=e=>e.activities.flatMap(t=>t.stories.flatMap(r=>r.steps.map((s,i)=>({activity:t,story:r,step:s,stepIndex:i})))),ce=e=>F(e).map(t=>t.step.id),v={SET_ACTIVITY_NAME:E("SET_ACTIVITY_NAME","activity",y({name:w(c(),_(1))})),SET_ACTIVITY_DESCRIPTION:E("SET_ACTIVITY_DESCRIPTION","activity",y({description:c()})),SET_STORY_NAME:E("SET_STORY_NAME","story",y({name:w(c(),_(1))})),SET_STORY_DESCRIPTION:E("SET_STORY_DESCRIPTION","story",y({description:c()})),SET_STEP_NAME:E("SET_STEP_NAME","step",y({name:w(c(),_(1))})),SET_STEP_DESCRIPTION:E("SET_STEP_DESCRIPTION","step",y({description:c()})),SET_PREVIEW_KIND:E("SET_PREVIEW_KIND","preview",y({kind:P(q)})),SET_PREVIEW_VIEWPORT:E("SET_PREVIEW_VIEWPORT","preview",y({viewport:P(j)})),SET_PREVIEW_LABEL:E("SET_PREVIEW_LABEL","preview",y({label:c()})),REORDER_ACTIVITY:E("REORDER_ACTIVITY","activity",y({after:Y(c())}),{mode:"sequence"}),REORDER_STORY:E("REORDER_STORY","story",y({after:Y(c())}),{mode:"sequence"}),REORDER_STEP:E("REORDER_STEP","step",y({after:Y(c())}),{mode:"sequence"}),MOVE_STORY:E("MOVE_STORY","story",y({toActivity:w(c(),_(1)),after:Y(c())}),{mode:"sequence"}),MOVE_STEP:E("MOVE_STEP","step",y({toStory:w(c(),_(1)),after:Y(c())}),{mode:"sequence"}),ADD_ACTIVITY:E("ADD_ACTIVITY","page",y({id:I,name:w(c(),_(1)),description:h(c())}),{dedupeKey:K}),ADD_STORY:E("ADD_STORY","activity",y({id:I,name:w(c(),_(1)),description:h(c())}),{dedupeKey:K}),ADD_STEP:E("ADD_STEP","story",y({id:I,name:w(c(),_(1)),description:h(c()),previews:h(V(y({id:I,kind:k(P(q),"browser"),viewport:k(P(j),"fluid"),label:h(c()),url:h(c())})))}),{dedupeKey:K}),ADD_PREVIEW:E("ADD_PREVIEW","step",y({id:I,kind:k(P(q),"browser"),viewport:k(P(j),"fluid"),label:h(c()),url:h(c())}),{dedupeKey:K}),DELETE_ACTIVITY:E("DELETE_ACTIVITY","activity",y({})),DELETE_STORY:E("DELETE_STORY","story",y({})),DELETE_STEP:E("DELETE_STEP","step",y({})),DELETE_PREVIEW:E("DELETE_PREVIEW","preview",y({}))},W={setActivityName:(e,t)=>({type:"SET_ACTIVITY_NAME",target:{type:"activity",id:e},payload:{name:t}}),setActivityDescription:(e,t)=>({type:"SET_ACTIVITY_DESCRIPTION",target:{type:"activity",id:e},payload:{description:t}}),setStoryName:(e,t)=>({type:"SET_STORY_NAME",target:{type:"story",id:e},payload:{name:t}}),setStoryDescription:(e,t)=>({type:"SET_STORY_DESCRIPTION",target:{type:"story",id:e},payload:{description:t}}),setStepName:(e,t)=>({type:"SET_STEP_NAME",target:{type:"step",id:e},payload:{name:t}}),setStepDescription:(e,t)=>({type:"SET_STEP_DESCRIPTION",target:{type:"step",id:e},payload:{description:t}}),setPreviewViewport:(e,t)=>({type:"SET_PREVIEW_VIEWPORT",target:{type:"preview",id:e},payload:{viewport:t}}),setPreviewKind:(e,t)=>({type:"SET_PREVIEW_KIND",target:{type:"preview",id:e},payload:{kind:t}}),setPreviewLabel:(e,t)=>({type:"SET_PREVIEW_LABEL",target:{type:"preview",id:e},payload:{label:t}}),reorderActivity:(e,t)=>({type:"REORDER_ACTIVITY",target:{type:"activity",id:e},payload:{after:t}}),reorderStory:(e,t)=>({type:"REORDER_STORY",target:{type:"story",id:e},payload:{after:t}}),reorderStep:(e,t)=>({type:"REORDER_STEP",target:{type:"step",id:e},payload:{after:t}}),moveStep:(e,t,r)=>({type:"MOVE_STEP",target:{type:"step",id:e},payload:{toStory:t,after:r}}),moveStory:(e,t,r)=>({type:"MOVE_STORY",target:{type:"story",id:e},payload:{toActivity:t,after:r}}),addActivity:(e,t,r)=>({type:"ADD_ACTIVITY",target:{type:"page",id:"prototype"},payload:{id:e,name:t,...r===void 0?{}:{description:r}}}),addStory:(e,t,r,s)=>({type:"ADD_STORY",target:{type:"activity",id:e},payload:{id:t,name:r,...s===void 0?{}:{description:s}}}),addStep:(e,t,r,s)=>({type:"ADD_STEP",target:{type:"story",id:e},payload:{id:t,name:r,...s===void 0?{}:{previews:s}}}),addPreview:(e,t)=>({type:"ADD_PREVIEW",target:{type:"step",id:e},payload:{...t}}),deleteActivity:e=>({type:"DELETE_ACTIVITY",target:{type:"activity",id:e},payload:{}}),deleteStory:e=>({type:"DELETE_STORY",target:{type:"story",id:e},payload:{}}),deleteStep:e=>({type:"DELETE_STEP",target:{type:"step",id:e},payload:{}}),deletePreview:e=>({type:"DELETE_PREVIEW",target:{type:"preview",id:e},payload:{}})},ue=(e,t)=>{const r=xe(v,t);if(r===null)return null;const s=r.target.id;switch(r.type){case"SET_ACTIVITY_NAME":return A(e,s,i=>({...i,name:r.payload.name}));case"SET_ACTIVITY_DESCRIPTION":return A(e,s,i=>({...i,description:r.payload.description}));case"SET_STORY_NAME":return $(e,s,i=>({...i,name:r.payload.name}));case"SET_STORY_DESCRIPTION":return $(e,s,i=>({...i,description:r.payload.description}));case"SET_STEP_NAME":return M(e,s,i=>({...i,name:r.payload.name}));case"SET_STEP_DESCRIPTION":return M(e,s,i=>({...i,description:r.payload.description}));case"SET_PREVIEW_KIND":return Q(e,s,i=>({...i,kind:r.payload.kind}));case"SET_PREVIEW_VIEWPORT":return Q(e,s,i=>({...i,viewport:r.payload.viewport}));case"SET_PREVIEW_LABEL":return Q(e,s,i=>({...i,label:r.payload.label}));case"REORDER_ACTIVITY":{const{after:i}=r.payload,o=L(e.activities,s,i);return o===null?null:{...e,activities:o}}case"REORDER_STORY":{const{after:i}=r.payload,o=S(e,s);if(!o)return null;const a=i===null?null:S(e,i);if(i!==null&&(!a||a.activity!==o.activity))return null;const n=L(o.activity.stories,o.story.id,a?.story.id??null);return n===null?null:A(e,o.activity.id,d=>({...d,stories:n}))}case"REORDER_STEP":{const{after:i}=r.payload,o=m(e,s);if(!o)return null;const a=i===null?null:m(e,i);if(i!==null&&(!a||a.story!==o.story))return null;const n=L(o.story.steps,o.step.id,a?.step.id??null);return n===null?null:$(e,x(o.activity.id,o.story.id),d=>({...d,steps:n}))}case"MOVE_STORY":{const{toActivity:i,after:o}=r.payload,a=S(e,s);if(!a)return null;const n=e.activities.find(l=>l.id===i);if(!n)return null;const d=o===null?null:S(e,o);if(o!==null&&(!d||d.activity!==n))return null;const p=d?.story.id??null;if(a.activity.id===i){const l=L(a.activity.stories,a.story.id,p);return l===null?null:A(e,i,u=>({...u,stories:l}))}if(n.stories.some(l=>l.id===a.story.id))return null;const g=ee(n.stories,a.story,p);return Z(e,l=>l.id===a.activity.id?{...l,stories:l.stories.filter(u=>u.id!==le(s))}:l.id===i?{...l,stories:g}:l)}case"MOVE_STEP":{const{toStory:i,after:o}=r.payload,a=m(e,s);if(!a)return null;const n=S(e,i);if(!n)return null;const d=o===null?null:m(e,o);if(o!==null&&(!d||d.story!==n.story))return null;const p=d?.step.id??null;if(a.story===n.story){const l=L(a.story.steps,a.step.id,p);return l===null?null:$(e,i,u=>({...u,steps:l}))}if(n.story.steps.some(l=>l.id===a.step.id))return null;const g=ee(n.story.steps,a.step,p);return Z(e,l=>({...l,stories:l.stories.map(u=>u===a.story?{...u,steps:u.steps.filter(z=>z.id!==le(s))}:u===n.story?{...u,steps:g}:u)}))}case"ADD_ACTIVITY":{const i=r.payload;if(e.activities.some(a=>a.id===i.id))return e;const o={id:i.id,name:i.name,...i.description===void 0?{}:{description:i.description},stories:[]};return{...e,activities:[...e.activities,o]}}case"ADD_STORY":{const i=r.payload,o=e.activities.find(n=>n.id===s);if(!o)return null;if(o.stories.some(n=>n.id===i.id))return e;const a={id:i.id,name:i.name,...i.description===void 0?{}:{description:i.description},steps:[]};return A(e,s,n=>({...n,stories:[...n.stories,a]}))}case"ADD_STEP":{const i=r.payload,o=S(e,s)?.story;if(!o)return null;if(o.steps.some(d=>d.id===i.id))return e;const a=(i.previews??[]).map(d=>d.id);if(new Set(a).size!==a.length||a.some(d=>b(e,d)))return null;const n={id:i.id,name:i.name,...i.description===void 0?{}:{description:i.description},previews:i.previews??[]};return $(e,s,d=>({...d,steps:[...d.steps,n]}))}case"ADD_PREVIEW":{const i=r.payload,o=m(e,s)?.step;return o?o.previews.some(a=>a.id===i.id)?e:b(e,i.id)?null:M(e,s,a=>({...a,previews:[...a.previews,i]})):null}case"DELETE_ACTIVITY":{const i=s;return e.activities.some(o=>o.id===i)?{...e,activities:e.activities.filter(o=>o.id!==i)}:null}case"DELETE_STORY":{const i=S(e,s);return i?A(e,i.activity.id,o=>({...o,stories:o.stories.filter(a=>a.id!==i.story.id)})):null}case"DELETE_STEP":{const i=m(e,s);return i?$(e,x(i.activity.id,i.story.id),o=>({...o,steps:o.steps.filter(a=>a.id!==i.step.id)})):null}case"DELETE_PREVIEW":{const i=b(e,s);return i?M(e,N(i.location),o=>({...o,previews:o.previews.filter(a=>a.id!==i.preview.id)})):null}default:return Pe(r)}},Z=(e,t)=>({...e,activities:e.activities.map(t)}),A=(e,t,r)=>{const s=t;return e.activities.some(i=>i.id===s)?Z(e,i=>i.id===s?r(i):i):null},$=(e,t,r)=>{const s=S(e,t);if(!s)return null;const i=s.story.id;return A(e,s.activity.id,o=>({...o,stories:o.stories.map(a=>a.id===i?r(a):a)}))},M=(e,t,r)=>{const s=m(e,t);if(!s)return null;const i=s.step.id;return $(e,x(s.activity.id,s.story.id),o=>({...o,steps:o.steps.map(a=>a.id===i?r(a):a)}))},Q=(e,t,r)=>{const s=b(e,t);if(!s)return null;const i=s.preview.id;return M(e,N(s.location),o=>({...o,previews:o.previews.map(a=>a.id===i?r(a):a)}))},L=(e,t,r)=>{const s=e.findIndex(a=>a.id===t);if(s<0||r!==null&&!e.some(a=>a.id===r))return null;if(t===r)return[...e];const i=e[s];if(i===void 0)return null;const o=e.filter(a=>a.id!==t);return ee(o,i,r)},ee=(e,t,r)=>{const s=[...e],i=r===null?-1:s.findIndex(o=>o.id===r);return s.splice(i+1,0,t),s},U=(e,t)=>e===void 0?`\u2192 "${t}"`:`"${e}" \u2192 "${t}"`,ve={SET_ACTIVITY_NAME:(e,t)=>({title:"Activity \u540D\u3092\u5909\u66F4",tone:"update",body:U(D(t,e.target.id)?.name,f(v.SET_ACTIVITY_NAME,e).name)}),SET_ACTIVITY_DESCRIPTION:(e,t)=>({title:"Activity \u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:te(D(t,e.target.id)?.description,f(v.SET_ACTIVITY_DESCRIPTION,e).description)}),SET_STORY_NAME:(e,t)=>({title:"UserStory \u540D\u3092\u5909\u66F4",tone:"update",body:U(S(t,e.target.id)?.story.name,f(v.SET_STORY_NAME,e).name)}),SET_STORY_DESCRIPTION:(e,t)=>({title:"UserStory \u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:te(S(t,e.target.id)?.story.description,f(v.SET_STORY_DESCRIPTION,e).description)}),SET_STEP_NAME:(e,t)=>({title:"Step \u540D\u3092\u5909\u66F4",tone:"update",body:U(m(t,e.target.id)?.step.name,f(v.SET_STEP_NAME,e).name)}),SET_STEP_DESCRIPTION:(e,t)=>({title:"Step \u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:te(m(t,e.target.id)?.step.description,f(v.SET_STEP_DESCRIPTION,e).description)}),SET_PREVIEW_KIND:(e,t)=>({title:"Preview \u306E\u7A2E\u5225\u3092\u5909\u66F4",tone:"update",body:U(b(t,e.target.id)?.preview.kind,f(v.SET_PREVIEW_KIND,e).kind)}),SET_PREVIEW_VIEWPORT:(e,t)=>({title:"Preview \u306E\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u3092\u5909\u66F4",tone:"update",body:U(b(t,e.target.id)?.preview.viewport,f(v.SET_PREVIEW_VIEWPORT,e).viewport)}),SET_PREVIEW_LABEL:e=>({title:"Preview \u306E\u30E9\u30D9\u30EB\u3092\u5909\u66F4",tone:"update",body:`\u2192 "${f(v.SET_PREVIEW_LABEL,e).label}"`}),REORDER_ACTIVITY:e=>ie("Activity",f(v.REORDER_ACTIVITY,e).after),REORDER_STORY:e=>ie("UserStory",f(v.REORDER_STORY,e).after),REORDER_STEP:e=>ie("Step",f(v.REORDER_STEP,e).after),MOVE_STORY:(e,t)=>({title:"UserStory \u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${D(t,f(v.MOVE_STORY,e).toActivity)?.name??f(v.MOVE_STORY,e).toActivity}`}),MOVE_STEP:(e,t)=>({title:"Step \u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${S(t,f(v.MOVE_STEP,e).toStory)?.story.name??f(v.MOVE_STEP,e).toStory}`}),ADD_ACTIVITY:e=>J("Activity",f(v.ADD_ACTIVITY,e).name),ADD_STORY:e=>J("UserStory",f(v.ADD_STORY,e).name),ADD_STEP:e=>J("Step",f(v.ADD_STEP,e).name),ADD_PREVIEW:e=>J("Preview",f(v.ADD_PREVIEW,e).label??f(v.ADD_PREVIEW,e).id),DELETE_ACTIVITY:(e,t)=>X(D(t,e.target.id)?.name),DELETE_STORY:(e,t)=>X(S(t,e.target.id)?.story.name),DELETE_STEP:(e,t)=>X(m(t,e.target.id)?.step.name),DELETE_PREVIEW:(e,t)=>X(b(t,e.target.id)?.preview.label)},te=(e,t)=>{const r=t.length>90?`${t.slice(0,90)}\u2026`:t;return e===void 0||e===""?`\u2192 "${r}"`:`"${Ue(e)}" \u2192 "${r}"`},Ue=e=>e.length>60?`${e.slice(0,60)}\u2026`:e,ie=(e,t)=>({title:`${e} \u306E\u9806\u5E8F\u3092\u5909\u66F4`,tone:"move",body:t===null?"\u2192 \u5148\u982D\u3078":`\u2192 "${t}" \u306E\u76F4\u5F8C\u3078`}),J=(e,t)=>({title:`${e} \u3092\u8FFD\u52A0`,tone:"create",body:`+ "${t}"`}),X=e=>({title:"\u524A\u9664",tone:"delete",body:e===void 0?"(unknown target)":`\u2212 "${e}"`}),ye=(e,t,r)=>{const s=Object.hasOwn(ve,e.type)?ve[e.type]:void 0,i=s?s(e,r??t):{title:e.type,tone:"meta"};return{title:i.title,targetLabel:fe(t,e.target),tone:i.tone,...i.body===void 0?{}:{summary:i.body}}},Ee=e=>`${e.type} ${C(e.target)} ${JSON.stringify(e.payload)}`,fe=(e,t)=>{switch(t.type){case"activity":{const r=D(e,t.id);return r?`Activity \xB7 ${r.name}`:`Activity \xB7 ${t.id} (missing)`}case"story":{const r=S(e,t.id)?.story;return r?`UserStory \xB7 ${r.name}`:`UserStory \xB7 ${t.id} (missing)`}case"step":{const r=m(e,t.id)?.step;return r?`Step \xB7 ${r.name}`:`Step \xB7 ${t.id} (missing)`}case"preview":{const r=b(e,t.id)?.preview;return r?`Preview \xB7 ${r.label??r.id}`:`Preview \xB7 ${t.id} (missing)`}case"page":return`Page \xB7 ${re(e)}`;default:return`${t.type} \xB7 ${t.id}`}},ze=(e,t)=>{if(t.url)return t.url;const r=e.baseUrl?.trim(),s=De(e.title??"");return`${(r?r.startsWith("http")?r:`https://${r}`:`https://${s==="item"?"page":s}.example.com`).replace(/\/+$/,"")}/${t.id}`},me=e=>{const t=[];for(const r of e.activities){t.push({value:C({type:"activity",id:r.id}),label:r.name,group:"Activity"});for(const s of r.stories){t.push({value:C({type:"story",id:x(r.id,s.id)}),label:`${r.name} \u203A ${s.name}`,group:"UserStory"});for(const i of s.steps)t.push({value:C({type:"step",id:H(r,s,i)}),label:`${s.name} \u203A ${i.name}`,group:"Step"})}}return t},Be=(e,t)=>{const r=m(e,t.step);return r?{value:C({type:"step",id:N(r)}),label:r.step.name,group:"Step"}:null},re=e=>e.title??"UX Prototype",Te=(e,t)=>{const r=D(e,t.activity),s=t.story,i=r?.stories.find(B=>B.id===s||x(r.id,B.id)===s),o=t.step,n=(r&&i&&o?m(e,`${x(r.id,i.id)}.${o}`):void 0)??m(e,o),d=i&&r?{activity:r,story:i}:S(e,s),p=n?.activity??r??d?.activity??e.activities[0],g=n?.story??(d&&d.activity===p?d.story:void 0)??p?.stories[0],l=n?.step??g?.steps[0],u={...t};p?u.activity=p.id:delete u.activity,g&&p?u.story=S(e,g.id)?g.id:x(p.id,g.id):delete u.story,l&&g&&p?u.step=m(e,l.id)?l.id:H(p,g,l):delete u.step;const z=l&&t.preview&&l.previews.some(B=>B.id===t.preview)?t.preview:l?.previews[0]?.id;return z?u.preview=z:delete u.preview,u},Ke=(e,t)=>{switch(t.type){case"activity":return D(e,t.id)!==void 0;case"story":return S(e,t.id)!==void 0;case"step":return m(e,t.id)!==void 0;case"preview":return b(e,t.id)!==void 0;case"page":return!0;default:return!1}},Se={name:"prototype",label:"UX Prototype",parseBase:de,emptyBase:pe,actions:v,apply:ue,hasTarget:Ke,canonicalTarget:(e,t)=>{if(t.type==="step"){const r=m(e,t.id);return r?{...t,id:N(r)}:t}if(t.type==="story"){const r=S(e,t.id);return r?{...t,id:x(r.activity.id,r.story.id)}:t}if(t.type==="preview"){const r=b(e,t.id);return r?{...t,id:r.preview.id}:t}return t},describe:ye,serialize:Ee,resolveNavigation:Te,commentTargets:(e,t)=>me(e),currentTarget:(e,t)=>Be(e,t),title:re},ge=e=>{const{state:t,navigation:r}=e,s=m(t,r.step),i=s?.activity??t.activities[0],o=s?.story??i?.stories[0];if(!i||!o)return T`<p class="nav-empty">
1
+ import{a7 as Re,aw as G,a8 as O,a9 as k,aa as V,ar as h,ab as c,as as I,ad as w,ae as _,ac as P,q as E,al as y,v as K,aq as Y,P as xe,f as Pe,V as C,R as f,U as De,a1 as T,a0 as R,a2 as Ae,z as $e,m as Oe,$ as Ve,T as se}from"./shared-z875TnWr.js";import{i as Ye}from"./shared-x8nRepee.js";import{a as oe,o as ae}from"./shared-2miVckpm.js";const q=["browser","native"],j=["mobile","tablet","desktop","fluid"],Ce=O({id:I,kind:k(P(q),"browser"),viewport:k(P(j),"fluid"),label:h(c()),url:h(c())}),Ne=O({id:I,name:w(c(),_(1)),description:h(c()),previews:k(V(Ce),[])}),We=O({id:I,name:w(c(),_(1)),description:h(c()),steps:k(V(Ne),[])}),Me=O({id:I,name:w(c(),_(1)),description:h(c()),stories:k(V(We),[])}),ne=O({title:h(c()),baseUrl:h(c()),activities:k(V(Me),[])}),Le=e=>{const t=new Set,r=new Set;for(const s of e.activities){if(r.has(s.id))return`duplicate activity id "${s.id}"`;r.add(s.id);const i=new Set;for(const o of s.stories){if(i.has(o.id))return`duplicate story id "${o.id}" in activity "${s.id}"`;i.add(o.id);const a=new Set;for(const n of o.steps){if(a.has(n.id))return`duplicate step id "${n.id}" in story "${o.id}"`;a.add(n.id);for(const d of n.previews){if(t.has(d.id))return`duplicate preview id "${d.id}": preview ids are global, they name a light DOM slot`;t.add(d.id)}}}}return null},de=e=>{const t=Re(ne,e),r=Le(t);if(r!==null)throw new Error(r);return t},pe=()=>({activities:[]}),D=(e,t)=>{if(t!==void 0)return e.activities.find(r=>r.id===t)},x=(e,t)=>`${e}.${t}`,S=(e,t)=>{if(t===void 0)return;const r=G(t,2);if(r){const[i,o]=r;if(i===void 0||o===void 0)return;const a=e.activities.find(d=>d.id===i),n=a?.stories.find(d=>d.id===o);return a&&n?{activity:a,story:n}:void 0}if(t.includes("."))return;const s=e.activities.flatMap(i=>i.stories.filter(o=>o.id===t).map(o=>({activity:i,story:o})));return s.length===1?s[0]:void 0},le=e=>{const t=e.lastIndexOf(".");return t>=0?e.slice(t+1):e},N=e=>`${e.activity.id}.${e.story.id}.${e.step.id}`,H=(e,t,r)=>`${e.id}.${t.id}.${r.id}`,m=(e,t)=>{if(t===void 0)return;const r=G(t,3);if(r){const[i,o,a]=r;if(i===void 0||o===void 0||a===void 0)return;const n=e.activities.find(l=>l.id===i),d=n?.stories.find(l=>l.id===o),p=d?d.steps.findIndex(l=>l.id===a):-1,g=d&&p>=0?d.steps[p]:void 0;return n&&d&&g?{activity:n,story:d,step:g,stepIndex:p}:void 0}if(t.includes("."))return;const s=F(e).filter(i=>i.step.id===t);return s.length===1?s[0]:void 0},b=(e,t)=>{if(t===void 0)return;const r=G(t,4);if(r){const[s,i,o,a]=r;if(s===void 0||i===void 0||o===void 0||a===void 0)return;const n=m(e,`${s}.${i}.${o}`),d=n?.step.previews.find(p=>p.id===a);return n&&d?{location:n,preview:d}:void 0}if(!t.includes("."))for(const s of e.activities)for(const i of s.stories)for(const[o,a]of i.steps.entries()){const n=a.previews.find(d=>d.id===t);if(n)return{location:{activity:s,story:i,step:a,stepIndex:o},preview:n}}},F=e=>e.activities.flatMap(t=>t.stories.flatMap(r=>r.steps.map((s,i)=>({activity:t,story:r,step:s,stepIndex:i})))),ce=e=>F(e).map(t=>t.step.id),v={SET_ACTIVITY_NAME:E("SET_ACTIVITY_NAME","activity",y({name:w(c(),_(1))})),SET_ACTIVITY_DESCRIPTION:E("SET_ACTIVITY_DESCRIPTION","activity",y({description:c()})),SET_STORY_NAME:E("SET_STORY_NAME","story",y({name:w(c(),_(1))})),SET_STORY_DESCRIPTION:E("SET_STORY_DESCRIPTION","story",y({description:c()})),SET_STEP_NAME:E("SET_STEP_NAME","step",y({name:w(c(),_(1))})),SET_STEP_DESCRIPTION:E("SET_STEP_DESCRIPTION","step",y({description:c()})),SET_PREVIEW_KIND:E("SET_PREVIEW_KIND","preview",y({kind:P(q)})),SET_PREVIEW_VIEWPORT:E("SET_PREVIEW_VIEWPORT","preview",y({viewport:P(j)})),SET_PREVIEW_LABEL:E("SET_PREVIEW_LABEL","preview",y({label:c()})),REORDER_ACTIVITY:E("REORDER_ACTIVITY","activity",y({after:Y(c())}),{mode:"sequence"}),REORDER_STORY:E("REORDER_STORY","story",y({after:Y(c())}),{mode:"sequence"}),REORDER_STEP:E("REORDER_STEP","step",y({after:Y(c())}),{mode:"sequence"}),MOVE_STORY:E("MOVE_STORY","story",y({toActivity:w(c(),_(1)),after:Y(c())}),{mode:"sequence"}),MOVE_STEP:E("MOVE_STEP","step",y({toStory:w(c(),_(1)),after:Y(c())}),{mode:"sequence"}),ADD_ACTIVITY:E("ADD_ACTIVITY","page",y({id:I,name:w(c(),_(1)),description:h(c())}),{dedupeKey:K}),ADD_STORY:E("ADD_STORY","activity",y({id:I,name:w(c(),_(1)),description:h(c())}),{dedupeKey:K}),ADD_STEP:E("ADD_STEP","story",y({id:I,name:w(c(),_(1)),description:h(c()),previews:h(V(y({id:I,kind:k(P(q),"browser"),viewport:k(P(j),"fluid"),label:h(c()),url:h(c())})))}),{dedupeKey:K}),ADD_PREVIEW:E("ADD_PREVIEW","step",y({id:I,kind:k(P(q),"browser"),viewport:k(P(j),"fluid"),label:h(c()),url:h(c())}),{dedupeKey:K}),DELETE_ACTIVITY:E("DELETE_ACTIVITY","activity",y({})),DELETE_STORY:E("DELETE_STORY","story",y({})),DELETE_STEP:E("DELETE_STEP","step",y({})),DELETE_PREVIEW:E("DELETE_PREVIEW","preview",y({}))},W={setActivityName:(e,t)=>({type:"SET_ACTIVITY_NAME",target:{type:"activity",id:e},payload:{name:t}}),setActivityDescription:(e,t)=>({type:"SET_ACTIVITY_DESCRIPTION",target:{type:"activity",id:e},payload:{description:t}}),setStoryName:(e,t)=>({type:"SET_STORY_NAME",target:{type:"story",id:e},payload:{name:t}}),setStoryDescription:(e,t)=>({type:"SET_STORY_DESCRIPTION",target:{type:"story",id:e},payload:{description:t}}),setStepName:(e,t)=>({type:"SET_STEP_NAME",target:{type:"step",id:e},payload:{name:t}}),setStepDescription:(e,t)=>({type:"SET_STEP_DESCRIPTION",target:{type:"step",id:e},payload:{description:t}}),setPreviewViewport:(e,t)=>({type:"SET_PREVIEW_VIEWPORT",target:{type:"preview",id:e},payload:{viewport:t}}),setPreviewKind:(e,t)=>({type:"SET_PREVIEW_KIND",target:{type:"preview",id:e},payload:{kind:t}}),setPreviewLabel:(e,t)=>({type:"SET_PREVIEW_LABEL",target:{type:"preview",id:e},payload:{label:t}}),reorderActivity:(e,t)=>({type:"REORDER_ACTIVITY",target:{type:"activity",id:e},payload:{after:t}}),reorderStory:(e,t)=>({type:"REORDER_STORY",target:{type:"story",id:e},payload:{after:t}}),reorderStep:(e,t)=>({type:"REORDER_STEP",target:{type:"step",id:e},payload:{after:t}}),moveStep:(e,t,r)=>({type:"MOVE_STEP",target:{type:"step",id:e},payload:{toStory:t,after:r}}),moveStory:(e,t,r)=>({type:"MOVE_STORY",target:{type:"story",id:e},payload:{toActivity:t,after:r}}),addActivity:(e,t,r)=>({type:"ADD_ACTIVITY",target:{type:"page",id:"prototype"},payload:{id:e,name:t,...r===void 0?{}:{description:r}}}),addStory:(e,t,r,s)=>({type:"ADD_STORY",target:{type:"activity",id:e},payload:{id:t,name:r,...s===void 0?{}:{description:s}}}),addStep:(e,t,r,s)=>({type:"ADD_STEP",target:{type:"story",id:e},payload:{id:t,name:r,...s===void 0?{}:{previews:s}}}),addPreview:(e,t)=>({type:"ADD_PREVIEW",target:{type:"step",id:e},payload:{...t}}),deleteActivity:e=>({type:"DELETE_ACTIVITY",target:{type:"activity",id:e},payload:{}}),deleteStory:e=>({type:"DELETE_STORY",target:{type:"story",id:e},payload:{}}),deleteStep:e=>({type:"DELETE_STEP",target:{type:"step",id:e},payload:{}}),deletePreview:e=>({type:"DELETE_PREVIEW",target:{type:"preview",id:e},payload:{}})},ue=(e,t)=>{const r=xe(v,t);if(r===null)return null;const s=r.target.id;switch(r.type){case"SET_ACTIVITY_NAME":return A(e,s,i=>({...i,name:r.payload.name}));case"SET_ACTIVITY_DESCRIPTION":return A(e,s,i=>({...i,description:r.payload.description}));case"SET_STORY_NAME":return $(e,s,i=>({...i,name:r.payload.name}));case"SET_STORY_DESCRIPTION":return $(e,s,i=>({...i,description:r.payload.description}));case"SET_STEP_NAME":return M(e,s,i=>({...i,name:r.payload.name}));case"SET_STEP_DESCRIPTION":return M(e,s,i=>({...i,description:r.payload.description}));case"SET_PREVIEW_KIND":return Q(e,s,i=>({...i,kind:r.payload.kind}));case"SET_PREVIEW_VIEWPORT":return Q(e,s,i=>({...i,viewport:r.payload.viewport}));case"SET_PREVIEW_LABEL":return Q(e,s,i=>({...i,label:r.payload.label}));case"REORDER_ACTIVITY":{const{after:i}=r.payload,o=L(e.activities,s,i);return o===null?null:{...e,activities:o}}case"REORDER_STORY":{const{after:i}=r.payload,o=S(e,s);if(!o)return null;const a=i===null?null:S(e,i);if(i!==null&&(!a||a.activity!==o.activity))return null;const n=L(o.activity.stories,o.story.id,a?.story.id??null);return n===null?null:A(e,o.activity.id,d=>({...d,stories:n}))}case"REORDER_STEP":{const{after:i}=r.payload,o=m(e,s);if(!o)return null;const a=i===null?null:m(e,i);if(i!==null&&(!a||a.story!==o.story))return null;const n=L(o.story.steps,o.step.id,a?.step.id??null);return n===null?null:$(e,x(o.activity.id,o.story.id),d=>({...d,steps:n}))}case"MOVE_STORY":{const{toActivity:i,after:o}=r.payload,a=S(e,s);if(!a)return null;const n=e.activities.find(l=>l.id===i);if(!n)return null;const d=o===null?null:S(e,o);if(o!==null&&(!d||d.activity!==n))return null;const p=d?.story.id??null;if(a.activity.id===i){const l=L(a.activity.stories,a.story.id,p);return l===null?null:A(e,i,u=>({...u,stories:l}))}if(n.stories.some(l=>l.id===a.story.id))return null;const g=ee(n.stories,a.story,p);return Z(e,l=>l.id===a.activity.id?{...l,stories:l.stories.filter(u=>u.id!==le(s))}:l.id===i?{...l,stories:g}:l)}case"MOVE_STEP":{const{toStory:i,after:o}=r.payload,a=m(e,s);if(!a)return null;const n=S(e,i);if(!n)return null;const d=o===null?null:m(e,o);if(o!==null&&(!d||d.story!==n.story))return null;const p=d?.step.id??null;if(a.story===n.story){const l=L(a.story.steps,a.step.id,p);return l===null?null:$(e,i,u=>({...u,steps:l}))}if(n.story.steps.some(l=>l.id===a.step.id))return null;const g=ee(n.story.steps,a.step,p);return Z(e,l=>({...l,stories:l.stories.map(u=>u===a.story?{...u,steps:u.steps.filter(z=>z.id!==le(s))}:u===n.story?{...u,steps:g}:u)}))}case"ADD_ACTIVITY":{const i=r.payload;if(e.activities.some(a=>a.id===i.id))return e;const o={id:i.id,name:i.name,...i.description===void 0?{}:{description:i.description},stories:[]};return{...e,activities:[...e.activities,o]}}case"ADD_STORY":{const i=r.payload,o=e.activities.find(n=>n.id===s);if(!o)return null;if(o.stories.some(n=>n.id===i.id))return e;const a={id:i.id,name:i.name,...i.description===void 0?{}:{description:i.description},steps:[]};return A(e,s,n=>({...n,stories:[...n.stories,a]}))}case"ADD_STEP":{const i=r.payload,o=S(e,s)?.story;if(!o)return null;if(o.steps.some(d=>d.id===i.id))return e;const a=(i.previews??[]).map(d=>d.id);if(new Set(a).size!==a.length||a.some(d=>b(e,d)))return null;const n={id:i.id,name:i.name,...i.description===void 0?{}:{description:i.description},previews:i.previews??[]};return $(e,s,d=>({...d,steps:[...d.steps,n]}))}case"ADD_PREVIEW":{const i=r.payload,o=m(e,s)?.step;return o?o.previews.some(a=>a.id===i.id)?e:b(e,i.id)?null:M(e,s,a=>({...a,previews:[...a.previews,i]})):null}case"DELETE_ACTIVITY":{const i=s;return e.activities.some(o=>o.id===i)?{...e,activities:e.activities.filter(o=>o.id!==i)}:null}case"DELETE_STORY":{const i=S(e,s);return i?A(e,i.activity.id,o=>({...o,stories:o.stories.filter(a=>a.id!==i.story.id)})):null}case"DELETE_STEP":{const i=m(e,s);return i?$(e,x(i.activity.id,i.story.id),o=>({...o,steps:o.steps.filter(a=>a.id!==i.step.id)})):null}case"DELETE_PREVIEW":{const i=b(e,s);return i?M(e,N(i.location),o=>({...o,previews:o.previews.filter(a=>a.id!==i.preview.id)})):null}default:return Pe(r)}},Z=(e,t)=>({...e,activities:e.activities.map(t)}),A=(e,t,r)=>{const s=t;return e.activities.some(i=>i.id===s)?Z(e,i=>i.id===s?r(i):i):null},$=(e,t,r)=>{const s=S(e,t);if(!s)return null;const i=s.story.id;return A(e,s.activity.id,o=>({...o,stories:o.stories.map(a=>a.id===i?r(a):a)}))},M=(e,t,r)=>{const s=m(e,t);if(!s)return null;const i=s.step.id;return $(e,x(s.activity.id,s.story.id),o=>({...o,steps:o.steps.map(a=>a.id===i?r(a):a)}))},Q=(e,t,r)=>{const s=b(e,t);if(!s)return null;const i=s.preview.id;return M(e,N(s.location),o=>({...o,previews:o.previews.map(a=>a.id===i?r(a):a)}))},L=(e,t,r)=>{const s=e.findIndex(a=>a.id===t);if(s<0||r!==null&&!e.some(a=>a.id===r))return null;if(t===r)return[...e];const i=e[s];if(i===void 0)return null;const o=e.filter(a=>a.id!==t);return ee(o,i,r)},ee=(e,t,r)=>{const s=[...e],i=r===null?-1:s.findIndex(o=>o.id===r);return s.splice(i+1,0,t),s},U=(e,t)=>e===void 0?`\u2192 "${t}"`:`"${e}" \u2192 "${t}"`,ve={SET_ACTIVITY_NAME:(e,t)=>({title:"Activity \u540D\u3092\u5909\u66F4",tone:"update",body:U(D(t,e.target.id)?.name,f(v.SET_ACTIVITY_NAME,e).name)}),SET_ACTIVITY_DESCRIPTION:(e,t)=>({title:"Activity \u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:te(D(t,e.target.id)?.description,f(v.SET_ACTIVITY_DESCRIPTION,e).description)}),SET_STORY_NAME:(e,t)=>({title:"UserStory \u540D\u3092\u5909\u66F4",tone:"update",body:U(S(t,e.target.id)?.story.name,f(v.SET_STORY_NAME,e).name)}),SET_STORY_DESCRIPTION:(e,t)=>({title:"UserStory \u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:te(S(t,e.target.id)?.story.description,f(v.SET_STORY_DESCRIPTION,e).description)}),SET_STEP_NAME:(e,t)=>({title:"Step \u540D\u3092\u5909\u66F4",tone:"update",body:U(m(t,e.target.id)?.step.name,f(v.SET_STEP_NAME,e).name)}),SET_STEP_DESCRIPTION:(e,t)=>({title:"Step \u306E\u8AAC\u660E\u3092\u66F4\u65B0",tone:"update",body:te(m(t,e.target.id)?.step.description,f(v.SET_STEP_DESCRIPTION,e).description)}),SET_PREVIEW_KIND:(e,t)=>({title:"Preview \u306E\u7A2E\u5225\u3092\u5909\u66F4",tone:"update",body:U(b(t,e.target.id)?.preview.kind,f(v.SET_PREVIEW_KIND,e).kind)}),SET_PREVIEW_VIEWPORT:(e,t)=>({title:"Preview \u306E\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u3092\u5909\u66F4",tone:"update",body:U(b(t,e.target.id)?.preview.viewport,f(v.SET_PREVIEW_VIEWPORT,e).viewport)}),SET_PREVIEW_LABEL:e=>({title:"Preview \u306E\u30E9\u30D9\u30EB\u3092\u5909\u66F4",tone:"update",body:`\u2192 "${f(v.SET_PREVIEW_LABEL,e).label}"`}),REORDER_ACTIVITY:e=>ie("Activity",f(v.REORDER_ACTIVITY,e).after),REORDER_STORY:e=>ie("UserStory",f(v.REORDER_STORY,e).after),REORDER_STEP:e=>ie("Step",f(v.REORDER_STEP,e).after),MOVE_STORY:(e,t)=>({title:"UserStory \u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${D(t,f(v.MOVE_STORY,e).toActivity)?.name??f(v.MOVE_STORY,e).toActivity}`}),MOVE_STEP:(e,t)=>({title:"Step \u3092\u79FB\u52D5",tone:"move",body:`\u2192 ${S(t,f(v.MOVE_STEP,e).toStory)?.story.name??f(v.MOVE_STEP,e).toStory}`}),ADD_ACTIVITY:e=>J("Activity",f(v.ADD_ACTIVITY,e).name),ADD_STORY:e=>J("UserStory",f(v.ADD_STORY,e).name),ADD_STEP:e=>J("Step",f(v.ADD_STEP,e).name),ADD_PREVIEW:e=>J("Preview",f(v.ADD_PREVIEW,e).label??f(v.ADD_PREVIEW,e).id),DELETE_ACTIVITY:(e,t)=>X(D(t,e.target.id)?.name),DELETE_STORY:(e,t)=>X(S(t,e.target.id)?.story.name),DELETE_STEP:(e,t)=>X(m(t,e.target.id)?.step.name),DELETE_PREVIEW:(e,t)=>X(b(t,e.target.id)?.preview.label)},te=(e,t)=>{const r=t.length>90?`${t.slice(0,90)}\u2026`:t;return e===void 0||e===""?`\u2192 "${r}"`:`"${Ue(e)}" \u2192 "${r}"`},Ue=e=>e.length>60?`${e.slice(0,60)}\u2026`:e,ie=(e,t)=>({title:`${e} \u306E\u9806\u5E8F\u3092\u5909\u66F4`,tone:"move",body:t===null?"\u2192 \u5148\u982D\u3078":`\u2192 "${t}" \u306E\u76F4\u5F8C\u3078`}),J=(e,t)=>({title:`${e} \u3092\u8FFD\u52A0`,tone:"create",body:`+ "${t}"`}),X=e=>({title:"\u524A\u9664",tone:"delete",body:e===void 0?"(unknown target)":`\u2212 "${e}"`}),ye=(e,t,r)=>{const s=Object.hasOwn(ve,e.type)?ve[e.type]:void 0,i=s?s(e,r??t):{title:e.type,tone:"meta"};return{title:i.title,targetLabel:fe(t,e.target),tone:i.tone,...i.body===void 0?{}:{summary:i.body}}},Ee=e=>`${e.type} ${C(e.target)} ${JSON.stringify(e.payload)}`,fe=(e,t)=>{switch(t.type){case"activity":{const r=D(e,t.id);return r?`Activity \xB7 ${r.name}`:`Activity \xB7 ${t.id} (missing)`}case"story":{const r=S(e,t.id)?.story;return r?`UserStory \xB7 ${r.name}`:`UserStory \xB7 ${t.id} (missing)`}case"step":{const r=m(e,t.id)?.step;return r?`Step \xB7 ${r.name}`:`Step \xB7 ${t.id} (missing)`}case"preview":{const r=b(e,t.id)?.preview;return r?`Preview \xB7 ${r.label??r.id}`:`Preview \xB7 ${t.id} (missing)`}case"page":return`Page \xB7 ${re(e)}`;default:return`${t.type} \xB7 ${t.id}`}},ze=(e,t)=>{if(t.url)return t.url;const r=e.baseUrl?.trim(),s=De(e.title??"");return`${(r?r.startsWith("http")?r:`https://${r}`:`https://${s==="item"?"page":s}.example.com`).replace(/\/+$/,"")}/${t.id}`},me=e=>{const t=[];for(const r of e.activities){t.push({value:C({type:"activity",id:r.id}),label:r.name,group:"Activity"});for(const s of r.stories){t.push({value:C({type:"story",id:x(r.id,s.id)}),label:`${r.name} \u203A ${s.name}`,group:"UserStory"});for(const i of s.steps)t.push({value:C({type:"step",id:H(r,s,i)}),label:`${s.name} \u203A ${i.name}`,group:"Step"})}}return t},Be=(e,t)=>{const r=m(e,t.step);return r?{value:C({type:"step",id:N(r)}),label:r.step.name,group:"Step"}:null},re=e=>e.title??"UX Prototype",Te=(e,t)=>{const r=D(e,t.activity),s=t.story,i=r?.stories.find(B=>B.id===s||x(r.id,B.id)===s),o=t.step,n=(r&&i&&o?m(e,`${x(r.id,i.id)}.${o}`):void 0)??m(e,o),d=i&&r?{activity:r,story:i}:S(e,s),p=n?.activity??r??d?.activity??e.activities[0],g=n?.story??(d&&d.activity===p?d.story:void 0)??p?.stories[0],l=n?.step??g?.steps[0],u={...t};p?u.activity=p.id:delete u.activity,g&&p?u.story=S(e,g.id)?g.id:x(p.id,g.id):delete u.story,l&&g&&p?u.step=m(e,l.id)?l.id:H(p,g,l):delete u.step;const z=l&&t.preview&&l.previews.some(B=>B.id===t.preview)?t.preview:l?.previews[0]?.id;return z?u.preview=z:delete u.preview,u},Ke=(e,t)=>{switch(t.type){case"activity":return D(e,t.id)!==void 0;case"story":return S(e,t.id)!==void 0;case"step":return m(e,t.id)!==void 0;case"preview":return b(e,t.id)!==void 0;case"page":return!0;default:return!1}},Se={name:"prototype",label:"UX Prototype",parseBase:de,emptyBase:pe,actions:v,apply:ue,hasTarget:Ke,canonicalTarget:(e,t)=>{if(t.type==="step"){const r=m(e,t.id);return r?{...t,id:N(r)}:t}if(t.type==="story"){const r=S(e,t.id);return r?{...t,id:x(r.activity.id,r.story.id)}:t}if(t.type==="preview"){const r=b(e,t.id);return r?{...t,id:r.preview.id}:t}return t},describe:ye,serialize:Ee,resolveNavigation:Te,commentTargets:(e,t)=>me(e),currentTarget:(e,t)=>Be(e,t),title:re},ge=e=>{const{state:t,navigation:r}=e,s=m(t,r.step),i=s?.activity??t.activities[0],o=s?.story??i?.stories[0];if(!i||!o)return T`<p class="nav-empty">
2
2
  Activity がまだありません。base JSON の <code>activities</code> を追加するか、Agent に依頼してください。
3
3
  </p>`;const a=o.steps,n=s?.step,d=s?N(s):void 0;return T`
4
4
  <div class="nav">
@@ -1,4 +1,4 @@
1
- import{q as le,ag as ae,a8 as h,ad as f,ae as b,ab as p,ai as R,a7 as se,aa as C,a9 as x,aj as de,R as L,V as pe,a1 as a,a2 as ce,a0 as u,$ as ge,T as Q,av as ue}from"./shared-RRxRtPfs.js";import{c as N}from"./shared-ml5h7U5L.js";const he=ae("kind",[h({kind:R("option"),optionId:f(p(),b(1))}),h({kind:R("free"),text:p()}),h({kind:R("clear")})]),m={ANSWER_QUESTION:le("ANSWER_QUESTION","question",he)},q=(t,e)=>({type:"ANSWER_QUESTION",target:{type:"question",id:t},payload:e}),fe=h({id:f(p(),b(1)),label:f(p(),b(1))}),be=h({id:f(p(),b(1)),ref:x(f(p(),b(1))),title:f(p(),b(1)),description:x(p()),note:x(p()),options:x(C(fe),[]),freeText:x(de(),!0)}),O=h({title:x(p(),""),questions:C(be)}),_=t=>{const e=se(O,t),r=new Set,i=e.questions.map((o,n)=>{if(r.has(o.id))throw new Error(`duplicate question id: ${o.id}`);r.add(o.id);const s=new Set;for(const l of o.options){if(s.has(l.id))throw new Error(`duplicate option id: ${l.id} in question ${o.id}`);s.add(l.id)}return{id:o.id,ref:o.ref??`Q${n+1}`,title:o.title,description:o.description??null,note:o.note??null,options:o.options,freeText:o.freeText}});return{title:e.title,questions:i,answers:{}}},B=()=>({title:"",questions:[],answers:{}}),c=(t,e)=>t.questions.find(r=>r.id===e),xe=(t,e)=>c(t,e)?.ref??e,E=(t,e)=>{const r=c(t,e);return r?`${r.ref} \xB7 ${r.title}`:e},w=(t,e)=>e?e.kind==="option"?t.options.find(r=>r.id===e.optionId)?.label??"":e.text.trim():"",y=(t,e)=>w(t,e)!=="",G=t=>{let e="";for(let r=t+1;r>0;r=Math.floor((r-1)/26))e=String.fromCharCode(97+(r-1)%26)+e;return e},U=t=>({total:t.questions.length,answered:t.questions.filter(e=>y(e,t.answers[e.id])).length}),$=(t,e,r)=>{const i=t.answers[e];if(r===null){if(i===void 0)return t;const o={...t.answers};return delete o[e],{...t,answers:o}}return i?.kind===r.kind&&(i.kind==="option"&&r.kind==="option"&&i.optionId===r.optionId||i.kind==="free"&&r.kind==="free"&&i.text===r.text)?t:{...t,answers:{...t.answers,[e]:r}}},H=(t,e)=>{if(e.type!=="ANSWER_QUESTION")return null;const r=c(t,e.target.id);if(!r)return null;const i=L(m.ANSWER_QUESTION,e);return i.kind==="clear"?$(t,r.id,null):i.kind==="option"?r.options.some(o=>o.id===i.optionId)?$(t,r.id,{kind:"option",optionId:i.optionId}):null:$(t,r.id,{kind:"free",text:i.text})},M=t=>t.title===""?"Visually Grill":t.title,F=(t,e)=>{switch(e.type){case"question":return E(t,e.id);case"page":return"\u30DA\u30FC\u30B8\u5168\u4F53";default:return e.id}},ke=(t,e)=>{const r=L(m.ANSWER_QUESTION,e);return r.kind==="clear"?{title:"\u56DE\u7B54\u3092\u30AF\u30EA\u30A2",tone:"delete"}:r.kind==="option"?{title:"\u56DE\u7B54",tone:"update",body:`\u2192 \u300C${c(t,e.target.id)?.options.find(o=>o.id===r.optionId)?.label??r.optionId}\u300D`}:{title:"\u81EA\u7531\u8A18\u8FF0\u3067\u56DE\u7B54",tone:"update",body:`\u2192 \u300C${r.text.slice(0,120)}\u300D`}},W=(t,e,r)=>{let i;try{i=ke(r??e,t)}catch{i={title:t.type,tone:"meta"}}return{title:i.title,targetLabel:F(e,t.target),tone:i.tone,...i.body===void 0?{}:{summary:i.body}}},j=t=>`${t.type} ${pe(t.target)} ${JSON.stringify(t.payload)}`,P=t=>t.questions.map(e=>({value:`question:${e.id}`,label:E(t,e.id),group:"\u8CEA\u554F"})),V=(t,e)=>{const r=e.question;if(r!==void 0&&c(t,r))return e;const i=t.questions[0];return i===void 0?e:{...e,question:i.id}},D=(t,e)=>{const r=e.question;return r!==void 0&&c(t,r)?r:t.questions[0]?.id??null},ve=(t,e)=>{const r=t.questions,i=r.findIndex(n=>n.id===e);return(i===-1?r:[...r.slice(i+1),...r.slice(0,i)]).find(n=>!y(n,t.answers[n.id]))?.id??null},me=(t,e,r)=>{const i=e.answers[t.id];return{id:t.id,ref:t.ref,title:t.title,description:t.description,note:t.note,open:t.id===r,answered:w(t,i)!=="",summary:w(t,i),choices:t.options.map((o,n)=>({id:o.id,letter:G(n),label:o.label,checked:i?.kind==="option"&&i.optionId===o.id})),draft:i?.kind==="free"?i.text:"",freeSelected:i?.kind==="free",allowFreeText:t.freeText}},K=(t,e)=>{const r=D(t,e);return{questions:t.questions.map(i=>me(i,t,r))}},Y=t=>{const e=U(t);return{progress:`\u56DE\u7B54\u6E08\u307F ${e.answered} / ${e.total}`,answered:e.answered,total:e.total}},J=(t,e)=>{switch(e.type){case"question":return c(t,e.id)!==void 0;case"page":return!0;default:return!1}},X={name:"grill",label:"Visually Grill",parseBase:_,emptyBase:B,actions:m,apply:H,hasTarget:J,describe:W,serialize:j,resolveNavigation:V,commentTargets:t=>P(t),title:M},k="data-grill-questions",we=t=>{const e=[t];for(const r of t.querySelectorAll("*"))r.shadowRoot&&e.push(r.shadowRoot);return e},Z=(t,e,r)=>{const i=r.question??e.questions[0]?.id??null,o=new Map(e.questions.map(s=>[s.ref,s])),n=[];for(const s of we(t))for(const l of s.querySelectorAll(`[${k}]`)){const g=l.getAttribute(k)??"";for(const S of g.split(/\s+/)){if(S==="")continue;const d=o.get(S);d&&n.push({index:n.length,target:l,questionId:d.id,ref:d.ref,title:d.title,answered:y(d,e.answers[d.id]),open:d.id===i})}}return n},ee=(t,e)=>{const r=t.getBoundingClientRect(),i=new Map;e.forEach((n,s)=>{const l=t.querySelector(`[data-label="${s}"]`);if(!l)return;const g=i.get(n.target)??[];g.push(l),i.set(n.target,g)});const o=new Map;for(const[n,s]of i){const l=n.getBoundingClientRect(),g=l.width>0||l.height>0,d=o.get(n)??ye(n,t);o.set(n,d);const A=l.bottom>r.top&&l.top<r.bottom&&l.right>r.left&&l.left<r.right,I=l.bottom>d.top&&l.top<d.bottom;s.forEach((v,ie)=>{if(v.dataset.visible=String(g&&A&&I),!g||!A||!I)return;const T=v.offsetWidth,z=v.offsetHeight,oe=l.right-r.left-T+8-(s.length-1-ie)*(T+5),ne=l.top-r.top-z/2;v.style.transform=`translate(${N(oe,0,Math.max(0,t.clientWidth-T))}px, ${N(ne,0,Math.max(0,t.clientHeight-z))}px)`})}},ye=(t,e)=>{const r=t.getRootNode(),i=r instanceof ShadowRoot?r.host:null,o=i?.shadowRoot?.querySelector(".diagram-canvas")??null;return o instanceof Element?o.getBoundingClientRect():i instanceof Element?i.getBoundingClientRect():e.getBoundingClientRect()},$e=(t,e)=>a`
1
+ import{q as le,ag as ae,a8 as h,ad as f,ae as b,ab as p,ai as R,a7 as se,aa as C,a9 as x,aj as de,R as L,V as pe,a1 as a,a2 as ce,a0 as u,$ as ge,T as Q,av as ue}from"./shared-z875TnWr.js";import{c as N}from"./shared-ml5h7U5L.js";const he=ae("kind",[h({kind:R("option"),optionId:f(p(),b(1))}),h({kind:R("free"),text:p()}),h({kind:R("clear")})]),m={ANSWER_QUESTION:le("ANSWER_QUESTION","question",he)},q=(t,e)=>({type:"ANSWER_QUESTION",target:{type:"question",id:t},payload:e}),fe=h({id:f(p(),b(1)),label:f(p(),b(1))}),be=h({id:f(p(),b(1)),ref:x(f(p(),b(1))),title:f(p(),b(1)),description:x(p()),note:x(p()),options:x(C(fe),[]),freeText:x(de(),!0)}),O=h({title:x(p(),""),questions:C(be)}),_=t=>{const e=se(O,t),r=new Set,i=e.questions.map((o,n)=>{if(r.has(o.id))throw new Error(`duplicate question id: ${o.id}`);r.add(o.id);const s=new Set;for(const l of o.options){if(s.has(l.id))throw new Error(`duplicate option id: ${l.id} in question ${o.id}`);s.add(l.id)}return{id:o.id,ref:o.ref??`Q${n+1}`,title:o.title,description:o.description??null,note:o.note??null,options:o.options,freeText:o.freeText}});return{title:e.title,questions:i,answers:{}}},B=()=>({title:"",questions:[],answers:{}}),c=(t,e)=>t.questions.find(r=>r.id===e),xe=(t,e)=>c(t,e)?.ref??e,E=(t,e)=>{const r=c(t,e);return r?`${r.ref} \xB7 ${r.title}`:e},w=(t,e)=>e?e.kind==="option"?t.options.find(r=>r.id===e.optionId)?.label??"":e.text.trim():"",y=(t,e)=>w(t,e)!=="",G=t=>{let e="";for(let r=t+1;r>0;r=Math.floor((r-1)/26))e=String.fromCharCode(97+(r-1)%26)+e;return e},U=t=>({total:t.questions.length,answered:t.questions.filter(e=>y(e,t.answers[e.id])).length}),$=(t,e,r)=>{const i=t.answers[e];if(r===null){if(i===void 0)return t;const o={...t.answers};return delete o[e],{...t,answers:o}}return i?.kind===r.kind&&(i.kind==="option"&&r.kind==="option"&&i.optionId===r.optionId||i.kind==="free"&&r.kind==="free"&&i.text===r.text)?t:{...t,answers:{...t.answers,[e]:r}}},H=(t,e)=>{if(e.type!=="ANSWER_QUESTION")return null;const r=c(t,e.target.id);if(!r)return null;const i=L(m.ANSWER_QUESTION,e);return i.kind==="clear"?$(t,r.id,null):i.kind==="option"?r.options.some(o=>o.id===i.optionId)?$(t,r.id,{kind:"option",optionId:i.optionId}):null:$(t,r.id,{kind:"free",text:i.text})},M=t=>t.title===""?"Visually Grill":t.title,F=(t,e)=>{switch(e.type){case"question":return E(t,e.id);case"page":return"\u30DA\u30FC\u30B8\u5168\u4F53";default:return e.id}},ke=(t,e)=>{const r=L(m.ANSWER_QUESTION,e);return r.kind==="clear"?{title:"\u56DE\u7B54\u3092\u30AF\u30EA\u30A2",tone:"delete"}:r.kind==="option"?{title:"\u56DE\u7B54",tone:"update",body:`\u2192 \u300C${c(t,e.target.id)?.options.find(o=>o.id===r.optionId)?.label??r.optionId}\u300D`}:{title:"\u81EA\u7531\u8A18\u8FF0\u3067\u56DE\u7B54",tone:"update",body:`\u2192 \u300C${r.text.slice(0,120)}\u300D`}},W=(t,e,r)=>{let i;try{i=ke(r??e,t)}catch{i={title:t.type,tone:"meta"}}return{title:i.title,targetLabel:F(e,t.target),tone:i.tone,...i.body===void 0?{}:{summary:i.body}}},j=t=>`${t.type} ${pe(t.target)} ${JSON.stringify(t.payload)}`,P=t=>t.questions.map(e=>({value:`question:${e.id}`,label:E(t,e.id),group:"\u8CEA\u554F"})),V=(t,e)=>{const r=e.question;if(r!==void 0&&c(t,r))return e;const i=t.questions[0];return i===void 0?e:{...e,question:i.id}},D=(t,e)=>{const r=e.question;return r!==void 0&&c(t,r)?r:t.questions[0]?.id??null},ve=(t,e)=>{const r=t.questions,i=r.findIndex(n=>n.id===e);return(i===-1?r:[...r.slice(i+1),...r.slice(0,i)]).find(n=>!y(n,t.answers[n.id]))?.id??null},me=(t,e,r)=>{const i=e.answers[t.id];return{id:t.id,ref:t.ref,title:t.title,description:t.description,note:t.note,open:t.id===r,answered:w(t,i)!=="",summary:w(t,i),choices:t.options.map((o,n)=>({id:o.id,letter:G(n),label:o.label,checked:i?.kind==="option"&&i.optionId===o.id})),draft:i?.kind==="free"?i.text:"",freeSelected:i?.kind==="free",allowFreeText:t.freeText}},K=(t,e)=>{const r=D(t,e);return{questions:t.questions.map(i=>me(i,t,r))}},Y=t=>{const e=U(t);return{progress:`\u56DE\u7B54\u6E08\u307F ${e.answered} / ${e.total}`,answered:e.answered,total:e.total}},J=(t,e)=>{switch(e.type){case"question":return c(t,e.id)!==void 0;case"page":return!0;default:return!1}},X={name:"grill",label:"Visually Grill",parseBase:_,emptyBase:B,actions:m,apply:H,hasTarget:J,describe:W,serialize:j,resolveNavigation:V,commentTargets:t=>P(t),title:M},k="data-grill-questions",we=t=>{const e=[t];for(const r of t.querySelectorAll("*"))r.shadowRoot&&e.push(r.shadowRoot);return e},Z=(t,e,r)=>{const i=r.question??e.questions[0]?.id??null,o=new Map(e.questions.map(s=>[s.ref,s])),n=[];for(const s of we(t))for(const l of s.querySelectorAll(`[${k}]`)){const g=l.getAttribute(k)??"";for(const S of g.split(/\s+/)){if(S==="")continue;const d=o.get(S);d&&n.push({index:n.length,target:l,questionId:d.id,ref:d.ref,title:d.title,answered:y(d,e.answers[d.id]),open:d.id===i})}}return n},ee=(t,e)=>{const r=t.getBoundingClientRect(),i=new Map;e.forEach((n,s)=>{const l=t.querySelector(`[data-label="${s}"]`);if(!l)return;const g=i.get(n.target)??[];g.push(l),i.set(n.target,g)});const o=new Map;for(const[n,s]of i){const l=n.getBoundingClientRect(),g=l.width>0||l.height>0,d=o.get(n)??ye(n,t);o.set(n,d);const A=l.bottom>r.top&&l.top<r.bottom&&l.right>r.left&&l.left<r.right,I=l.bottom>d.top&&l.top<d.bottom;s.forEach((v,ie)=>{if(v.dataset.visible=String(g&&A&&I),!g||!A||!I)return;const T=v.offsetWidth,z=v.offsetHeight,oe=l.right-r.left-T+8-(s.length-1-ie)*(T+5),ne=l.top-r.top-z/2;v.style.transform=`translate(${N(oe,0,Math.max(0,t.clientWidth-T))}px, ${N(ne,0,Math.max(0,t.clientHeight-z))}px)`})}},ye=(t,e)=>{const r=t.getRootNode(),i=r instanceof ShadowRoot?r.host:null,o=i?.shadowRoot?.querySelector(".diagram-canvas")??null;return o instanceof Element?o.getBoundingClientRect():i instanceof Element?i.getBoundingClientRect():e.getBoundingClientRect()},$e=(t,e)=>a`
2
2
  <div class="grill-list">
3
3
  ${t.questions.length===0?a`<p class="grill-empty">該当する質問はありません。</p>`:ce(t.questions,r=>r.id,r=>Se(r,e))}
4
4
  </div>
@@ -1 +1 @@
1
- import{ax as t,ay as a,a0 as i,az as n}from"./shared-RRxRtPfs.js";const o=t(class extends a{constructor(){super(...arguments),this.key=i}render(s,e){return this.key=s,e}update(s,[e,r]){return e!==this.key&&(n(s),this.key=e),r}});export{o as i};
1
+ import{ax as t,ay as a,a0 as i,az as n}from"./shared-z875TnWr.js";const o=t(class extends a{constructor(){super(...arguments),this.key=i}render(s,e){return this.key=s,e}update(s,[e,r]){return e!==this.key&&(n(s),this.key=e),r}});export{o as i};
@@ -454,7 +454,7 @@ ${s}
454
454
  ${vn(p).replace(/\n/g,`
455
455
  `)}
456
456
  \`\`\``)}l.push("")}return o.length===0&&r.length===0&&(l.push("_No pending draft actions._"),l.push("")),l.push("## Canonical draft (JSON)"),l.push(""),l.push(bn(Me(n))),l.push(""),l.join(`
457
- `)},W="0.0.1",Nt=async s=>{try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(s),!0}catch{}const e=document.activeElement,t=document.createElement("textarea");try{return t.value=s,t.setAttribute("readonly",""),t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select(),document.execCommand("copy")}catch{return!1}finally{t.remove(),e instanceof HTMLElement&&e.focus()}},kn=()=>({body:"",attachment:{kind:"page"},copy:{kind:"idle"},copyRequest:0}),Rt=s=>s.kind==="explicit"?{kind:s.resume}:s,zt=(s,e)=>{switch(e.kind){case"input":return{...s,body:e.body};case"attach":return{...s,attachment:{kind:e.current?"current":"page"}};case"clear-target":return{...s,attachment:Rt(s.attachment)};case"target-requested":return{...s,attachment:{kind:"explicit",ref:e.ref,resume:s.attachment.kind==="explicit"?s.attachment.resume:s.attachment.kind}};case"submitted":return{...s,body:"",attachment:Rt(s.attachment),copy:{kind:"idle"},copyRequest:s.copyRequest+1};case"copy-started":return{...s,copy:{kind:"pending",format:e.format},copyRequest:s.copyRequest+1};case"copy-finished":return e.request!==s.copyRequest||s.copy.kind!=="pending"?s:{...s,copy:e.ok?{kind:"copied",format:s.copy.format}:{kind:"failed"}}}},xn=(s,e)=>{const t=s.body.trim();return t===""?null:{target:e,body:t}},Ut=s=>s.group?`${s.group} \xB7 ${s.label}`:s.label,It=(s,e)=>{const{definition:t,state:n,navigation:i,derivation:r}=s,o=t.currentTarget?.(n,i)??null,l=e.attachment,a=l.kind==="explicit"?t.commentTargets(n,i).find(c=>c.value===l.ref):null,p=l.kind==="explicit"?{ref:l.ref,label:a?Ut(a):l.ref}:l.kind==="current"&&o?{ref:o.value,label:Ut(o)}:{ref:`page:${t.name}`,label:"\u30DA\u30FC\u30B8\u5168\u4F53"},d=new Map(r.stale.map(c=>[c.action.id,c.reason]));return{body:e.body,target:p,attachment:l.kind==="explicit"?{kind:"explicit"}:o?{kind:"checkbox",checked:l.kind==="current",group:o.group??""}:{kind:"none"},canSubmit:e.body.trim().length>0,items:r.actions.map(c=>{const u=t.describe(c,n,r.base),h=c.type==="comment";return{id:c.id,title:h?"\u30B3\u30E1\u30F3\u30C8":u.title,targetLabel:u.targetLabel,tone:h?"comment":u.tone,text:{kind:h?"comment":"summary",body:h?Pe(c):u.summary??""},code:t.serialize(c),stale:d.get(c.id)??null}}),issues:s.issues.map(c=>`${c.path?`${c.path}: `:""}${c.message}`),flash:e.copy.kind==="copied"?`copied ${e.copy.format==="json"?"JSON":"brief"} \u2713`:e.copy.kind==="failed"?"copy failed":""}},$n=[pe,de,P`
457
+ `)},W="0.0.2-beta.0",Nt=async s=>{try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(s),!0}catch{}const e=document.activeElement,t=document.createElement("textarea");try{return t.value=s,t.setAttribute("readonly",""),t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select(),document.execCommand("copy")}catch{return!1}finally{t.remove(),e instanceof HTMLElement&&e.focus()}},kn=()=>({body:"",attachment:{kind:"page"},copy:{kind:"idle"},copyRequest:0}),Rt=s=>s.kind==="explicit"?{kind:s.resume}:s,zt=(s,e)=>{switch(e.kind){case"input":return{...s,body:e.body};case"attach":return{...s,attachment:{kind:e.current?"current":"page"}};case"clear-target":return{...s,attachment:Rt(s.attachment)};case"target-requested":return{...s,attachment:{kind:"explicit",ref:e.ref,resume:s.attachment.kind==="explicit"?s.attachment.resume:s.attachment.kind}};case"submitted":return{...s,body:"",attachment:Rt(s.attachment),copy:{kind:"idle"},copyRequest:s.copyRequest+1};case"copy-started":return{...s,copy:{kind:"pending",format:e.format},copyRequest:s.copyRequest+1};case"copy-finished":return e.request!==s.copyRequest||s.copy.kind!=="pending"?s:{...s,copy:e.ok?{kind:"copied",format:s.copy.format}:{kind:"failed"}}}},xn=(s,e)=>{const t=s.body.trim();return t===""?null:{target:e,body:t}},Ut=s=>s.group?`${s.group} \xB7 ${s.label}`:s.label,It=(s,e)=>{const{definition:t,state:n,navigation:i,derivation:r}=s,o=t.currentTarget?.(n,i)??null,l=e.attachment,a=l.kind==="explicit"?t.commentTargets(n,i).find(c=>c.value===l.ref):null,p=l.kind==="explicit"?{ref:l.ref,label:a?Ut(a):l.ref}:l.kind==="current"&&o?{ref:o.value,label:Ut(o)}:{ref:`page:${t.name}`,label:"\u30DA\u30FC\u30B8\u5168\u4F53"},d=new Map(r.stale.map(c=>[c.action.id,c.reason]));return{body:e.body,target:p,attachment:l.kind==="explicit"?{kind:"explicit"}:o?{kind:"checkbox",checked:l.kind==="current",group:o.group??""}:{kind:"none"},canSubmit:e.body.trim().length>0,items:r.actions.map(c=>{const u=t.describe(c,n,r.base),h=c.type==="comment";return{id:c.id,title:h?"\u30B3\u30E1\u30F3\u30C8":u.title,targetLabel:u.targetLabel,tone:h?"comment":u.tone,text:{kind:h?"comment":"summary",body:h?Pe(c):u.summary??""},code:t.serialize(c),stale:d.get(c.id)??null}}),issues:s.issues.map(c=>`${c.path?`${c.path}: `:""}${c.message}`),flash:e.copy.kind==="copied"?`copied ${e.copy.format==="json"?"JSON":"brief"} \u2713`:e.copy.kind==="failed"?"copy failed":""}},$n=[pe,de,P`
458
458
  :host {
459
459
  display: flex;
460
460
  flex-direction: column;
@@ -1 +1 @@
1
- import{r as a}from"./chunks/shared-Ciye_J-C.js";import{D as s,a as n,b as t,c as o,d as r,e as i,f as p,g as m,h as c,i as d,j as D,k as f,l,m as g,p as C,n as A,o as M,q as S,s as E}from"./chunks/shared-Ciye_J-C.js";import{a as h,F as e}from"./chunks/shared-RRxRtPfs.js";import{C as k,b as u,D as y,c as T,d as I,E as K,M as N,T as O,W as b,e as R,f as v,g as P,h as q,i as G,j as w,k as _,l as j,m as B,n as F,o as H,p as V,q as W,r as x,s as z,t as L,u as U,v as Y,w as J,x as Q,y as X,z as Z,A as $,B as aa,G as ea,H as sa,I as na,J as ta,K as oa,L as ra,N as ia,O as pa,P as ma,Q as ca,R as da,S as Da,U as fa,V as la,X as ga,Y as Ca,Z as Aa}from"./chunks/shared-RRxRtPfs.js";a(),h(e,[]);export{k as COMMENT_ACTION,u as COMMENT_DESCRIPTOR,s as DpkComponentArchitectureMap,y as DpkComponentCommentPanel,n as DpkComponentDependencyGraph,t as DpkComponentErDiagram,T as DpkComponentInlineEdit,o as DpkComponentKanban,r as DpkComponentMindMap,i as DpkComponentSequenceDiagram,p as DpkComponentStateDiagram,I as DraftController,K as EMPTY_NAVIGATION,e as FRAMEWORK_VERSION,N as MemoryDraftStorage,O as TemplateElement,b as WebStorageDraftStorage,R as appendAction,v as assertNever,P as buildAgentBrief,q as commentActionSchema,G as commentBody,w as commentTargetKey,_ as controls,j as createActionId,B as createEntityId,F as dedupeKeyOf,H as defaultStorage,V as defaultStorageKey,W as defineAction,m as defineArchitectureMap,x as defineCommentPanel,c as defineDependencyGraph,d as defineErDiagram,z as defineInlineEdit,D as defineKanban,f as defineMindMap,l as defineSequenceDiagram,g as defineStateDiagram,L as derive,U as draftActionEnvelopeSchema,Y as entityDedupeKey,J as formatHash,Q as iconArrowDown,X as iconArrowUp,Z as iconClose,$ as iconComment,aa as iconGrip,ea as iconLink,sa as iconMove,na as iconPencil,ta as iconPlus,oa as iconTrash,ra as liveActions,ia as parseHash,C as parseKanbanData,A as parseMindMapData,M as parseSequenceData,S as parseStateData,pa as parseTargetRef,ma as parseTemplateAction,ca as patchNavigation,da as payloadFor,a as registerComponentElements,E as registerDiagramElements,Da as serializeDraft,fa as slugify,la as targetRef,ga as targetSchema,Ca as toTarget,Aa as tokens};
1
+ import{r as a}from"./chunks/shared-BynqvHTb.js";import{D as s,a as n,b as t,c as o,d as r,e as i,f as p,g as m,h as c,i as d,j as D,k as f,l,m as g,p as C,n as A,o as M,q as S,s as E}from"./chunks/shared-BynqvHTb.js";import{a as h,F as e}from"./chunks/shared-z875TnWr.js";import{C as k,b as u,D as y,c as T,d as I,E as K,M as N,T as O,W as b,e as R,f as v,g as P,h as q,i as G,j as w,k as _,l as j,m as B,n as F,o as H,p as V,q as W,r as x,s as z,t as L,u as U,v as Y,w as J,x as Q,y as X,z as Z,A as $,B as aa,G as ea,H as sa,I as na,J as ta,K as oa,L as ra,N as ia,O as pa,P as ma,Q as ca,R as da,S as Da,U as fa,V as la,X as ga,Y as Ca,Z as Aa}from"./chunks/shared-z875TnWr.js";a(),h(e,[]);export{k as COMMENT_ACTION,u as COMMENT_DESCRIPTOR,s as DpkComponentArchitectureMap,y as DpkComponentCommentPanel,n as DpkComponentDependencyGraph,t as DpkComponentErDiagram,T as DpkComponentInlineEdit,o as DpkComponentKanban,r as DpkComponentMindMap,i as DpkComponentSequenceDiagram,p as DpkComponentStateDiagram,I as DraftController,K as EMPTY_NAVIGATION,e as FRAMEWORK_VERSION,N as MemoryDraftStorage,O as TemplateElement,b as WebStorageDraftStorage,R as appendAction,v as assertNever,P as buildAgentBrief,q as commentActionSchema,G as commentBody,w as commentTargetKey,_ as controls,j as createActionId,B as createEntityId,F as dedupeKeyOf,H as defaultStorage,V as defaultStorageKey,W as defineAction,m as defineArchitectureMap,x as defineCommentPanel,c as defineDependencyGraph,d as defineErDiagram,z as defineInlineEdit,D as defineKanban,f as defineMindMap,l as defineSequenceDiagram,g as defineStateDiagram,L as derive,U as draftActionEnvelopeSchema,Y as entityDedupeKey,J as formatHash,Q as iconArrowDown,X as iconArrowUp,Z as iconClose,$ as iconComment,aa as iconGrip,ea as iconLink,sa as iconMove,na as iconPencil,ta as iconPlus,oa as iconTrash,ra as liveActions,ia as parseHash,C as parseKanbanData,A as parseMindMapData,M as parseSequenceData,S as parseStateData,pa as parseTargetRef,ma as parseTemplateAction,ca as patchNavigation,da as payloadFor,a as registerComponentElements,E as registerDiagramElements,Da as serializeDraft,fa as slugify,la as targetRef,ga as targetSchema,Ca as toTarget,Aa as tokens};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{r as e}from"./chunks/shared-Ciye_J-C.js";import{D as r,a as s,b as m,c as n,d as i,e as p,f as l,s as f}from"./chunks/shared-Ciye_J-C.js";import{a as d,F as a}from"./chunks/shared-RRxRtPfs.js";import{C as g,D,c as E,d as c,M as C,T as y,W as M,f as S,g as u,i as k,m as T,o as A,p as v,q as N,t as R,v as h,w as O,N as P,O as b,P as x,Q as I,R as K,U as F,V as W}from"./chunks/shared-RRxRtPfs.js";import{d as q}from"./chunks/shared-kYGXVQi1.js";import{i as B}from"./chunks/shared-kYGXVQi1.js";import{d as G}from"./chunks/shared-DRvqGWhs.js";import{i as H}from"./chunks/shared-DRvqGWhs.js";import{d as U}from"./chunks/shared-9xyocuHz.js";import{i as V}from"./chunks/shared-9xyocuHz.js";import{d as _}from"./chunks/shared-C_0A8u8k.js";import{i as w}from"./chunks/shared-C_0A8u8k.js";import{d as L}from"./chunks/shared-fZbiwTtZ.js";import{i as Q}from"./chunks/shared-fZbiwTtZ.js";import{d as j}from"./chunks/shared-C45tQknL.js";import{i as z}from"./chunks/shared-C45tQknL.js";const t=()=>{L(),j(),q(),G(),U(),_()},J=["prototype","usm","event-storming","example-mapping","grill","plain"],o=()=>{e(),t(),d(a,J)};o();export{g as COMMENT_ACTION,r as DpkComponentArchitectureMap,D as DpkComponentCommentPanel,s as DpkComponentDependencyGraph,m as DpkComponentErDiagram,E as DpkComponentInlineEdit,n as DpkComponentKanban,i as DpkComponentMindMap,p as DpkComponentSequenceDiagram,l as DpkComponentStateDiagram,c as DraftController,a as FRAMEWORK_VERSION,C as MemoryDraftStorage,y as TemplateElement,M as WebStorageDraftStorage,S as assertNever,u as buildAgentBrief,k as commentBody,T as createEntityId,A as defaultStorage,v as defaultStorageKey,N as defineAction,R as derive,h as entityDedupeKey,B as eventStorming,H as exampleMapping,O as formatHash,V as grill,P as parseHash,b as parseTargetRef,x as parseTemplateAction,I as patchNavigation,K as payloadFor,w as plain,Q as prototype,o as registerAllElements,e as registerComponentElements,f as registerDiagramElements,t as registerTemplateElements,F as slugify,W as targetRef,z as usm};
1
+ import{r as e}from"./chunks/shared-BynqvHTb.js";import{D as r,a as s,b as m,c as n,d as i,e as p,f as l,s as f}from"./chunks/shared-BynqvHTb.js";import{a as d,F as a}from"./chunks/shared-z875TnWr.js";import{C as g,D,c as E,d as c,M as C,T as y,W as M,f as S,g as u,i as k,m as T,o as A,p as v,q as N,t as R,v as h,w as O,N as P,O as b,P as x,Q as I,R as K,U as F,V as W}from"./chunks/shared-z875TnWr.js";import{d as q}from"./chunks/shared-CqIMLfTL.js";import{i as B}from"./chunks/shared-CqIMLfTL.js";import{d as G}from"./chunks/shared-ChB7-2Gr.js";import{i as H}from"./chunks/shared-ChB7-2Gr.js";import{d as U}from"./chunks/shared-DyXC39rU.js";import{i as V}from"./chunks/shared-DyXC39rU.js";import{d as _}from"./chunks/shared-DNlbjLwV.js";import{i as w}from"./chunks/shared-DNlbjLwV.js";import{d as L}from"./chunks/shared-DoMzW1K-.js";import{i as Q}from"./chunks/shared-DoMzW1K-.js";import{d as j}from"./chunks/shared-BnsfTwLd.js";import{i as z}from"./chunks/shared-BnsfTwLd.js";const t=()=>{L(),j(),q(),G(),U(),_()},J=["prototype","usm","event-storming","example-mapping","grill","plain"],o=()=>{e(),t(),d(a,J)};o();export{g as COMMENT_ACTION,r as DpkComponentArchitectureMap,D as DpkComponentCommentPanel,s as DpkComponentDependencyGraph,m as DpkComponentErDiagram,E as DpkComponentInlineEdit,n as DpkComponentKanban,i as DpkComponentMindMap,p as DpkComponentSequenceDiagram,l as DpkComponentStateDiagram,c as DraftController,a as FRAMEWORK_VERSION,C as MemoryDraftStorage,y as TemplateElement,M as WebStorageDraftStorage,S as assertNever,u as buildAgentBrief,k as commentBody,T as createEntityId,A as defaultStorage,v as defaultStorageKey,N as defineAction,R as derive,h as entityDedupeKey,B as eventStorming,H as exampleMapping,O as formatHash,V as grill,P as parseHash,b as parseTargetRef,x as parseTemplateAction,I as patchNavigation,K as payloadFor,w as plain,Q as prototype,o as registerAllElements,e as registerComponentElements,f as registerDiagramElements,t as registerTemplateElements,F as slugify,W as targetRef,z as usm};
@@ -1 +1 @@
1
- import{r as e,s,a as t,F as a}from"../chunks/shared-RRxRtPfs.js";import{C as o,b as n,D as r,c as i,d as m,E as c,M as p,T as l,W as f,e as d,f as g,g as A,h as E,i as S,j as T,k as C,l as y,m as v,n as D,o as I,p as u,q as M,t as N,u as O,v as h,w as R,x as P,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-RRxRtPfs.js";import{d as Z}from"../chunks/shared-kYGXVQi1.js";import{i as $}from"../chunks/shared-kYGXVQi1.js";e(),s(),Z(),t(a,["event-storming"]);export{o as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,p as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,g as assertNever,A as buildAgentBrief,E as commentActionSchema,S as commentBody,T as commentTargetKey,C as controls,y as createActionId,v as createEntityId,D as dedupeKeyOf,I as defaultStorage,u as defaultStorageKey,M as defineAction,N as derive,O as draftActionEnvelopeSchema,h as entityDedupeKey,$ as eventStorming,R as formatHash,P as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
1
+ import{r as e,s,a as t,F as a}from"../chunks/shared-z875TnWr.js";import{C as o,b as n,D as r,c as i,d as m,E as c,M as p,T as l,W as f,e as d,f as g,g as A,h as E,i as S,j as T,k as C,l as y,m as v,n as D,o as I,p as u,q as M,t as N,u as O,v as h,w as R,x as P,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-z875TnWr.js";import{d as Z}from"../chunks/shared-CqIMLfTL.js";import{i as $}from"../chunks/shared-CqIMLfTL.js";e(),s(),Z(),t(a,["event-storming"]);export{o as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,p as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,g as assertNever,A as buildAgentBrief,E as commentActionSchema,S as commentBody,T as commentTargetKey,C as controls,y as createActionId,v as createEntityId,D as dedupeKeyOf,I as defaultStorage,u as defaultStorageKey,M as defineAction,N as derive,O as draftActionEnvelopeSchema,h as entityDedupeKey,$ as eventStorming,R as formatHash,P as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
@@ -1 +1 @@
1
- import{r as e,s,a as o,F as a}from"../chunks/shared-RRxRtPfs.js";import{C as t,b as n,D as i,c as r,d as m,E as p,M as c,T as l,W as f,e as d,f as g,g as A,h as E,i as T,j as C,k as y,l as M,m as S,n as D,o as I,p as u,q as N,t as O,u as h,v as R,w as v,x as P,y as K,z as k,A as x,B as w,G as _,H as b,I as B,J as F,K as G,L as H,N as V,O as W,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-RRxRtPfs.js";import{d as Z}from"../chunks/shared-DRvqGWhs.js";import{i as $}from"../chunks/shared-DRvqGWhs.js";e(),s(),Z(),o(a,["example-mapping"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,i as DpkComponentCommentPanel,r as DpkComponentInlineEdit,m as DraftController,p as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,c as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,g as assertNever,A as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,y as controls,M as createActionId,S as createEntityId,D as dedupeKeyOf,I as defaultStorage,u as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,R as entityDedupeKey,$ as exampleMapping,v as formatHash,P as iconArrowDown,K as iconArrowUp,k as iconClose,x as iconComment,w as iconGrip,_ as iconLink,b as iconMove,B as iconPencil,F as iconPlus,G as iconTrash,H as liveActions,V as parseHash,W as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
1
+ import{r as e,s,a as o,F as a}from"../chunks/shared-z875TnWr.js";import{C as t,b as n,D as i,c as r,d as m,E as p,M as c,T as l,W as f,e as d,f as g,g as A,h as E,i as T,j as C,k as y,l as M,m as S,n as D,o as I,p as u,q as N,t as O,u as h,v as R,w as v,x as P,y as K,z as k,A as x,B as w,G as _,H as b,I as B,J as F,K as G,L as H,N as V,O as W,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-z875TnWr.js";import{d as Z}from"../chunks/shared-ChB7-2Gr.js";import{i as $}from"../chunks/shared-ChB7-2Gr.js";e(),s(),Z(),o(a,["example-mapping"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,i as DpkComponentCommentPanel,r as DpkComponentInlineEdit,m as DraftController,p as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,c as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,g as assertNever,A as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,y as controls,M as createActionId,S as createEntityId,D as dedupeKeyOf,I as defaultStorage,u as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,R as entityDedupeKey,$ as exampleMapping,v as formatHash,P as iconArrowDown,K as iconArrowUp,k as iconClose,x as iconComment,w as iconGrip,_ as iconLink,b as iconMove,B as iconPencil,F as iconPlus,G as iconTrash,H as liveActions,V as parseHash,W as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
@@ -1 +1 @@
1
- import{r as e,s,a as o,F as a}from"../chunks/shared-RRxRtPfs.js";import{C as t,b as n,D as r,c as i,d as m,E as c,M as l,T as p,W as f,e as d,f as g,g as A,h as E,i as T,j as C,k as y,l as S,m as D,n as I,o as u,p as M,q as N,t as O,u as h,v as R,w as v,x as P,y as K,z as k,A as w,B as G,G as _,H as b,I as B,J as F,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-RRxRtPfs.js";import{d as Z}from"../chunks/shared-9xyocuHz.js";import{i as $}from"../chunks/shared-9xyocuHz.js";e(),s(),Z(),o(a,["grill"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,l as MemoryDraftStorage,p as TemplateElement,f as WebStorageDraftStorage,d as appendAction,g as assertNever,A as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,y as controls,S as createActionId,D as createEntityId,I as dedupeKeyOf,u as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,R as entityDedupeKey,v as formatHash,$ as grill,P as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,G as iconGrip,_ as iconLink,b as iconMove,B as iconPencil,F as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
1
+ import{r as e,s,a as o,F as a}from"../chunks/shared-z875TnWr.js";import{C as t,b as n,D as r,c as i,d as m,E as c,M as l,T as p,W as f,e as d,f as g,g as A,h as E,i as T,j as C,k as y,l as S,m as D,n as I,o as u,p as M,q as N,t as O,u as h,v as R,w as v,x as P,y as K,z as k,A as w,B as G,G as _,H as b,I as B,J as F,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-z875TnWr.js";import{d as Z}from"../chunks/shared-DyXC39rU.js";import{i as $}from"../chunks/shared-DyXC39rU.js";e(),s(),Z(),o(a,["grill"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,l as MemoryDraftStorage,p as TemplateElement,f as WebStorageDraftStorage,d as appendAction,g as assertNever,A as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,y as controls,S as createActionId,D as createEntityId,I as dedupeKeyOf,u as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,R as entityDedupeKey,v as formatHash,$ as grill,P as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,G as iconGrip,_ as iconLink,b as iconMove,B as iconPencil,F as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
@@ -1 +1 @@
1
- import{r as e,s,a as o,F as a}from"../chunks/shared-RRxRtPfs.js";import{C as t,b as n,D as i,c as r,d as m,E as c,M as l,T as p,W as f,e as d,f as A,g,h as E,i as T,j as C,k as y,l as S,m as D,n as I,o as u,p as M,q as N,t as O,u as h,v as P,w as R,x as v,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-RRxRtPfs.js";import{d as Z}from"../chunks/shared-C_0A8u8k.js";import{i as $}from"../chunks/shared-C_0A8u8k.js";e(),s(),Z(),o(a,["plain"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,i as DpkComponentCommentPanel,r as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,l as MemoryDraftStorage,p as TemplateElement,f as WebStorageDraftStorage,d as appendAction,A as assertNever,g as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,y as controls,S as createActionId,D as createEntityId,I as dedupeKeyOf,u as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,P as entityDedupeKey,R as formatHash,v as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,$ as plain,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
1
+ import{r as e,s,a as o,F as a}from"../chunks/shared-z875TnWr.js";import{C as t,b as n,D as i,c as r,d as m,E as c,M as l,T as p,W as f,e as d,f as A,g,h as E,i as T,j as C,k as y,l as S,m as D,n as I,o as u,p as M,q as N,t as O,u as h,v as P,w as R,x as v,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-z875TnWr.js";import{d as Z}from"../chunks/shared-DNlbjLwV.js";import{i as $}from"../chunks/shared-DNlbjLwV.js";e(),s(),Z(),o(a,["plain"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,i as DpkComponentCommentPanel,r as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,l as MemoryDraftStorage,p as TemplateElement,f as WebStorageDraftStorage,d as appendAction,A as assertNever,g as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,y as controls,S as createActionId,D as createEntityId,I as dedupeKeyOf,u as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,P as entityDedupeKey,R as formatHash,v as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,$ as plain,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
@@ -1 +1 @@
1
- import{r as e,s,a as o,F as a}from"../chunks/shared-RRxRtPfs.js";import{C as t,b as n,D as r,c as i,d as m,E as c,M as p,T as l,W as f,e as d,f as A,g,h as y,i as E,j as T,k as C,l as S,m as D,n as I,o as u,p as M,q as N,t as O,u as h,v as P,w as R,x as v,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-RRxRtPfs.js";import{d as Z}from"../chunks/shared-fZbiwTtZ.js";import{i as $}from"../chunks/shared-fZbiwTtZ.js";e(),s(),Z(),o(a,["prototype"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,p as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,A as assertNever,g as buildAgentBrief,y as commentActionSchema,E as commentBody,T as commentTargetKey,C as controls,S as createActionId,D as createEntityId,I as dedupeKeyOf,u as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,P as entityDedupeKey,R as formatHash,v as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,$ as prototype,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
1
+ import{r as e,s,a as o,F as a}from"../chunks/shared-z875TnWr.js";import{C as t,b as n,D as r,c as i,d as m,E as c,M as p,T as l,W as f,e as d,f as A,g,h as y,i as E,j as T,k as C,l as S,m as D,n as I,o as u,p as M,q as N,t as O,u as h,v as P,w as R,x as v,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as V,N as W,O as x,P as z,Q as L,R as U,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-z875TnWr.js";import{d as Z}from"../chunks/shared-DoMzW1K-.js";import{i as $}from"../chunks/shared-DoMzW1K-.js";e(),s(),Z(),o(a,["prototype"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,p as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,A as assertNever,g as buildAgentBrief,y as commentActionSchema,E as commentBody,T as commentTargetKey,C as controls,S as createActionId,D as createEntityId,I as dedupeKeyOf,u as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,P as entityDedupeKey,R as formatHash,v as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,V as liveActions,W as parseHash,x as parseTargetRef,z as parseTemplateAction,L as patchNavigation,U as payloadFor,$ as prototype,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens};
@@ -1 +1 @@
1
- import{r as e,s,a as o,F as a}from"../chunks/shared-RRxRtPfs.js";import{C as t,b as n,D as r,c as i,d as m,E as c,M as p,T as l,W as f,e as d,f as A,g,h as E,i as T,j as C,k as u,l as y,m as S,n as D,o as I,p as M,q as N,t as O,u as h,v as R,w as v,x as P,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as U,N as V,O as W,P as x,Q as z,R as L,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-RRxRtPfs.js";import{d as Z}from"../chunks/shared-C45tQknL.js";import{i as $}from"../chunks/shared-C45tQknL.js";e(),s(),Z(),o(a,["usm"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,p as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,A as assertNever,g as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,u as controls,y as createActionId,S as createEntityId,D as dedupeKeyOf,I as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,R as entityDedupeKey,v as formatHash,P as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,U as liveActions,V as parseHash,W as parseTargetRef,x as parseTemplateAction,z as patchNavigation,L as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens,$ as usm};
1
+ import{r as e,s,a as o,F as a}from"../chunks/shared-z875TnWr.js";import{C as t,b as n,D as r,c as i,d as m,E as c,M as p,T as l,W as f,e as d,f as A,g,h as E,i as T,j as C,k as u,l as y,m as S,n as D,o as I,p as M,q as N,t as O,u as h,v as R,w as v,x as P,y as K,z as k,A as w,B as _,G as b,H as B,I as F,J as G,K as H,L as U,N as V,O as W,P as x,Q as z,R as L,S as Y,U as j,V as q,X as J,Y as Q,Z as X}from"../chunks/shared-z875TnWr.js";import{d as Z}from"../chunks/shared-BnsfTwLd.js";import{i as $}from"../chunks/shared-BnsfTwLd.js";e(),s(),Z(),o(a,["usm"]);export{t as COMMENT_ACTION,n as COMMENT_DESCRIPTOR,r as DpkComponentCommentPanel,i as DpkComponentInlineEdit,m as DraftController,c as EMPTY_NAVIGATION,a as FRAMEWORK_VERSION,p as MemoryDraftStorage,l as TemplateElement,f as WebStorageDraftStorage,d as appendAction,A as assertNever,g as buildAgentBrief,E as commentActionSchema,T as commentBody,C as commentTargetKey,u as controls,y as createActionId,S as createEntityId,D as dedupeKeyOf,I as defaultStorage,M as defaultStorageKey,N as defineAction,O as derive,h as draftActionEnvelopeSchema,R as entityDedupeKey,v as formatHash,P as iconArrowDown,K as iconArrowUp,k as iconClose,w as iconComment,_ as iconGrip,b as iconLink,B as iconMove,F as iconPencil,G as iconPlus,H as iconTrash,U as liveActions,V as parseHash,W as parseTargetRef,x as parseTemplateAction,z as patchNavigation,L as payloadFor,Y as serializeDraft,j as slugify,q as targetRef,J as targetSchema,Q as toTarget,X as tokens,$ as usm};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-process-kit",
3
- "version": "0.0.1",
3
+ "version": "0.0.2-beta.0",
4
4
  "description": "Web Components for single-file HTML pages that a human reviews in the browser, with a structured draft/feedback loop back to an agent.",
5
5
  "keywords": [
6
6
  "agent",