dev-process-kit 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -9
- package/dist/chunks/shared-B2K3LoOU.js +1016 -0
- package/dist/chunks/{shared-D6UXy-Qw.js → shared-BqW3KAJ4.js} +99 -46
- package/dist/chunks/{shared-DZlREPaN.js → shared-Byv6cc0r.js} +480 -238
- package/dist/chunks/{shared-D3EKtSkd.js → shared-CKG_SQh5.js} +1 -1
- package/dist/chunks/{shared-C4Y4jSXa.js → shared-CPAT0Cgk.js} +4 -2
- package/dist/chunks/shared-CwbzACTe.js +1874 -0
- package/dist/chunks/{shared-utv1engQ.js → shared-DBDgdVsd.js} +1 -1
- package/dist/chunks/shared-DMlMTd3c.js +1018 -0
- package/dist/chunks/shared-DaoPCw6-.js +556 -0
- package/dist/chunks/shared-DqB_TR20.js +1599 -0
- package/dist/chunks/shared-DsVxrO_3.js +609 -0
- package/dist/chunks/shared-iQIywbRc.js +676 -0
- package/dist/chunks/shared-xrCdgpNS.js +1 -0
- package/dist/components.js +1 -1
- package/dist/index.js +1 -1
- package/dist/templates/event-storming.js +1 -1
- package/dist/templates/example-mapping.js +1 -1
- package/dist/templates/grill.js +1 -1
- package/dist/templates/plain.js +1 -1
- package/dist/templates/prototype.js +1 -1
- package/dist/templates/slides.js +1 -1
- package/dist/templates/task-board.js +1 -0
- package/dist/templates/usm.js +1 -1
- package/package.json +3 -2
- package/dist/chunks/shared-BFAVBf4I.js +0 -1
- package/dist/chunks/shared-BXV4Dm_n.js +0 -522
- package/dist/chunks/shared-CQlssGTf.js +0 -692
- package/dist/chunks/shared-CcD4vDCE.js +0 -1461
- package/dist/chunks/shared-D2QreyJq.js +0 -926
- package/dist/chunks/shared-OdGbSUTa.js +0 -574
- package/dist/chunks/shared-TjJWiz7W.js +0 -546
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
import{q as v,an as g,v as C,as as M,ad as l,au as D,af as p,ag as u,at as Y,a9 as Ce,aB as Ye,aa as N,ab as P,ac as V,P as Pe,f as Ve,_ as Ge,V as A,R as b,a0 as Z,a5 as Be,k as Ue,$ as W,a6 as qe,a1 as I,av as G,a2 as c,I as ze,A as je,K as Fe,i as He,m as L,a3 as $,J as Ke,B as Je,ax as Xe,T as Q}from"./shared-CwbzACTe.js";import{s as Ze,r as z,D as We}from"./shared-xrCdgpNS.js";import{P as ee,r as Qe,p as et,c as tt,a as it}from"./shared-CPAT0Cgk.js";const y={SET_ACTIVITY_NAME:v("SET_ACTIVITY_NAME","activity",g({name:p(l(),u(1))})),SET_STEP_NAME:v("SET_STEP_NAME","step",g({name:p(l(),u(1))})),REORDER_STEP:v("REORDER_STEP","step",g({after:M(l())}),{mode:"sequence"}),ADD_ACTIVITY:v("ADD_ACTIVITY","page",g({id:D,name:p(l(),u(1))}),{dedupeKey:C}),ADD_STEP:v("ADD_STEP","activity",g({id:D,name:p(l(),u(1))}),{dedupeKey:C}),DELETE_ACTIVITY:v("DELETE_ACTIVITY","activity",g({})),DELETE_STEP:v("DELETE_STEP","step",g({})),SET_STORY_NAME:v("SET_STORY_NAME","story",g({name:p(l(),u(1))})),SET_STORY_DESCRIPTION:v("SET_STORY_DESCRIPTION","story",g({description:l()})),SET_STORY_MILESTONE:v("SET_STORY_MILESTONE","story",g({milestoneId:M(l())})),MOVE_STORY:v("MOVE_STORY","story",g({activityId:p(l(),u(1)),stepId:p(l(),u(1)),milestoneId:M(l()),after:M(l())}),{mode:"sequence"}),REORDER_STORY:v("REORDER_STORY","story",g({after:M(l())}),{mode:"sequence"}),ADD_STORY:v("ADD_STORY","step",g({id:D,name:p(l(),u(1)),activityId:p(l(),u(1)),milestoneId:Y(l())}),{dedupeKey:C}),DELETE_STORY:v("DELETE_STORY","story",g({})),SET_MILESTONE_NAME:v("SET_MILESTONE_NAME","milestone",g({name:p(l(),u(1))})),ADD_MILESTONE:v("ADD_MILESTONE","page",g({id:D,name:p(l(),u(1))}),{dedupeKey:C}),DELETE_MILESTONE:v("DELETE_MILESTONE","milestone",g({})),REORDER_MILESTONE:v("REORDER_MILESTONE","milestone",g({after:M(l())}),{mode:"sequence"})},ot={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}})},rt=N({id:p(l(),u(1)),name:p(l(),u(1))}),at=N({id:D,name:p(l(),u(1)),steps:P(V(rt),[])}),nt=N({id:p(l(),u(1)),name:p(l(),u(1))}),st=N({id:D,name:p(l(),u(1)),description:Y(l()),activityId:p(l(),u(1)),stepId:p(l(),u(1)),milestoneId:Y(l())}),dt=N({title:Y(l()),activities:P(V(at),[]),milestones:P(V(nt),[]),stories:P(V(st),[])}),te=e=>{const t=Ce(dt,e),i=new Map;for(const n of t.activities)for(const s of n.steps)i.set(s.id,n.id);const o=new Set(t.milestones.map(n=>n.id)),r=new Set,a=(n,s)=>{if(r.has(s))throw new Error(`duplicate id "${s}" in ${n}`);r.add(s)};for(const n of t.activities){a("activities",n.id);for(const s of n.steps)a("steps",s.id)}for(const n of t.milestones)a("milestones",n.id);for(const n of t.stories){a("stories",n.id);const s=i.get(n.stepId);if(s===void 0||s!==n.activityId)throw new Error(`story "${n.id}" references unknown activityId/stepId`);if(n.milestoneId!==void 0&&!o.has(n.milestoneId))throw new Error(`story "${n.id}" references unknown milestoneId "${n.milestoneId}"`)}return t},ie=()=>({activities:[],milestones:[],stories:[]}),x=(e,t)=>{if(t!==void 0)return e.activities.find(i=>i.id===t)},j=(e,t)=>`${e}.${t}`,E=(e,t)=>{if(t===void 0)return;const i=Ye(t,2);if(i){const[o,r]=i;if(o===void 0||r===void 0)return;const a=e.activities.find(s=>s.id===o),n=a?.steps.find(s=>s.id===r);return a&&n?{activity:a,step:n}:void 0}if(!t.includes("."))for(const o of e.activities){const r=o.steps.find(a=>a.id===t);if(r)return{activity:o,step:r}}},w=(e,t)=>{if(t!==void 0)return e.milestones.find(i=>i.id===t)},k=(e,t)=>{if(t!==void 0)return e.stories.find(i=>i.id===t)},oe=e=>e.activities.flatMap(t=>t.steps.map(i=>({activity:t,step:i}))),lt=e=>({...e,stories:Ze(e.stories,[t=>`${t.activityId}/${t.stepId}/${t.milestoneId??""}`])}),B=(e,t,i)=>e.stories.filter(o=>o.stepId===t&&(o.milestoneId??void 0)===i),re=(e,t,i)=>e.stories.filter(o=>o.activityId===t&&(o.milestoneId??void 0)===i),R=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)],ct=(e,t)=>e.stories.filter(i=>i.stepId===t).length,ae=(e,t)=>{const i=Pe(y,t);if(i===null)return null;const o=i.target.id;switch(i.type){case"SET_ACTIVITY_NAME":{const{name:r}=i.payload;return e.activities.some(a=>a.id===o)?{...e,activities:e.activities.map(a=>a.id===o?{...a,name:r}:a)}:null}case"SET_STEP_NAME":{const{name:r}=i.payload,a=E(e,o);return a?{...e,activities:e.activities.map(n=>n.id===a.activity.id?{...n,steps:n.steps.map(s=>s.id===a.step.id?{...s,name:r}:s)}:n)}:null}case"REORDER_STEP":{const{after:r}=i.payload,a=E(e,o);if(!a)return null;const n=r===null?null:E(e,r);if(r!==null&&(!n||n.activity.id!==a.activity.id))return null;const s=se(a.activity.steps,a.step.id,n?.step.id??null);return s===null?null:{...e,activities:e.activities.map(d=>d.id===a.activity.id?{...d,steps:s}:d)}}case"ADD_ACTIVITY":{const r=i.payload;return e.activities.some(a=>a.id===r.id)?e:{...e,activities:[...e.activities,{id:r.id,name:r.name,steps:[]}]}}case"ADD_STEP":{const r=i.payload,a=e.activities.find(n=>n.id===o);return a?a.steps.some(n=>n.id===r.id)?e:{...e,activities:e.activities.map(n=>n.id===o?{...n,steps:[...n.steps,{id:r.id,name:r.name}]}:n)}:null}case"DELETE_ACTIVITY":{const r=e.activities.find(n=>n.id===o);if(!r)return null;const a=new Set(r.steps.map(n=>n.id));return{...e,activities:e.activities.filter(n=>n.id!==o),stories:e.stories.filter(n=>n.activityId!==o&&!a.has(n.stepId))}}case"DELETE_STEP":{const r=E(e,o);return r?{...e,activities:e.activities.map(a=>a.id===r.activity.id?{...a,steps:a.steps.filter(n=>n.id!==r.step.id)}:a),stories:e.stories.filter(a=>a.activityId!==r.activity.id||a.stepId!==r.step.id)}:null}case"SET_STORY_NAME":{const{name:r}=i.payload;return F(e,o,a=>({...a,name:r}))}case"SET_STORY_DESCRIPTION":{const{description:r}=i.payload;return F(e,o,a=>({...a,description:r}))}case"SET_STORY_MILESTONE":{const{milestoneId:r}=i.payload;return r!==null&&!w(e,r)?null:F(e,o,a=>r===null?H(a):{...a,milestoneId:r})}case"MOVE_STORY":{const r=i.payload,a=k(e,o);if(!a)return null;const n=E(e,r.stepId);if(!n||n.activity.id!==r.activityId||r.milestoneId!==null&&!w(e,r.milestoneId))return null;const s=r.milestoneId??void 0,d=s===void 0?{...H(a),activityId:n.activity.id,stepId:n.step.id}:{...a,activityId:n.activity.id,stepId:n.step.id,milestoneId:s};return ne(e,d,r.after)}case"REORDER_STORY":{const{after:r}=i.payload,a=k(e,o);return a?ne(e,a,r,!0):null}case"ADD_STORY":{const r=i.payload,a=E(e,t.target.id);if(!a||a.activity.id!==r.activityId||r.milestoneId!==void 0&&!w(e,r.milestoneId))return null;if(e.stories.some(s=>s.id===r.id))return e;const n={id:r.id,name:r.name,activityId:r.activityId,stepId:a.step.id,...r.milestoneId===void 0?{}:{milestoneId:r.milestoneId}};return{...e,stories:[...e.stories,n]}}case"DELETE_STORY":return e.stories.some(r=>r.id===o)?{...e,stories:e.stories.filter(r=>r.id!==o)}:null;case"SET_MILESTONE_NAME":{const{name:r}=i.payload;return e.milestones.some(a=>a.id===o)?{...e,milestones:e.milestones.map(a=>a.id===o?{...a,name:r}:a)}:null}case"ADD_MILESTONE":{const r=i.payload;return e.milestones.some(a=>a.id===r.id)?e:{...e,milestones:[...e.milestones,{id:r.id,name:r.name}]}}case"DELETE_MILESTONE":return e.milestones.some(r=>r.id===o)?{...e,milestones:e.milestones.filter(r=>r.id!==o),stories:e.stories.map(r=>r.milestoneId===o?H(r):r)}:null;case"REORDER_MILESTONE":{const{after:r}=i.payload,a=se(e.milestones,o,r);return a===null?null:{...e,milestones:a}}default:return Ve(i)}},F=(e,t,i)=>e.stories.some(o=>o.id===t)?{...e,stories:e.stories.map(o=>o.id===t?i(o):o)}:null,H=e=>{const{milestoneId:t,...i}=e;return i},ne=(e,t,i,o=!1)=>{const r=t.milestoneId??void 0,a=e.stories.filter(h=>h.id!==t.id),n=a.filter(h=>h.stepId===t.stepId&&(h.milestoneId??void 0)===r);if(i!==null){const h=a.find(O=>O.id===i);if(!h||h.stepId!==t.stepId||(h.milestoneId??void 0)!==r)return null;if(o){const O=k(e,t.id);if(!O||h.stepId!==O.stepId||(h.milestoneId??void 0)!==(O.milestoneId??void 0))return null}}const s=i===null?[t,...n]:de(n,t,i),d=a.findIndex(h=>h.stepId===t.stepId&&(h.milestoneId??void 0)===r),m=new Set(n.map(h=>h.id)),S=a.filter(h=>!m.has(h.id)),f=d<0?S.length:Math.min(d,S.length),T=[...S.slice(0,f),...s,...S.slice(f)];return{...e,stories:T}},se=(e,t,i)=>{if(!e.some(a=>a.id===t)||i!==null&&!e.some(a=>a.id===i))return null;if(i===t)return[...e];const o=e.find(a=>a.id===t);if(o===void 0)return null;const r=e.filter(a=>a.id!==t);return de(r,o,i)},de=(e,t,i)=>{const o=[...e],r=i===null?-1:o.findIndex(a=>a.id===i);return o.splice(r+1,0,t),o},U=Ge({en:{renameActivity:"Rename activity",renameStep:"Rename step",reorderStep:"Reorder step",addActivity:"Add activity",addStep:"Add step",deleteActivity:"Delete activity",deleteStep:"Delete step",renameStory:"Rename story",updateStoryDescription:"Update story description",changeMilestone:"Change milestone",moveStory:"Move story",reorderStory:"Reorder story",addStory:"Add story",deleteStory:"Delete story",renameMilestone:"Rename milestone",addMilestone:"Add milestone",deleteMilestone:"Delete milestone",reorderMilestone:"Reorder milestone",toValue:e=>`\u2192 \u201C${e}\u201D`,fromTo:(e,t)=>`\u201C${e}\u201D \u2192 \u201C${t}\u201D`,added:e=>`+ \u201C${e}\u201D`,removed:e=>`\u2212 \u201C${e}\u201D`,toFront:"\u2192 To the front",afterName:e=>`\u2192 Right after \u201C${e}\u201D`,toUnassigned:"\u2192 Unassigned",toName:e=>`\u2192 ${e}`,activityGroup:"Activity",stepGroup:"Step",storyGroup:"Story",milestoneGroup:"Milestone",mapGroup:"Map",targetLabel:(e,t)=>`${e} \xB7 ${t}`,targetMissing:(e,t)=>`${e} \xB7 ${t} (missing)`,wholeMap:"Whole map",unassigned:"Unassigned",emptyTitle:"No backbone yet",emptyBody:"Add activities and steps, and the story map appears here.",firstActivityButton:"+ First activity",groupingLabel:"Group by",groupViewTab:"Activity group",groupAxisHeader:"Activity group \u2192",activityAxis:"Activity \u2192",milestoneAxis:"Milestone \u2193",stepNameLabel:"Step name",activityNameLabel:"Activity name",milestoneNameLabel:"Milestone name",addStepAria:"Add a step to this activity",newActivityButton:"+ Activity",newMilestoneButton:"+ Milestone",addCellButton:"+ Add",addStoryCellAria:"Add a story to this cell",moveDialogLabel:"Step to move to",moveDialogSelectLabel:"Destination",moveConfirm:"Move",moveCancel:"Cancel",storyNameLabel:"Story name",editTitleAria:"Edit title",commentAria:"Comment",deleteAria:"Delete",newActivityName:"New activity",newStepName:"New step",newMilestoneName:"New milestone",newStoryName:"New story"},ja:{renameActivity:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u540D\u3092\u5909\u66F4",renameStep:"\u30B9\u30C6\u30C3\u30D7\u540D\u3092\u5909\u66F4",reorderStep:"\u30B9\u30C6\u30C3\u30D7\u306E\u9806\u5E8F\u3092\u5909\u66F4",addActivity:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u8FFD\u52A0",addStep:"\u30B9\u30C6\u30C3\u30D7\u3092\u8FFD\u52A0",deleteActivity:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u524A\u9664",deleteStep:"\u30B9\u30C6\u30C3\u30D7\u3092\u524A\u9664",renameStory:"\u30B9\u30C8\u30FC\u30EA\u30FC\u540D\u3092\u5909\u66F4",updateStoryDescription:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u8AAC\u660E\u3092\u66F4\u65B0",changeMilestone:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u5909\u66F4",moveStory:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u79FB\u52D5",reorderStory:"\u30B9\u30C8\u30FC\u30EA\u30FC\u306E\u9806\u5E8F\u3092\u5909\u66F4",addStory:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u8FFD\u52A0",deleteStory:"\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u524A\u9664",renameMilestone:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u540D\u3092\u5909\u66F4",addMilestone:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u8FFD\u52A0",deleteMilestone:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u524A\u9664",reorderMilestone:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u306E\u9806\u5E8F\u3092\u5909\u66F4",toValue:e=>`\u2192 \u300C${e}\u300D`,fromTo:(e,t)=>`\u300C${e}\u300D\u2192\u300C${t}\u300D`,added:e=>`+ \u300C${e}\u300D`,removed:e=>`\u2212 \u300C${e}\u300D`,toFront:"\u2192 \u5148\u982D\u3078",afterName:e=>`\u2192 \u300C${e}\u300D\u306E\u76F4\u5F8C\u3078`,toUnassigned:"\u2192 \u672A\u5272\u5F53\u3078",toName:e=>`\u2192 ${e}`,activityGroup:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3",stepGroup:"\u30B9\u30C6\u30C3\u30D7",storyGroup:"\u30B9\u30C8\u30FC\u30EA\u30FC",milestoneGroup:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3",mapGroup:"\u30DE\u30C3\u30D7",targetLabel:(e,t)=>`${e} \xB7 ${t}`,targetMissing:(e,t)=>`${e} \xB7 ${t} (missing)`,wholeMap:"\u30DE\u30C3\u30D7\u5168\u4F53",unassigned:"\u672A\u5272\u5F53",emptyTitle:"\u30D0\u30C3\u30AF\u30DC\u30FC\u30F3\u304C\u307E\u3060\u3042\u308A\u307E\u305B\u3093",emptyBody:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3068\u30B9\u30C6\u30C3\u30D7\u3092\u8FFD\u52A0\u3059\u308B\u3068\u3001\u3053\u3053\u306B\u30B9\u30C8\u30FC\u30EA\u30FC\u30DE\u30C3\u30D7\u304C\u73FE\u308C\u307E\u3059\u3002",firstActivityButton:"+ \u6700\u521D\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3",groupingLabel:"\u307E\u3068\u3081\u308B\u5358\u4F4D",groupViewTab:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u30B0\u30EB\u30FC\u30D7",groupAxisHeader:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u30B0\u30EB\u30FC\u30D7 \u2192",activityAxis:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 \u2192",milestoneAxis:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3 \u2193",stepNameLabel:"\u30B9\u30C6\u30C3\u30D7\u540D",activityNameLabel:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u540D",milestoneNameLabel:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u540D",addStepAria:"\u3053\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u306B\u30B9\u30C6\u30C3\u30D7\u3092\u8FFD\u52A0",newActivityButton:"+ \u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3",newMilestoneButton:"+ \u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3",addCellButton:"+ \u8FFD\u52A0",addStoryCellAria:"\u3053\u306E\u30DE\u30B9\u306B\u30B9\u30C8\u30FC\u30EA\u30FC\u3092\u8FFD\u52A0",moveDialogLabel:"\u79FB\u52D5\u5148\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3",moveDialogSelectLabel:"\u79FB\u52D5\u5148",moveConfirm:"\u79FB\u52D5\u3059\u308B",moveCancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",storyNameLabel:"\u30B9\u30C8\u30FC\u30EA\u30FC\u540D",editTitleAria:"\u30BF\u30A4\u30C8\u30EB\u3092\u7DE8\u96C6",commentAria:"\u30B3\u30E1\u30F3\u30C8",deleteAria:"\u524A\u9664",newActivityName:"\u65B0\u3057\u3044\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3",newStepName:"\u65B0\u3057\u3044\u30B9\u30C6\u30C3\u30D7",newMilestoneName:"\u65B0\u3057\u3044\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3",newStoryName:"\u65B0\u3057\u3044\u30B9\u30C8\u30FC\u30EA\u30FC"}}),q=(e,t,i)=>{const o=typeof i=="string"?i:"",r=typeof t=="string"?t:void 0;return r===void 0?e.toValue(o):e.fromTo(r,o)},K=(e,t)=>typeof t=="string"?e.afterName(t):e.toFront,pt={SET_ACTIVITY_NAME:(e,t,i)=>({title:e.renameActivity,tone:"update",body:q(e,x(i,t.target.id)?.name,b(y.SET_ACTIVITY_NAME,t).name??"")}),SET_STEP_NAME:(e,t,i)=>({title:e.renameStep,tone:"update",body:q(e,E(i,t.target.id)?.step.name,b(y.SET_STEP_NAME,t).name??"")}),REORDER_STEP:(e,t)=>({title:e.reorderStep,tone:"move",body:K(e,b(y.REORDER_STEP,t).after)}),ADD_ACTIVITY:(e,t)=>({title:e.addActivity,tone:"create",body:e.added(String(b(y.ADD_ACTIVITY,t).name??""))}),ADD_STEP:(e,t)=>({title:e.addStep,tone:"create",body:e.added(String(b(y.ADD_STEP,t).name??""))}),DELETE_ACTIVITY:(e,t,i)=>({title:e.deleteActivity,tone:"delete",body:e.removed(x(i,t.target.id)?.name??t.target.id)}),DELETE_STEP:(e,t,i)=>({title:e.deleteStep,tone:"delete",body:e.removed(E(i,t.target.id)?.step.name??t.target.id)}),SET_STORY_NAME:(e,t,i)=>({title:e.renameStory,tone:"update",body:q(e,k(i,t.target.id)?.name,b(y.SET_STORY_NAME,t).name??"")}),SET_STORY_DESCRIPTION:(e,t)=>({title:e.updateStoryDescription,tone:"update",body:e.toValue(String(b(y.SET_STORY_DESCRIPTION,t).description??"").slice(0,90))}),SET_STORY_MILESTONE:(e,t,i)=>{const o=b(y.SET_STORY_MILESTONE,t).milestoneId;return{title:e.changeMilestone,tone:"move",body:o==null?e.toUnassigned:e.toName(w(i,String(o))?.name??String(o))}},MOVE_STORY:(e,t,i)=>({title:e.moveStory,tone:"move",body:e.toName(E(i,String(b(y.MOVE_STORY,t).stepId))?.step.name??String(b(y.MOVE_STORY,t).stepId??""))}),REORDER_STORY:(e,t)=>({title:e.reorderStory,tone:"move",body:K(e,b(y.REORDER_STORY,t).after)}),ADD_STORY:(e,t)=>({title:e.addStory,tone:"create",body:e.added(String(b(y.ADD_STORY,t).name??""))}),DELETE_STORY:(e,t,i)=>({title:e.deleteStory,tone:"delete",body:e.removed(k(i,t.target.id)?.name??t.target.id)}),SET_MILESTONE_NAME:(e,t,i)=>({title:e.renameMilestone,tone:"update",body:q(e,w(i,t.target.id)?.name,b(y.SET_MILESTONE_NAME,t).name??"")}),ADD_MILESTONE:(e,t)=>({title:e.addMilestone,tone:"create",body:e.added(String(b(y.ADD_MILESTONE,t).name??""))}),DELETE_MILESTONE:(e,t,i)=>({title:e.deleteMilestone,tone:"delete",body:e.removed(w(i,t.target.id)?.name??t.target.id)}),REORDER_MILESTONE:(e,t)=>({title:e.reorderMilestone,tone:"move",body:K(e,b(y.REORDER_MILESTONE,t).after)})},le=(e,t,i,o)=>{let r;try{const a=pt[t.type];r=a?a(e,t,o??i):{title:t.type,tone:"meta"}}catch{r={title:t.type,tone:"meta"}}return{title:r.title,targetLabel:pe(e,i,t.target),tone:r.tone,...r.body===void 0?{}:{summary:r.body}}},ce=e=>`${e.type} ${A(e.target)} ${JSON.stringify(e.payload)}`,pe=(e,t,i)=>{try{switch(i.type){case"activity":{const o=x(t,i.id);return o?e.targetLabel(e.activityGroup,o.name):e.targetMissing(e.activityGroup,i.id)}case"step":{const o=E(t,i.id)?.step;return o?e.targetLabel(e.stepGroup,o.name):e.targetMissing(e.stepGroup,i.id)}case"story":{const o=k(t,i.id);return o?e.targetLabel(e.storyGroup,o.name):e.targetMissing(e.storyGroup,i.id)}case"milestone":{const o=w(t,i.id);return o?e.targetLabel(e.milestoneGroup,o.name):e.targetMissing(e.milestoneGroup,i.id)}case"page":return e.targetLabel(e.mapGroup,J(t));default:return`${i.type} \xB7 ${i.id}`}}catch{return`${i.type} \xB7 ${i.id}`}},ue=(e,t,i)=>{const o=[{value:"page:usm",label:e.wholeMap,group:e.mapGroup}];for(const r of t.activities){o.push({value:A({type:"activity",id:r.id}),label:r.name,group:e.activityGroup});for(const a of r.steps)o.push({value:A({type:"step",id:j(r.id,a.id)}),label:`${r.name} \u203A ${a.name}`,group:e.stepGroup})}for(const r of t.milestones)o.push({value:A({type:"milestone",id:r.id}),label:r.name,group:e.milestoneGroup});for(const r of t.stories)o.push({value:A({type:"story",id:r.id}),label:r.name,group:e.storyGroup});return o},me=(e,t,i)=>{const o=t.stories.find(r=>r.id===i.story);if(o)return{value:A({type:"story",id:o.id}),label:o.name,group:e.storyGroup};for(const r of t.activities){const a=r.steps.find(n=>n.id===i.step);if(a)return{value:A({type:"step",id:j(r.id,a.id)}),label:a.name,group:e.stepGroup}}return null},J=e=>e.title??"User Story Mapping",ve=(e,t)=>{const i=E(e,t.step),o=i?.activity??x(e,t.activity)??e.activities[0],r=i?.step??o?.steps.find(s=>s.id===t.step)??o?.steps[0],a=k(e,t.story),n={...t};return o?n.activity=o.id:delete n.activity,r?n.step=r.id:delete n.step,a?n.story=a.id:delete n.story,n.view=t.view==="group"?"group":"activity",n},ge=(e,t)=>{switch(t.type){case"activity":return x(e,t.id)!==void 0;case"step":return E(e,t.id)!==void 0;case"story":return k(e,t.id)!==void 0;case"milestone":return w(e,t.id)!==void 0;case"page":return!0;default:return!1}},ye=e=>{const t=U(e);return{name:"usm",label:"User Story Mapping",parseBase:te,emptyBase:ie,actions:y,apply:ae,canonicalState:lt,hasTarget:ge,canonicalTarget:(i,o)=>{if(o.type!=="step")return o;const r=E(i,o.id);return r?{...o,id:j(r.activity.id,r.step.id)}:o},describe:(i,o,r)=>le(t,i,o,r),serialize:ce,resolveNavigation:ve,commentTargets:(i,o)=>ue(t,i),currentTarget:(i,o)=>me(t,i,o),title:J}},ut={width:300,height:260},mt=Z`
|
|
2
|
+
:host {
|
|
3
|
+
position: relative;
|
|
4
|
+
display: grid;
|
|
5
|
+
gap: 5px;
|
|
6
|
+
background: var(--dpk-paper-raised);
|
|
7
|
+
border: 1px solid var(--dpk-rule);
|
|
8
|
+
border-radius: var(--dpk-radius);
|
|
9
|
+
box-shadow: var(--dpk-bevel), var(--dpk-shadow-xs);
|
|
10
|
+
padding: 10px 12px 8px 14px;
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
transition:
|
|
13
|
+
box-shadow 200ms var(--dpk-ease),
|
|
14
|
+
transform 200ms var(--dpk-ease),
|
|
15
|
+
border-color 200ms var(--dpk-ease);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Left accent: a quiet claim that this card belongs to the board's story
|
|
19
|
+
lane, without a hard border changing the card's shape. */
|
|
20
|
+
:host::before {
|
|
21
|
+
content: '';
|
|
22
|
+
position: absolute;
|
|
23
|
+
inset: 0;
|
|
24
|
+
border-radius: inherit;
|
|
25
|
+
box-shadow: inset 3px 0 0 color-mix(in srgb, var(--dpk-usm-accent) 65%, transparent);
|
|
26
|
+
pointer-events: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
:host(:hover) {
|
|
30
|
+
border-color: var(--dpk-rule-strong);
|
|
31
|
+
box-shadow: var(--dpk-bevel), var(--dpk-shadow-sm);
|
|
32
|
+
transform: translateY(-2px);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([focused]) {
|
|
36
|
+
border-color: var(--dpk-blue);
|
|
37
|
+
box-shadow:
|
|
38
|
+
var(--dpk-bevel),
|
|
39
|
+
var(--dpk-shadow),
|
|
40
|
+
0 0 0 2px color-mix(in srgb, var(--dpk-blue) 22%, transparent);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:host([dragging]) {
|
|
44
|
+
opacity: 0.45;
|
|
45
|
+
transform: none;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.card-name {
|
|
49
|
+
font-size: 13px;
|
|
50
|
+
font-weight: 620;
|
|
51
|
+
letter-spacing: -0.01em;
|
|
52
|
+
line-height: 1.3;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.card-text {
|
|
56
|
+
font-size: 11.5px;
|
|
57
|
+
line-height: 1.5;
|
|
58
|
+
color: var(--dpk-ink-soft);
|
|
59
|
+
white-space: pre-wrap;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.card-tools {
|
|
63
|
+
display: flex;
|
|
64
|
+
gap: 2px;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: flex-end;
|
|
67
|
+
margin-top: 2px;
|
|
68
|
+
padding-top: 5px;
|
|
69
|
+
border-top: 1px solid var(--dpk-rule);
|
|
70
|
+
opacity: 0;
|
|
71
|
+
transition: opacity 150ms ease;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:host(:hover) .card-tools,
|
|
75
|
+
:host([focused]) .card-tools,
|
|
76
|
+
:host([data-mode='editing']) .card-tools,
|
|
77
|
+
:host([data-mode='commenting']) .card-tools {
|
|
78
|
+
opacity: 1;
|
|
79
|
+
}
|
|
80
|
+
`;class vt extends Be{static{this.styles=[Ue,mt,W]}static{this.properties={story:{attribute:!1},notes:{attribute:!1},mode:{type:String,reflect:!0,attribute:"data-mode"},focused:{type:Boolean,reflect:!0},dragging:{type:Boolean,reflect:!0},onIntent:{attribute:!1}}}#t="";#r=new ee(this);#o=new qe(this);constructor(){super(),this.story=null,this.notes=[],this.mode="view",this.focused=!1,this.dragging=!1,this.onIntent=null,this.addEventListener("click",()=>this.#e({kind:"select"}))}updated(t){if(t.has("mode")&&(this.mode!=="commenting"&&(this.#t=""),this.mode==="editing"&&this.renderRoot.querySelector("dpk-component-inline-edit")?.startEditing()),this.mode!=="commenting")return;const i=this.renderRoot.querySelector(".comment-pop"),o=this.renderRoot.querySelector('[data-role="comment"]');i&&o&&this.#r.open(i,o,ut)}render(){const t=this.story;if(!t)return I;const i=U(this.#o.locale),o=this.mode==="editing",r=this.mode==="commenting";return c`
|
|
81
|
+
<div class="card-name">
|
|
82
|
+
${o?c`<dpk-component-inline-edit
|
|
83
|
+
.value=${t.name}
|
|
84
|
+
.label=${i.storyNameLabel}
|
|
85
|
+
@dpk-commit=${G(a=>this.#e({kind:"rename",name:a}))}
|
|
86
|
+
></dpk-component-inline-edit>`:c`<span>${t.name}</span>`}
|
|
87
|
+
</div>
|
|
88
|
+
${t.description?c`<div class="card-text">${t.description}</div>`:I}
|
|
89
|
+
<div class="card-tools">
|
|
90
|
+
<button
|
|
91
|
+
class="dpk-icon-btn"
|
|
92
|
+
type="button"
|
|
93
|
+
data-role="edit"
|
|
94
|
+
aria-label=${i.editTitleAria}
|
|
95
|
+
data-active=${String(o)}
|
|
96
|
+
@click=${this.#i({kind:"toggle-edit"})}
|
|
97
|
+
>
|
|
98
|
+
${ze()}
|
|
99
|
+
</button>
|
|
100
|
+
<button
|
|
101
|
+
class="dpk-icon-btn"
|
|
102
|
+
type="button"
|
|
103
|
+
data-role="comment"
|
|
104
|
+
aria-label=${i.commentAria}
|
|
105
|
+
data-active=${String(r)}
|
|
106
|
+
@click=${this.#i({kind:"toggle-comment"})}
|
|
107
|
+
>
|
|
108
|
+
${je()}
|
|
109
|
+
${this.notes.length>0?c`<span class="dpk-icon-badge">${this.notes.length}</span>`:I}
|
|
110
|
+
</button>
|
|
111
|
+
<button
|
|
112
|
+
class="dpk-icon-btn"
|
|
113
|
+
type="button"
|
|
114
|
+
data-role="delete"
|
|
115
|
+
aria-label=${i.deleteAria}
|
|
116
|
+
@click=${this.#i({kind:"delete"})}
|
|
117
|
+
>
|
|
118
|
+
${Fe()}
|
|
119
|
+
</button>
|
|
120
|
+
</div>
|
|
121
|
+
${r?this.#a():I}
|
|
122
|
+
`}#a(){return Qe(tt(this.#o.locale),et(this.#t,this.notes.map(He)),t=>{t.kind==="input"?(this.#t=t.body,this.requestUpdate()):this.#e(t)})}#i(t){return i=>{i.stopPropagation(),this.#e(t)}}#e(t){this.onIntent?.(t)}}const gt=()=>{customElements.get("dpk-internal-usm-story-card")||customElements.define("dpk-internal-usm-story-card",vt)},yt=(e,t,i)=>{const o=e.at(-1)??null;if(t===null||i==="end")return o;const r=e.indexOf(t);return r<0?o:i==="after"?t:r===0?null:e.at(r-1)??null},he=(e,t,i,o,r)=>{const a=B(e,t.stepId,t.milestoneId).map(n=>n.id);return{type:"MOVE_STORY",target:{type:"story",id:i},payload:{activityId:t.activityId,stepId:t.stepId,milestoneId:t.milestoneId??null,after:z(a,i,o,r)}}},be=(e,t,i,o,r,a)=>{const n=k(e,o);if(!n||n.activityId!==t)return null;const s=re(e,t,i).map(d=>d.id);return{type:"MOVE_STORY",target:{type:"story",id:o},payload:{activityId:t,stepId:n.stepId,milestoneId:i??null,after:z(s,o,r,a)}}},fe=(e,t,i,o,r)=>{const a=B(e,o,r).filter(n=>n.id!==t);return{type:"MOVE_STORY",target:{type:"story",id:t},payload:{activityId:i,stepId:o,milestoneId:r??null,after:a.at(-1)?.id??null}}},Ee=(e,t,i,o)=>e.includes(t)?{type:"REORDER_MILESTONE",target:{type:"milestone",id:t},payload:{after:z(e,t,i,o)}}:null,ke=(e,t)=>{const i=L("new-activity",R(t.state));if(!t.dispatch({type:"ADD_ACTIVITY",target:{type:"page",id:"usm"},payload:{id:i,name:e.newActivityName}}).ok)return;const r=L("new-step",[...R(t.state),i]);t.dispatch({type:"ADD_STEP",target:{type:"activity",id:i},payload:{id:r,name:e.newStepName}}),t.navigate({activity:i,step:null,story:null})},ht=(e,t,i)=>{const o=L("new-step",R(t.state));t.dispatch({type:"ADD_STEP",target:{type:"activity",id:i},payload:{id:o,name:e.newStepName}})},bt=(e,t)=>{const i=L("new-milestone",R(t.state));t.dispatch({type:"ADD_MILESTONE",target:{type:"page",id:"usm"},payload:{id:i,name:e.newMilestoneName}})},Se=(e,t,i,o,r)=>{const a=L("new-story",R(t.state));t.dispatch({type:"ADD_STORY",target:{type:"step",id:o},payload:{id:a,name:e.newStoryName,activityId:i,...r===void 0?{}:{milestoneId:r}}}).ok&&t.navigate({activity:i,step:o,story:a})},_={kind:"idle"},X=(e,t)=>e.kind!=="idle"&&e.storyId===t,Te=(e,t)=>X(e,t)&&(e.kind==="editing"||e.kind==="commenting")?e.kind:"view",$e=(e,t,i)=>{switch(i.kind){case"toggle-edit":return e.kind==="editing"&&e.storyId===t?_:{kind:"editing",storyId:t};case"toggle-comment":return e.kind==="commenting"&&e.storyId===t?_:{kind:"commenting",storyId:t};case"rename":case"comment":case"dismiss":case"delete":return X(e,t)?_:e;case"select":return e}},we=(e,t)=>[...t.milestones.map(({id:i,name:o})=>({id:i,name:o})),{id:void 0,name:e.unassigned}],ft=(e,t)=>c`
|
|
123
|
+
<div class="empty">
|
|
124
|
+
<h2>${e.emptyTitle}</h2>
|
|
125
|
+
<p>${e.emptyBody}</p>
|
|
126
|
+
<button class="dpk-btn dpk-btn--accent" type="button" @click=${()=>ke(e,t)}>
|
|
127
|
+
${e.firstActivityButton}
|
|
128
|
+
</button>
|
|
129
|
+
</div>
|
|
130
|
+
`,Et=e=>{const{m:t,context:i}=e,o=oe(i.state);if(o.length===0)return ft(t,i);const r=i.navigation.view==="group"?"group":"activity";return c`
|
|
131
|
+
<div class="view-tabs" role="tablist" aria-label=${t.groupingLabel}>
|
|
132
|
+
${Ie(i,"activity",r,t.activityGroup)}
|
|
133
|
+
${Ie(i,"group",r,t.groupViewTab)}
|
|
134
|
+
</div>
|
|
135
|
+
${r==="activity"?kt(e,o):St(e)}
|
|
136
|
+
`},Ie=(e,t,i,o)=>{const r=t===i;return c`<a
|
|
137
|
+
class="tab"
|
|
138
|
+
role="tab"
|
|
139
|
+
data-current=${String(r)}
|
|
140
|
+
aria-selected=${r?"true":"false"}
|
|
141
|
+
href=${e.hashFor({view:t})}
|
|
142
|
+
>${o}</a
|
|
143
|
+
>`},kt=(e,t)=>{const{m:i,context:o}=e,{state:r}=o,a=we(i,r);return c`
|
|
144
|
+
<div class="map-scroll">
|
|
145
|
+
<div class="map" style=${`--cols:${t.length+1}`} data-testid="usm-map">
|
|
146
|
+
<div class="map-row">
|
|
147
|
+
<div class="corner">
|
|
148
|
+
<span class="dpk-label">${i.groupAxisHeader}</span>
|
|
149
|
+
</div>
|
|
150
|
+
${$(r.activities,n=>n.id,n=>xe(i,o,n.id,`grid-column: span ${Math.max(n.steps.length,1)}`))}
|
|
151
|
+
${_e(i,o)}
|
|
152
|
+
</div>
|
|
153
|
+
<div class="map-row">
|
|
154
|
+
${Ae(i)}
|
|
155
|
+
${$(t,({activity:n,step:s})=>`${n.id}.${s.id}`,({step:n})=>c`
|
|
156
|
+
<div class="col-head" data-current=${String(o.navigation.step===n.id)}>
|
|
157
|
+
<h4>
|
|
158
|
+
<dpk-component-inline-edit
|
|
159
|
+
.value=${n.name}
|
|
160
|
+
.label=${i.stepNameLabel}
|
|
161
|
+
@dpk-commit=${G(s=>o.dispatch({type:"SET_STEP_NAME",target:{type:"step",id:n.id},payload:{name:s}}))}
|
|
162
|
+
@click=${s=>s.stopPropagation()}
|
|
163
|
+
></dpk-component-inline-edit>
|
|
164
|
+
</h4>
|
|
165
|
+
</div>
|
|
166
|
+
`)}
|
|
167
|
+
<div class="corner"><span class="dpk-label">—</span></div>
|
|
168
|
+
</div>
|
|
169
|
+
${$(a,n=>n.id,n=>De(e,n,c`${$(t,({activity:s,step:d})=>`${s.id}.${d.id}`,({activity:s,step:d})=>Tt(e,{activityId:s.id,stepId:d.id,milestoneId:n.id}))}`))}
|
|
170
|
+
${Me(i,o,t.length)}
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
`},St=e=>{const{m:t,context:i}=e,{state:o}=i,r=we(t,o);return c`
|
|
174
|
+
<div class="map-scroll">
|
|
175
|
+
<div class="map" style=${`--cols:${o.activities.length+1}`} data-testid="usm-map-group">
|
|
176
|
+
<div class="map-row">
|
|
177
|
+
${Ae(t)}
|
|
178
|
+
${$(o.activities,a=>a.id,a=>xe(t,i,a.id))}
|
|
179
|
+
${_e(t,i)}
|
|
180
|
+
</div>
|
|
181
|
+
${$(r,a=>a.id,a=>De(e,a,c`${$(o.activities,n=>n.id,n=>$t(e,n.id,a.id))}`))}
|
|
182
|
+
${Me(t,i,o.activities.length)}
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
`},Ae=e=>c`<div class="corner">
|
|
186
|
+
<span class="dpk-label">${e.activityAxis}</span>
|
|
187
|
+
<span class="dpk-label">${e.milestoneAxis}</span>
|
|
188
|
+
</div>`,xe=(e,t,i,o)=>{const r=t.state.activities.find(a=>a.id===i);return r?c`
|
|
189
|
+
<div class="act-head" style=${o??I}>
|
|
190
|
+
<dpk-component-inline-edit
|
|
191
|
+
.value=${r.name}
|
|
192
|
+
.label=${e.activityNameLabel}
|
|
193
|
+
@dpk-commit=${G(a=>t.dispatch({type:"SET_ACTIVITY_NAME",target:{type:"activity",id:r.id},payload:{name:a}}))}
|
|
194
|
+
></dpk-component-inline-edit>
|
|
195
|
+
<button
|
|
196
|
+
class="dpk-icon-btn"
|
|
197
|
+
type="button"
|
|
198
|
+
aria-label=${e.addStepAria}
|
|
199
|
+
@click=${()=>ht(e,t,r.id)}
|
|
200
|
+
>
|
|
201
|
+
${Ke()}
|
|
202
|
+
</button>
|
|
203
|
+
</div>
|
|
204
|
+
`:c`<div class="act-head"></div>`},_e=(e,t)=>c`<div class="act-head">
|
|
205
|
+
<button class="dpk-btn dpk-btn--ghost" type="button" @click=${()=>ke(e,t)}>
|
|
206
|
+
${e.newActivityButton}
|
|
207
|
+
</button>
|
|
208
|
+
</div>`,Me=(e,t,i)=>c`<div class="map-row">
|
|
209
|
+
<div class="row-head">
|
|
210
|
+
<button class="dpk-btn dpk-btn--ghost" type="button" @click=${()=>bt(e,t)}>
|
|
211
|
+
${e.newMilestoneButton}
|
|
212
|
+
</button>
|
|
213
|
+
</div>
|
|
214
|
+
${Array.from({length:i+1},()=>c`<div class="cell"></div>`)}
|
|
215
|
+
</div>`,De=(e,t,i)=>{const{m:o,context:r,drag:a,handlers:n}=e,s=t.id;if(s===void 0)return c`<div class="map-row" data-draggable="false" data-row-dragging="false" data-row-drop="false">
|
|
216
|
+
<div class="row-head" data-milestone="" draggable="false"><span>${t.name}</span></div>
|
|
217
|
+
${i}
|
|
218
|
+
<div class="cell"></div>
|
|
219
|
+
</div>`;const d=`row:${s}`,m=a.target({key:d,accepts:"milestone",hovered:It,onDrop:f=>n.dropOnMilestoneRow(s,f)}),S=a.source({type:"milestone",id:s});return c`
|
|
220
|
+
<div
|
|
221
|
+
class="map-row"
|
|
222
|
+
data-draggable="true"
|
|
223
|
+
data-row-dragging=${String(a.isDragging("milestone",s))}
|
|
224
|
+
data-row-drop=${String(a.isOver(d))}
|
|
225
|
+
@dragenter=${m.dragenter}
|
|
226
|
+
@dragover=${m.dragover}
|
|
227
|
+
@dragleave=${m.dragleave}
|
|
228
|
+
@drop=${m.drop}
|
|
229
|
+
>
|
|
230
|
+
<div
|
|
231
|
+
class="row-head"
|
|
232
|
+
data-milestone=${s}
|
|
233
|
+
draggable="true"
|
|
234
|
+
@dragstart=${f=>{wt(f),S.dragstart(f)}}
|
|
235
|
+
@dragend=${S.dragend}
|
|
236
|
+
>
|
|
237
|
+
<span class="row-grip" aria-hidden="true">${Je()}</span
|
|
238
|
+
><dpk-component-inline-edit
|
|
239
|
+
draggable="false"
|
|
240
|
+
.value=${t.name}
|
|
241
|
+
.label=${o.milestoneNameLabel}
|
|
242
|
+
@dpk-commit=${G(f=>r.dispatch({type:"SET_MILESTONE_NAME",target:{type:"milestone",id:s},payload:{name:f}}))}
|
|
243
|
+
></dpk-component-inline-edit>
|
|
244
|
+
</div>
|
|
245
|
+
${i}
|
|
246
|
+
<div class="cell"></div>
|
|
247
|
+
</div>
|
|
248
|
+
`},Tt=(e,t)=>{const{m:i,context:o,drag:r,handlers:a}=e,n=B(o.state,t.stepId,t.milestoneId),s=`cell:${t.stepId}:${t.milestoneId??""}`,d=r.target({key:s,accepts:"story",hovered:Oe,onDrop:m=>a.dropOnCell(t,m)});return c`
|
|
249
|
+
<div
|
|
250
|
+
class="cell"
|
|
251
|
+
data-step=${t.stepId}
|
|
252
|
+
data-milestone=${t.milestoneId??""}
|
|
253
|
+
data-drop=${String(r.isOver(s))}
|
|
254
|
+
@dragenter=${d.dragenter}
|
|
255
|
+
@dragover=${d.dragover}
|
|
256
|
+
@dragleave=${d.dragleave}
|
|
257
|
+
@drop=${d.drop}
|
|
258
|
+
>
|
|
259
|
+
<div class="card-list" data-testid=${`cell-${t.stepId}-${t.milestoneId??"unassigned"}`}>
|
|
260
|
+
${$(n,m=>m.id,m=>Re(e,m))}
|
|
261
|
+
</div>
|
|
262
|
+
<button
|
|
263
|
+
class="dpk-btn dpk-btn--ghost add-cell"
|
|
264
|
+
type="button"
|
|
265
|
+
title=${i.addStoryCellAria}
|
|
266
|
+
@click=${()=>Se(i,o,t.activityId,t.stepId,t.milestoneId)}
|
|
267
|
+
>
|
|
268
|
+
${i.addCellButton}
|
|
269
|
+
</button>
|
|
270
|
+
</div>
|
|
271
|
+
`},$t=(e,t,i)=>{const{m:o,context:r,drag:a,handlers:n}=e,{state:s}=r,d=re(s,t,i),m=s.activities.find(T=>T.id===t)?.steps[0],S=`group:${t}:${i??""}`,f=a.target({key:S,accepts:"story",hovered:Oe,onDrop:T=>n.dropOnGroupCell(t,i,T)});return c`
|
|
272
|
+
<div
|
|
273
|
+
class="cell"
|
|
274
|
+
data-activity=${t}
|
|
275
|
+
data-milestone=${i??""}
|
|
276
|
+
data-drop=${String(a.isOver(S))}
|
|
277
|
+
@dragenter=${f.dragenter}
|
|
278
|
+
@dragover=${f.dragover}
|
|
279
|
+
@dragleave=${f.dragleave}
|
|
280
|
+
@drop=${f.drop}
|
|
281
|
+
>
|
|
282
|
+
<div class="card-list" data-testid=${`group-cell-${t}-${i??"unassigned"}`}>
|
|
283
|
+
${$(d,T=>T.id,T=>Re(e,T))}
|
|
284
|
+
</div>
|
|
285
|
+
${m?c`<button
|
|
286
|
+
class="dpk-btn dpk-btn--ghost add-cell"
|
|
287
|
+
type="button"
|
|
288
|
+
aria-label=${o.addStoryCellAria}
|
|
289
|
+
@click=${()=>Se(o,r,t,m.id,i)}
|
|
290
|
+
>
|
|
291
|
+
${o.addCellButton}
|
|
292
|
+
</button>`:I}
|
|
293
|
+
</div>
|
|
294
|
+
`},Re=(e,t)=>{const{context:i,mode:o,drag:r,handlers:a}=e,n=i.comments.filter(d=>d.target.type==="story"&&d.target.id===t.id),s=r.source({type:"story",id:t.id});return c`<dpk-internal-usm-story-card
|
|
295
|
+
data-story=${t.id}
|
|
296
|
+
draggable="true"
|
|
297
|
+
.story=${t}
|
|
298
|
+
.notes=${n}
|
|
299
|
+
.mode=${Te(o,t.id)}
|
|
300
|
+
.onIntent=${d=>a.cardIntent(t.id,d)}
|
|
301
|
+
?focused=${i.navigation.story===t.id}
|
|
302
|
+
?dragging=${r.isDragging("story",t.id)}
|
|
303
|
+
@dragstart=${s.dragstart}
|
|
304
|
+
@dragend=${s.dragend}
|
|
305
|
+
></dpk-internal-usm-story-card>`},Oe=e=>{const t=e.target instanceof Element?e.target.closest("dpk-internal-usm-story-card"):null;return t?{id:t.getAttribute("data-story"),element:t}:null},wt=e=>{const i=(e.currentTarget instanceof Element?e.currentTarget:null)?.closest(".map-row");if(!i||!e.dataTransfer)return;const o=i.getBoundingClientRect();e.dataTransfer.setDragImage(i,e.clientX-o.left,e.clientY-o.top)},It=e=>{const t=e.target instanceof Element?e.target.closest(".map-row"):null,i=t?.querySelector(".row-head[data-milestone]");if(!t||!i)return null;const o=i.getAttribute("data-milestone");return{id:o===""?null:o,element:t}},At=(e,t,i,o)=>{if(i.kind!=="picking-step")return I;const r=k(t.state,i.storyId),a=x(t.state,i.activityId);if(!r||!a)return I;const n=a.steps[0]?.id;return c`<div class="comment-pop move-dialog" id="move-dialog" popover="manual">
|
|
306
|
+
<span class="dpk-label">${e.moveDialogLabel}</span>
|
|
307
|
+
<select class="dpk-select" aria-label=${e.moveDialogSelectLabel} data-move-dialog>
|
|
308
|
+
${a.steps.map(s=>c`<option value=${s.id} ?selected=${s.id===n}>${s.name}</option>`)}
|
|
309
|
+
</select>
|
|
310
|
+
<div class="pop-actions">
|
|
311
|
+
<button
|
|
312
|
+
class="dpk-btn dpk-btn--accent"
|
|
313
|
+
type="button"
|
|
314
|
+
@click=${s=>{const m=(Xe(s.currentTarget,HTMLElement)?.closest("#move-dialog")??null)?.querySelector("select")?.value??n;m?o.confirm(m):o.cancel()}}
|
|
315
|
+
>
|
|
316
|
+
${e.moveConfirm}
|
|
317
|
+
</button>
|
|
318
|
+
<button class="dpk-btn" type="button" @click=${o.cancel}>${e.moveCancel}</button>
|
|
319
|
+
</div>
|
|
320
|
+
</div>`},xt=Z`
|
|
321
|
+
:host {
|
|
322
|
+
--dpk-usm-accent: var(--dpk-blue);
|
|
323
|
+
}
|
|
324
|
+
.map-scroll {
|
|
325
|
+
/* A wide table must scroll inside itself and never widen the template shell. */
|
|
326
|
+
min-width: 0;
|
|
327
|
+
max-width: 100%;
|
|
328
|
+
overflow-x: auto;
|
|
329
|
+
padding-bottom: 12px;
|
|
330
|
+
}
|
|
331
|
+
.map {
|
|
332
|
+
display: grid;
|
|
333
|
+
gap: 0;
|
|
334
|
+
min-width: max-content;
|
|
335
|
+
border: 1px solid var(--dpk-rule);
|
|
336
|
+
border-radius: var(--dpk-radius-lg);
|
|
337
|
+
background: var(--dpk-paper-sunken);
|
|
338
|
+
box-shadow: var(--dpk-shadow);
|
|
339
|
+
overflow: hidden;
|
|
340
|
+
}
|
|
341
|
+
.map-row {
|
|
342
|
+
display: grid;
|
|
343
|
+
grid-template-columns: 140px repeat(var(--cols), minmax(180px, 240px));
|
|
344
|
+
}
|
|
345
|
+
.map-row + .map-row {
|
|
346
|
+
border-top: 1px solid var(--dpk-rule);
|
|
347
|
+
}
|
|
348
|
+
.corner,
|
|
349
|
+
.act-head,
|
|
350
|
+
.col-head,
|
|
351
|
+
.row-head,
|
|
352
|
+
.cell {
|
|
353
|
+
padding: 10px;
|
|
354
|
+
}
|
|
355
|
+
.corner {
|
|
356
|
+
background: var(--dpk-paper-sunken);
|
|
357
|
+
display: grid;
|
|
358
|
+
gap: 3px;
|
|
359
|
+
align-content: start;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/* Unit toggle above the table (group band vs one column per activity): a
|
|
363
|
+
sunken track with the selected segment raised on top of it. */
|
|
364
|
+
.view-tabs {
|
|
365
|
+
display: inline-flex;
|
|
366
|
+
justify-self: start;
|
|
367
|
+
gap: 2px;
|
|
368
|
+
padding: 3px;
|
|
369
|
+
margin-bottom: 14px;
|
|
370
|
+
border: 1px solid var(--dpk-rule);
|
|
371
|
+
border-radius: 999px;
|
|
372
|
+
background: var(--dpk-paper-sunken);
|
|
373
|
+
box-shadow: inset 0 1px 3px var(--dpk-shade-1);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.tab {
|
|
377
|
+
padding: 5px 14px;
|
|
378
|
+
border-radius: 999px;
|
|
379
|
+
font-size: 12px;
|
|
380
|
+
font-weight: 550;
|
|
381
|
+
text-decoration: none;
|
|
382
|
+
color: var(--dpk-ink-soft);
|
|
383
|
+
white-space: nowrap;
|
|
384
|
+
transition:
|
|
385
|
+
background 160ms var(--dpk-ease),
|
|
386
|
+
color 160ms var(--dpk-ease),
|
|
387
|
+
box-shadow 160ms var(--dpk-ease);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.tab:hover {
|
|
391
|
+
color: var(--dpk-ink);
|
|
392
|
+
background: var(--dpk-paper-inset);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.tab[data-current='true'] {
|
|
396
|
+
background: var(--dpk-paper-raised);
|
|
397
|
+
color: var(--dpk-ink);
|
|
398
|
+
font-weight: 650;
|
|
399
|
+
box-shadow: var(--dpk-bevel), var(--dpk-shadow-xs);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/* Activity band: raised above the working canvas and marked with a quiet
|
|
403
|
+
accent edge so the grouping reads at a glance. */
|
|
404
|
+
.act-head {
|
|
405
|
+
position: relative;
|
|
406
|
+
border-left: 1px solid var(--dpk-rule);
|
|
407
|
+
background: var(--dpk-paper-raised);
|
|
408
|
+
box-shadow:
|
|
409
|
+
var(--dpk-bevel),
|
|
410
|
+
inset 0 -1px 0 var(--dpk-rule-strong);
|
|
411
|
+
display: flex;
|
|
412
|
+
align-items: center;
|
|
413
|
+
justify-content: space-between;
|
|
414
|
+
gap: 4px;
|
|
415
|
+
font-size: 13px;
|
|
416
|
+
font-weight: 650;
|
|
417
|
+
letter-spacing: -0.005em;
|
|
418
|
+
}
|
|
419
|
+
.act-head::before {
|
|
420
|
+
content: '';
|
|
421
|
+
position: absolute;
|
|
422
|
+
top: 0;
|
|
423
|
+
left: 0;
|
|
424
|
+
right: 0;
|
|
425
|
+
height: 2px;
|
|
426
|
+
background: color-mix(in srgb, var(--dpk-usm-accent) 55%, transparent);
|
|
427
|
+
}
|
|
428
|
+
.col-head {
|
|
429
|
+
border-left: 1px solid var(--dpk-rule);
|
|
430
|
+
background: var(--dpk-paper-sunken);
|
|
431
|
+
transition: background 160ms var(--dpk-ease);
|
|
432
|
+
}
|
|
433
|
+
.col-head[data-current='true'] {
|
|
434
|
+
background: color-mix(in srgb, var(--dpk-usm-accent) 7%, var(--dpk-paper-sunken));
|
|
435
|
+
box-shadow: inset 0 2px 0 var(--dpk-usm-accent);
|
|
436
|
+
}
|
|
437
|
+
.col-head h4 {
|
|
438
|
+
font-size: 13px;
|
|
439
|
+
font-weight: 600;
|
|
440
|
+
margin: 0;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
.row-head {
|
|
444
|
+
display: flex;
|
|
445
|
+
align-items: center;
|
|
446
|
+
gap: 6px;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/* Milestone row label: a floating release chip in the sunken rail, not a
|
|
450
|
+
flat table cell. The "add milestone" row reuses \`.row-head\` for its
|
|
451
|
+
ghost button and stays a plain cell. */
|
|
452
|
+
.row-head[data-milestone] {
|
|
453
|
+
display: inline-flex;
|
|
454
|
+
justify-self: start;
|
|
455
|
+
align-self: center;
|
|
456
|
+
margin: 6px 4px;
|
|
457
|
+
padding: 6px 12px;
|
|
458
|
+
border: 1px solid var(--dpk-rule);
|
|
459
|
+
border-radius: 999px;
|
|
460
|
+
background: var(--dpk-paper-raised);
|
|
461
|
+
box-shadow: var(--dpk-bevel), var(--dpk-shadow-xs);
|
|
462
|
+
color: var(--dpk-ink);
|
|
463
|
+
font-size: 11.5px;
|
|
464
|
+
font-weight: 650;
|
|
465
|
+
letter-spacing: 0.01em;
|
|
466
|
+
max-width: 100%;
|
|
467
|
+
transition:
|
|
468
|
+
background 160ms var(--dpk-ease),
|
|
469
|
+
box-shadow 160ms var(--dpk-ease),
|
|
470
|
+
border-color 160ms var(--dpk-ease);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
.row-head[draggable='true'] {
|
|
474
|
+
cursor: grab;
|
|
475
|
+
-webkit-user-select: none;
|
|
476
|
+
user-select: none;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
.row-head[draggable='true'] dpk-component-inline-edit {
|
|
480
|
+
-webkit-user-drag: none;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.row-head[draggable='true']:active {
|
|
484
|
+
cursor: grabbing;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.row-grip {
|
|
488
|
+
flex: 0 0 auto;
|
|
489
|
+
display: inline-flex;
|
|
490
|
+
color: var(--dpk-ink-faint);
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
.row-grip svg {
|
|
494
|
+
display: block;
|
|
495
|
+
width: 15px;
|
|
496
|
+
height: 15px;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
/* Row-level drag affordance: hover highlights the entire .map-row. */
|
|
500
|
+
.map-row[data-draggable='true']:hover > .row-head {
|
|
501
|
+
border-color: color-mix(in srgb, var(--dpk-blue) 45%, var(--dpk-rule));
|
|
502
|
+
box-shadow: var(--dpk-bevel), var(--dpk-shadow-sm);
|
|
503
|
+
}
|
|
504
|
+
.map-row[data-draggable='true']:hover > .cell {
|
|
505
|
+
background: var(--dpk-dots), color-mix(in srgb, var(--dpk-blue) 3%, var(--dpk-paper-sunken));
|
|
506
|
+
}
|
|
507
|
+
.map-row[data-draggable='true']:hover .row-grip {
|
|
508
|
+
color: var(--dpk-blue);
|
|
509
|
+
}
|
|
510
|
+
.map-row[data-draggable='true'] {
|
|
511
|
+
cursor: grab;
|
|
512
|
+
}
|
|
513
|
+
.map-row[data-draggable='true']:active {
|
|
514
|
+
cursor: grabbing;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/*
|
|
518
|
+
* Dragging state: entire row fades. Never disable pointer events on the
|
|
519
|
+
* source here: Lit applies this state in the microtask right after
|
|
520
|
+
* \`dragstart\`, and Blink then re-hit-tests the pointer and aborts the drag
|
|
521
|
+
* when the source is no longer under it.
|
|
522
|
+
*/
|
|
523
|
+
.map-row[data-row-dragging='true'] {
|
|
524
|
+
opacity: 0.45;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
/* Drop target: entire row highlights. */
|
|
528
|
+
.map-row[data-row-drop='true'] {
|
|
529
|
+
outline: 2px dashed var(--dpk-blue);
|
|
530
|
+
outline-offset: -2px;
|
|
531
|
+
}
|
|
532
|
+
.map-row[data-row-drop='true'] > .row-head {
|
|
533
|
+
border-color: var(--dpk-blue);
|
|
534
|
+
background: var(--dpk-blue-soft);
|
|
535
|
+
}
|
|
536
|
+
.map-row[data-row-drop='true'] > .cell {
|
|
537
|
+
background: var(--dpk-dots), color-mix(in srgb, var(--dpk-blue) 6%, var(--dpk-paper-sunken));
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
/* Cells are the working canvas: sunken, with a quiet dot lattice, so raised
|
|
541
|
+
story cards read as things placed on the board. */
|
|
542
|
+
.cell {
|
|
543
|
+
border-left: 1px solid var(--dpk-rule);
|
|
544
|
+
border-top: 1px solid var(--dpk-rule);
|
|
545
|
+
display: flex;
|
|
546
|
+
flex-direction: column;
|
|
547
|
+
gap: 8px;
|
|
548
|
+
min-height: 100px;
|
|
549
|
+
background: var(--dpk-dots), var(--dpk-paper-sunken);
|
|
550
|
+
transition: background 160ms var(--dpk-ease);
|
|
551
|
+
}
|
|
552
|
+
.cell[data-drop='true'] {
|
|
553
|
+
background: var(--dpk-dots), color-mix(in srgb, var(--dpk-blue) 8%, var(--dpk-paper-sunken));
|
|
554
|
+
outline: 2px dashed var(--dpk-blue);
|
|
555
|
+
outline-offset: -2px;
|
|
556
|
+
}
|
|
557
|
+
.card-list {
|
|
558
|
+
display: grid;
|
|
559
|
+
gap: 8px;
|
|
560
|
+
align-content: start;
|
|
561
|
+
flex: 1 1 auto;
|
|
562
|
+
}
|
|
563
|
+
.add-cell {
|
|
564
|
+
margin-top: auto;
|
|
565
|
+
opacity: 0;
|
|
566
|
+
transition:
|
|
567
|
+
opacity 180ms var(--dpk-ease),
|
|
568
|
+
background 160ms var(--dpk-ease),
|
|
569
|
+
border-color 160ms var(--dpk-ease),
|
|
570
|
+
color 160ms var(--dpk-ease);
|
|
571
|
+
border: 1px dashed var(--dpk-rule-strong);
|
|
572
|
+
border-radius: var(--dpk-radius-sm);
|
|
573
|
+
background: transparent;
|
|
574
|
+
color: var(--dpk-ink-faint);
|
|
575
|
+
padding: 4px 8px;
|
|
576
|
+
font-size: 11.5px;
|
|
577
|
+
}
|
|
578
|
+
.add-cell:hover {
|
|
579
|
+
background: var(--dpk-blue-soft);
|
|
580
|
+
border-color: var(--dpk-blue);
|
|
581
|
+
color: var(--dpk-blue);
|
|
582
|
+
}
|
|
583
|
+
.cell:hover .add-cell {
|
|
584
|
+
opacity: 1;
|
|
585
|
+
}
|
|
586
|
+
.empty {
|
|
587
|
+
border: 1px dashed var(--dpk-rule-strong);
|
|
588
|
+
border-radius: var(--dpk-radius-lg);
|
|
589
|
+
padding: 28px 24px;
|
|
590
|
+
background: var(--dpk-dots), var(--dpk-paper-sunken);
|
|
591
|
+
max-width: 620px;
|
|
592
|
+
display: grid;
|
|
593
|
+
gap: 10px;
|
|
594
|
+
}
|
|
595
|
+
.count {
|
|
596
|
+
font-family: var(--dpk-mono);
|
|
597
|
+
font-variant-numeric: tabular-nums;
|
|
598
|
+
font-size: 10px;
|
|
599
|
+
color: var(--dpk-ink-faint);
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
/* Step picker shown after a cross-activity drop. */
|
|
603
|
+
.move-dialog {
|
|
604
|
+
min-width: 220px;
|
|
605
|
+
}
|
|
606
|
+
`,_t={width:300,height:240};class Ne extends Q{static{this.styles=[Q.styles,xt,W]}definitionFor(t){return ye(t)}static{this.properties={mode:{state:!0}}}#t=new We(this);#r=new ee(this);constructor(){super(),this.mode=_}renderRegions(t){return{main:this.#o(t)}}updated(){if(super.updated(),this.mode.kind!=="picking-step")return;const t=this.renderRoot.querySelector("#move-dialog");t&&this.#r.open(t,it(this.mode.point.x,this.mode.point.y),_t)}#o(t){const i=U(this.locale);return c`
|
|
607
|
+
${Et({m:i,context:t,mode:this.mode,drag:this.#t,handlers:{cardIntent:(o,r)=>this.#a(o,r),dropOnCell:(o,r)=>this.#i(o,r),dropOnGroupCell:(o,r,a)=>this.#e(o,r,a),dropOnMilestoneRow:(o,r)=>this.#n(o,r)}})}
|
|
608
|
+
${At(i,t,this.mode,{confirm:o=>this.#s(o),cancel:()=>this.mode=_})}
|
|
609
|
+
`}#a(t,i){const o=this.context();switch(i.kind){case"select":{const r=k(o.state,t);r&&o.navigate({step:r.stepId,story:r.id});break}case"rename":o.dispatch({type:"SET_STORY_NAME",target:{type:"story",id:t},payload:{name:i.name}});break;case"comment":o.dispatch({type:"comment",target:`story:${t}`,payload:{body:i.body}});break;case"delete":o.dispatch({type:"DELETE_STORY",target:{type:"story",id:t},payload:{}});break}this.mode=$e(this.mode,t,i)}#i(t,i){const o=this.context();o.dispatch(he(o.state,t,i.item.id,i.hoveredId,i.place))}#e(t,i,o){const r=this.context(),a=k(r.state,o.item.id);if(!a)return;if(a.activityId!==t){this.mode={kind:"picking-step",storyId:a.id,activityId:t,milestoneId:i,point:{x:o.event.clientX,y:o.event.clientY}};return}const n=be(r.state,t,i,a.id,o.hoveredId,o.place);n&&r.dispatch(n)}#n(t,i){const o=this.context(),r=o.state.milestones.map(n=>n.id),a=Ee(r,i.item.id,i.hoveredId,i.place);a&&o.dispatch(a)}#s(t){const i=this.mode;if(i.kind!=="picking-step")return;const o=this.context();o.dispatch(fe(o.state,i.storyId,i.activityId,t,i.milestoneId)),this.mode=_}}const Le=()=>{gt(),customElements.get("dpk-template-usm")||customElements.define("dpk-template-usm",Ne)},Mt=Object.freeze(Object.defineProperty({__proto__:null,DpkTemplateUsm:Ne,IDLE_MODE:_,allUsmIds:R,applyUsmAction:ae,cardModeOf:Te,defineUsmElement:Le,describeUsmAction:le,dropAfter:yt,emptyUsmBase:ie,findActivity:x,findMilestone:w,findStep:E,findStory:k,flatSteps:oe,modeConcerns:X,parseUsmBase:te,reduceCardIntent:$e,resolveCellDrop:he,resolveGroupDrop:be,resolveMilestoneDrop:Ee,resolvePickedStepMove:fe,resolveUsmNavigation:ve,serializeUsmAction:ce,storiesInCell:B,storyCountForStep:ct,usmAction:ot,usmActions:y,usmCommentTargets:ue,usmCurrentTarget:me,usmDefinitionFor:ye,usmHasTarget:ge,usmMessages:U,usmTargetLabel:pe,usmTitle:J},Symbol.toStringTag,{value:"Module"}));export{Le as d,Mt as i};
|