scrum-skills 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.agents/skills/scrum-planning/references/schema.md +3 -2
  2. package/README.md +15 -6
  3. package/assets/board/200.html +1 -1
  4. package/assets/board/404.html +1 -1
  5. package/assets/board/_nuxt/{BannxgAO.js → 0VBLkWnu.js} +1 -1
  6. package/assets/board/_nuxt/{C9Eg7sGC.js → BNKWWG8o.js} +1 -1
  7. package/assets/board/_nuxt/{BQSM1Ln0.js → BPTrRhcw.js} +1 -1
  8. package/assets/board/_nuxt/{B7foC6AH.js → BSov4ehT.js} +1 -1
  9. package/assets/board/_nuxt/BTxVIV74.js +1 -0
  10. package/assets/board/_nuxt/{D8NAsEfE.js → Bb3Limos.js} +1 -1
  11. package/assets/board/_nuxt/{CPfeOlrH.js → Bh7eUS6e.js} +1 -1
  12. package/assets/board/_nuxt/{DA0S9GHd.js → Bu60uYgs.js} +1 -1
  13. package/assets/board/_nuxt/{DiYBussm.js → BuuAjxsV.js} +1 -1
  14. package/assets/board/_nuxt/{BvaAl29K.js → C-GYjxwr.js} +3 -3
  15. package/assets/board/_nuxt/{DEBhVwtl.js → C9StZL3D.js} +1 -1
  16. package/assets/board/_nuxt/{ADHYAojV.js → CD0uJuyA.js} +1 -1
  17. package/assets/board/_nuxt/{C3ssq3NT.js → CHZ_IHOa.js} +1 -1
  18. package/assets/board/_nuxt/{C9lP5soO.js → CNbS93H9.js} +1 -1
  19. package/assets/board/_nuxt/{DVC07Kf9.js → CUnX_QKi.js} +1 -1
  20. package/assets/board/_nuxt/CeiBZIn1.js +95 -0
  21. package/assets/board/_nuxt/{Dpzighda.js → Cfk_R787.js} +1 -1
  22. package/assets/board/_nuxt/{DhkiugsE.js → ChJuu-Ky.js} +1 -1
  23. package/assets/board/_nuxt/{DwNOEVN_.js → CjRYYbsC.js} +1 -1
  24. package/assets/board/_nuxt/CuJUHLl8.js +1 -0
  25. package/assets/board/_nuxt/{BKgQBiDB.js → CvFE1CeN.js} +1 -1
  26. package/assets/board/_nuxt/{CAJYxF-h.js → CyAQx5wv.js} +1 -1
  27. package/assets/board/_nuxt/{BJ0EVa07.js → D1Yxjnz9.js} +1 -1
  28. package/assets/board/_nuxt/{CviJuCa4.js → D3YCAmfu.js} +1 -1
  29. package/assets/board/_nuxt/{joIhBaO-.js → D8Bpf7sE.js} +1 -1
  30. package/assets/board/_nuxt/{GzmVZqnA.js → DJUwhJ8T.js} +1 -1
  31. package/assets/board/_nuxt/{BXQZAVYz.js → DLkAKotw.js} +1 -1
  32. package/assets/board/_nuxt/{DQRn5Z3H.js → DaqxYsbV.js} +1 -1
  33. package/assets/board/_nuxt/{jCMbKsJ3.js → DhhR1iR4.js} +1 -1
  34. package/assets/board/_nuxt/{CL3OrPP7.js → DmKZi-Wo.js} +1 -1
  35. package/assets/board/_nuxt/{4FVXNzN-.js → DrbU50Zd.js} +1 -1
  36. package/assets/board/_nuxt/{DcWIG384.js → DsNkyZPc.js} +1 -1
  37. package/assets/board/_nuxt/{BCXs9rBJ.js → DwcwzwSx.js} +1 -1
  38. package/assets/board/_nuxt/{BuVRe79A.js → HrhQecsY.js} +1 -1
  39. package/assets/board/_nuxt/{Db4IStii.js → KhBLkIKl.js} +1 -1
  40. package/assets/board/_nuxt/{bXQUY80V.js → MTucdeiW.js} +1 -1
  41. package/assets/board/_nuxt/{CZPwmwA5.js → RJtjdZeG.js} +1 -1
  42. package/assets/board/_nuxt/{CTOFhZkc.js → RM4VQc4e.js} +1 -1
  43. package/assets/board/_nuxt/Vo4wMbnS.js +1 -0
  44. package/assets/board/_nuxt/builds/latest.json +1 -1
  45. package/assets/board/_nuxt/builds/meta/ecbff4a6-6538-49b0-9844-64f03ebd103a.json +1 -0
  46. package/assets/board/_nuxt/{entry.ChOvfapw.css → entry.nk2xQ-sa.css} +1 -1
  47. package/assets/board/_nuxt/{Cw7Z2eHM.js → fFGyRlCx.js} +1 -1
  48. package/assets/board/_nuxt/{-_kK9OzO.js → l05SqxhY.js} +1 -1
  49. package/assets/board/_nuxt/milestones.z-UuT44X.css +1 -0
  50. package/assets/board/_nuxt/{B5u1XkK4.js → obNw9aRV.js} +1 -1
  51. package/assets/board/_nuxt/pages.Bi6nErnd.css +1 -0
  52. package/assets/board/_nuxt/uGmbQYdY.js +1 -0
  53. package/assets/board/burndown/index.html +1 -1
  54. package/assets/board/epics/index.html +1 -1
  55. package/assets/board/gantt/index.html +1 -1
  56. package/assets/board/index.html +1 -1
  57. package/assets/board/milestones/index.html +1 -1
  58. package/bin/scrum-skills.mjs +34 -11
  59. package/package.json +40 -41
  60. package/templates/AGENTS.md +1 -1
  61. package/tools/ai.mjs +24 -2
  62. package/tools/validate.mjs +21 -7
  63. package/assets/board/_nuxt/BpR5gMZX.js +0 -95
  64. package/assets/board/_nuxt/CZc2Mypg.js +0 -1
  65. package/assets/board/_nuxt/DWxQkuvT.js +0 -1
  66. package/assets/board/_nuxt/DttMo5b5.js +0 -1
  67. package/assets/board/_nuxt/FCuSfyjP.js +0 -1
  68. package/assets/board/_nuxt/builds/meta/24603984-d514-4dff-badc-898a1fd5e770.json +0 -1
  69. package/assets/board/_nuxt/milestones.CVvAMKg4.css +0 -1
  70. package/assets/board/_nuxt/pages.DSSttn9g.css +0 -1
@@ -153,7 +153,7 @@
153
153
 
154
154
  ## 状态机(校验器强制)
155
155
 
156
- - story: `draft → ready → in-progress → review → done`(可回退,不可跳级;`cancelled` 例外)
156
+ - story: `draft → ready → in-progress → review → done`;不做了直接进 `cancelled`(已取消)终态(可回退,不可跳级;`done` 与 `cancelled` 都是终态)
157
157
  - task: `todo → red → green → refactored → done`(只能前进;test 型可 `todo → green`)
158
158
  - epic: 无强制流转,但 `done` 要求其下所有 story 均 `done/cancelled`
159
159
  - milestone: `planned → at-risk → reached / missed`
@@ -162,7 +162,7 @@
162
162
 
163
163
  1. ID 全局唯一(epic / story / task / sprint / milestone 共用命名空间),task 命名 `<storyId>-T<n>`
164
164
  2. **双向引用一致**:`epic.stories` ↔ `story.epicId`、`sprint.stories` ↔ `story.sprintId`、`journal.taskId` ↔ task
165
- 3. `ready` 及之后必须有验收标准;进 sprint 的故事必须有验收标准
165
+ 3. `ready` / `in-progress` / `review` / `done` 必须有验收标准;进 sprint 的故事必须有验收标准(`cancelled` 两样都不要求)
166
166
  4. 验收标准的 `verifyBy` 必须指向**同一 story 的** task
167
167
  5. task 到 `green/refactored/done` 时,journal 必须存在且首条 `red` 的 result 以 `fail` 开头、`green` 以 `pass` 开头
168
168
  6. task 为 `done` 时,journal 末条 entry 的 `result` 必须 `pass`
@@ -172,3 +172,4 @@
172
172
  10. `schedule.start ≤ schedule.end`;计划区间超出所属迭代只给 WARN
173
173
  11. sprint 承诺点数超过 `capacity` → WARN
174
174
  12. epic 没有 `keyResults` → WARN(史诗要有量化目标)
175
+ 13. `cancelled` 是终态:不要求验收、不要求 task 全部 `done`;但仍标着 `blocked` 报错;还留在某个 sprint 里只给 WARN —— 它的点数不计入承诺容量,看板的燃尽图与里程碑完成度同样把它扣掉
package/README.md CHANGED
@@ -41,13 +41,17 @@ npx scrum-skills serve # → http://localhost:4173
41
41
 
42
42
  | 命令 | 说明 |
43
43
  |---|---|
44
- | `scrum-skills init [dir] [--force]` | 初始化(已有 `AGENTS.md` 时拒绝,`--force` 备份后覆盖) |
45
- | `scrum-skills update [dir] [--dry-run]` | 只刷新框架文件(skill / AGENTS.md / 校验器),**绝不碰 `agile/` 数据**,覆盖前备份 `*.bak` |
44
+ | `scrum-skills init [dir] [--force]` | 初始化(已有 `AGENTS.md` 时拒绝,`--force` 先备份成 `AGENTS.md.<时间戳>.bak` 再覆盖) |
45
+ | `scrum-skills update [dir] [--dry-run]` | 只刷新框架文件(skill / AGENTS.md / 校验器),**绝不碰 `agile/` 数据**,覆盖前逐文件备份成 `<文件>.<时间戳>.bak` |
46
46
  | `scrum-skills validate [dir]` | 校验数据(引用完整性 / 状态机 / TDD 纪律 / 里程碑 / 依赖无环) |
47
47
  | `scrum-skills serve [dir] [port]` | 起看板(默认当前目录,端口 4173),**校验不通过时拒绝出报表** |
48
48
 
49
49
  `scsk` 是 `scrum-skills` 的等价简写,全局安装后两个命令都可直接用,如 `scsk serve`。
50
50
 
51
+ > **`update` 会整篇覆盖框架文件**(`AGENTS.md`、`.agents/`、`tools/validate.mjs`)。你在这几个文件里的本地改动不会被偷偷合并,但覆盖前每个文件都会各留一份 `<文件>.<yyyyMMdd-HHmmss>.bak`,且不会顶掉上一次的备份。
52
+ > 输出里会点名备份文件,并提示用什么话让 agent 合并:直接说「对比 `AGENTS.md` 与 `AGENTS.md.20261026-113045.bak`,把我的本地改动合并回来」即可。合并确认无误后再删备份。
53
+ > 只想知道会动哪些文件,加 `--dry-run`:只报告,不写文件、不建备份。
54
+
51
55
  ## 数据长什么样
52
56
 
53
57
  `agile/` 下只有三个文件:
@@ -122,10 +126,14 @@ npx scrum-skills serve # → http://localhost:4173
122
126
  - `search_agile`:在 `agile/backlog|sprints|journal` 里按记录检索(`S-011 阻塞` 这种多关键词要同时命中同一条),命中带出可直接写补丁的路径
123
127
  - `update_agile`:按路径打补丁,例如 `stories.S-011.status = review`;写前跑 `tools/validate.mjs`,校验不过自动回滚成改前内容
124
128
 
125
- **对话框左下角是审核策略开关**:
129
+ **输入框左下角四个图标按钮,从左到右固定这个顺序**(加东西在左、策略在最右):
130
+
131
+ 1. **上传图片**:一次最多 4 张,输入框里按 <kbd>Ctrl</kbd>+<kbd>V</kbd> 也能粘贴截图。图片先在本地缩到长边 1400 再按 JPEG 编码,以缩略图挂在输入框上方(可逐张删除),发送后随文字按 OpenAI 多模态格式(`image_url`)带给模型。历史里只带最近 4 张图,更早的换成一句「图片已省略」占位;服务端按每张 800 token 计入上下文预算。模型本身不支持图片时(例如 DeepSeek 的 chat / reasoner),报错会直接提示换成支持视觉模型的接口。
132
+ 2. **新建会话**(`+` 图标):先把当前这一轮完整存进本地历史,再清空对话区回到欢迎页
133
+ 3. **历史会话**:弹出列表,每条给出标题(第一条提问的开头)、相对时间与消息条数,点一条即可切回去接着问;当前那条有底色
134
+ 4. **审核策略**(盾牌 / 闪电图标,点一下弹下拉,当前项打勾):**手动审核**(默认)改文件前先出「待审变更」卡,逐条列出路径与改前改后值,点批准才写入,驳回则文件不动;**自动审核**直接写入 + 立即校验,失败回滚
126
135
 
127
- - **手动审核**(默认):改文件前先出「待审变更」卡,逐条列出路径与改前改后值,点批准才写入,驳回则文件不动
128
- - **自动审核**:直接写入 + 立即校验,失败回滚
136
+ 会话只存在这台浏览器(`localStorage` 的 `scrum-skills:ai:threads:v1`,最多保留 20 个,超了丢最老的),服务端一概不知。**图片不落盘**——一张截图 base64 就有上百 KB,存几个会话就会把 localStorage 撑爆,所以落盘前清空图片 url;恢复后原位显示「图片未保存」占位,这类空图也不会被拼进下一次请求。抽屉每次打开时按主题存的那条会话自动恢复。抽屉是整屏覆盖的,打开期间会锁住背后主页的纵向滚动,关掉即恢复。
129
137
 
130
138
  工具永远跟着「看板当前打开的项目」走,换项目不会串。
131
139
 
@@ -136,9 +144,10 @@ npx scrum-skills serve # → http://localhost:4173
136
144
  `validate` 是这套体系的地基,**错误**会让它退出码非 0:
137
145
 
138
146
  - 引用完整性**双向**一致:`epic.stories` ↔ `story.epicId`、`sprint.stories` ↔ `story.sprintId`、`journal.taskId` ↔ task
139
- - 状态机:story `draft → ready → in-progress → review → done`,task `todo → red → green → refactored → done`(只能前进)
147
+ - 状态机:story `draft → ready → in-progress → review → done`(不做就走 `cancelled` 终态),task `todo → red → green → refactored → done`(只能前进)
140
148
  - **TDD 铁律**:task 到 green 之后,日志必须首条 `fail`、后有 `pass`;done 时末条必须是 `pass`
141
149
  - story 到 done:所有 task 必须 done,且不许仍标着 `blocked`
150
+ - 已取消(`cancelled`):不要求验收标准、也不要求 task 全部 done;但还挂着 `blocked` 会报错,仍留在迭代里给 WARN —— 且它的点数**不计入承诺容量、燃尽图与里程碑完成度**,免得「不做了」把进度拖成永远完不成
142
151
  - 依赖:`dependsOn` 必须存在、不能自依赖、**不能成环**(DFS 检测)
143
152
  - 需求属性:`type` / `priority` / `value` 合法;`type: bug` 必须有 `severity` + `environment` + `steps`
144
153
  - 验收标准的 `verifyBy` 必须指向同一 story 的 task
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>敏捷看板</title><script type="importmap">{"imports":{"#entry":"/_nuxt/BpR5gMZX.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.ChOvfapw.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BpR5gMZX.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/u88eXCXy.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DZo3dYLJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/51OWHj8c.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CsyY7ot8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Baq-Hrpf.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DSaWoFHS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/oXSDGTSr.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuBpFHLu.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DsF2J4jZ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BJW3UkS7.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuVRe79A.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BXQZAVYz.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CZc2Mypg.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FCuSfyjP.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CK9_veoz.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D8NAsEfE.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B43-KCi6.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuOKDFiJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CviJuCa4.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B_SlFcWp.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DEBhVwtl.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BQSM1Ln0.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DwNOEVN_.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DhkiugsE.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/joIhBaO-.js"><script type="module" src="/_nuxt/BpR5gMZX.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/_nuxt/BvaAl29K.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DHihWhf5.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.BFmXOnCT.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/CoPhTDCT.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BZ-DdjQ6.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/3G_ZLrk2.js"></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"24603984-d514-4dff-badc-898a1fd5e770",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792961158552,false]</script></body></html>
1
+ <!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>敏捷看板</title><script type="importmap">{"imports":{"#entry":"/_nuxt/CeiBZIn1.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.nk2xQ-sa.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CeiBZIn1.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/u88eXCXy.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DZo3dYLJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/51OWHj8c.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CsyY7ot8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Baq-Hrpf.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DSaWoFHS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/oXSDGTSr.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuBpFHLu.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DsF2J4jZ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BJW3UkS7.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/HrhQecsY.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DLkAKotw.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Vo4wMbnS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CuJUHLl8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CK9_veoz.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bb3Limos.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B43-KCi6.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuOKDFiJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D3YCAmfu.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B_SlFcWp.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/C9StZL3D.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BPTrRhcw.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CjRYYbsC.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/ChJuu-Ky.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D8Bpf7sE.js"><script type="module" src="/_nuxt/CeiBZIn1.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/_nuxt/C-GYjxwr.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DHihWhf5.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.BFmXOnCT.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/CoPhTDCT.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BZ-DdjQ6.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/3G_ZLrk2.js"></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"ecbff4a6-6538-49b0-9844-64f03ebd103a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792999430301,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>敏捷看板</title><script type="importmap">{"imports":{"#entry":"/_nuxt/BpR5gMZX.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.ChOvfapw.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BpR5gMZX.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/u88eXCXy.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DZo3dYLJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/51OWHj8c.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CsyY7ot8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Baq-Hrpf.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DSaWoFHS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/oXSDGTSr.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuBpFHLu.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DsF2J4jZ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BJW3UkS7.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuVRe79A.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BXQZAVYz.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CZc2Mypg.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FCuSfyjP.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CK9_veoz.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D8NAsEfE.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B43-KCi6.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuOKDFiJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CviJuCa4.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B_SlFcWp.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DEBhVwtl.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BQSM1Ln0.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DwNOEVN_.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DhkiugsE.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/joIhBaO-.js"><script type="module" src="/_nuxt/BpR5gMZX.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/_nuxt/BvaAl29K.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DHihWhf5.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.BFmXOnCT.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/CoPhTDCT.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BZ-DdjQ6.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/3G_ZLrk2.js"></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"24603984-d514-4dff-badc-898a1fd5e770",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792961158553,false]</script></body></html>
1
+ <!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>敏捷看板</title><script type="importmap">{"imports":{"#entry":"/_nuxt/CeiBZIn1.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.nk2xQ-sa.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CeiBZIn1.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/u88eXCXy.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DZo3dYLJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/51OWHj8c.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CsyY7ot8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Baq-Hrpf.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DSaWoFHS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/oXSDGTSr.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuBpFHLu.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DsF2J4jZ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BJW3UkS7.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/HrhQecsY.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DLkAKotw.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Vo4wMbnS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CuJUHLl8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CK9_veoz.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bb3Limos.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B43-KCi6.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BuOKDFiJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D3YCAmfu.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B_SlFcWp.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/C9StZL3D.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BPTrRhcw.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CjRYYbsC.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/ChJuu-Ky.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D8Bpf7sE.js"><script type="module" src="/_nuxt/CeiBZIn1.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/_nuxt/C-GYjxwr.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DHihWhf5.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.BFmXOnCT.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/CoPhTDCT.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BZ-DdjQ6.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/3G_ZLrk2.js"></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"ecbff4a6-6538-49b0-9844-64f03ebd103a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792999430301,false]</script></body></html>
@@ -1 +1 @@
1
- import{D as e,E as t,On as n,T as r,Ut as ee,Yt as te,Zn as i,_ as a,b as o,bt as s,er as ne,g as c,k as l,mt as u,o as d,qt as re,tr as f,un as ie,vn as p,y as m}from"./DZo3dYLJ.js";import{S as ae}from"./51OWHj8c.js";import{t as oe}from"./BJW3UkS7.js";import{t as se}from"./Cw7Z2eHM.js";import{t as ce}from"./DwNOEVN_.js";import{a as h,i as g,r as le}from"#entry";var ue={class:`kpis`},de={class:`kpi tint-lilac`},fe={class:`v`},pe={class:`kpi`},me={class:`v`},he={class:`kpi`},ge={class:`kpi tint-mint`},_e={class:`v`},ve={class:`kpi`},ye={class:`v`},be={key:0,class:`card panel`},xe={class:`panel-hd`},Se={class:`ph-l`},_={class:`sp-name`},v={class:`sub mono`},y={class:`goal`},b={class:`chart-wrap`},x=[`viewBox`],S=[`y1`,`x2`,`y2`],C=[`x`,`y`],w=[`d`],T=[`d`],E=[`points`],D=[`cx`,`cy`],O=[`x1`,`y1`,`x2`,`y2`],k=[`x`,`y`],A=[`x`,`y`],j=[`x1`,`y1`,`x2`,`y2`],Ce=[`cx`,`cy`],we={class:`cells`},Te={class:`cd mono`},Ee={class:`ca`},De={class:`ci dim`},Oe={key:0,class:`scope`},ke={class:`h3`},Ae={class:`tag tag-info`},je={class:`dim`},Me={key:1,class:`callout soft`},Ne={class:`card`},Pe={class:`card-hd`},Fe={class:`tag tag-neutral`},Ie={class:`card-bd`},Le={class:`tbl`},Re=[`onClick`],ze={class:`mono`},Be={class:`mono dim`},Ve={class:`r`},He={class:`r mono`},Ue=980,We=300,M=42,N=g(l({__name:`burndown`,setup(l){let{sprints:g,burndown:N,sprintCommit:P,md:F,now:I,sprintById:L,storyById:Ge,SCOPE_LABEL:R}=h(),z=p(``),Ke=c(()=>[...g.value].reverse().map(e=>({label:`${e.id} · ${e.name}`,value:e.id,icon:`i-lucide-calendar-range`}))),B=c(()=>L.value.get(z.value)??g.value[g.value.length-1]),V=c(()=>B.value?N(B.value):{total:0,days:[]});ee(()=>{z.value&&!L.value.has(z.value)&&(z.value=``),!z.value&&g.value.length&&(z.value=g.value[g.value.length-1].id)});let H=c(()=>V.value.days.length||1),U=c(()=>V.value.total||1),W=e=>M+e*896/(H.value-1||1),G=e=>258-e*216/U.value,K=e=>V.value.days.map((t,n)=>`${W(n)},${G(t[e])}`).join(` `),qe=c(()=>{let e=V.value.days.map((e,t)=>`${W(t)},${G(e.actual)}`).join(` `),t=V.value.days.length-1;return`M${W(0)},${G(0)} L${e.replaceAll(` `,` L`)} L${W(t)},${G(0)} Z`}),q=c(()=>V.value.days.findIndex(e=>e.date===I)),J=c(()=>V.value.days.find(e=>e.date===I)??V.value.days[V.value.days.length-1]),Y=c(()=>J.value?.actual??0),X=c(()=>J.value?.ideal??0),Z=c(()=>Math.round((Y.value-X.value)*10)/10),Q=c(()=>{let e=B.value;return e?(e.stories??[]).map(e=>Ge.value.get(e)).filter(Boolean).filter(t=>t.scopeChange&&t.scopeChange.at>=e.start&&t.scopeChange.at<=e.end).map(e=>({id:e.id,title:e.title,at:e.scopeChange.at,kind:e.scopeChange.kind,reason:e.scopeChange.reason,points:e.points,idx:V.value.days.findIndex(t=>t.date===e.scopeChange.at)})).filter(e=>e.idx>=0):[]}),Je=c(()=>new Set(Q.value.map(e=>e.at))),$=c(()=>[...g.value].reverse().map(e=>{let t=e.start<=I&&e.end>=I;return{id:e.id,name:e.name,period:`${F(e.start)} ~ ${F(e.end)}`,stories:(e.stories??[]).length,commit:P(e),capacity:e.capacity,status:t?`进行中`:e.end<I?`已结束`:`未开始`,tone:t?`tag-primary`:e.end<I?`tag-neutral`:`tag-info`}}));return(ee,c)=>{let l=le,p=se,h=ce,g=oe;return u(),o(`div`,null,[a(`div`,ue,[a(`div`,de,[e(l,{tone:`lilac`,size:`sm`}),c[1]||=a(`p`,{class:`k`},`剩余故事点`,-1),a(`p`,fe,[t(f(n(Y)),1),a(`small`,null,`/ `+f(n(V).total),1)])]),a(`div`,pe,[c[3]||=a(`p`,{class:`k`},`理想剩余(今天)`,-1),a(`p`,me,[t(f(n(X)),1),c[2]||=a(`small`,null,`点`,-1)])]),a(`div`,he,[c[5]||=a(`p`,{class:`k`},`偏差`,-1),a(`p`,{class:i([`v`,{bad:n(Z)>0,good:n(Z)<=0}])},[t(f(n(Z)>0?`+`+n(Z):n(Z)),1),c[4]||=a(`small`,null,`点`,-1)],2)]),a(`div`,ge,[e(l,{tone:`mint`,size:`sm`}),c[6]||=a(`p`,{class:`k`},`承诺 / 容量`,-1),a(`p`,_e,[t(f(n(B)?n(P)(n(B)):0),1),a(`small`,null,`/ `+f(n(B)?.capacity??0),1)])]),a(`div`,ve,[c[8]||=a(`p`,{class:`k`},`范围变更`,-1),a(`p`,ye,[t(f(n(Q).length),1),c[7]||=a(`small`,null,`次`,-1)])])]),n(B)?(u(),o(`div`,be,[a(`div`,xe,[a(`div`,Se,[a(`h2`,_,f(n(B).name),1),a(`p`,v,f(n(B).id)+` · `+f(n(F)(n(B).start))+` ~ `+f(n(F)(n(B).end)),1),a(`p`,y,f(n(B).goal),1)]),e(p,{modelValue:n(z),"onUpdate:modelValue":c[0]||=e=>ie(z)?z.value=e:null,items:n(Ke),icon:`i-lucide-calendar-range`,"aria-label":`选择迭代`,class:`bd-select`},null,8,[`modelValue`,`items`])]),a(`div`,b,[c[10]||=r(`<div class="chart-legend" data-v-4ef34f2c><span class="lg" data-v-4ef34f2c><i class="sw actual" data-v-4ef34f2c></i>实际剩余</span><span class="lg" data-v-4ef34f2c><i class="sw ideal" data-v-4ef34f2c></i>理想线</span><span class="lg" data-v-4ef34f2c><i class="sw scope" data-v-4ef34f2c></i>范围变更</span></div>`,1),(u(),o(`svg`,{viewBox:`0 0 ${Ue} ${We}`,class:`chart`,role:`img`},[c[9]||=r(`<defs data-v-4ef34f2c><linearGradient id="bd-line" x1="0" y1="0" x2="1" y2="0" data-v-4ef34f2c><stop offset="0%" stop-color="#8a63f7" data-v-4ef34f2c></stop><stop offset="100%" stop-color="#c3aefb" data-v-4ef34f2c></stop></linearGradient><linearGradient id="bd-area" x1="0" y1="0" x2="0" y2="1" data-v-4ef34f2c><stop offset="0%" stop-color="#8a63f7" stop-opacity="0.16" data-v-4ef34f2c></stop><stop offset="100%" stop-color="#8a63f7" stop-opacity="0" data-v-4ef34f2c></stop></linearGradient></defs>`,1),a(`g`,null,[(u(),o(d,null,s([0,.25,.5,.75,1],e=>a(`line`,{key:`grid`+e,x1:M,y1:G(n(U)*e),x2:938,y2:G(n(U)*e),stroke:`#f1f0ea`,"stroke-width":`1`},null,8,S)),64)),(u(),o(d,null,s([0,.25,.5,.75,1],e=>a(`text`,{key:`gl`+e,x:32,y:G(n(U)*e)+3.5,"text-anchor":`end`,"font-size":`9.5`,fill:`#b0b4ba`},f(Math.round(n(U)*e)),9,C)),64))]),a(`path`,{d:n(qe),fill:`url(#bd-area)`},null,8,w),a(`path`,{d:`M${W(0)},${G(n(U))} L${W(n(H)-1)},${G(0)}`,stroke:`#cdc9d8`,"stroke-width":`1.4`,"stroke-dasharray":`5 5`,fill:`none`},null,8,T),a(`polyline`,{points:K(`actual`),stroke:`url(#bd-line)`,"stroke-width":`2.6`,fill:`none`,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,E),(u(!0),o(d,null,s(n(V).days,(e,t)=>(u(),o(`circle`,{key:e.date,cx:W(t),cy:G(e.actual),r:`3`,fill:`#fff`,stroke:`#8a63f7`,"stroke-width":`1.8`},null,8,D))),128)),n(q)>=0?(u(),o(`line`,{key:0,x1:W(n(q)),y1:34,x2:W(n(q)),y2:G(0),stroke:`#cf4759`,"stroke-dasharray":`3 3`,"stroke-width":`1.2`,opacity:`0.7`},null,8,O)):m(``,!0),n(q)>=0?(u(),o(`text`,{key:1,x:W(n(q)),y:28,"text-anchor":`middle`,"font-size":`9.5`,fill:`#a5382f`},`今天`,8,k)):m(``,!0),(u(!0),o(d,null,s(n(V).days,(e,t)=>te((u(),o(`text`,{key:`t`+e.date,x:W(t),y:286,"text-anchor":`middle`,"font-size":`9.5`,fill:`#b0b4ba`},f(n(F)(e.date)),9,A)),[[ae,t%Math.ceil(n(H)/10)===0]])),128)),(u(!0),o(d,null,s(n(Q),e=>(u(),o(`g`,{key:e.at+e.id},[a(`title`,null,f(e.id)+` `+f(e.title)+`:`+f(n(R)[e.kind])+`(`+f(e.at)+`,`+f(e.points)+` 点)—— `+f(e.reason),1),a(`line`,{x1:W(e.idx),y1:36,x2:W(e.idx),y2:G(0),stroke:`#3f7fd4`,"stroke-dasharray":`4 3`,"stroke-width":`1.2`,opacity:`0.8`},null,8,j),a(`circle`,{cx:W(e.idx),cy:34,r:`3`,fill:`#3f7fd4`},null,8,Ce)]))),128))],8,x))]),a(`div`,we,[(u(!0),o(d,null,s(n(V).days,e=>(u(),o(`div`,{key:`row`+e.date,class:i([`cell`,{today:e.date===n(I),future:e.date>n(I),scope:n(Je).has(e.date)}])},[a(`span`,Te,f(n(F)(e.date)),1),a(`span`,Ee,f(e.actual),1),a(`span`,De,f(e.ideal),1),a(`i`,{class:`underline`,style:ne({width:(n(U)?e.actual/n(U)*100:0)+`%`})},null,4)],2))),128))]),c[12]||=a(`p`,{class:`foot dim`},`每格:日期 / 实际剩余 / 理想剩余`,-1),n(Q).length?(u(),o(`div`,Oe,[a(`p`,ke,[e(h,{name:`i-lucide-git-branch`,class:`size-3`}),t(`本迭代范围变更(`+f(n(Q).length)+`)`,1)]),a(`ul`,null,[(u(!0),o(d,null,s(n(Q),r=>(u(),o(`li`,{key:r.id},[a(`span`,Ae,f(n(R)[r.kind]),1),e(g,{to:`/story/${r.id}`,class:`mono link`},{default:re(()=>[t(f(r.id),1)]),_:2},1032,[`to`]),a(`span`,null,f(r.title),1),a(`span`,je,`· `+f(r.at)+` · `+f(r.points)+` 点 · `+f(r.reason),1)]))),128))]),c[11]||=a(`p`,{class:`foot dim`},`竖线标出的那几天,实际剩余没有按理想线下滑,是插了活而不是团队拖。`,-1)])):m(``,!0)])):(u(),o(`div`,Me,[e(h,{name:`i-lucide-info`,class:`size-4`}),c[13]||=t(`还没有迭代数据。 `,-1)])),a(`div`,Ne,[a(`div`,Pe,[c[14]||=a(`h2`,{class:`h2`},`迭代对照`,-1),a(`span`,Fe,f(n($).length),1),c[15]||=a(`span`,{class:`dim tip`},`点一行切换上面的燃尽图`,-1)]),a(`div`,Ie,[a(`table`,Le,[c[16]||=a(`thead`,null,[a(`tr`,null,[a(`th`,null,`迭代`),a(`th`,null,`名称`),a(`th`,null,`周期`),a(`th`,{class:`r`},`故事`),a(`th`,{class:`r`},`承诺 / 容量`),a(`th`,null,`状态`)])],-1),a(`tbody`,null,[(u(!0),o(d,null,s(n($),e=>(u(),o(`tr`,{key:e.id,class:i({on:e.id===n(z)}),onClick:t=>z.value=e.id},[a(`td`,ze,f(e.id),1),a(`td`,null,f(e.name),1),a(`td`,Be,f(e.period),1),a(`td`,Ve,f(e.stories),1),a(`td`,He,f(e.commit)+`/`+f(e.capacity),1),a(`td`,null,[a(`span`,{class:i([`tag`,e.tone])},f(e.status),3)])],10,Re))),128))])])])])])}}}),[[`__scopeId`,`data-v-4ef34f2c`]]);export{N as default};
1
+ import{D as e,E as t,On as n,T as r,Ut as ee,Yt as te,Zn as i,_ as a,b as o,bt as s,er as ne,g as c,k as l,mt as u,o as d,qt as re,tr as f,un as ie,vn as p,y as m}from"./DZo3dYLJ.js";import{S as ae}from"./51OWHj8c.js";import{t as oe}from"./BJW3UkS7.js";import{t as se}from"./fFGyRlCx.js";import{t as ce}from"./CjRYYbsC.js";import{a as h,i as g,r as le}from"#entry";var ue={class:`kpis`},de={class:`kpi tint-lilac`},fe={class:`v`},pe={class:`kpi`},me={class:`v`},he={class:`kpi`},ge={class:`kpi tint-mint`},_e={class:`v`},ve={class:`kpi`},ye={class:`v`},be={key:0,class:`card panel`},xe={class:`panel-hd`},Se={class:`ph-l`},_={class:`sp-name`},v={class:`sub mono`},y={class:`goal`},b={class:`chart-wrap`},x=[`viewBox`],S=[`y1`,`x2`,`y2`],C=[`x`,`y`],w=[`d`],T=[`d`],E=[`points`],D=[`cx`,`cy`],O=[`x1`,`y1`,`x2`,`y2`],k=[`x`,`y`],A=[`x`,`y`],j=[`x1`,`y1`,`x2`,`y2`],Ce=[`cx`,`cy`],we={class:`cells`},Te={class:`cd mono`},Ee={class:`ca`},De={class:`ci dim`},Oe={key:0,class:`scope`},ke={class:`h3`},Ae={class:`tag tag-info`},je={class:`dim`},Me={key:1,class:`callout soft`},Ne={class:`card`},Pe={class:`card-hd`},Fe={class:`tag tag-neutral`},Ie={class:`card-bd`},Le={class:`tbl`},Re=[`onClick`],ze={class:`mono`},Be={class:`mono dim`},Ve={class:`r`},He={class:`r mono`},Ue=980,We=300,M=42,N=g(l({__name:`burndown`,setup(l){let{sprints:g,burndown:N,sprintCommit:P,md:F,now:I,sprintById:L,storyById:Ge,SCOPE_LABEL:R}=h(),z=p(``),Ke=c(()=>[...g.value].reverse().map(e=>({label:`${e.id} · ${e.name}`,value:e.id,icon:`i-lucide-calendar-range`}))),B=c(()=>L.value.get(z.value)??g.value[g.value.length-1]),V=c(()=>B.value?N(B.value):{total:0,days:[]});ee(()=>{z.value&&!L.value.has(z.value)&&(z.value=``),!z.value&&g.value.length&&(z.value=g.value[g.value.length-1].id)});let H=c(()=>V.value.days.length||1),U=c(()=>V.value.total||1),W=e=>M+e*896/(H.value-1||1),G=e=>258-e*216/U.value,K=e=>V.value.days.map((t,n)=>`${W(n)},${G(t[e])}`).join(` `),qe=c(()=>{let e=V.value.days.map((e,t)=>`${W(t)},${G(e.actual)}`).join(` `),t=V.value.days.length-1;return`M${W(0)},${G(0)} L${e.replaceAll(` `,` L`)} L${W(t)},${G(0)} Z`}),q=c(()=>V.value.days.findIndex(e=>e.date===I)),J=c(()=>V.value.days.find(e=>e.date===I)??V.value.days[V.value.days.length-1]),Y=c(()=>J.value?.actual??0),X=c(()=>J.value?.ideal??0),Z=c(()=>Math.round((Y.value-X.value)*10)/10),Q=c(()=>{let e=B.value;return e?(e.stories??[]).map(e=>Ge.value.get(e)).filter(Boolean).filter(t=>t.scopeChange&&t.scopeChange.at>=e.start&&t.scopeChange.at<=e.end).map(e=>({id:e.id,title:e.title,at:e.scopeChange.at,kind:e.scopeChange.kind,reason:e.scopeChange.reason,points:e.points,idx:V.value.days.findIndex(t=>t.date===e.scopeChange.at)})).filter(e=>e.idx>=0):[]}),Je=c(()=>new Set(Q.value.map(e=>e.at))),$=c(()=>[...g.value].reverse().map(e=>{let t=e.start<=I&&e.end>=I;return{id:e.id,name:e.name,period:`${F(e.start)} ~ ${F(e.end)}`,stories:(e.stories??[]).length,commit:P(e),capacity:e.capacity,status:t?`进行中`:e.end<I?`已结束`:`未开始`,tone:t?`tag-primary`:e.end<I?`tag-neutral`:`tag-info`}}));return(ee,c)=>{let l=le,p=se,h=ce,g=oe;return u(),o(`div`,null,[a(`div`,ue,[a(`div`,de,[e(l,{tone:`lilac`,size:`sm`}),c[1]||=a(`p`,{class:`k`},`剩余故事点`,-1),a(`p`,fe,[t(f(n(Y)),1),a(`small`,null,`/ `+f(n(V).total),1)])]),a(`div`,pe,[c[3]||=a(`p`,{class:`k`},`理想剩余(今天)`,-1),a(`p`,me,[t(f(n(X)),1),c[2]||=a(`small`,null,`点`,-1)])]),a(`div`,he,[c[5]||=a(`p`,{class:`k`},`偏差`,-1),a(`p`,{class:i([`v`,{bad:n(Z)>0,good:n(Z)<=0}])},[t(f(n(Z)>0?`+`+n(Z):n(Z)),1),c[4]||=a(`small`,null,`点`,-1)],2)]),a(`div`,ge,[e(l,{tone:`mint`,size:`sm`}),c[6]||=a(`p`,{class:`k`},`承诺 / 容量`,-1),a(`p`,_e,[t(f(n(B)?n(P)(n(B)):0),1),a(`small`,null,`/ `+f(n(B)?.capacity??0),1)])]),a(`div`,ve,[c[8]||=a(`p`,{class:`k`},`范围变更`,-1),a(`p`,ye,[t(f(n(Q).length),1),c[7]||=a(`small`,null,`次`,-1)])])]),n(B)?(u(),o(`div`,be,[a(`div`,xe,[a(`div`,Se,[a(`h2`,_,f(n(B).name),1),a(`p`,v,f(n(B).id)+` · `+f(n(F)(n(B).start))+` ~ `+f(n(F)(n(B).end)),1),a(`p`,y,f(n(B).goal),1)]),e(p,{modelValue:n(z),"onUpdate:modelValue":c[0]||=e=>ie(z)?z.value=e:null,items:n(Ke),icon:`i-lucide-calendar-range`,"aria-label":`选择迭代`,class:`bd-select`},null,8,[`modelValue`,`items`])]),a(`div`,b,[c[10]||=r(`<div class="chart-legend" data-v-4ef34f2c><span class="lg" data-v-4ef34f2c><i class="sw actual" data-v-4ef34f2c></i>实际剩余</span><span class="lg" data-v-4ef34f2c><i class="sw ideal" data-v-4ef34f2c></i>理想线</span><span class="lg" data-v-4ef34f2c><i class="sw scope" data-v-4ef34f2c></i>范围变更</span></div>`,1),(u(),o(`svg`,{viewBox:`0 0 ${Ue} ${We}`,class:`chart`,role:`img`},[c[9]||=r(`<defs data-v-4ef34f2c><linearGradient id="bd-line" x1="0" y1="0" x2="1" y2="0" data-v-4ef34f2c><stop offset="0%" stop-color="#8a63f7" data-v-4ef34f2c></stop><stop offset="100%" stop-color="#c3aefb" data-v-4ef34f2c></stop></linearGradient><linearGradient id="bd-area" x1="0" y1="0" x2="0" y2="1" data-v-4ef34f2c><stop offset="0%" stop-color="#8a63f7" stop-opacity="0.16" data-v-4ef34f2c></stop><stop offset="100%" stop-color="#8a63f7" stop-opacity="0" data-v-4ef34f2c></stop></linearGradient></defs>`,1),a(`g`,null,[(u(),o(d,null,s([0,.25,.5,.75,1],e=>a(`line`,{key:`grid`+e,x1:M,y1:G(n(U)*e),x2:938,y2:G(n(U)*e),stroke:`#f1f0ea`,"stroke-width":`1`},null,8,S)),64)),(u(),o(d,null,s([0,.25,.5,.75,1],e=>a(`text`,{key:`gl`+e,x:32,y:G(n(U)*e)+3.5,"text-anchor":`end`,"font-size":`9.5`,fill:`#b0b4ba`},f(Math.round(n(U)*e)),9,C)),64))]),a(`path`,{d:n(qe),fill:`url(#bd-area)`},null,8,w),a(`path`,{d:`M${W(0)},${G(n(U))} L${W(n(H)-1)},${G(0)}`,stroke:`#cdc9d8`,"stroke-width":`1.4`,"stroke-dasharray":`5 5`,fill:`none`},null,8,T),a(`polyline`,{points:K(`actual`),stroke:`url(#bd-line)`,"stroke-width":`2.6`,fill:`none`,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,E),(u(!0),o(d,null,s(n(V).days,(e,t)=>(u(),o(`circle`,{key:e.date,cx:W(t),cy:G(e.actual),r:`3`,fill:`#fff`,stroke:`#8a63f7`,"stroke-width":`1.8`},null,8,D))),128)),n(q)>=0?(u(),o(`line`,{key:0,x1:W(n(q)),y1:34,x2:W(n(q)),y2:G(0),stroke:`#cf4759`,"stroke-dasharray":`3 3`,"stroke-width":`1.2`,opacity:`0.7`},null,8,O)):m(``,!0),n(q)>=0?(u(),o(`text`,{key:1,x:W(n(q)),y:28,"text-anchor":`middle`,"font-size":`9.5`,fill:`#a5382f`},`今天`,8,k)):m(``,!0),(u(!0),o(d,null,s(n(V).days,(e,t)=>te((u(),o(`text`,{key:`t`+e.date,x:W(t),y:286,"text-anchor":`middle`,"font-size":`9.5`,fill:`#b0b4ba`},f(n(F)(e.date)),9,A)),[[ae,t%Math.ceil(n(H)/10)===0]])),128)),(u(!0),o(d,null,s(n(Q),e=>(u(),o(`g`,{key:e.at+e.id},[a(`title`,null,f(e.id)+` `+f(e.title)+`:`+f(n(R)[e.kind])+`(`+f(e.at)+`,`+f(e.points)+` 点)—— `+f(e.reason),1),a(`line`,{x1:W(e.idx),y1:36,x2:W(e.idx),y2:G(0),stroke:`#3f7fd4`,"stroke-dasharray":`4 3`,"stroke-width":`1.2`,opacity:`0.8`},null,8,j),a(`circle`,{cx:W(e.idx),cy:34,r:`3`,fill:`#3f7fd4`},null,8,Ce)]))),128))],8,x))]),a(`div`,we,[(u(!0),o(d,null,s(n(V).days,e=>(u(),o(`div`,{key:`row`+e.date,class:i([`cell`,{today:e.date===n(I),future:e.date>n(I),scope:n(Je).has(e.date)}])},[a(`span`,Te,f(n(F)(e.date)),1),a(`span`,Ee,f(e.actual),1),a(`span`,De,f(e.ideal),1),a(`i`,{class:`underline`,style:ne({width:(n(U)?e.actual/n(U)*100:0)+`%`})},null,4)],2))),128))]),c[12]||=a(`p`,{class:`foot dim`},`每格:日期 / 实际剩余 / 理想剩余`,-1),n(Q).length?(u(),o(`div`,Oe,[a(`p`,ke,[e(h,{name:`i-lucide-git-branch`,class:`size-3`}),t(`本迭代范围变更(`+f(n(Q).length)+`)`,1)]),a(`ul`,null,[(u(!0),o(d,null,s(n(Q),r=>(u(),o(`li`,{key:r.id},[a(`span`,Ae,f(n(R)[r.kind]),1),e(g,{to:`/story/${r.id}`,class:`mono link`},{default:re(()=>[t(f(r.id),1)]),_:2},1032,[`to`]),a(`span`,null,f(r.title),1),a(`span`,je,`· `+f(r.at)+` · `+f(r.points)+` 点 · `+f(r.reason),1)]))),128))]),c[11]||=a(`p`,{class:`foot dim`},`竖线标出的那几天,实际剩余没有按理想线下滑,是插了活而不是团队拖。`,-1)])):m(``,!0)])):(u(),o(`div`,Me,[e(h,{name:`i-lucide-info`,class:`size-4`}),c[13]||=t(`还没有迭代数据。 `,-1)])),a(`div`,Ne,[a(`div`,Pe,[c[14]||=a(`h2`,{class:`h2`},`迭代对照`,-1),a(`span`,Fe,f(n($).length),1),c[15]||=a(`span`,{class:`dim tip`},`点一行切换上面的燃尽图`,-1)]),a(`div`,Ie,[a(`table`,Le,[c[16]||=a(`thead`,null,[a(`tr`,null,[a(`th`,null,`迭代`),a(`th`,null,`名称`),a(`th`,null,`周期`),a(`th`,{class:`r`},`故事`),a(`th`,{class:`r`},`承诺 / 容量`),a(`th`,null,`状态`)])],-1),a(`tbody`,null,[(u(!0),o(d,null,s(n($),e=>(u(),o(`tr`,{key:e.id,class:i({on:e.id===n(z)}),onClick:t=>z.value=e.id},[a(`td`,ze,f(e.id),1),a(`td`,null,f(e.name),1),a(`td`,Be,f(e.period),1),a(`td`,Ve,f(e.stories),1),a(`td`,He,f(e.commit)+`/`+f(e.capacity),1),a(`td`,null,[a(`span`,{class:i([`tag`,e.tone])},f(e.status),3)])],10,Re))),128))])])])])])}}}),[[`__scopeId`,`data-v-4ef34f2c`]]);export{N as default};
@@ -1 +1 @@
1
- import{$ as e,D as t,Ft as n,Ht as r,Lt as i,On as a,Zn as o,_ as s,at as c,b as l,bt as u,ct as d,g as f,mt as p,o as m,qt as h,tr as g,v as _,vn as v,wt as y}from"./DZo3dYLJ.js";import{r as b}from"./oXSDGTSr.js";import{n as x,t as S}from"./Baq-Hrpf.js";import{a as C,i as w,n as T,r as E,t as D}from"./GzmVZqnA.js";import{o as O}from"#entry";import k from"./CL3OrPP7.js";var A={slots:{root:`relative group *:not-first:my-0! *:not-first:static! my-5`,list:`relative flex items-center gap-1 border border-muted bg-default border-b-0 rounded-t-md overflow-x-auto p-2`,indicator:`absolute left-0 inset-y-2 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) transition-[translate,width] duration-200 ease-out motion-reduce:transition-none bg-elevated rounded-md shadow-xs`,trigger:[`relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 outline-primary/25 focus-visible:outline-3`,`transition-colors`],triggerIcon:`size-4 shrink-0`,triggerLabel:`truncate`}},j={__name:`ProseCodeGroup`,props:e({defaultValue:{type:String,required:!1,default:`0`},sync:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let j=e,M=i(),N=x(`prose.codeGroup`,j),P=n(e,`modelValue`),F=b(),I=f(()=>S({extend:A,...F.ui?.prose?.codeGroup||{}})()),L=v(1),R=f(()=>(L.value,M.default?.()?.flatMap(z).filter(Boolean)||[]));function z(e,t){return typeof e.type==`symbol`?e.children?.map(z):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}return d(()=>{if(N.sync){let e=`code-group-${N.sync}`,t=O(e,()=>localStorage.getItem(e));r(t,()=>{t.value&&(P.value=t.value)},{immediate:!0}),r(P,()=>{P.value&&(t.value=P.value,localStorage.setItem(e,P.value))})}}),c(()=>L.value++),(e,n)=>(p(),_(a(C),{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,"default-value":a(N).defaultValue,"unmount-on-hide":!1,class:o(I.value.root({class:[a(N).ui?.root,a(N).class]}))},{default:h(()=>[t(a(T),{class:o(I.value.list({class:a(N).ui?.list}))},{default:h(()=>[t(a(E),{class:o(I.value.indicator({class:a(N).ui?.indicator}))},null,8,[`class`]),(p(!0),l(m,null,u(R.value,(e,n)=>(p(),_(a(D),{key:n,value:String(n),class:o(I.value.trigger({class:a(N).ui?.trigger}))},{default:h(()=>[t(k,{icon:e.icon,filename:e.label,class:o(I.value.triggerIcon({class:a(N).ui?.triggerIcon}))},null,8,[`icon`,`filename`,`class`]),s(`span`,{class:o(I.value.triggerLabel({class:a(N).ui?.triggerLabel}))},g(e.label),3)]),_:2},1032,[`value`,`class`]))),128))]),_:1},8,[`class`]),(p(!0),l(m,null,u(R.value,(e,t)=>(p(),_(a(w),{key:t,value:String(t),"as-child":``},{default:h(()=>[(p(),_(y(e.component),{"hide-header":``,tabindex:`-1`}))]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`,`default-value`,`class`]))}};export{j as default};
1
+ import{$ as e,D as t,Ft as n,Ht as r,Lt as i,On as a,Zn as o,_ as s,at as c,b as l,bt as u,ct as d,g as f,mt as p,o as m,qt as h,tr as g,v as _,vn as v,wt as y}from"./DZo3dYLJ.js";import{r as b}from"./oXSDGTSr.js";import{n as x,t as S}from"./Baq-Hrpf.js";import{a as C,i as w,n as T,r as E,t as D}from"./DJUwhJ8T.js";import{o as O}from"#entry";import k from"./DmKZi-Wo.js";var A={slots:{root:`relative group *:not-first:my-0! *:not-first:static! my-5`,list:`relative flex items-center gap-1 border border-muted bg-default border-b-0 rounded-t-md overflow-x-auto p-2`,indicator:`absolute left-0 inset-y-2 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) transition-[translate,width] duration-200 ease-out motion-reduce:transition-none bg-elevated rounded-md shadow-xs`,trigger:[`relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 outline-primary/25 focus-visible:outline-3`,`transition-colors`],triggerIcon:`size-4 shrink-0`,triggerLabel:`truncate`}},j={__name:`ProseCodeGroup`,props:e({defaultValue:{type:String,required:!1,default:`0`},sync:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let j=e,M=i(),N=x(`prose.codeGroup`,j),P=n(e,`modelValue`),F=b(),I=f(()=>S({extend:A,...F.ui?.prose?.codeGroup||{}})()),L=v(1),R=f(()=>(L.value,M.default?.()?.flatMap(z).filter(Boolean)||[]));function z(e,t){return typeof e.type==`symbol`?e.children?.map(z):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}return d(()=>{if(N.sync){let e=`code-group-${N.sync}`,t=O(e,()=>localStorage.getItem(e));r(t,()=>{t.value&&(P.value=t.value)},{immediate:!0}),r(P,()=>{P.value&&(t.value=P.value,localStorage.setItem(e,P.value))})}}),c(()=>L.value++),(e,n)=>(p(),_(a(C),{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,"default-value":a(N).defaultValue,"unmount-on-hide":!1,class:o(I.value.root({class:[a(N).ui?.root,a(N).class]}))},{default:h(()=>[t(a(T),{class:o(I.value.list({class:a(N).ui?.list}))},{default:h(()=>[t(a(E),{class:o(I.value.indicator({class:a(N).ui?.indicator}))},null,8,[`class`]),(p(!0),l(m,null,u(R.value,(e,n)=>(p(),_(a(D),{key:n,value:String(n),class:o(I.value.trigger({class:a(N).ui?.trigger}))},{default:h(()=>[t(k,{icon:e.icon,filename:e.label,class:o(I.value.triggerIcon({class:a(N).ui?.triggerIcon}))},null,8,[`icon`,`filename`,`class`]),s(`span`,{class:o(I.value.triggerLabel({class:a(N).ui?.triggerLabel}))},g(e.label),3)]),_:2},1032,[`value`,`class`]))),128))]),_:1},8,[`class`]),(p(!0),l(m,null,u(R.value,(e,t)=>(p(),_(a(w),{key:t,value:String(t),"as-child":``},{default:h(()=>[(p(),_(y(e.component),{"hide-header":``,tabindex:`-1`}))]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`,`default-value`,`class`]))}};export{j as default};
@@ -1 +1 @@
1
- import{r as e}from"./BXQZAVYz.js";var t=`rovingFocusGroup.onEntryFocus`,n={bubbles:!1,cancelable:!0},r={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function i(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function a(e,t,n){let a=i(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(a))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(a)))return r[a]}function o(t,n=!1){let r=e();for(let i of t)if(i===r||(i.focus({preventScroll:n}),e()!==r))return}function s(e,t){return e.map((n,r)=>e[(t+r)%e.length])}export{a,o as i,n,s as o,r,t};
1
+ import{r as e}from"./DLkAKotw.js";var t=`rovingFocusGroup.onEntryFocus`,n={bubbles:!1,cancelable:!0},r={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function i(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function a(e,t,n){let a=i(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(a))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(a)))return r[a]}function o(t,n=!1){let r=e();for(let i of t)if(i===r||(i.focus({preventScroll:n}),e()!==r))return}function s(e,t){return e.map((n,r)=>e[(t+r)%e.length])}export{a,o as i,n,s as o,r,t};
@@ -1 +1 @@
1
- import{Lt as e,On as t,Zn as n,b as r,et as i,g as a,mt as o,qt as s,tr as c,v as l,xt as u,y as d}from"./DZo3dYLJ.js";import{r as f}from"./oXSDGTSr.js";import{n as p,t as m}from"./Baq-Hrpf.js";import{t as h}from"./CK9_veoz.js";import{t as g}from"./DwNOEVN_.js";import{a as _,n as v,t as y}from"./joIhBaO-.js";var b={slots:{base:`font-medium inline-flex items-center`,label:`truncate`,leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailingIcon:`shrink-0`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``},size:{xs:{base:`text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},sm:{base:`text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},md:{base:`text-xs px-2 py-1 gap-1 rounded-md`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},lg:{base:`text-sm px-2 py-1 gap-1.5 rounded-md`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},xl:{base:`text-base px-2.5 py-1 gap-1.5 rounded-md`,leadingIcon:`size-6`,leadingAvatarSize:`2xs`,trailingIcon:`size-6`}},square:{true:``}},compoundVariants:[{color:`primary`,variant:`solid`,class:`bg-primary text-inverted`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-inverted`},{color:`success`,variant:`solid`,class:`bg-success text-inverted`},{color:`info`,variant:`solid`,class:`bg-info text-inverted`},{color:`warning`,variant:`solid`,class:`bg-warning text-inverted`},{color:`error`,variant:`solid`,class:`bg-error text-inverted`},{color:`primary`,variant:`outline`,class:`text-primary ring ring-inset ring-primary/50`},{color:`secondary`,variant:`outline`,class:`text-secondary ring ring-inset ring-secondary/50`},{color:`success`,variant:`outline`,class:`text-success ring ring-inset ring-success/50`},{color:`info`,variant:`outline`,class:`text-info ring ring-inset ring-info/50`},{color:`warning`,variant:`outline`,class:`text-warning ring ring-inset ring-warning/50`},{color:`error`,variant:`outline`,class:`text-error ring ring-inset ring-error/50`},{color:`primary`,variant:`soft`,class:`bg-primary/10 text-primary`},{color:`secondary`,variant:`soft`,class:`bg-secondary/10 text-secondary`},{color:`success`,variant:`soft`,class:`bg-success/10 text-success`},{color:`info`,variant:`soft`,class:`bg-info/10 text-info`},{color:`warning`,variant:`soft`,class:`bg-warning/10 text-warning`},{color:`error`,variant:`soft`,class:`bg-error/10 text-error`},{color:`primary`,variant:`subtle`,class:`bg-primary/10 text-primary ring ring-inset ring-primary/25`},{color:`secondary`,variant:`subtle`,class:`bg-secondary/10 text-secondary ring ring-inset ring-secondary/25`},{color:`success`,variant:`subtle`,class:`bg-success/10 text-success ring ring-inset ring-success/25`},{color:`info`,variant:`subtle`,class:`bg-info/10 text-info ring ring-inset ring-info/25`},{color:`warning`,variant:`subtle`,class:`bg-warning/10 text-warning ring ring-inset ring-warning/25`},{color:`error`,variant:`subtle`,class:`bg-error/10 text-error ring ring-inset ring-error/25`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated`},{size:`xs`,square:!0,class:`p-0.5`},{size:`sm`,square:!0,class:`p-1`},{size:`md`,square:!0,class:`p-1`},{size:`lg`,square:!0,class:`p-1`},{size:`xl`,square:!0,class:`p-1`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`}},x={__name:`UBadge`,props:{as:{type:null,required:!1,default:`span`},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(x){let S=x,C=e(),w=p(`badge`,S),T=f(),{orientation:E,size:D}=_(S),{isLeading:O,isTrailing:k,leadingIconName:A,trailingIconName:j}=y(w),M=a(()=>m({extend:b,...T.ui?.badge||{}})({color:w.color,variant:w.variant,size:D.value??w.size,square:w.square||!C.default&&!w.label,fieldGroup:E.value}));return(e,a)=>(o(),l(t(h),{as:t(w).as,"data-slot":`base`,class:n(M.value.base({class:[t(w).ui?.base,t(w).class]}))},{default:s(()=>[u(e.$slots,`leading`,{ui:M.value},()=>[t(O)&&t(A)?(o(),l(g,{key:0,name:t(A),"data-slot":`leadingIcon`,class:n(M.value.leadingIcon({class:t(w).ui?.leadingIcon}))},null,8,[`name`,`class`])):t(w).avatar?(o(),l(v,i({key:1,size:t(w).ui?.leadingAvatarSize||M.value.leadingAvatarSize()},t(w).avatar,{"data-slot":`leadingAvatar`,class:M.value.leadingAvatar({class:t(w).ui?.leadingAvatar})}),null,16,[`size`,`class`])):d(``,!0)]),u(e.$slots,`default`,{ui:M.value},()=>[t(w).label!==void 0&&t(w).label!==null?(o(),r(`span`,{key:0,"data-slot":`label`,class:n(M.value.label({class:t(w).ui?.label}))},c(t(w).label),3)):d(``,!0)]),u(e.$slots,`trailing`,{ui:M.value},()=>[t(k)&&t(j)?(o(),l(g,{key:0,name:t(j),"data-slot":`trailingIcon`,class:n(M.value.trailingIcon({class:t(w).ui?.trailingIcon}))},null,8,[`name`,`class`])):d(``,!0)])]),_:3},8,[`as`,`class`]))}};export{x as t};
1
+ import{Lt as e,On as t,Zn as n,b as r,et as i,g as a,mt as o,qt as s,tr as c,v as l,xt as u,y as d}from"./DZo3dYLJ.js";import{r as f}from"./oXSDGTSr.js";import{n as p,t as m}from"./Baq-Hrpf.js";import{t as h}from"./CK9_veoz.js";import{t as g}from"./CjRYYbsC.js";import{a as _,n as v,t as y}from"./D8Bpf7sE.js";var b={slots:{base:`font-medium inline-flex items-center`,label:`truncate`,leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailingIcon:`shrink-0`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``},size:{xs:{base:`text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},sm:{base:`text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},md:{base:`text-xs px-2 py-1 gap-1 rounded-md`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},lg:{base:`text-sm px-2 py-1 gap-1.5 rounded-md`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},xl:{base:`text-base px-2.5 py-1 gap-1.5 rounded-md`,leadingIcon:`size-6`,leadingAvatarSize:`2xs`,trailingIcon:`size-6`}},square:{true:``}},compoundVariants:[{color:`primary`,variant:`solid`,class:`bg-primary text-inverted`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-inverted`},{color:`success`,variant:`solid`,class:`bg-success text-inverted`},{color:`info`,variant:`solid`,class:`bg-info text-inverted`},{color:`warning`,variant:`solid`,class:`bg-warning text-inverted`},{color:`error`,variant:`solid`,class:`bg-error text-inverted`},{color:`primary`,variant:`outline`,class:`text-primary ring ring-inset ring-primary/50`},{color:`secondary`,variant:`outline`,class:`text-secondary ring ring-inset ring-secondary/50`},{color:`success`,variant:`outline`,class:`text-success ring ring-inset ring-success/50`},{color:`info`,variant:`outline`,class:`text-info ring ring-inset ring-info/50`},{color:`warning`,variant:`outline`,class:`text-warning ring ring-inset ring-warning/50`},{color:`error`,variant:`outline`,class:`text-error ring ring-inset ring-error/50`},{color:`primary`,variant:`soft`,class:`bg-primary/10 text-primary`},{color:`secondary`,variant:`soft`,class:`bg-secondary/10 text-secondary`},{color:`success`,variant:`soft`,class:`bg-success/10 text-success`},{color:`info`,variant:`soft`,class:`bg-info/10 text-info`},{color:`warning`,variant:`soft`,class:`bg-warning/10 text-warning`},{color:`error`,variant:`soft`,class:`bg-error/10 text-error`},{color:`primary`,variant:`subtle`,class:`bg-primary/10 text-primary ring ring-inset ring-primary/25`},{color:`secondary`,variant:`subtle`,class:`bg-secondary/10 text-secondary ring ring-inset ring-secondary/25`},{color:`success`,variant:`subtle`,class:`bg-success/10 text-success ring ring-inset ring-success/25`},{color:`info`,variant:`subtle`,class:`bg-info/10 text-info ring ring-inset ring-info/25`},{color:`warning`,variant:`subtle`,class:`bg-warning/10 text-warning ring ring-inset ring-warning/25`},{color:`error`,variant:`subtle`,class:`bg-error/10 text-error ring ring-inset ring-error/25`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated`},{size:`xs`,square:!0,class:`p-0.5`},{size:`sm`,square:!0,class:`p-1`},{size:`md`,square:!0,class:`p-1`},{size:`lg`,square:!0,class:`p-1`},{size:`xl`,square:!0,class:`p-1`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`}},x={__name:`UBadge`,props:{as:{type:null,required:!1,default:`span`},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(x){let S=x,C=e(),w=p(`badge`,S),T=f(),{orientation:E,size:D}=_(S),{isLeading:O,isTrailing:k,leadingIconName:A,trailingIconName:j}=y(w),M=a(()=>m({extend:b,...T.ui?.badge||{}})({color:w.color,variant:w.variant,size:D.value??w.size,square:w.square||!C.default&&!w.label,fieldGroup:E.value}));return(e,a)=>(o(),l(t(h),{as:t(w).as,"data-slot":`base`,class:n(M.value.base({class:[t(w).ui?.base,t(w).class]}))},{default:s(()=>[u(e.$slots,`leading`,{ui:M.value},()=>[t(O)&&t(A)?(o(),l(g,{key:0,name:t(A),"data-slot":`leadingIcon`,class:n(M.value.leadingIcon({class:t(w).ui?.leadingIcon}))},null,8,[`name`,`class`])):t(w).avatar?(o(),l(v,i({key:1,size:t(w).ui?.leadingAvatarSize||M.value.leadingAvatarSize()},t(w).avatar,{"data-slot":`leadingAvatar`,class:M.value.leadingAvatar({class:t(w).ui?.leadingAvatar})}),null,16,[`size`,`class`])):d(``,!0)]),u(e.$slots,`default`,{ui:M.value},()=>[t(w).label!==void 0&&t(w).label!==null?(o(),r(`span`,{key:0,"data-slot":`label`,class:n(M.value.label({class:t(w).ui?.label}))},c(t(w).label),3)):d(``,!0)]),u(e.$slots,`trailing`,{ui:M.value},()=>[t(k)&&t(j)?(o(),l(g,{key:0,name:t(j),"data-slot":`trailingIcon`,class:n(M.value.trailingIcon({class:t(w).ui?.trailingIcon}))},null,8,[`name`,`class`])):d(``,!0)])]),_:3},8,[`as`,`class`]))}};export{x as t};
@@ -0,0 +1 @@
1
+ import{D as e,E as t,On as n,Zn as r,_ as i,b as a,bt as o,er as s,g as c,k as l,mt as u,o as d,qt as ee,tr as f,un as p,v as te,vn as m,y as h}from"./DZo3dYLJ.js";import{t as ne}from"./BJW3UkS7.js";import{t as re}from"./fFGyRlCx.js";import{t as ie}from"./CjRYYbsC.js";import{a as g,i as _,r as ae}from"#entry";var oe={class:`stats`},se={class:`stat stat-mint`},ce={class:`stat-top`},le={class:`stat-label`},ue={class:`stat-pill`},de={class:`stat-value`},fe={class:`stat-sub`},pe={class:`stat-delta`},me={class:`split`},he={class:`spark`},ge=[`title`],_e={class:`stat`},ve={class:`stat-top`},ye={class:`stat-label`},v={class:`stat-pill`},y={class:`stat-value`},b={class:`stat-sub`},x={class:`stat-rows`},S={class:`stat-row`},C={class:`v`},w={class:`stat-row`},T={class:`v`},E={class:`stat-row`},D={class:`v`},O={class:`stat-row`},k={class:`v`},A={class:`stat-foot`},j={class:`row`},M={class:`bar`},N={class:`stat stat-lilac`},P={class:`stat-top`},be={class:`stat-label`},xe={class:`stat-value`},Se={class:`unit`},Ce={class:`stat-sub`},we={class:`stat-rows`},Te={class:`stat-row`},Ee={class:`v`},De={class:`stat-row`},Oe={class:`v`},ke={class:`stat-row`},Ae={class:`v`},je={class:`stat-row`},Me={class:`v`},Ne={class:`stat-foot`},Pe={class:`row`},Fe={class:`bar lilac`},Ie={class:`stat stat-ink`},Le={class:`stat-top`},Re={class:`stat-label`},ze={class:`stat-value`},Be={class:`stat-rows`},Ve={class:`stat-row`},He={class:`v`},Ue={class:`stat-row`},We={class:`v`},Ge={class:`stat-row`},Ke={class:`v`},qe={class:`stat-row`},Je={class:`v`},Ye={class:`stat-foot`},Xe={class:`row`},F={class:`bar on-dark`},Ze={class:`card tb`},Qe={class:`tb-l`},$e={class:`tb-r`},et={class:`mono`},tt={class:`mono`},nt={class:`card board`},rt={class:`lanes`},it={class:`lane-hd`},at={class:`lane-ct`},ot={class:`lane-pts`},st={class:`lane-bd`},ct={class:`sc-top`},lt={class:`sc-id mono`},ut={class:`dim sc-wsjf`},dt=[`title`],ft={class:`sc-title`},pt={class:`sc-meta`},mt={class:`sc-tags`},ht={class:`tag tag-ghost`},gt={key:0,class:`tag tag-neutral mono`},_t=[`title`],vt=[`title`],yt={class:`bar slim sc-bar`},bt={key:0,class:`lane-empty`},I=_(l({__name:`index`,setup(l){let{stories:_,epics:I,states:L,progress:R,milestoneOfStory:z,pointsOf:B,milestones:xt,STATE_LABEL:V,STATE_SHORT:St,STATE_DOT:Ct,TYPE_LABEL:wt,TYPE_COLOR:Tt,TYPE_ICON:Et,PRIORITY_COLOR:Dt,SCOPE_LABEL:H,wsjf:U,blockedStories:W}=g(),G=m(`all`),K=m(`all`),q=m(`rank`),Ot=c(()=>[{label:`全部史诗`,value:`all`,icon:`i-lucide-layers`},...I.value.map(e=>({label:`${e.id} ${e.title}`,value:e.id,icon:`i-lucide-layer-group`}))]),kt=c(()=>[{label:`全部里程碑`,value:`all`,icon:`i-lucide-flag`},...xt.value.map(e=>({label:`${e.id} ${e.title}`,value:e.id,icon:e.kind===`mvp`?`i-lucide-star`:`i-lucide-map-pin`}))]),At=[{label:`默认顺序`,value:`rank`,icon:`i-lucide-list-ordered`},{label:`按优先级 P0 → P3`,value:`priority`,icon:`i-lucide-alert-circle`},{label:`按 WSJF 价值/点数`,value:`wsjf`,icon:`i-lucide-scale`},{label:`按点数`,value:`points`,icon:`i-lucide-signal`}],J={P0:0,P1:1,P2:2,P3:3},Y=c(()=>{let e=_.value.filter(e=>!(G.value!==`all`&&e.epicId!==G.value||K.value!==`all`&&!z(e.id).some(e=>e.id===K.value)));return q.value===`priority`?[...e].sort((e,t)=>(J[e.priority]??9)-(J[t.priority]??9)||U(t)-U(e)):q.value===`wsjf`?[...e].sort((e,t)=>U(t)-U(e)):q.value===`points`?[...e].sort((e,t)=>t.points-e.points):e}),X=e=>Y.value.filter(t=>t.status===e),jt=e=>B(X(e).map(e=>e.id)),Z=c(()=>{let e=Y.value,t=e.filter(e=>e.status===`done`),n=e.filter(e=>e.status===`in-progress`||e.status===`review`),r=e.filter(e=>e.status===`ready`||e.status===`draft`),i=e.filter(e=>e.status===`cancelled`),a=e.filter(e=>e.status!==`cancelled`),o=e.flatMap(e=>e.tasks??[]),s=e=>o.filter(t=>t.status===e).length;return{count:e.length,points:e.reduce((e,t)=>e+t.points,0),liveCount:a.length,livePoints:a.reduce((e,t)=>e+t.points,0),donePoints:t.reduce((e,t)=>e+t.points,0),done:t.length,running:n.length,idle:r.length,cancelled:i.length,cancelledPoints:i.reduce((e,t)=>e+t.points,0),tasks:o.length,tasksDone:s(`done`),taskRed:s(`red`),taskGreen:s(`green`),taskRefactor:s(`refactored`),taskTodo:s(`todo`),bugs:e.filter(e=>e.type===`bug`).length,debt:e.filter(e=>e.type===`debt`).length,scope:e.filter(e=>e.scopeChange).length}}),Q=c(()=>Z.value.livePoints?Math.round(Z.value.donePoints/Z.value.livePoints*100):0),Mt=c(()=>Z.value.liveCount?Math.round(Z.value.livePoints/Z.value.liveCount*10)/10:0),$=c(()=>Z.value.tasks?Math.round(Z.value.tasksDone/Z.value.tasks*100):0),Nt=c(()=>W.value.length+Z.value.bugs),Pt=c(()=>Math.max(1,...L.map(e=>X(e).length))),Ft=e=>8+Math.round(X(e).length/Pt.value*34),It=c(()=>{if(G.value===`all`)return`全部史诗`;let e=I.value.find(e=>e.id===G.value);return e?e.title.slice(0,6):`全部史诗`}),Lt=e=>z(e).filter(e=>e.kind===`mvp`);return(c,l)=>{let m=ae,g=ie,_=re,I=ne;return u(),a(`div`,null,[i(`div`,oe,[i(`article`,se,[e(m,{tone:`mint`}),i(`div`,ce,[i(`span`,le,[e(g,{name:`i-lucide-gauge`,class:`size-3.5`}),l[3]||=t(`看板完成度`,-1)]),i(`span`,ue,f(n(It)),1)]),i(`div`,de,[t(f(n(Q)),1),l[4]||=i(`span`,{class:`unit`},`%`,-1)]),i(`div`,fe,[i(`span`,pe,[e(g,{name:`i-lucide-check`,class:`size-3`}),t(f(n(Z).donePoints)+` 点`,1)]),t(` 已交付 · 共 `+f(n(Z).livePoints)+` 点 `,1)]),i(`div`,me,[i(`div`,null,[l[5]||=i(`span`,{class:`k`},`完成故事`,-1),i(`b`,null,[t(f(n(Z).done),1),i(`small`,null,`/`+f(n(Z).liveCount),1)])]),i(`div`,null,[l[7]||=i(`span`,{class:`k`},`剩余点`,-1),i(`b`,null,[t(f(n(Z).livePoints-n(Z).donePoints),1),l[6]||=i(`small`,null,`点`,-1)])])]),i(`div`,he,[(u(!0),a(d,null,o(n(L),e=>(u(),a(`div`,{key:e,class:`spark-col`,title:`${n(V)[e]}:${X(e).length} 个`},[i(`div`,{class:r([`spark-bar`,{done:e===`done`,cancel:e===`cancelled`}]),style:s({height:Ft(e)+`px`})},null,6),i(`span`,null,f(n(St)[e]),1)],8,ge))),128))])]),i(`article`,_e,[e(m,{tone:`green`}),i(`div`,ve,[i(`span`,ye,[e(g,{name:`i-lucide-book-open`,class:`size-3.5`}),l[8]||=t(`故事`,-1)]),i(`span`,v,f(Math.round(n(Mt)))+` 点/个`,1)]),i(`div`,y,[t(f(n(Z).count),1),l[9]||=i(`span`,{class:`unit`},`个`,-1)]),i(`div`,b,`共 `+f(n(Z).livePoints)+` 点 · 任务 `+f(n(Z).tasks)+` 个`,1),i(`div`,x,[i(`div`,S,[l[10]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6aa844`}}),t(`已完成`)],-1),i(`span`,C,f(n(Z).done),1)]),i(`div`,w,[l[11]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#3f7fd4`}}),t(`进行中`)],-1),i(`span`,T,f(n(Z).running),1)]),i(`div`,E,[l[12]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#b6bac1`}}),t(`未开始`)],-1),i(`span`,D,f(n(Z).idle),1)]),i(`div`,O,[l[13]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#cf4759`}}),t(`已取消`)],-1),i(`span`,k,f(n(Z).cancelled)+f(n(Z).cancelledPoints?` · ${n(Z).cancelledPoints} 点`:``),1)])]),i(`div`,A,[i(`div`,j,[i(`span`,null,`任务完成 `+f(n(Z).tasksDone)+`/`+f(n(Z).tasks),1),i(`span`,null,f(n($))+`%`,1)]),i(`div`,M,[i(`i`,{style:s({width:n($)+`%`})},null,4)])])]),i(`article`,N,[e(m,{tone:`lilac`}),i(`div`,P,[i(`span`,be,[e(g,{name:`i-lucide-list-checks`,class:`size-3.5`}),l[14]||=t(`TDD 任务`,-1)]),l[15]||=i(`span`,{class:`stat-pill`},`红 → 绿 → 重构`,-1)]),i(`div`,xe,[t(f(n(Z).tasksDone),1),i(`span`,Se,`/ `+f(n(Z).tasks)+` 项`,1)]),i(`div`,Ce,`已完成任务占 `+f(n($))+`%`,1),i(`div`,we,[i(`div`,Te,[l[16]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#cf4759`}}),t(`红(测试失败)`)],-1),i(`span`,Ee,f(n(Z).taskRed),1)]),i(`div`,De,[l[17]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6aa844`}}),t(`绿(测试通过)`)],-1),i(`span`,Oe,f(n(Z).taskGreen),1)]),i(`div`,ke,[l[18]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6d4ff0`}}),t(`已重构`)],-1),i(`span`,Ae,f(n(Z).taskRefactor),1)]),i(`div`,je,[l[19]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#b6bac1`}}),t(`待办`)],-1),i(`span`,Me,f(n(Z).taskTodo),1)])]),i(`div`,Ne,[i(`div`,Pe,[i(`span`,null,`已完成 `+f(n(Z).tasksDone)+`/`+f(n(Z).tasks),1),i(`span`,null,f(n($))+`%`,1)]),i(`div`,Fe,[i(`i`,{style:s({width:n($)+`%`})},null,4)])])]),i(`article`,Ie,[e(m,{tone:`ink`}),i(`div`,Le,[i(`span`,Re,[e(g,{name:`i-lucide-shield-alert`,class:`size-3.5`}),l[20]||=t(`风险面`,-1)]),l[21]||=i(`span`,{class:`stat-pill`},`需处理`,-1)]),i(`div`,ze,[t(f(n(Nt)),1),l[22]||=i(`span`,{class:`unit`},`项`,-1)]),l[28]||=i(`div`,{class:`stat-sub`},`阻塞故事与缺陷合计`,-1),i(`div`,Be,[i(`div`,Ve,[l[23]||=i(`span`,{class:`k`},`阻塞故事`,-1),i(`span`,He,f(n(W).length),1)]),i(`div`,Ue,[l[24]||=i(`span`,{class:`k`},`缺陷`,-1),i(`span`,We,f(n(Z).bugs),1)]),i(`div`,Ge,[l[25]||=i(`span`,{class:`k`},`技术债`,-1),i(`span`,Ke,f(n(Z).debt),1)]),i(`div`,qe,[l[26]||=i(`span`,{class:`k`},`范围变更`,-1),i(`span`,Je,f(n(Z).scope),1)])]),i(`div`,Ye,[i(`div`,Xe,[l[27]||=i(`span`,null,`完成度`,-1),i(`span`,null,f(n(Q))+`%`,1)]),i(`div`,F,[i(`i`,{style:s({width:n(Q)+`%`})},null,4)])])])]),i(`div`,Ze,[i(`div`,Qe,[l[29]||=i(`span`,{class:`lbl`},`筛选`,-1),e(_,{modelValue:n(G),"onUpdate:modelValue":l[0]||=e=>p(G)?G.value=e:null,items:n(Ot),icon:`i-lucide-layers`,"aria-label":`按史诗筛选`},null,8,[`modelValue`,`items`]),e(_,{modelValue:n(K),"onUpdate:modelValue":l[1]||=e=>p(K)?K.value=e:null,items:n(kt),icon:`i-lucide-flag`,"aria-label":`按里程碑筛选`},null,8,[`modelValue`,`items`]),e(_,{modelValue:n(q),"onUpdate:modelValue":l[2]||=e=>p(q)?q.value=e:null,items:At,icon:`i-lucide-arrow-up-down`,"aria-label":`排序方式`},null,8,[`modelValue`])]),i(`div`,$e,[i(`span`,et,f(n(Y).length),1),l[30]||=t(` 个故事 `,-1),l[31]||=i(`i`,{class:`sep`},null,-1),i(`span`,tt,f(n(B)(n(Y).map(e=>e.id))),1),l[32]||=t(` 点 `,-1)])]),i(`div`,nt,[i(`div`,rt,[(u(!0),a(d,null,o(n(L),c=>(u(),a(`section`,{key:c,class:`lane`},[i(`header`,it,[i(`i`,{class:`lane-dot`,style:s({background:n(Ct)[c]})},null,4),i(`b`,null,f(n(V)[c]),1),i(`span`,at,f(X(c).length),1),i(`span`,ot,f(jt(c))+` 点`,1)]),i(`div`,st,[(u(!0),a(d,null,o(X(c),c=>(u(),te(I,{key:c.id,to:`/story/${c.id}`,class:`scard`},{default:ee(()=>[i(`div`,ct,[i(`span`,lt,f(c.id),1),i(`span`,{class:r([`tag`,`tag-${n(Dt)[c.priority]}`])},f(c.priority),3),i(`span`,ut,`WSJF `+f(n(U)(c)),1),c.blocked?(u(),a(`span`,{key:0,class:`tag tag-error tag-dot`,title:`阻塞中:${c.blocked.reason}(自 ${c.blocked.since})`},`阻塞`,8,dt)):h(``,!0)]),i(`p`,ft,f(c.title),1),i(`div`,pt,[i(`span`,null,f(c.points)+` 点`,1),l[33]||=i(`span`,{class:`dim`},`·`,-1),i(`span`,null,`任务 `+f(n(R)(c).done)+`/`+f(n(R)(c).total),1)]),i(`div`,mt,[i(`span`,{class:r([`tag`,`tag-${n(Tt)[c.type]}`])},[e(g,{name:n(Et)[c.type],class:`size-3`},null,8,[`name`]),t(f(n(wt)[c.type]),1)],2),i(`span`,ht,f(c.epicId),1),c.sprintId?(u(),a(`span`,gt,f(c.sprintId),1)):h(``,!0),(u(!0),a(d,null,o(Lt(c.id),e=>(u(),a(`span`,{key:e.id,class:`tag tag-mint`,title:`${e.id} ${e.title} · ${e.criteria}`},`MVP`,8,_t))),128)),c.scopeChange?(u(),a(`span`,{key:1,class:`tag tag-info`,title:`${n(H)[c.scopeChange.kind]}(${c.scopeChange.at}):${c.scopeChange.reason}`},f(n(H)[c.scopeChange.kind]),9,vt)):h(``,!0)]),i(`div`,yt,[i(`i`,{style:s({width:n(R)(c).pct+`%`})},null,4)])]),_:2},1032,[`to`]))),128)),X(c).length?h(``,!0):(u(),a(`p`,bt,`暂无故事`))])]))),128))])])])}}}),[[`__scopeId`,`data-v-994b0e20`]]);export{I as default};
@@ -1 +1 @@
1
- import{r as e}from"./BXQZAVYz.js";import{h as t}from"./FCuSfyjP.js";function n(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function r(n){let r=t(``,1e3);return{search:r,handleTypeaheadSearch:(t,i)=>{if(r.value+=t,n)n(t);else{let t=e(),n=i.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),o=n.find(e=>e.ref===t),s=a(n.map(e=>e.textValue),r.value,o?.textValue),c=n.find(e=>e.textValue===s);return c&&c.ref.focus(),c?.ref}},resetTypeahead:()=>{r.value=``}}}function i(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function a(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=n?e.indexOf(n):-1,o=i(e,Math.max(a,0));r.length===1&&(o=o.filter(e=>e!==n));let s=o.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return s===n?void 0:s}export{r as n,n as r,a as t};
1
+ import{r as e}from"./DLkAKotw.js";import{h as t}from"./CuJUHLl8.js";function n(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function r(n){let r=t(``,1e3);return{search:r,handleTypeaheadSearch:(t,i)=>{if(r.value+=t,n)n(t);else{let t=e(),n=i.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),o=n.find(e=>e.ref===t),s=a(n.map(e=>e.textValue),r.value,o?.textValue),c=n.find(e=>e.textValue===s);return c&&c.ref.focus(),c?.ref}},resetTypeahead:()=>{r.value=``}}}function i(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function a(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=n?e.indexOf(n):-1,o=i(e,Math.max(a,0));r.length===1&&(o=o.filter(e=>e!==n));let s=o.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return s===n?void 0:s}export{r as n,n as r,a as t};
@@ -1 +1 @@
1
- import{D as e,Lt as t,On as n,Zn as r,_ as i,et as a,g as o,mt as s,qt as c,tr as l,v as u,xt as d,y as f}from"./DZo3dYLJ.js";import{r as p}from"./oXSDGTSr.js";import{m,n as h,t as g}from"./Baq-Hrpf.js";import{m as _}from"./FCuSfyjP.js";import{t as v}from"./BuOKDFiJ.js";import{t as y}from"./DwNOEVN_.js";import{F as b,I as x,P as S,d as C}from"#entry";var w={slots:{root:``,content:`data-[state=open]:animate-[collapsible-down_200ms_var(--ease-out)] data-[state=closed]:animate-[collapsible-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden`}},T={__name:`UCollapsible`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(i,{emit:l}){let m=i,y=l,C=t(),T=h(`collapsible`,m),E=p(),D=v(_(T,`as`,`defaultOpen`,`open`,`disabled`,`unmountOnHide`),y),O=o(()=>g({extend:w,...E.ui?.collapsible||{}})());return(t,i)=>(s(),u(n(x),a(n(D),{"data-slot":`root`,class:O.value.root({class:[n(T).ui?.root,n(T).class]})}),{default:c(({open:i})=>[C.default?(s(),u(n(S),{key:0,"as-child":``},{default:c(()=>[d(t.$slots,`default`,{open:i})]),_:2},1024)):f(``,!0),e(n(b),{"data-slot":`content`,class:r(O.value.content({class:n(T).ui?.content}))},{default:c(()=>[d(t.$slots,`content`)]),_:3},8,[`class`])]),_:3},16,[`class`]))}},E={slots:{root:`my-5`,trigger:[`group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm outline-primary/25 focus-visible:outline-3`,`transition-colors`],triggerIcon:`size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200 ease-out motion-reduce:transition-none`,triggerLabel:`truncate`,content:`*:first:mt-2.5 *:last:mb-0 *:my-1.5`}},D={__name:`ProseCollapsible`,props:{icon:{type:null,required:!1},name:{type:String,required:!1},openText:{type:String,required:!1},closeText:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(t){let a=h(`prose.collapsible`,t),{t:f}=C(),_=p(),v=o(()=>g({extend:E,..._.ui?.prose?.collapsible||{}})());return(t,o)=>(s(),u(T,{"unmount-on-hide":!1,class:r(n(a).class),ui:n(m)(v.value,n(a).ui)},{default:c(({open:t})=>[i(`button`,{class:r(v.value.trigger({class:n(a).ui?.trigger}))},[e(y,{name:n(a).icon||n(_).ui.icons.chevronDown,class:r(v.value.triggerIcon({class:n(a).ui?.triggerIcon}))},null,8,[`name`,`class`]),i(`span`,{class:r(v.value.triggerLabel({class:n(a).ui?.triggerLabel}))},l(t?n(a).closeText||n(f)(`prose.collapsible.closeText`):n(a).openText||n(f)(`prose.collapsible.openText`))+` `+l(n(a).name||n(f)(`prose.collapsible.name`)),3)],2)]),content:c(()=>[d(t.$slots,`default`)]),_:3},8,[`class`,`ui`]))}};export{D as default};
1
+ import{D as e,Lt as t,On as n,Zn as r,_ as i,et as a,g as o,mt as s,qt as c,tr as l,v as u,xt as d,y as f}from"./DZo3dYLJ.js";import{r as p}from"./oXSDGTSr.js";import{m,n as h,t as g}from"./Baq-Hrpf.js";import{m as _}from"./CuJUHLl8.js";import{t as v}from"./BuOKDFiJ.js";import{t as y}from"./CjRYYbsC.js";import{F as b,I as x,P as S,d as C}from"#entry";var w={slots:{root:``,content:`data-[state=open]:animate-[collapsible-down_200ms_var(--ease-out)] data-[state=closed]:animate-[collapsible-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden`}},T={__name:`UCollapsible`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(i,{emit:l}){let m=i,y=l,C=t(),T=h(`collapsible`,m),E=p(),D=v(_(T,`as`,`defaultOpen`,`open`,`disabled`,`unmountOnHide`),y),O=o(()=>g({extend:w,...E.ui?.collapsible||{}})());return(t,i)=>(s(),u(n(x),a(n(D),{"data-slot":`root`,class:O.value.root({class:[n(T).ui?.root,n(T).class]})}),{default:c(({open:i})=>[C.default?(s(),u(n(S),{key:0,"as-child":``},{default:c(()=>[d(t.$slots,`default`,{open:i})]),_:2},1024)):f(``,!0),e(n(b),{"data-slot":`content`,class:r(O.value.content({class:n(T).ui?.content}))},{default:c(()=>[d(t.$slots,`content`)]),_:3},8,[`class`])]),_:3},16,[`class`]))}},E={slots:{root:`my-5`,trigger:[`group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm outline-primary/25 focus-visible:outline-3`,`transition-colors`],triggerIcon:`size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200 ease-out motion-reduce:transition-none`,triggerLabel:`truncate`,content:`*:first:mt-2.5 *:last:mb-0 *:my-1.5`}},D={__name:`ProseCollapsible`,props:{icon:{type:null,required:!1},name:{type:String,required:!1},openText:{type:String,required:!1},closeText:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(t){let a=h(`prose.collapsible`,t),{t:f}=C(),_=p(),v=o(()=>g({extend:E,..._.ui?.prose?.collapsible||{}})());return(t,o)=>(s(),u(T,{"unmount-on-hide":!1,class:r(n(a).class),ui:n(m)(v.value,n(a).ui)},{default:c(({open:t})=>[i(`button`,{class:r(v.value.trigger({class:n(a).ui?.trigger}))},[e(y,{name:n(a).icon||n(_).ui.icons.chevronDown,class:r(v.value.triggerIcon({class:n(a).ui?.triggerIcon}))},null,8,[`name`,`class`]),i(`span`,{class:r(v.value.triggerLabel({class:n(a).ui?.triggerLabel}))},l(t?n(a).closeText||n(f)(`prose.collapsible.closeText`):n(a).openText||n(f)(`prose.collapsible.openText`))+` `+l(n(a).name||n(f)(`prose.collapsible.name`)),3)],2)]),content:c(()=>[d(t.$slots,`default`)]),_:3},8,[`class`,`ui`]))}};export{D as default};
@@ -1 +1 @@
1
- import{D as e,E as t,Lt as n,On as r,Tn as i,Zn as a,_ as o,at as s,b as c,bt as l,et as u,g as d,k as f,mt as p,o as m,qt as h,tr as g,v as _,vn as v,wt as y,xt as b,y as x}from"./DZo3dYLJ.js";import{C as S}from"./51OWHj8c.js";import{t as C}from"./CsyY7ot8.js";import{r as w,t as T}from"./oXSDGTSr.js";import{h as E,i as D,m as O,n as k,t as A}from"./Baq-Hrpf.js";import{t as j}from"./DHihWhf5.js";import{m as M}from"./FCuSfyjP.js";import{p as N}from"./CZc2Mypg.js";import{t as P}from"./CK9_veoz.js";import{t as F}from"./B43-KCi6.js";import{t as I}from"./BuOKDFiJ.js";import{t as L}from"./CviJuCa4.js";import{t as R}from"./DwNOEVN_.js";import{F as z,I as B,P as V,W as H}from"#entry";function U(e,t){return j(e)?!1:Array.isArray(e)?e.some(e=>T(e,t)):T(e,t)}function W({type:e,defaultValue:t,modelValue:n}){let r=n||t;return n!==void 0||t!==void 0?Array.isArray(r)?`multiple`:`single`:e??`single`}function G({type:e,defaultValue:t,modelValue:n}){return e||W({type:e,defaultValue:t,modelValue:n})}function K({type:e,defaultValue:t}){return t===void 0?e===`single`?void 0:[]:t}function q(e,t){let n=d(()=>G(e)),r=N(e,`modelValue`,t,{defaultValue:K(e),passive:e.modelValue===void 0,deep:!0});function i(e){if(n.value===`single`)r.value=T(e,r.value)?void 0:e;else{let t=Array.isArray(r.value)?[...r.value||[]]:[r.value].filter(Boolean);if(U(t,e)){let n=t.findIndex(t=>T(t,e));t.splice(n,1)}else t.push(e);r.value=t}}return{modelValue:r,changeModelValue:i,isSingle:d(()=>n.value===`single`)}}var[J,Y]=E(`AccordionRoot`),X=f({__name:`AccordionRoot`,props:{collapsible:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},orientation:{type:String,required:!1,default:`vertical`},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},type:{type:String,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,a=t,{dir:o,disabled:s,unmountOnHide:c}=i(n),l=F(o),{modelValue:u,changeModelValue:d,isSingle:f}=q(n,a),{forwardRef:m,currentElement:g}=L();return Y({disabled:s,direction:l,orientation:n.orientation,parentElement:g,isSingle:f,collapsible:n.collapsible,modelValue:u,changeModelValue:d,unmountOnHide:c}),(t,n)=>(p(),_(r(P),{ref:r(m),"as-child":e.asChild,as:e.as},{default:h(()=>[b(t.$slots,`default`,{modelValue:r(u)})]),_:3},8,[`as-child`,`as`]))}}),Z=function(e){return e.Open=`open`,e.Closed=`closed`,e}(Z||{}),[Q,$]=E(`AccordionItem`),ee=f({__name:`AccordionItem`,props:{disabled:{type:Boolean,required:!1},value:{type:String,required:!0},unmountOnHide:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,i=J(),a=d(()=>i.isSingle.value?n.value===i.modelValue.value:Array.isArray(i.modelValue.value)&&i.modelValue.value.includes(n.value)),o=d(()=>i.disabled.value||n.disabled),s=d(()=>o.value?``:void 0),c=d(()=>a.value?Z.Open:Z.Closed);t({open:a,dataDisabled:s});let{currentRef:l,currentElement:u}=L();$({open:a,dataState:c,disabled:o,dataDisabled:s,triggerId:``,currentRef:l,currentElement:u,value:d(()=>n.value)});function f(e){let t=e.target;if(Array.from(i.parentElement.value?.querySelectorAll(`[data-reka-collection-item]`)??[]).findIndex(e=>e===t)===-1)return null;H(e,t,i.parentElement.value,{arrowKeyOptions:i.orientation,dir:i.direction.value,focus:!0})}return(e,t)=>(p(),_(r(B),{"data-orientation":r(i).orientation,"data-disabled":s.value,"data-state":c.value,disabled:o.value,open:a.value,as:n.as,"as-child":n.asChild,"unmount-on-hide":n.unmountOnHide??r(i).unmountOnHide.value,onKeydown:S(f,[`up`,`down`,`left`,`right`,`home`,`end`])},{default:h(()=>[b(e.$slots,`default`,{open:a.value})]),_:3},8,[`data-orientation`,`data-disabled`,`data-state`,`disabled`,`open`,`as`,`as-child`,`unmount-on-hide`]))}}),te=f({__name:`AccordionContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=J(),i=Q();return L(),(a,o)=>(p(),_(r(z),{role:`region`,"as-child":t.asChild,as:e.as,"force-mount":t.forceMount,"aria-labelledby":r(i).triggerId,"data-state":r(i).dataState.value,"data-disabled":r(i).dataDisabled.value,"data-orientation":r(n).orientation,style:{"--reka-accordion-content-width":`var(--reka-collapsible-content-width)`,"--reka-accordion-content-height":`var(--reka-collapsible-content-height)`},onContentFound:o[0]||=e=>r(n).changeModelValue(r(i).value.value)},{default:h(()=>[b(a.$slots,`default`)]),_:3},8,[`as-child`,`as`,`force-mount`,`aria-labelledby`,`data-state`,`data-disabled`,`data-orientation`]))}}),ne=f({__name:`AccordionHeader`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h3`}},setup(e){let t=e,n=J(),i=Q();return L(),(e,a)=>(p(),_(r(P),{as:t.as,"as-child":t.asChild,"data-orientation":r(n).orientation,"data-state":r(i).dataState.value,"data-disabled":r(i).dataDisabled.value},{default:h(()=>[b(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-orientation`,`data-state`,`data-disabled`]))}}),re=f({__name:`AccordionTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=J(),i=Q();i.triggerId||=C(void 0,`reka-accordion-trigger`);function a(){let e=n.isSingle.value&&i.open.value&&!n.collapsible;i.disabled.value||e||n.changeModelValue(i.value.value)}return(e,o)=>(p(),_(r(V),{id:r(i).triggerId,ref:r(i).currentRef,"data-reka-collection-item":``,as:t.as,"as-child":t.asChild,"aria-disabled":r(i).disabled.value||void 0,"aria-expanded":r(i).open.value||!1,"data-disabled":r(i).dataDisabled.value,"data-orientation":r(n).orientation,"data-state":r(i).dataState.value,disabled:r(i).disabled.value,onClick:a},{default:h(()=>[b(e.$slots,`default`)]),_:3},8,[`id`,`as`,`as-child`,`aria-disabled`,`aria-expanded`,`data-disabled`,`data-orientation`,`data-state`,`disabled`]))}}),ie={slots:{root:`w-full`,item:`border-b border-default last:border-b-0`,header:`flex`,trigger:`group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 outline-primary/25 focus-visible:outline-3 min-w-0 rounded-md`,content:`data-[state=open]:animate-[accordion-down_200ms_var(--ease-out)] data-[state=closed]:animate-[accordion-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden focus:outline-none`,body:`text-sm pb-3.5`,leadingIcon:`shrink-0 size-5`,trailingIcon:`shrink-0 size-5 ms-auto group-data-[state=open]:rotate-180 transition-transform duration-200 ease-out motion-reduce:transition-none`,label:`text-start break-words`},variants:{disabled:{true:{trigger:`cursor-not-allowed opacity-75`}}}},ae={__name:`UAccordion`,props:{as:{type:null,required:!1},items:{type:Array,required:!1},trailingIcon:{type:null,required:!1},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},class:{type:null,required:!1},ui:{type:Object,required:!1},collapsible:{type:Boolean,required:!1,default:!0},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},type:{type:String,required:!1,default:`single`},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:modelValue`],setup(i,{emit:s}){let f=i,v=s,y=n(),S=k(`accordion`,f),C=w(),T=I(M(S,`as`,`collapsible`,`defaultValue`,`disabled`,`modelValue`,`unmountOnHide`),v),E=d(()=>A({extend:ie,...C.ui?.accordion||{}})({disabled:S.disabled}));return(n,i)=>(p(),_(r(X),u(r(T),{type:r(S).type,"data-slot":`root`,class:E.value.root({class:[r(S).ui?.root,r(S).class]})}),{default:h(()=>[(p(!0),c(m,null,l(r(S).items,(i,s)=>(p(),_(r(ee),{key:r(D)(i,r(S).valueKey)??s,value:r(D)(i,r(S).valueKey)??String(s),disabled:i.disabled,"data-slot":`item`,class:a(E.value.item({class:[r(S).ui?.item,i.ui?.item,i.class]}))},{default:h(({open:l})=>[e(r(ne),{as:`div`,"data-slot":`header`,class:a(E.value.header({class:[r(S).ui?.header,i.ui?.header]}))},{default:h(()=>[e(r(re),{"data-slot":`trigger`,class:a(E.value.trigger({class:[r(S).ui?.trigger,i.ui?.trigger],disabled:i.disabled}))},{default:h(()=>[b(n.$slots,`leading`,{item:i,index:s,open:l,ui:E.value},()=>[i.icon?(p(),_(R,{key:0,name:i.icon,"data-slot":`leadingIcon`,class:a(E.value.leadingIcon({class:[r(S).ui?.leadingIcon,i?.ui?.leadingIcon]}))},null,8,[`name`,`class`])):x(``,!0)]),r(D)(i,r(S).labelKey)||y.default?(p(),c(`span`,{key:0,"data-slot":`label`,class:a(E.value.label({class:[r(S).ui?.label,i.ui?.label]}))},[b(n.$slots,`default`,{item:i,index:s,open:l},()=>[t(g(r(D)(i,r(S).labelKey)),1)])],2)):x(``,!0),b(n.$slots,`trailing`,{item:i,index:s,open:l,ui:E.value},()=>[e(R,{name:i.trailingIcon||r(S).trailingIcon||r(C).ui.icons.chevronDown,"data-slot":`trailingIcon`,class:a(E.value.trailingIcon({class:[r(S).ui?.trailingIcon,i.ui?.trailingIcon]}))},null,8,[`name`,`class`])])]),_:2},1032,[`class`])]),_:2},1032,[`class`]),i.content||y.content||i.slot&&y[i.slot]||y.body||i.slot&&y[`${i.slot}-body`]?(p(),_(r(te),{key:0,"data-slot":`content`,class:a(E.value.content({class:[r(S).ui?.content,i.ui?.content]}))},{default:h(()=>[b(n.$slots,i.slot||`content`,{item:i,index:s,open:l,ui:E.value},()=>[o(`div`,{"data-slot":`body`,class:a(E.value.body({class:[r(S).ui?.body,i.ui?.body]}))},[b(n.$slots,i.slot?`${i.slot}-body`:`body`,{item:i,index:s,open:l,ui:E.value},()=>[t(g(i.content),1)])],2)])]),_:2},1032,[`class`])):x(``,!0)]),_:2},1032,[`value`,`disabled`,`class`]))),128))]),_:3},16,[`type`,`class`]))}},oe={slots:{root:`my-5`,trigger:`text-base`}},se={__name:`ProseAccordion`,props:{type:{type:String,required:!1,default:`multiple`},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){let t=e,i=n(),o=k(`prose.accordion`,t),c=w(),l=d(()=>A({extend:oe,...c.ui?.prose?.accordion||{}})),u=v(1),f=d(()=>(u.value,i.default?.()?.flatMap(m).filter(Boolean)||[]));function m(e,t){return typeof e.type==`symbol`?e.children?.map(m):{index:t,label:e.props?.label||`${t}`,description:e.props?.description,icon:e.props?.icon,component:e}}return s(()=>u.value++),(e,t)=>(p(),_(ae,{type:r(o).type,items:f.value,"unmount-on-hide":!1,class:a(r(o).class),ui:r(O)(l.value(),r(o).ui)},{content:h(({item:e})=>[(p(),_(y(e.component)))]),_:1},8,[`type`,`items`,`class`,`ui`]))}};export{se as default};
1
+ import{D as e,E as t,Lt as n,On as r,Tn as i,Zn as a,_ as o,at as s,b as c,bt as l,et as u,g as d,k as f,mt as p,o as m,qt as h,tr as g,v as _,vn as v,wt as y,xt as b,y as x}from"./DZo3dYLJ.js";import{C as S}from"./51OWHj8c.js";import{t as C}from"./CsyY7ot8.js";import{r as w,t as T}from"./oXSDGTSr.js";import{h as E,i as D,m as O,n as k,t as A}from"./Baq-Hrpf.js";import{t as j}from"./DHihWhf5.js";import{m as M}from"./CuJUHLl8.js";import{p as N}from"./Vo4wMbnS.js";import{t as P}from"./CK9_veoz.js";import{t as F}from"./B43-KCi6.js";import{t as I}from"./BuOKDFiJ.js";import{t as L}from"./D3YCAmfu.js";import{t as R}from"./CjRYYbsC.js";import{F as z,I as B,P as V,W as H}from"#entry";function U(e,t){return j(e)?!1:Array.isArray(e)?e.some(e=>T(e,t)):T(e,t)}function W({type:e,defaultValue:t,modelValue:n}){let r=n||t;return n!==void 0||t!==void 0?Array.isArray(r)?`multiple`:`single`:e??`single`}function G({type:e,defaultValue:t,modelValue:n}){return e||W({type:e,defaultValue:t,modelValue:n})}function K({type:e,defaultValue:t}){return t===void 0?e===`single`?void 0:[]:t}function q(e,t){let n=d(()=>G(e)),r=N(e,`modelValue`,t,{defaultValue:K(e),passive:e.modelValue===void 0,deep:!0});function i(e){if(n.value===`single`)r.value=T(e,r.value)?void 0:e;else{let t=Array.isArray(r.value)?[...r.value||[]]:[r.value].filter(Boolean);if(U(t,e)){let n=t.findIndex(t=>T(t,e));t.splice(n,1)}else t.push(e);r.value=t}}return{modelValue:r,changeModelValue:i,isSingle:d(()=>n.value===`single`)}}var[J,Y]=E(`AccordionRoot`),X=f({__name:`AccordionRoot`,props:{collapsible:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},orientation:{type:String,required:!1,default:`vertical`},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},type:{type:String,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,a=t,{dir:o,disabled:s,unmountOnHide:c}=i(n),l=F(o),{modelValue:u,changeModelValue:d,isSingle:f}=q(n,a),{forwardRef:m,currentElement:g}=L();return Y({disabled:s,direction:l,orientation:n.orientation,parentElement:g,isSingle:f,collapsible:n.collapsible,modelValue:u,changeModelValue:d,unmountOnHide:c}),(t,n)=>(p(),_(r(P),{ref:r(m),"as-child":e.asChild,as:e.as},{default:h(()=>[b(t.$slots,`default`,{modelValue:r(u)})]),_:3},8,[`as-child`,`as`]))}}),Z=function(e){return e.Open=`open`,e.Closed=`closed`,e}(Z||{}),[Q,$]=E(`AccordionItem`),ee=f({__name:`AccordionItem`,props:{disabled:{type:Boolean,required:!1},value:{type:String,required:!0},unmountOnHide:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,i=J(),a=d(()=>i.isSingle.value?n.value===i.modelValue.value:Array.isArray(i.modelValue.value)&&i.modelValue.value.includes(n.value)),o=d(()=>i.disabled.value||n.disabled),s=d(()=>o.value?``:void 0),c=d(()=>a.value?Z.Open:Z.Closed);t({open:a,dataDisabled:s});let{currentRef:l,currentElement:u}=L();$({open:a,dataState:c,disabled:o,dataDisabled:s,triggerId:``,currentRef:l,currentElement:u,value:d(()=>n.value)});function f(e){let t=e.target;if(Array.from(i.parentElement.value?.querySelectorAll(`[data-reka-collection-item]`)??[]).findIndex(e=>e===t)===-1)return null;H(e,t,i.parentElement.value,{arrowKeyOptions:i.orientation,dir:i.direction.value,focus:!0})}return(e,t)=>(p(),_(r(B),{"data-orientation":r(i).orientation,"data-disabled":s.value,"data-state":c.value,disabled:o.value,open:a.value,as:n.as,"as-child":n.asChild,"unmount-on-hide":n.unmountOnHide??r(i).unmountOnHide.value,onKeydown:S(f,[`up`,`down`,`left`,`right`,`home`,`end`])},{default:h(()=>[b(e.$slots,`default`,{open:a.value})]),_:3},8,[`data-orientation`,`data-disabled`,`data-state`,`disabled`,`open`,`as`,`as-child`,`unmount-on-hide`]))}}),te=f({__name:`AccordionContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=J(),i=Q();return L(),(a,o)=>(p(),_(r(z),{role:`region`,"as-child":t.asChild,as:e.as,"force-mount":t.forceMount,"aria-labelledby":r(i).triggerId,"data-state":r(i).dataState.value,"data-disabled":r(i).dataDisabled.value,"data-orientation":r(n).orientation,style:{"--reka-accordion-content-width":`var(--reka-collapsible-content-width)`,"--reka-accordion-content-height":`var(--reka-collapsible-content-height)`},onContentFound:o[0]||=e=>r(n).changeModelValue(r(i).value.value)},{default:h(()=>[b(a.$slots,`default`)]),_:3},8,[`as-child`,`as`,`force-mount`,`aria-labelledby`,`data-state`,`data-disabled`,`data-orientation`]))}}),ne=f({__name:`AccordionHeader`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h3`}},setup(e){let t=e,n=J(),i=Q();return L(),(e,a)=>(p(),_(r(P),{as:t.as,"as-child":t.asChild,"data-orientation":r(n).orientation,"data-state":r(i).dataState.value,"data-disabled":r(i).dataDisabled.value},{default:h(()=>[b(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-orientation`,`data-state`,`data-disabled`]))}}),re=f({__name:`AccordionTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=J(),i=Q();i.triggerId||=C(void 0,`reka-accordion-trigger`);function a(){let e=n.isSingle.value&&i.open.value&&!n.collapsible;i.disabled.value||e||n.changeModelValue(i.value.value)}return(e,o)=>(p(),_(r(V),{id:r(i).triggerId,ref:r(i).currentRef,"data-reka-collection-item":``,as:t.as,"as-child":t.asChild,"aria-disabled":r(i).disabled.value||void 0,"aria-expanded":r(i).open.value||!1,"data-disabled":r(i).dataDisabled.value,"data-orientation":r(n).orientation,"data-state":r(i).dataState.value,disabled:r(i).disabled.value,onClick:a},{default:h(()=>[b(e.$slots,`default`)]),_:3},8,[`id`,`as`,`as-child`,`aria-disabled`,`aria-expanded`,`data-disabled`,`data-orientation`,`data-state`,`disabled`]))}}),ie={slots:{root:`w-full`,item:`border-b border-default last:border-b-0`,header:`flex`,trigger:`group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 outline-primary/25 focus-visible:outline-3 min-w-0 rounded-md`,content:`data-[state=open]:animate-[accordion-down_200ms_var(--ease-out)] data-[state=closed]:animate-[accordion-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden focus:outline-none`,body:`text-sm pb-3.5`,leadingIcon:`shrink-0 size-5`,trailingIcon:`shrink-0 size-5 ms-auto group-data-[state=open]:rotate-180 transition-transform duration-200 ease-out motion-reduce:transition-none`,label:`text-start break-words`},variants:{disabled:{true:{trigger:`cursor-not-allowed opacity-75`}}}},ae={__name:`UAccordion`,props:{as:{type:null,required:!1},items:{type:Array,required:!1},trailingIcon:{type:null,required:!1},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},class:{type:null,required:!1},ui:{type:Object,required:!1},collapsible:{type:Boolean,required:!1,default:!0},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},type:{type:String,required:!1,default:`single`},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:modelValue`],setup(i,{emit:s}){let f=i,v=s,y=n(),S=k(`accordion`,f),C=w(),T=I(M(S,`as`,`collapsible`,`defaultValue`,`disabled`,`modelValue`,`unmountOnHide`),v),E=d(()=>A({extend:ie,...C.ui?.accordion||{}})({disabled:S.disabled}));return(n,i)=>(p(),_(r(X),u(r(T),{type:r(S).type,"data-slot":`root`,class:E.value.root({class:[r(S).ui?.root,r(S).class]})}),{default:h(()=>[(p(!0),c(m,null,l(r(S).items,(i,s)=>(p(),_(r(ee),{key:r(D)(i,r(S).valueKey)??s,value:r(D)(i,r(S).valueKey)??String(s),disabled:i.disabled,"data-slot":`item`,class:a(E.value.item({class:[r(S).ui?.item,i.ui?.item,i.class]}))},{default:h(({open:l})=>[e(r(ne),{as:`div`,"data-slot":`header`,class:a(E.value.header({class:[r(S).ui?.header,i.ui?.header]}))},{default:h(()=>[e(r(re),{"data-slot":`trigger`,class:a(E.value.trigger({class:[r(S).ui?.trigger,i.ui?.trigger],disabled:i.disabled}))},{default:h(()=>[b(n.$slots,`leading`,{item:i,index:s,open:l,ui:E.value},()=>[i.icon?(p(),_(R,{key:0,name:i.icon,"data-slot":`leadingIcon`,class:a(E.value.leadingIcon({class:[r(S).ui?.leadingIcon,i?.ui?.leadingIcon]}))},null,8,[`name`,`class`])):x(``,!0)]),r(D)(i,r(S).labelKey)||y.default?(p(),c(`span`,{key:0,"data-slot":`label`,class:a(E.value.label({class:[r(S).ui?.label,i.ui?.label]}))},[b(n.$slots,`default`,{item:i,index:s,open:l},()=>[t(g(r(D)(i,r(S).labelKey)),1)])],2)):x(``,!0),b(n.$slots,`trailing`,{item:i,index:s,open:l,ui:E.value},()=>[e(R,{name:i.trailingIcon||r(S).trailingIcon||r(C).ui.icons.chevronDown,"data-slot":`trailingIcon`,class:a(E.value.trailingIcon({class:[r(S).ui?.trailingIcon,i.ui?.trailingIcon]}))},null,8,[`name`,`class`])])]),_:2},1032,[`class`])]),_:2},1032,[`class`]),i.content||y.content||i.slot&&y[i.slot]||y.body||i.slot&&y[`${i.slot}-body`]?(p(),_(r(te),{key:0,"data-slot":`content`,class:a(E.value.content({class:[r(S).ui?.content,i.ui?.content]}))},{default:h(()=>[b(n.$slots,i.slot||`content`,{item:i,index:s,open:l,ui:E.value},()=>[o(`div`,{"data-slot":`body`,class:a(E.value.body({class:[r(S).ui?.body,i.ui?.body]}))},[b(n.$slots,i.slot?`${i.slot}-body`:`body`,{item:i,index:s,open:l,ui:E.value},()=>[t(g(i.content),1)])],2)])]),_:2},1032,[`class`])):x(``,!0)]),_:2},1032,[`value`,`disabled`,`class`]))),128))]),_:3},16,[`type`,`class`]))}},oe={slots:{root:`my-5`,trigger:`text-base`}},se={__name:`ProseAccordion`,props:{type:{type:String,required:!1,default:`multiple`},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){let t=e,i=n(),o=k(`prose.accordion`,t),c=w(),l=d(()=>A({extend:oe,...c.ui?.prose?.accordion||{}})),u=v(1),f=d(()=>(u.value,i.default?.()?.flatMap(m).filter(Boolean)||[]));function m(e,t){return typeof e.type==`symbol`?e.children?.map(m):{index:t,label:e.props?.label||`${t}`,description:e.props?.description,icon:e.props?.icon,component:e}}return s(()=>u.value++),(e,t)=>(p(),_(ae,{type:r(o).type,items:f.value,"unmount-on-hide":!1,class:a(r(o).class),ui:r(O)(l.value(),r(o).ui)},{content:h(({item:e})=>[(p(),_(y(e.component)))]),_:1},8,[`type`,`items`,`class`,`ui`]))}};export{se as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,g as n,mt as r,v as i}from"./DZo3dYLJ.js";import{r as a}from"./oXSDGTSr.js";import{n as o,t as s}from"./Baq-Hrpf.js";import{t as c}from"./DwNOEVN_.js";var l={base:`size-4 shrink-0 align-sub`},u={__name:`ProseIcon`,props:{name:{type:String,required:!0},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=o(`prose.icon`,u),f=a(),p=n(()=>s({extend:l,...f.ui?.prose?.icon||{}}));return(n,a)=>(r(),i(c,{name:e(d).name,class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},null,8,[`name`,`class`]))}};export{u as default};
1
+ import{On as e,Zn as t,g as n,mt as r,v as i}from"./DZo3dYLJ.js";import{r as a}from"./oXSDGTSr.js";import{n as o,t as s}from"./Baq-Hrpf.js";import{t as c}from"./CjRYYbsC.js";var l={base:`size-4 shrink-0 align-sub`},u={__name:`ProseIcon`,props:{name:{type:String,required:!0},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=o(`prose.icon`,u),f=a(),p=n(()=>s({extend:l,...f.ui?.prose?.icon||{}}));return(n,a)=>(r(),i(c,{name:e(d).name,class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},null,8,[`name`,`class`]))}};export{u as default};
@@ -1,13 +1,13 @@
1
- import{$n as e,D as t,E as n,Ht as r,Lt as i,On as a,Rt as o,Ut as s,Zn as c,_ as l,b as u,bt as d,ct as f,er as p,et as m,ft as h,g,gn as _,k as v,mt as y,o as b,pn as x,qt as S,tr as C,tt as w,u as T,v as E,vn as D,wn as O,wt as k,xn as A,xt as j,y as M}from"./DZo3dYLJ.js";import{w as N}from"./51OWHj8c.js";import{r as P}from"./oXSDGTSr.js";import{h as F,n as I,t as L}from"./Baq-Hrpf.js";import{r as ee,t as R}from"./BXQZAVYz.js";import{t as z}from"./DHihWhf5.js";import{m as B,s as V,x as te}from"./FCuSfyjP.js";import{d as ne,f as re,p as H,r as ie}from"./CZc2Mypg.js";import{t as U}from"./CK9_veoz.js";import{t as W}from"./BuOKDFiJ.js";import{t as G}from"./CviJuCa4.js";import{t as K}from"./DEBhVwtl.js";import{t as q}from"./DwNOEVN_.js";import{n as J}from"./joIhBaO-.js";import{A as Y,S as ae,_ as oe,b as X,d as se,n as Z,v as ce,x as le,y as ue}from"#entry";var Q=100,[de,fe]=F(`ProgressRoot`),$=e=>typeof e==`number`;function pe(e,t){return z(e)||$(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
1
+ import{$n as e,D as t,E as n,Ht as r,Lt as i,On as a,Rt as o,Ut as s,Zn as c,_ as l,b as u,bt as d,ct as f,er as p,et as m,ft as h,g,gn as _,k as v,mt as y,o as b,pn as x,qt as S,tr as C,tt as w,u as T,v as E,vn as D,wn as O,wt as k,xn as A,xt as j,y as M}from"./DZo3dYLJ.js";import{w as N}from"./51OWHj8c.js";import{r as P}from"./oXSDGTSr.js";import{h as F,n as I,t as L}from"./Baq-Hrpf.js";import{r as ee,t as R}from"./DLkAKotw.js";import{t as z}from"./DHihWhf5.js";import{S as B,m as V,s as te}from"./CuJUHLl8.js";import{d as ne,f as re,p as H,r as ie}from"./Vo4wMbnS.js";import{t as U}from"./CK9_veoz.js";import{t as W}from"./BuOKDFiJ.js";import{t as G}from"./D3YCAmfu.js";import{t as K}from"./C9StZL3D.js";import{t as q}from"./CjRYYbsC.js";import{n as J}from"./D8Bpf7sE.js";import{A as Y,S as ae,_ as oe,b as X,d as se,n as Z,v as ce,x as le,y as ue}from"#entry";var Q=100,[de,fe]=F(`ProgressRoot`),$=e=>typeof e==`number`;function pe(e,t){return z(e)||$(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
2
2
  - a positive number
3
3
  - less than the value passed to \`max\` (or ${Q} if no \`max\` prop is set)
4
4
  - \`null\` or \`undefined\` if the progress is indeterminate.
5
5
 
6
- Defaulting to \`null\`.`),null)}function me(e){return $(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Q}\`.`),Q)}var he=v({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:Q},getValueLabel:{type:Function,required:!1,default:(e,t)=>$(e)?`${Math.round(e/t*Q)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,i=t;G();let o=H(n,`modelValue`,i,{passive:n.modelValue===void 0}),s=H(n,`max`,i,{passive:n.max===void 0});r(()=>o.value,async e=>{let t=pe(e,n.max);t!==e&&(await w(),o.value=t)},{immediate:!0}),r(()=>n.max,e=>{let t=me(n.max);t!==e&&(s.value=t)},{immediate:!0});let c=g(()=>z(o.value)?`indeterminate`:o.value===s.value?`complete`:`loading`);return fe({modelValue:o,max:s,progressState:c}),(t,n)=>(y(),E(a(U),{"as-child":e.asChild,as:e.as,"aria-valuemax":a(s),"aria-valuemin":0,"aria-valuenow":$(a(o))?a(o):void 0,"aria-valuetext":e.getValueText?.(a(o),a(s)),"aria-label":e.getValueLabel(a(o),a(s)),role:`progressbar`,"data-state":c.value,"data-value":a(o)??void 0,"data-max":a(s)},{default:S(()=>[j(t.$slots,`default`,{modelValue:a(o)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),ge=v({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=de();return G(),(e,r)=>(y(),E(a(U),m(t,{"data-state":a(n).progressState.value,"data-value":a(n).modelValue?.value??void 0,"data-max":a(n).max.value}),{default:S(()=>[j(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),_e=v({__name:`ToastAnnounceExclude`,props:{altText:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){return(t,n)=>(y(),E(a(U),{as:e.as,"as-child":e.asChild,"data-reka-toast-announce-exclude":``,"data-reka-toast-announce-alt":e.altText||void 0},{default:S(()=>[j(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-reka-toast-announce-alt`]))}}),ve=v({__name:`ToastAnnounce`,setup(e){let t=ae(),r=te(1e3),i=D(!1),o=0,s=0;return V&&(o=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{i.value=!0})}),x(()=>{cancelAnimationFrame(o),cancelAnimationFrame(s)})),(e,o)=>a(r)||i.value?(y(),E(a(Y),{key:0,feature:`fully-hidden`},{default:S(()=>[n(C(a(t).label.value)+` `,1),j(e.$slots,`default`)]),_:3})):M(`v-if`,!0)}}),[ye,be]=F(`ToastPositioner`),[xe,Se]=F(`ToastRoot`),Ce=v({inheritAttrs:!1,__name:`ToastRootImpl`,props:{type:{type:String,required:!1},open:{type:Boolean,required:!1,default:!1},duration:{type:Number,required:!1},toast:{type:Object,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`close`,`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`],setup(e,{emit:i}){let o=e,c=i,{forwardRef:l,currentElement:p}=G(),{CollectionItem:v}=R(),x=ae(),w=D(null),k=D(null),P=g(()=>typeof o.duration==`number`?o.duration:x.duration.value),F=D(0),I=D(P.value),L=D(0),z=D(P.value),B=ne(()=>{let e=Date.now()-F.value;z.value=Math.max(I.value-e,0)},{fpsLimit:60});function te(e){e<=0||e===1/0||V&&(window.clearTimeout(L.value),F.value=Date.now(),L.value=window.setTimeout(H,e))}function H(e){let t=e?.pointerType===``;p.value?.contains(ee())&&t&&x.viewport.value?.focus(),t&&(x.isClosePausedRef.value=!1),c(`close`)}let W=ye(null),K=A(null);r([p,()=>o.toast?.updateKey],([e])=>{K.value=e?ue(e):null},{flush:`post`,immediate:!0});let q=_({seq:0,height:0,open:o.open}),J=g(()=>x.getToastStack(q));function Y(){let e=p.value;if(!e)return;let t=e.style.height;e.style.height=`auto`,q.height=e.offsetHeight,e.style.height=t}if(re(p,Y),r(()=>o.toast?.updateKey,Y,{flush:`post`}),r(()=>o.open,(e,t)=>{q.open=e,e&&!t&&x.reopenToast(q)}),o.type&&![`foreground`,`background`].includes(o.type))throw Error("Invalid prop `type` supplied to `Toast`. Expected `foreground | background`.");s(e=>{let t=x.viewport.value;if(t){let n=()=>{te(I.value),B.resume(),c(`resume`)},r=()=>{let e=Date.now()-F.value;I.value-=e,window.clearTimeout(L.value),B.pause(),c(`pause`)};t.addEventListener(oe,r),t.addEventListener(ce,n),e(()=>{t.removeEventListener(oe,r),t.removeEventListener(ce,n)})}});let se=g(()=>o.toast?x.toastStore.getRestartKey(o.toast.id):0);r([()=>o.open,P,se],()=>{I.value=P.value,o.open&&!x.isClosePausedRef.value&&te(P.value)},{immediate:!0}),ie(`Escape`,e=>{c(`escapeKeyDown`,e),e.defaultPrevented||(x.isFocusedToastEscapeKeyDownRef.value=!0,H())});let Z;return f(()=>{x.onToastAdd(),Z=x.registerToast(q),Y()}),h(()=>{x.onToastRemove(),Z?.()}),Se({onClose:H,toast:O(o,`toast`)}),(r,i)=>(y(),u(b,null,[K.value?(y(),E(ve,{key:e.toast?.updateKey??0,role:`alert`,"aria-live":e.type===`foreground`?`assertive`:`polite`},{default:S(()=>[M(`
6
+ Defaulting to \`null\`.`),null)}function me(e){return $(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Q}\`.`),Q)}var he=v({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:Q},getValueLabel:{type:Function,required:!1,default:(e,t)=>$(e)?`${Math.round(e/t*Q)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,i=t;G();let o=H(n,`modelValue`,i,{passive:n.modelValue===void 0}),s=H(n,`max`,i,{passive:n.max===void 0});r(()=>o.value,async e=>{let t=pe(e,n.max);t!==e&&(await w(),o.value=t)},{immediate:!0}),r(()=>n.max,e=>{let t=me(n.max);t!==e&&(s.value=t)},{immediate:!0});let c=g(()=>z(o.value)?`indeterminate`:o.value===s.value?`complete`:`loading`);return fe({modelValue:o,max:s,progressState:c}),(t,n)=>(y(),E(a(U),{"as-child":e.asChild,as:e.as,"aria-valuemax":a(s),"aria-valuemin":0,"aria-valuenow":$(a(o))?a(o):void 0,"aria-valuetext":e.getValueText?.(a(o),a(s)),"aria-label":e.getValueLabel(a(o),a(s)),role:`progressbar`,"data-state":c.value,"data-value":a(o)??void 0,"data-max":a(s)},{default:S(()=>[j(t.$slots,`default`,{modelValue:a(o)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),ge=v({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=de();return G(),(e,r)=>(y(),E(a(U),m(t,{"data-state":a(n).progressState.value,"data-value":a(n).modelValue?.value??void 0,"data-max":a(n).max.value}),{default:S(()=>[j(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),_e=v({__name:`ToastAnnounceExclude`,props:{altText:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){return(t,n)=>(y(),E(a(U),{as:e.as,"as-child":e.asChild,"data-reka-toast-announce-exclude":``,"data-reka-toast-announce-alt":e.altText||void 0},{default:S(()=>[j(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-reka-toast-announce-alt`]))}}),ve=v({__name:`ToastAnnounce`,setup(e){let t=ae(),r=B(1e3),i=D(!1),o=0,s=0;return te&&(o=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{i.value=!0})}),x(()=>{cancelAnimationFrame(o),cancelAnimationFrame(s)})),(e,o)=>a(r)||i.value?(y(),E(a(Y),{key:0,feature:`fully-hidden`},{default:S(()=>[n(C(a(t).label.value)+` `,1),j(e.$slots,`default`)]),_:3})):M(`v-if`,!0)}}),[ye,be]=F(`ToastPositioner`),[xe,Se]=F(`ToastRoot`),Ce=v({inheritAttrs:!1,__name:`ToastRootImpl`,props:{type:{type:String,required:!1},open:{type:Boolean,required:!1,default:!1},duration:{type:Number,required:!1},toast:{type:Object,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`close`,`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`],setup(e,{emit:i}){let o=e,c=i,{forwardRef:l,currentElement:p}=G(),{CollectionItem:v}=R(),x=ae(),w=D(null),k=D(null),P=g(()=>typeof o.duration==`number`?o.duration:x.duration.value),F=D(0),I=D(P.value),L=D(0),z=D(P.value),B=ne(()=>{let e=Date.now()-F.value;z.value=Math.max(I.value-e,0)},{fpsLimit:60});function V(e){e<=0||e===1/0||te&&(window.clearTimeout(L.value),F.value=Date.now(),L.value=window.setTimeout(H,e))}function H(e){let t=e?.pointerType===``;p.value?.contains(ee())&&t&&x.viewport.value?.focus(),t&&(x.isClosePausedRef.value=!1),c(`close`)}let W=ye(null),K=A(null);r([p,()=>o.toast?.updateKey],([e])=>{K.value=e?ue(e):null},{flush:`post`,immediate:!0});let q=_({seq:0,height:0,open:o.open}),J=g(()=>x.getToastStack(q));function Y(){let e=p.value;if(!e)return;let t=e.style.height;e.style.height=`auto`,q.height=e.offsetHeight,e.style.height=t}if(re(p,Y),r(()=>o.toast?.updateKey,Y,{flush:`post`}),r(()=>o.open,(e,t)=>{q.open=e,e&&!t&&x.reopenToast(q)}),o.type&&![`foreground`,`background`].includes(o.type))throw Error("Invalid prop `type` supplied to `Toast`. Expected `foreground | background`.");s(e=>{let t=x.viewport.value;if(t){let n=()=>{V(I.value),B.resume(),c(`resume`)},r=()=>{let e=Date.now()-F.value;I.value-=e,window.clearTimeout(L.value),B.pause(),c(`pause`)};t.addEventListener(oe,r),t.addEventListener(ce,n),e(()=>{t.removeEventListener(oe,r),t.removeEventListener(ce,n)})}});let se=g(()=>o.toast?x.toastStore.getRestartKey(o.toast.id):0);r([()=>o.open,P,se],()=>{I.value=P.value,o.open&&!x.isClosePausedRef.value&&V(P.value)},{immediate:!0}),ie(`Escape`,e=>{c(`escapeKeyDown`,e),e.defaultPrevented||(x.isFocusedToastEscapeKeyDownRef.value=!0,H())});let Z;return f(()=>{x.onToastAdd(),Z=x.registerToast(q),Y()}),h(()=>{x.onToastRemove(),Z?.()}),Se({onClose:H,toast:O(o,`toast`)}),(r,i)=>(y(),u(b,null,[K.value?(y(),E(ve,{key:e.toast?.updateKey??0,role:`alert`,"aria-live":e.type===`foreground`?`assertive`:`polite`},{default:S(()=>[M(`
7
7
  Render each chunk as its own text node so screen readers get the
8
8
  natural pause break between nodes (see comment in utils.ts).
9
9
  Interpolating the array directly with \`{{ announceTextContent }}\`
10
10
  would route through Vue's \`toDisplayString\`, which JSON-stringifies
11
11
  arrays — the live region would then announce literal \`[\`, quotes
12
12
  and commas instead of the toast title and description.
13
- `),(y(!0),u(b,null,d(K.value,(e,t)=>(y(),u(b,{key:t},[n(C(e),1)],64))),128))]),_:1},8,[`aria-live`])):M(`v-if`,!0),a(x).viewport.value||a(W)?(y(),E(T,{key:1,to:a(x).viewport.value??`body`,disabled:!!a(W)},[t(a(v),null,{default:S(()=>[t(a(U),m({ref:a(l),tabindex:`0`},r.$attrs,{as:e.as,"as-child":e.asChild,"data-state":e.open?`open`:`closed`,"data-swipe-direction":a(x).swipeDirection.value,"data-status":e.toast?.status,"data-expanded":a(x).expanded.value?``:void 0,"data-limited":J.value.limited?``:void 0,inert:J.value.limited||void 0,style:{...a(x).disableSwipe.value?void 0:{userSelect:`none`,touchAction:`none`},"--reka-toast-index":J.value.index,"--reka-toast-offset-y":`${J.value.offsetY}px`,"--reka-toast-height":q.height?`${q.height}px`:void 0},onPointerdown:i[0]||=N(e=>{a(x).disableSwipe.value||(w.value={x:e.clientX,y:e.clientY})},[`left`]),onPointermove:i[1]||=e=>{if(a(x).disableSwipe.value||!w.value)return;let t=e.clientX-w.value.x,n=e.clientY-w.value.y,r=!!k.value,i=[`left`,`right`].includes(a(x).swipeDirection.value),o=[`left`,`up`].includes(a(x).swipeDirection.value)?Math.min:Math.max,s=i?o(0,t):0,l=i?0:o(0,n),u=e.pointerType===`touch`?10:2,d={x:s,y:l},f={originalEvent:e,delta:d};r?(k.value=d,a(X)(a(`toast.swipeMove`),e=>c(`swipeMove`,e),f)):a(le)(d,a(x).swipeDirection.value,u)?(k.value=d,a(X)(a(`toast.swipeStart`),e=>c(`swipeStart`,e),f),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>u||Math.abs(n)>u)&&(w.value=null)},onPointerup:i[2]||=e=>{if(a(x).disableSwipe.value)return;let t=k.value,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),k.value=null,w.value=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};a(le)(t,a(x).swipeDirection.value,a(x).swipeThreshold.value)?a(X)(a(`toast.swipeEnd`),e=>c(`swipeEnd`,e),r):a(X)(a(`toast.swipeCancel`),e=>c(`swipeCancel`,e),r),n?.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}}}),{default:S(()=>[j(r.$slots,`default`,{remaining:z.value,duration:P.value})]),_:3},16,[`as`,`as-child`,`data-state`,`data-swipe-direction`,`data-status`,`data-expanded`,`data-limited`,`inert`,`style`])]),_:3})],8,[`to`,`disabled`])):M(`v-if`,!0)],64))}}),we=v({__name:`ToastAction`,props:{altText:{type:String,required:!1},closeOnClick:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let r=e,o=xe(),{forwardRef:s}=G(),c=i(),l=g(()=>o.toast.value?.actionProps),u=g(()=>!!c.default||!o.toast.value||!!l.value),d=g(()=>r.altText??l.value?.altText);if(u.value&&!d.value)throw Error("Missing prop `altText` expected on `ToastAction`");function f(e){l.value?.onClick?.(e),(l.value?.closeOnClick??r.closeOnClick)&&o.onClose(e)}return(r,i)=>u.value&&d.value?(y(),E(_e,{key:0,"alt-text":d.value,"as-child":``},{default:S(()=>[t(a(U),{ref:a(s),as:e.as,"as-child":e.asChild,type:e.as===`button`?`button`:void 0,onClick:f},{default:S(()=>[j(r.$slots,`default`,{},()=>[n(C(l.value?.label),1)])]),_:3},8,[`as`,`as-child`,`type`])]),_:3},8,[`alt-text`])):M(`v-if`,!0)}}),Te=v({__name:`ToastClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=xe(),{forwardRef:i}=G();return(o,s)=>(y(),E(_e,{"as-child":``},{default:S(()=>[t(a(U),m(n,{ref:a(i),type:e.as===`button`?`button`:void 0,onClick:a(r).onClose}),{default:S(()=>[j(o.$slots,`default`)]),_:3},16,[`type`,`onClick`])]),_:3}))}}),Ee=v({__name:`ToastDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let r=t;G();let i=xe(null);return(t,o)=>t.$slots.default||!a(i)?.toast.value||a(i).toast.value.description?(y(),E(a(U),e(m({key:0},r)),{default:S(()=>[j(t.$slots,`default`,{},()=>[n(C(a(i)?.toast.value?.description),1)])]),_:3},16)):M(`v-if`,!0)}}),De=v({__name:`ToastRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!0},forceMount:{type:Boolean,required:!1},type:{type:String,required:!1,default:`foreground`},open:{type:Boolean,required:!1,default:void 0},duration:{type:Number,required:!1},toast:{type:Object,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{emit:n}){let i=e,o=n,{forwardRef:s}=G(),c=H(i,`open`,o,{defaultValue:i.defaultOpen,passive:i.open===void 0}),l=ae(),u=g(()=>i.toast?i.toast.open:c.value),d=g(()=>i.toast?.type??i.type),f=g(()=>i.toast?.status===`loading`?1/0:i.toast?.duration??i.duration);function p(){i.toast?(l.toastStore.close(i.toast.id),o(`update:open`,!1)):c.value=!1}let h=D(!1);return r([()=>i.toast,h],([e,t])=>{e&&!e.open&&!t&&l.toastStore.remove(e.id)},{immediate:!0}),(n,r)=>(y(),E(a(K),{present:e.forceMount||u.value},{default:S(()=>[t(Ce,m({ref:a(s),open:u.value,type:d.value,as:e.as,"as-child":e.asChild,duration:f.value,toast:e.toast},n.$attrs,{onVnodeMounted:r[0]||=e=>h.value=!0,onVnodeUnmounted:r[1]||=e=>h.value=!1,onClose:p,onPause:r[2]||=e=>o(`pause`),onResume:r[3]||=e=>o(`resume`),onEscapeKeyDown:r[4]||=e=>o(`escapeKeyDown`,e),onSwipeStart:r[5]||=e=>{o(`swipeStart`,e),e.defaultPrevented||e.currentTarget.setAttribute(`data-swipe`,`start`)},onSwipeMove:r[6]||=e=>{if(o(`swipeMove`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`move`),r.style.setProperty(`--reka-toast-swipe-move-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-move-y`,`${n}px`)}},onSwipeCancel:r[7]||=e=>{if(o(`swipeCancel`,e),!e.defaultPrevented){let t=e.currentTarget;t.setAttribute(`data-swipe`,`cancel`),t.style.removeProperty(`--reka-toast-swipe-move-x`),t.style.removeProperty(`--reka-toast-swipe-move-y`),t.style.removeProperty(`--reka-toast-swipe-end-x`),t.style.removeProperty(`--reka-toast-swipe-end-y`)}},onSwipeEnd:r[8]||=e=>{if(o(`swipeEnd`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`end`),r.style.removeProperty(`--reka-toast-swipe-move-x`),r.style.removeProperty(`--reka-toast-swipe-move-y`),r.style.setProperty(`--reka-toast-swipe-end-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-end-y`,`${n}px`),p()}}}),{default:S(({remaining:e,duration:t})=>[j(n.$slots,`default`,{remaining:e,duration:t,open:u.value})]),_:3},16,[`open`,`type`,`as`,`as-child`,`duration`,`toast`])]),_:3},8,[`present`]))}}),Oe=v({__name:`ToastTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let r=t;G();let i=xe(null);return(t,o)=>t.$slots.default||!a(i)?.toast.value||a(i).toast.value.title?(y(),E(a(U),e(m({key:0},r)),{default:S(()=>[j(t.$slots,`default`,{},()=>[n(C(a(i)?.toast.value?.title),1)])]),_:3},16)):M(`v-if`,!0)}}),ke={slots:{root:`gap-2`,base:`relative overflow-hidden rounded-full bg-accented`,indicator:`rounded-full size-full transition-transform duration-200 ease-out motion-reduce:transition-none motion-reduce:data-[state=indeterminate]:animate-pulse`,status:`flex text-dimmed duration-200 ease-out motion-reduce:transition-none`,steps:`grid items-end`,step:`truncate text-end row-start-1 col-start-1 transition-opacity ease-out`},variants:{animation:{carousel:``,"carousel-inverse":``,swing:``,elastic:``},color:{primary:{indicator:`bg-primary`,steps:`text-primary`},secondary:{indicator:`bg-secondary`,steps:`text-secondary`},success:{indicator:`bg-success`,steps:`text-success`},info:{indicator:`bg-info`,steps:`text-info`},warning:{indicator:`bg-warning`,steps:`text-warning`},error:{indicator:`bg-error`,steps:`text-error`},neutral:{indicator:`bg-inverted`,steps:`text-highlighted`}},size:{"2xs":{status:`text-xs`,steps:`text-xs`},xs:{status:`text-xs`,steps:`text-xs`},sm:{status:`text-sm`,steps:`text-sm`},md:{status:`text-sm`,steps:`text-sm`},lg:{status:`text-sm`,steps:`text-sm`},xl:{status:`text-base`,steps:`text-base`},"2xl":{status:`text-base`,steps:`text-base`}},step:{active:{step:`opacity-100`},first:{step:`opacity-100 text-muted`},other:{step:`opacity-0`},last:{step:``}},orientation:{horizontal:{root:`w-full flex flex-col`,base:`w-full`,status:`flex-row items-center justify-end w-(--percent) min-w-fit transition-[width]`},vertical:{root:`h-full flex flex-row-reverse`,base:`h-full`,status:`flex-col justify-end h-(--percent) min-h-fit transition-[height]`}},inverted:{true:{status:`self-end`}}},compoundVariants:[{inverted:!0,orientation:`horizontal`,class:{step:`text-start`,status:`flex-row-reverse`}},{inverted:!0,orientation:`vertical`,class:{steps:`items-start`,status:`flex-col-reverse`}},{orientation:`horizontal`,size:`2xs`,class:`h-px`},{orientation:`horizontal`,size:`xs`,class:`h-0.5`},{orientation:`horizontal`,size:`sm`,class:`h-1`},{orientation:`horizontal`,size:`md`,class:`h-2`},{orientation:`horizontal`,size:`lg`,class:`h-3`},{orientation:`horizontal`,size:`xl`,class:`h-4`},{orientation:`horizontal`,size:`2xl`,class:`h-5`},{orientation:`vertical`,size:`2xs`,class:`w-px`},{orientation:`vertical`,size:`xs`,class:`w-0.5`},{orientation:`vertical`,size:`sm`,class:`w-1`},{orientation:`vertical`,size:`md`,class:`w-2`},{orientation:`vertical`,size:`lg`,class:`w-3`},{orientation:`vertical`,size:`xl`,class:`w-4`},{orientation:`vertical`,size:`2xl`,class:`w-5`},{orientation:`horizontal`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing-vertical_2s_var(--ease-in-out)_infinite]`}},{orientation:`horizontal`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic-vertical_2s_var(--ease-in-out)_infinite]`}}],defaultVariants:{animation:`carousel`,color:`primary`,size:`md`}},Ae={__name:`UProgress`,props:{as:{type:null,required:!1},max:{type:[Number,Array],required:!1},status:{type:Boolean,required:!1},inverted:{type:Boolean,required:!1,default:!1},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},animation:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},getValueLabel:{type:Function,required:!1},getValueText:{type:Function,required:!1},modelValue:{type:[Number,null],required:!1,default:null}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:r}){let o=e,s=r,l=i(),f=I(`progress`,o),{dir:h}=se(),_=P(),v=W(B(f,`getValueLabel`,`getValueText`,`modelValue`),s),x=g(()=>v.value.modelValue===null),w=g(()=>Array.isArray(f.max)),T=g(()=>{if(!x.value&&f.max)return Array.isArray(f.max)?f.max.length-1:Number(f.max)}),D=g(()=>{if(!x.value)switch(!0){case v.value.modelValue<0:return 0;case v.value.modelValue>(T.value??100):return 100;default:return Math.round(v.value.modelValue/(T.value??100)*100)}}),O=g(()=>{if(D.value!==void 0)return f.orientation===`vertical`?{transform:`translateY(${f.inverted?``:`-`}${100-D.value}%)`}:h.value===`rtl`?{transform:`translateX(${f.inverted?`-`:``}${100-D.value}%)`}:{transform:`translateX(${f.inverted?``:`-`}${100-D.value}%)`}}),k=g(()=>({"--percent":`${Math.max(D.value??0,0)}%`}));function A(e){return e===Number(f.modelValue)}function N(e){return e===0}function F(e){return e===T.value}function ee(e){return e=Number(e),A(e)&&!N(e)?`active`:N(e)&&A(e)?`first`:F(e)&&A(e)?`last`:`other`}let R=g(()=>L({extend:ke,..._.ui?.progress||{}})({animation:f.animation,size:f.size,color:f.color,orientation:f.orientation,inverted:f.inverted})),z=g(()=>Object.keys({...ke.variants?.color,..._.ui?.progress?.variants?.color})),V=g(()=>f.color&&!z.value.includes(f.color)?f.color:void 0);return(e,r)=>(y(),E(a(U),{as:a(f).as,"data-orientation":a(f).orientation,"data-slot":`root`,class:c(R.value.root({class:[a(f).ui?.root,a(f).class]}))},{default:S(()=>[!x.value&&(a(f).status||l.status)?(y(),u(`div`,{key:0,"data-slot":`status`,class:c(R.value.status({class:a(f).ui?.status})),style:p(k.value)},[j(e.$slots,`status`,{percent:D.value},()=>[n(C(D.value)+`% `,1)])],6)):M(``,!0),t(a(he),m(a(v),{max:T.value,"data-slot":`base`,class:R.value.base({class:a(f).ui?.base}),style:{transform:`translateZ(0)`}}),{default:S(()=>[t(a(ge),{"data-slot":`indicator`,class:c(R.value.indicator({class:a(f).ui?.indicator})),style:p([O.value,V.value?{backgroundColor:V.value}:void 0])},null,8,[`class`,`style`])]),_:1},16,[`max`,`class`]),w.value?(y(),u(`div`,{key:1,"data-slot":`steps`,class:c(R.value.steps({class:a(f).ui?.steps})),style:p(V.value?{color:V.value}:void 0)},[(y(!0),u(b,null,d(a(f).max,(t,r)=>(y(),u(`div`,{key:r,"data-slot":`step`,class:c(R.value.step({class:a(f).ui?.step,step:ee(r)}))},[j(e.$slots,`step-${r}`,{step:t},()=>[n(C(t),1)])],2))),128))],6)):M(``,!0)]),_:3},8,[`as`,`data-orientation`,`class`]))}},je={slots:{root:`relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5`,wrapper:`w-0 flex-1 flex flex-col`,title:`text-sm font-medium text-highlighted`,description:`text-sm text-muted`,icon:`shrink-0 size-5`,avatar:`shrink-0`,avatarSize:`2xl`,actions:`flex gap-1.5 shrink-0`,progress:`absolute inset-x-0 bottom-0`,close:`p-0`},variants:{color:{primary:{root:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`,icon:`text-primary`},secondary:{root:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`,icon:`text-secondary`},success:{root:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`,icon:`text-success`},info:{root:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`,icon:`text-info`},warning:{root:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`,icon:`text-warning`},error:{root:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`,icon:`text-error`},neutral:{root:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`,icon:`text-highlighted`}},orientation:{horizontal:{root:`items-center`,actions:`items-center`},vertical:{root:`items-start`,actions:`items-start mt-2.5`}},title:{true:{description:`mt-1`}}},defaultVariants:{color:`primary`}},Me={__name:`UToast`,props:{as:{type:null,required:!1},title:{type:[String,Object,Function],required:!1},description:{type:[String,Object,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`vertical`},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},actions:{type:Array,required:!1},duration:{type:Number,required:!1},progress:{type:[Boolean,Object],required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},type:{type:String,required:!1}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{expose:r,emit:s}){let p=e,h=s,_=i(),v=I(`toast`,p),{t:x}=se(),w=P(),T=W(B(v,`as`,`defaultOpen`,`open`,`duration`,`type`),h),O=g(()=>L({extend:je,...w.ui?.toast||{}})({color:v.color,orientation:v.orientation,title:!!v.title||!!_.title})),A=o(`rootRef`),F=D(0);return f(()=>{A.value?.$el?.getBoundingClientRect&&(F.value=A.value.$el.getBoundingClientRect().height)}),r({height:F}),(e,r)=>(y(),E(a(De),m({ref_key:`rootRef`,ref:A},a(T),{"data-orientation":a(v).orientation,"data-slot":`root`,class:O.value.root({class:[a(v).ui?.root,a(v).class]}),style:{"--height":F.value}}),{default:S(({remaining:i,duration:o,open:s})=>[j(e.$slots,`leading`,{ui:O.value},()=>[a(v).avatar?(y(),E(J,m({key:0,size:a(v).ui?.avatarSize||O.value.avatarSize()},a(v).avatar,{"data-slot":`avatar`,class:O.value.avatar({class:a(v).ui?.avatar})}),null,16,[`size`,`class`])):a(v).icon?(y(),E(q,{key:1,name:a(v).icon,"data-slot":`icon`,class:c(O.value.icon({class:a(v).ui?.icon}))},null,8,[`name`,`class`])):M(``,!0)]),l(`div`,{"data-slot":`wrapper`,class:c(O.value.wrapper({class:a(v).ui?.wrapper}))},[a(v).title||_.title?(y(),E(a(Oe),{key:0,"data-slot":`title`,class:c(O.value.title({class:a(v).ui?.title}))},{default:S(()=>[j(e.$slots,`title`,{},()=>[typeof a(v).title==`function`?(y(),E(k(a(v).title()),{key:0})):typeof a(v).title==`object`?(y(),E(k(a(v).title),{key:1})):(y(),u(b,{key:2},[n(C(a(v).title),1)],64))])]),_:3},8,[`class`])):M(``,!0),a(v).description||_.description?(y(),E(a(Ee),{key:1,"data-slot":`description`,class:c(O.value.description({class:a(v).ui?.description}))},{default:S(()=>[j(e.$slots,`description`,{},()=>[typeof a(v).description==`function`?(y(),E(k(a(v).description()),{key:0})):typeof a(v).description==`object`?(y(),E(k(a(v).description),{key:1})):(y(),u(b,{key:2},[n(C(a(v).description),1)],64))])]),_:3},8,[`class`])):M(``,!0),a(v).orientation===`vertical`&&(a(v).actions?.length||_.actions)?(y(),u(`div`,{key:2,"data-slot":`actions`,class:c(O.value.actions({class:a(v).ui?.actions}))},[j(e.$slots,`actions`,{},()=>[(y(!0),u(b,null,d(a(v).actions,({closeOnClick:e,...n},i)=>(y(),E(a(we),{key:i,"alt-text":n.label||`Action`,"close-on-click":e,"as-child":``,onClick:r[0]||=N(()=>{},[`stop`])},{default:S(()=>[t(Z,m({size:`xs`,color:a(v).color},{ref_for:!0},n),null,16,[`color`])]),_:2},1032,[`alt-text`,`close-on-click`]))),128))])],2)):M(``,!0)],2),a(v).orientation===`horizontal`&&(a(v).actions?.length||_.actions)||a(v).close?(y(),u(`div`,{key:0,"data-slot":`actions`,class:c(O.value.actions({class:a(v).ui?.actions,orientation:`horizontal`}))},[a(v).orientation===`horizontal`&&(a(v).actions?.length||_.actions)?j(e.$slots,`actions`,{},()=>[(y(!0),u(b,null,d(a(v).actions,({closeOnClick:e,...n},i)=>(y(),E(a(we),{key:i,"alt-text":n.label||`Action`,"close-on-click":e,"as-child":``,onClick:r[1]||=N(()=>{},[`stop`])},{default:S(()=>[t(Z,m({size:`xs`,color:a(v).color},{ref_for:!0},n),null,16,[`color`])]),_:2},1032,[`alt-text`,`close-on-click`]))),128))],void 0,0):M(``,!0),a(v).close||_.close?(y(),E(a(Te),{key:1,"as-child":``},{default:S(()=>[j(e.$slots,`close`,{ui:O.value},()=>[a(v).close?(y(),E(Z,m({key:0,icon:a(v).closeIcon||a(w).ui.icons.close,color:`neutral`,variant:`link`,"aria-label":a(x)(`toast.close`)},typeof a(v).close==`object`?a(v).close:{},{"data-slot":`close`,class:O.value.close({class:a(v).ui?.close}),onClick:r[2]||=N(()=>{},[`stop`])}),null,16,[`icon`,`aria-label`,`class`])):M(``,!0)])]),_:3})):M(``,!0)],2)):M(``,!0),a(v).progress&&s&&i>0&&o?(y(),E(Ae,m({key:1,"model-value":i/o*100,color:a(v).color},typeof a(v).progress==`object`?a(v).progress:{},{size:`sm`,"data-slot":`progress`,class:O.value.progress({class:a(v).ui?.progress})}),null,16,[`model-value`,`color`,`class`])):M(``,!0)]),_:3},16,[`data-orientation`,`class`,`style`]))}};export{Me as default};
13
+ `),(y(!0),u(b,null,d(K.value,(e,t)=>(y(),u(b,{key:t},[n(C(e),1)],64))),128))]),_:1},8,[`aria-live`])):M(`v-if`,!0),a(x).viewport.value||a(W)?(y(),E(T,{key:1,to:a(x).viewport.value??`body`,disabled:!!a(W)},[t(a(v),null,{default:S(()=>[t(a(U),m({ref:a(l),tabindex:`0`},r.$attrs,{as:e.as,"as-child":e.asChild,"data-state":e.open?`open`:`closed`,"data-swipe-direction":a(x).swipeDirection.value,"data-status":e.toast?.status,"data-expanded":a(x).expanded.value?``:void 0,"data-limited":J.value.limited?``:void 0,inert:J.value.limited||void 0,style:{...a(x).disableSwipe.value?void 0:{userSelect:`none`,touchAction:`none`},"--reka-toast-index":J.value.index,"--reka-toast-offset-y":`${J.value.offsetY}px`,"--reka-toast-height":q.height?`${q.height}px`:void 0},onPointerdown:i[0]||=N(e=>{a(x).disableSwipe.value||(w.value={x:e.clientX,y:e.clientY})},[`left`]),onPointermove:i[1]||=e=>{if(a(x).disableSwipe.value||!w.value)return;let t=e.clientX-w.value.x,n=e.clientY-w.value.y,r=!!k.value,i=[`left`,`right`].includes(a(x).swipeDirection.value),o=[`left`,`up`].includes(a(x).swipeDirection.value)?Math.min:Math.max,s=i?o(0,t):0,l=i?0:o(0,n),u=e.pointerType===`touch`?10:2,d={x:s,y:l},f={originalEvent:e,delta:d};r?(k.value=d,a(X)(a(`toast.swipeMove`),e=>c(`swipeMove`,e),f)):a(le)(d,a(x).swipeDirection.value,u)?(k.value=d,a(X)(a(`toast.swipeStart`),e=>c(`swipeStart`,e),f),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>u||Math.abs(n)>u)&&(w.value=null)},onPointerup:i[2]||=e=>{if(a(x).disableSwipe.value)return;let t=k.value,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),k.value=null,w.value=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};a(le)(t,a(x).swipeDirection.value,a(x).swipeThreshold.value)?a(X)(a(`toast.swipeEnd`),e=>c(`swipeEnd`,e),r):a(X)(a(`toast.swipeCancel`),e=>c(`swipeCancel`,e),r),n?.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}}}),{default:S(()=>[j(r.$slots,`default`,{remaining:z.value,duration:P.value})]),_:3},16,[`as`,`as-child`,`data-state`,`data-swipe-direction`,`data-status`,`data-expanded`,`data-limited`,`inert`,`style`])]),_:3})],8,[`to`,`disabled`])):M(`v-if`,!0)],64))}}),we=v({__name:`ToastAction`,props:{altText:{type:String,required:!1},closeOnClick:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let r=e,o=xe(),{forwardRef:s}=G(),c=i(),l=g(()=>o.toast.value?.actionProps),u=g(()=>!!c.default||!o.toast.value||!!l.value),d=g(()=>r.altText??l.value?.altText);if(u.value&&!d.value)throw Error("Missing prop `altText` expected on `ToastAction`");function f(e){l.value?.onClick?.(e),(l.value?.closeOnClick??r.closeOnClick)&&o.onClose(e)}return(r,i)=>u.value&&d.value?(y(),E(_e,{key:0,"alt-text":d.value,"as-child":``},{default:S(()=>[t(a(U),{ref:a(s),as:e.as,"as-child":e.asChild,type:e.as===`button`?`button`:void 0,onClick:f},{default:S(()=>[j(r.$slots,`default`,{},()=>[n(C(l.value?.label),1)])]),_:3},8,[`as`,`as-child`,`type`])]),_:3},8,[`alt-text`])):M(`v-if`,!0)}}),Te=v({__name:`ToastClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=xe(),{forwardRef:i}=G();return(o,s)=>(y(),E(_e,{"as-child":``},{default:S(()=>[t(a(U),m(n,{ref:a(i),type:e.as===`button`?`button`:void 0,onClick:a(r).onClose}),{default:S(()=>[j(o.$slots,`default`)]),_:3},16,[`type`,`onClick`])]),_:3}))}}),Ee=v({__name:`ToastDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let r=t;G();let i=xe(null);return(t,o)=>t.$slots.default||!a(i)?.toast.value||a(i).toast.value.description?(y(),E(a(U),e(m({key:0},r)),{default:S(()=>[j(t.$slots,`default`,{},()=>[n(C(a(i)?.toast.value?.description),1)])]),_:3},16)):M(`v-if`,!0)}}),De=v({__name:`ToastRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!0},forceMount:{type:Boolean,required:!1},type:{type:String,required:!1,default:`foreground`},open:{type:Boolean,required:!1,default:void 0},duration:{type:Number,required:!1},toast:{type:Object,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{emit:n}){let i=e,o=n,{forwardRef:s}=G(),c=H(i,`open`,o,{defaultValue:i.defaultOpen,passive:i.open===void 0}),l=ae(),u=g(()=>i.toast?i.toast.open:c.value),d=g(()=>i.toast?.type??i.type),f=g(()=>i.toast?.status===`loading`?1/0:i.toast?.duration??i.duration);function p(){i.toast?(l.toastStore.close(i.toast.id),o(`update:open`,!1)):c.value=!1}let h=D(!1);return r([()=>i.toast,h],([e,t])=>{e&&!e.open&&!t&&l.toastStore.remove(e.id)},{immediate:!0}),(n,r)=>(y(),E(a(K),{present:e.forceMount||u.value},{default:S(()=>[t(Ce,m({ref:a(s),open:u.value,type:d.value,as:e.as,"as-child":e.asChild,duration:f.value,toast:e.toast},n.$attrs,{onVnodeMounted:r[0]||=e=>h.value=!0,onVnodeUnmounted:r[1]||=e=>h.value=!1,onClose:p,onPause:r[2]||=e=>o(`pause`),onResume:r[3]||=e=>o(`resume`),onEscapeKeyDown:r[4]||=e=>o(`escapeKeyDown`,e),onSwipeStart:r[5]||=e=>{o(`swipeStart`,e),e.defaultPrevented||e.currentTarget.setAttribute(`data-swipe`,`start`)},onSwipeMove:r[6]||=e=>{if(o(`swipeMove`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`move`),r.style.setProperty(`--reka-toast-swipe-move-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-move-y`,`${n}px`)}},onSwipeCancel:r[7]||=e=>{if(o(`swipeCancel`,e),!e.defaultPrevented){let t=e.currentTarget;t.setAttribute(`data-swipe`,`cancel`),t.style.removeProperty(`--reka-toast-swipe-move-x`),t.style.removeProperty(`--reka-toast-swipe-move-y`),t.style.removeProperty(`--reka-toast-swipe-end-x`),t.style.removeProperty(`--reka-toast-swipe-end-y`)}},onSwipeEnd:r[8]||=e=>{if(o(`swipeEnd`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`end`),r.style.removeProperty(`--reka-toast-swipe-move-x`),r.style.removeProperty(`--reka-toast-swipe-move-y`),r.style.setProperty(`--reka-toast-swipe-end-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-end-y`,`${n}px`),p()}}}),{default:S(({remaining:e,duration:t})=>[j(n.$slots,`default`,{remaining:e,duration:t,open:u.value})]),_:3},16,[`open`,`type`,`as`,`as-child`,`duration`,`toast`])]),_:3},8,[`present`]))}}),Oe=v({__name:`ToastTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let r=t;G();let i=xe(null);return(t,o)=>t.$slots.default||!a(i)?.toast.value||a(i).toast.value.title?(y(),E(a(U),e(m({key:0},r)),{default:S(()=>[j(t.$slots,`default`,{},()=>[n(C(a(i)?.toast.value?.title),1)])]),_:3},16)):M(`v-if`,!0)}}),ke={slots:{root:`gap-2`,base:`relative overflow-hidden rounded-full bg-accented`,indicator:`rounded-full size-full transition-transform duration-200 ease-out motion-reduce:transition-none motion-reduce:data-[state=indeterminate]:animate-pulse`,status:`flex text-dimmed duration-200 ease-out motion-reduce:transition-none`,steps:`grid items-end`,step:`truncate text-end row-start-1 col-start-1 transition-opacity ease-out`},variants:{animation:{carousel:``,"carousel-inverse":``,swing:``,elastic:``},color:{primary:{indicator:`bg-primary`,steps:`text-primary`},secondary:{indicator:`bg-secondary`,steps:`text-secondary`},success:{indicator:`bg-success`,steps:`text-success`},info:{indicator:`bg-info`,steps:`text-info`},warning:{indicator:`bg-warning`,steps:`text-warning`},error:{indicator:`bg-error`,steps:`text-error`},neutral:{indicator:`bg-inverted`,steps:`text-highlighted`}},size:{"2xs":{status:`text-xs`,steps:`text-xs`},xs:{status:`text-xs`,steps:`text-xs`},sm:{status:`text-sm`,steps:`text-sm`},md:{status:`text-sm`,steps:`text-sm`},lg:{status:`text-sm`,steps:`text-sm`},xl:{status:`text-base`,steps:`text-base`},"2xl":{status:`text-base`,steps:`text-base`}},step:{active:{step:`opacity-100`},first:{step:`opacity-100 text-muted`},other:{step:`opacity-0`},last:{step:``}},orientation:{horizontal:{root:`w-full flex flex-col`,base:`w-full`,status:`flex-row items-center justify-end w-(--percent) min-w-fit transition-[width]`},vertical:{root:`h-full flex flex-row-reverse`,base:`h-full`,status:`flex-col justify-end h-(--percent) min-h-fit transition-[height]`}},inverted:{true:{status:`self-end`}}},compoundVariants:[{inverted:!0,orientation:`horizontal`,class:{step:`text-start`,status:`flex-row-reverse`}},{inverted:!0,orientation:`vertical`,class:{steps:`items-start`,status:`flex-col-reverse`}},{orientation:`horizontal`,size:`2xs`,class:`h-px`},{orientation:`horizontal`,size:`xs`,class:`h-0.5`},{orientation:`horizontal`,size:`sm`,class:`h-1`},{orientation:`horizontal`,size:`md`,class:`h-2`},{orientation:`horizontal`,size:`lg`,class:`h-3`},{orientation:`horizontal`,size:`xl`,class:`h-4`},{orientation:`horizontal`,size:`2xl`,class:`h-5`},{orientation:`vertical`,size:`2xs`,class:`w-px`},{orientation:`vertical`,size:`xs`,class:`w-0.5`},{orientation:`vertical`,size:`sm`,class:`w-1`},{orientation:`vertical`,size:`md`,class:`w-2`},{orientation:`vertical`,size:`lg`,class:`w-3`},{orientation:`vertical`,size:`xl`,class:`w-4`},{orientation:`vertical`,size:`2xl`,class:`w-5`},{orientation:`horizontal`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing-vertical_2s_var(--ease-in-out)_infinite]`}},{orientation:`horizontal`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic-vertical_2s_var(--ease-in-out)_infinite]`}}],defaultVariants:{animation:`carousel`,color:`primary`,size:`md`}},Ae={__name:`UProgress`,props:{as:{type:null,required:!1},max:{type:[Number,Array],required:!1},status:{type:Boolean,required:!1},inverted:{type:Boolean,required:!1,default:!1},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},animation:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},getValueLabel:{type:Function,required:!1},getValueText:{type:Function,required:!1},modelValue:{type:[Number,null],required:!1,default:null}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:r}){let o=e,s=r,l=i(),f=I(`progress`,o),{dir:h}=se(),_=P(),v=W(V(f,`getValueLabel`,`getValueText`,`modelValue`),s),x=g(()=>v.value.modelValue===null),w=g(()=>Array.isArray(f.max)),T=g(()=>{if(!x.value&&f.max)return Array.isArray(f.max)?f.max.length-1:Number(f.max)}),D=g(()=>{if(!x.value)switch(!0){case v.value.modelValue<0:return 0;case v.value.modelValue>(T.value??100):return 100;default:return Math.round(v.value.modelValue/(T.value??100)*100)}}),O=g(()=>{if(D.value!==void 0)return f.orientation===`vertical`?{transform:`translateY(${f.inverted?``:`-`}${100-D.value}%)`}:h.value===`rtl`?{transform:`translateX(${f.inverted?`-`:``}${100-D.value}%)`}:{transform:`translateX(${f.inverted?``:`-`}${100-D.value}%)`}}),k=g(()=>({"--percent":`${Math.max(D.value??0,0)}%`}));function A(e){return e===Number(f.modelValue)}function N(e){return e===0}function F(e){return e===T.value}function ee(e){return e=Number(e),A(e)&&!N(e)?`active`:N(e)&&A(e)?`first`:F(e)&&A(e)?`last`:`other`}let R=g(()=>L({extend:ke,..._.ui?.progress||{}})({animation:f.animation,size:f.size,color:f.color,orientation:f.orientation,inverted:f.inverted})),z=g(()=>Object.keys({...ke.variants?.color,..._.ui?.progress?.variants?.color})),B=g(()=>f.color&&!z.value.includes(f.color)?f.color:void 0);return(e,r)=>(y(),E(a(U),{as:a(f).as,"data-orientation":a(f).orientation,"data-slot":`root`,class:c(R.value.root({class:[a(f).ui?.root,a(f).class]}))},{default:S(()=>[!x.value&&(a(f).status||l.status)?(y(),u(`div`,{key:0,"data-slot":`status`,class:c(R.value.status({class:a(f).ui?.status})),style:p(k.value)},[j(e.$slots,`status`,{percent:D.value},()=>[n(C(D.value)+`% `,1)])],6)):M(``,!0),t(a(he),m(a(v),{max:T.value,"data-slot":`base`,class:R.value.base({class:a(f).ui?.base}),style:{transform:`translateZ(0)`}}),{default:S(()=>[t(a(ge),{"data-slot":`indicator`,class:c(R.value.indicator({class:a(f).ui?.indicator})),style:p([O.value,B.value?{backgroundColor:B.value}:void 0])},null,8,[`class`,`style`])]),_:1},16,[`max`,`class`]),w.value?(y(),u(`div`,{key:1,"data-slot":`steps`,class:c(R.value.steps({class:a(f).ui?.steps})),style:p(B.value?{color:B.value}:void 0)},[(y(!0),u(b,null,d(a(f).max,(t,r)=>(y(),u(`div`,{key:r,"data-slot":`step`,class:c(R.value.step({class:a(f).ui?.step,step:ee(r)}))},[j(e.$slots,`step-${r}`,{step:t},()=>[n(C(t),1)])],2))),128))],6)):M(``,!0)]),_:3},8,[`as`,`data-orientation`,`class`]))}},je={slots:{root:`relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5`,wrapper:`w-0 flex-1 flex flex-col`,title:`text-sm font-medium text-highlighted`,description:`text-sm text-muted`,icon:`shrink-0 size-5`,avatar:`shrink-0`,avatarSize:`2xl`,actions:`flex gap-1.5 shrink-0`,progress:`absolute inset-x-0 bottom-0`,close:`p-0`},variants:{color:{primary:{root:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`,icon:`text-primary`},secondary:{root:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`,icon:`text-secondary`},success:{root:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`,icon:`text-success`},info:{root:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`,icon:`text-info`},warning:{root:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`,icon:`text-warning`},error:{root:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`,icon:`text-error`},neutral:{root:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`,icon:`text-highlighted`}},orientation:{horizontal:{root:`items-center`,actions:`items-center`},vertical:{root:`items-start`,actions:`items-start mt-2.5`}},title:{true:{description:`mt-1`}}},defaultVariants:{color:`primary`}},Me={__name:`UToast`,props:{as:{type:null,required:!1},title:{type:[String,Object,Function],required:!1},description:{type:[String,Object,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`vertical`},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},actions:{type:Array,required:!1},duration:{type:Number,required:!1},progress:{type:[Boolean,Object],required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},type:{type:String,required:!1}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{expose:r,emit:s}){let p=e,h=s,_=i(),v=I(`toast`,p),{t:x}=se(),w=P(),T=W(V(v,`as`,`defaultOpen`,`open`,`duration`,`type`),h),O=g(()=>L({extend:je,...w.ui?.toast||{}})({color:v.color,orientation:v.orientation,title:!!v.title||!!_.title})),A=o(`rootRef`),F=D(0);return f(()=>{A.value?.$el?.getBoundingClientRect&&(F.value=A.value.$el.getBoundingClientRect().height)}),r({height:F}),(e,r)=>(y(),E(a(De),m({ref_key:`rootRef`,ref:A},a(T),{"data-orientation":a(v).orientation,"data-slot":`root`,class:O.value.root({class:[a(v).ui?.root,a(v).class]}),style:{"--height":F.value}}),{default:S(({remaining:i,duration:o,open:s})=>[j(e.$slots,`leading`,{ui:O.value},()=>[a(v).avatar?(y(),E(J,m({key:0,size:a(v).ui?.avatarSize||O.value.avatarSize()},a(v).avatar,{"data-slot":`avatar`,class:O.value.avatar({class:a(v).ui?.avatar})}),null,16,[`size`,`class`])):a(v).icon?(y(),E(q,{key:1,name:a(v).icon,"data-slot":`icon`,class:c(O.value.icon({class:a(v).ui?.icon}))},null,8,[`name`,`class`])):M(``,!0)]),l(`div`,{"data-slot":`wrapper`,class:c(O.value.wrapper({class:a(v).ui?.wrapper}))},[a(v).title||_.title?(y(),E(a(Oe),{key:0,"data-slot":`title`,class:c(O.value.title({class:a(v).ui?.title}))},{default:S(()=>[j(e.$slots,`title`,{},()=>[typeof a(v).title==`function`?(y(),E(k(a(v).title()),{key:0})):typeof a(v).title==`object`?(y(),E(k(a(v).title),{key:1})):(y(),u(b,{key:2},[n(C(a(v).title),1)],64))])]),_:3},8,[`class`])):M(``,!0),a(v).description||_.description?(y(),E(a(Ee),{key:1,"data-slot":`description`,class:c(O.value.description({class:a(v).ui?.description}))},{default:S(()=>[j(e.$slots,`description`,{},()=>[typeof a(v).description==`function`?(y(),E(k(a(v).description()),{key:0})):typeof a(v).description==`object`?(y(),E(k(a(v).description),{key:1})):(y(),u(b,{key:2},[n(C(a(v).description),1)],64))])]),_:3},8,[`class`])):M(``,!0),a(v).orientation===`vertical`&&(a(v).actions?.length||_.actions)?(y(),u(`div`,{key:2,"data-slot":`actions`,class:c(O.value.actions({class:a(v).ui?.actions}))},[j(e.$slots,`actions`,{},()=>[(y(!0),u(b,null,d(a(v).actions,({closeOnClick:e,...n},i)=>(y(),E(a(we),{key:i,"alt-text":n.label||`Action`,"close-on-click":e,"as-child":``,onClick:r[0]||=N(()=>{},[`stop`])},{default:S(()=>[t(Z,m({size:`xs`,color:a(v).color},{ref_for:!0},n),null,16,[`color`])]),_:2},1032,[`alt-text`,`close-on-click`]))),128))])],2)):M(``,!0)],2),a(v).orientation===`horizontal`&&(a(v).actions?.length||_.actions)||a(v).close?(y(),u(`div`,{key:0,"data-slot":`actions`,class:c(O.value.actions({class:a(v).ui?.actions,orientation:`horizontal`}))},[a(v).orientation===`horizontal`&&(a(v).actions?.length||_.actions)?j(e.$slots,`actions`,{},()=>[(y(!0),u(b,null,d(a(v).actions,({closeOnClick:e,...n},i)=>(y(),E(a(we),{key:i,"alt-text":n.label||`Action`,"close-on-click":e,"as-child":``,onClick:r[1]||=N(()=>{},[`stop`])},{default:S(()=>[t(Z,m({size:`xs`,color:a(v).color},{ref_for:!0},n),null,16,[`color`])]),_:2},1032,[`alt-text`,`close-on-click`]))),128))],void 0,0):M(``,!0),a(v).close||_.close?(y(),E(a(Te),{key:1,"as-child":``},{default:S(()=>[j(e.$slots,`close`,{ui:O.value},()=>[a(v).close?(y(),E(Z,m({key:0,icon:a(v).closeIcon||a(w).ui.icons.close,color:`neutral`,variant:`link`,"aria-label":a(x)(`toast.close`)},typeof a(v).close==`object`?a(v).close:{},{"data-slot":`close`,class:O.value.close({class:a(v).ui?.close}),onClick:r[2]||=N(()=>{},[`stop`])}),null,16,[`icon`,`aria-label`,`class`])):M(``,!0)])]),_:3})):M(``,!0)],2)):M(``,!0),a(v).progress&&s&&i>0&&o?(y(),E(Ae,m({key:1,"model-value":i/o*100,color:a(v).color},typeof a(v).progress==`object`?a(v).progress:{},{size:`sm`,"data-slot":`progress`,class:O.value.progress({class:a(v).ui?.progress})}),null,16,[`model-value`,`color`,`class`])):M(``,!0)]),_:3},16,[`data-orientation`,`class`,`style`]))}};export{Me as default};
@@ -1,3 +1,3 @@
1
- import{B as e,Ht as t,L as n,Tn as r,ft as i,g as a,k as o,tt as s,vn as c}from"./DZo3dYLJ.js";import{s as l}from"./FCuSfyjP.js";import{i as u,n as d}from"./CZc2Mypg.js";import{r as f}from"./CK9_veoz.js";function p(e,t){let n=c(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function m(e,n){let r=c({}),o=c(`none`),u=c(e),f=e.value?`mounted`:`unmounted`,m,g=n.value?.ownerDocument.defaultView??d,{state:_,dispatch:v}=p(f,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),y=e=>{if(l){let t=new CustomEvent(e,{bubbles:!1,cancelable:!1});n.value?.dispatchEvent(t)}};t(e,async(e,t)=>{let i=t!==e;if(await s(),i){let i=o.value,a=h(n.value);e?(v(`MOUNT`),y(`enter`),a===`none`&&y(`after-enter`)):a===`none`||a===`undefined`||r.value?.display===`none`?(v(`UNMOUNT`),y(`leave`),y(`after-leave`)):t&&i!==a?(v(`ANIMATION_OUT`),y(`leave`)):(v(`UNMOUNT`),y(`after-leave`))}},{immediate:!0});let b=e=>{if(e.target!==n.value)return;let t=h(n.value),r=t.includes(CSS.escape(e.animationName)),i=_.value===`mounted`?`enter`:`leave`;if(r&&(y(`after-${i}`),v(`ANIMATION_END`),!u.value)){let e=n.value.style.animationFillMode;n.value.style.animationFillMode=`forwards`,m=g?.setTimeout(()=>{n.value?.style.animationFillMode===`forwards`&&(n.value.style.animationFillMode=e)})}t===`none`&&v(`ANIMATION_END`)},x=e=>{e.target===n.value&&(o.value=h(n.value))},S=t(n,(e,t)=>{e?(r.value=getComputedStyle(e),e.addEventListener(`animationstart`,x),e.addEventListener(`animationcancel`,b),e.addEventListener(`animationend`,b)):(v(`ANIMATION_END`),m!==void 0&&g?.clearTimeout(m),t?.removeEventListener(`animationstart`,x),t?.removeEventListener(`animationcancel`,b),t?.removeEventListener(`animationend`,b))},{immediate:!0}),C=t(_,()=>{let e=h(n.value);o.value=_.value===`mounted`?e:`none`});return i(()=>{S(),C(),n.value&&(n.value.removeEventListener(`animationstart`,x),n.value.removeEventListener(`animationcancel`,b),n.value.removeEventListener(`animationend`,b)),m!==void 0&&g?.clearTimeout(m)}),{isPresent:a(()=>[`mounted`,`unmountSuspended`].includes(_.value))}}function h(e){return e&&getComputedStyle(e).animationName||`none`}var g=o({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:i,expose:a}){let{present:o,forceMount:s}=r(t),l=c(),{isPresent:d}=m(o,l);a({present:d});let p=i.default({present:d.value});p=f(p||[]);let h=n();if(p&&p?.length>1){let e=h?.parent?.type.name?`<${h.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
1
+ import{B as e,Ht as t,L as n,Tn as r,ft as i,g as a,k as o,tt as s,vn as c}from"./DZo3dYLJ.js";import{s as l}from"./CuJUHLl8.js";import{i as u,n as d}from"./Vo4wMbnS.js";import{r as f}from"./CK9_veoz.js";function p(e,t){let n=c(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function m(e,n){let r=c({}),o=c(`none`),u=c(e),f=e.value?`mounted`:`unmounted`,m,g=n.value?.ownerDocument.defaultView??d,{state:_,dispatch:v}=p(f,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),y=e=>{if(l){let t=new CustomEvent(e,{bubbles:!1,cancelable:!1});n.value?.dispatchEvent(t)}};t(e,async(e,t)=>{let i=t!==e;if(await s(),i){let i=o.value,a=h(n.value);e?(v(`MOUNT`),y(`enter`),a===`none`&&y(`after-enter`)):a===`none`||a===`undefined`||r.value?.display===`none`?(v(`UNMOUNT`),y(`leave`),y(`after-leave`)):t&&i!==a?(v(`ANIMATION_OUT`),y(`leave`)):(v(`UNMOUNT`),y(`after-leave`))}},{immediate:!0});let b=e=>{if(e.target!==n.value)return;let t=h(n.value),r=t.includes(CSS.escape(e.animationName)),i=_.value===`mounted`?`enter`:`leave`;if(r&&(y(`after-${i}`),v(`ANIMATION_END`),!u.value)){let e=n.value.style.animationFillMode;n.value.style.animationFillMode=`forwards`,m=g?.setTimeout(()=>{n.value?.style.animationFillMode===`forwards`&&(n.value.style.animationFillMode=e)})}t===`none`&&v(`ANIMATION_END`)},x=e=>{e.target===n.value&&(o.value=h(n.value))},S=t(n,(e,t)=>{e?(r.value=getComputedStyle(e),e.addEventListener(`animationstart`,x),e.addEventListener(`animationcancel`,b),e.addEventListener(`animationend`,b)):(v(`ANIMATION_END`),m!==void 0&&g?.clearTimeout(m),t?.removeEventListener(`animationstart`,x),t?.removeEventListener(`animationcancel`,b),t?.removeEventListener(`animationend`,b))},{immediate:!0}),C=t(_,()=>{let e=h(n.value);o.value=_.value===`mounted`?e:`none`});return i(()=>{S(),C(),n.value&&(n.value.removeEventListener(`animationstart`,x),n.value.removeEventListener(`animationcancel`,b),n.value.removeEventListener(`animationend`,b)),m!==void 0&&g?.clearTimeout(m)}),{isPresent:a(()=>[`mounted`,`unmountSuspended`].includes(_.value))}}function h(e){return e&&getComputedStyle(e).animationName||`none`}var g=o({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:i,expose:a}){let{present:o,forceMount:s}=r(t),l=c(),{isPresent:d}=m(o,l);a({present:d});let p=i.default({present:d.value});p=f(p||[]);let h=n();if(p&&p?.length>1){let e=h?.parent?.type.name?`<${h.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
2
2
  `)].join(`
3
3
  `))}return()=>s.value||o.value||d.value?e(i.default({present:d.value})[0],{ref:e=>{let t=u(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=t.firstElementChild:l.value=t),t}}):null}});export{g as t};
@@ -1 +1 @@
1
- import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./oXSDGTSr.js";import{t as a}from"./CQTvWh4i.js";import o from"./DcWIG384.js";var s={__name:`ProseTip`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`success`,icon:e(c).ui.icons.tip},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
1
+ import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./oXSDGTSr.js";import{t as a}from"./CQTvWh4i.js";import o from"./DsNkyZPc.js";var s={__name:`ProseTip`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`success`,icon:e(c).ui.icons.tip},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
@@ -1 +1 @@
1
- import{D as e,E as t,On as n,Zn as r,_ as i,b as a,bt as o,er as s,g as c,k as l,mt as u,o as d,qt as f,tr as p,v as m,y as h}from"./DZo3dYLJ.js";import{t as ee}from"./BJW3UkS7.js";import{t as te}from"./DwNOEVN_.js";import{a as g,i as _,t as ne}from"#entry";var re={class:`card hero`},ie={class:`chips`},ae={class:`tag tag-ghost`},oe=[`title`],se=[`title`],ce={class:`tag tag-neutral`},le={key:3,class:`tag tag-primary mono`},ue=[`title`],de={class:`story-title`},fe={class:`narrative`},pe={class:`facts`},me={class:`fact`},he={class:`fact`},v={class:`fact`},y={class:`fact`},b={class:`fact`},x={class:`mono`},S={class:`fact`},C={class:`mono`},w={class:`dim`},T={class:`fact`},E={class:`mono`},D={key:0,class:`fact`},O={class:`hero-foot`},k={class:`dim`},A={class:`bar`},j={class:`cols`},M={key:0,class:`card block`},N={class:`card-hd`},P={class:`h2`},F={class:`card-bd bug`},I={class:`steps`},L={key:1,class:`card block`},R={class:`card-hd`},ge={class:`h2`},_e={class:`card-bd`},ve={key:0,class:`callout`},ye={key:1,class:`dep-row`},be={key:2,class:`dep-row`},xe={class:`card block`},Se={class:`card-hd`},Ce={class:`h2`},we={class:`tag tag-neutral`},Te={class:`card-bd`},Ee={key:0,class:`ac`},De={class:`ac-row`},Oe={class:`ac-row`},ke={class:`ac-row`},Ae={key:0,class:`ac-row verify`},je={key:1,class:`dim`},Me={class:`card-hd task-hd`},Ne={class:`tag tag-ghost`},Pe={class:`tag tag-neutral`},Fe={class:`task-title`},Ie={class:`dim entries-ct`},Le={key:0,class:`files mono dim`},Re={class:`card-bd`},ze={key:0,class:`entries`},Be={class:`entry-hd`},Ve={class:`date mono dim`},He={class:`tag tag-neutral mono result`},Ue={class:`note`},We={key:0,class:`cmd mono`},Ge={key:1,class:`efiles dim mono`},Ke={key:1,class:`dim`},qe={class:`pager`},Je={class:`pg-k`},Ye={class:`pg-t`},Xe={key:1,class:`pg-empty`},Ze={class:`pg-k`},Qe={class:`pg-t`},$e={key:1,class:`callout warn`},z=_(l({__name:`[id]`,setup(l){let _=ne(),{storyById:z,stories:B,epicById:et,sprintById:tt,journalByTask:nt,actualRange:V,progress:H,milestoneOfStory:rt,STATE_LABEL:it,STATE_COLOR:at,TASK_LABEL:ot,TASK_COLOR:st,KIND_LABEL:ct,MS_LABEL:lt,md:U,diffDays:ut,wsjf:W,dependentsOf:G,TYPE_LABEL:dt,TYPE_COLOR:ft,TYPE_ICON:pt,PRIORITY_COLOR:mt,SEVERITY_LABEL:K,SEVERITY_COLOR:q,SCOPE_LABEL:J}=g(),Y=c(()=>z.value.get(String(_.value?.params?.id))),X=c(()=>B.value.findIndex(e=>e.id===Y.value?.id)),Z=c(()=>X.value>0?B.value[X.value-1]:null),Q=c(()=>X.value>=0&&X.value<B.value.length-1?B.value[X.value+1]:null),$=e=>nt.value.get(e)?.entries??[],ht={red:`RED 失败测试`,green:`GREEN 让测试通过`,refactor:`REFACTOR 重构`},gt={red:`tag-error`,green:`tag-success`,refactor:`tag-primary`};return(c,l)=>{let g=te,_=ee;return u(),a(`div`,null,[n(Y)?(u(),a(d,{key:0},[e(_,{to:`/`,class:`btn btn-quiet btn-sm back`},{default:f(()=>[e(g,{name:`i-lucide-arrow-left`,class:`size-3.5`}),l[0]||=t(`返回看板 `,-1)]),_:1}),i(`article`,re,[i(`div`,ie,[i(`span`,ae,p(n(Y).id),1),i(`span`,{class:r([`tag`,`tag-${n(at)[n(Y).status]}`])},p(n(it)[n(Y).status]??n(Y).status),3),i(`span`,{class:r([`tag`,`tag-${n(ft)[n(Y).type]}`])},[e(g,{name:n(pt)[n(Y).type],class:`size-3`},null,8,[`name`]),t(p(n(dt)[n(Y).type]),1)],2),i(`span`,{class:r([`tag`,`tag-${n(mt)[n(Y).priority]}`])},p(n(Y).priority),3),n(Y).bug?(u(),a(`span`,{key:0,class:r([`tag`,`tag-${n(q)[n(Y).bug.severity]}`])},[e(g,{name:`i-lucide-bug`,class:`size-3`}),t(p(n(K)[n(Y).bug.severity]),1)],2)):h(``,!0),n(Y).blocked?(u(),a(`span`,{key:1,class:`tag tag-error tag-dot`,title:n(Y).blocked.reason},`阻塞`,8,oe)):h(``,!0),n(Y).scopeChange?(u(),a(`span`,{key:2,class:`tag tag-info`,title:`${n(J)[n(Y).scopeChange.kind]}(${n(Y).scopeChange.at}):${n(Y).scopeChange.reason}`},p(n(J)[n(Y).scopeChange.kind])+` · `+p(n(Y).scopeChange.at),9,se)):h(``,!0),i(`span`,ce,[e(g,{name:`i-lucide-layers`,class:`size-3`}),t(p(n(Y).epicId)+` `+p(n(et).get(n(Y).epicId)?.title),1)]),n(Y).sprintId?(u(),a(`span`,le,[e(g,{name:`i-lucide-calendar-range`,class:`size-3`}),t(p(n(Y).sprintId),1)])):h(``,!0),(u(!0),a(d,null,o(n(rt)(n(Y).id),e=>(u(),a(`span`,{key:e.id,class:r([`tag`,e.kind===`mvp`?`tag-mint`:`tag-neutral`]),title:`${e.id} · ${e.criteria}`},p(n(ct)[e.kind])+` `+p(e.id)+` · `+p(n(lt)[e.status]),11,ue))),128))]),i(`h1`,de,p(n(Y).title),1),i(`p`,fe,p(n(Y).narrative),1),i(`div`,pe,[i(`div`,me,[l[1]||=i(`span`,{class:`k`},`点数`,-1),i(`b`,null,p(n(Y).points),1)]),i(`div`,he,[l[2]||=i(`span`,{class:`k`},`价值`,-1),i(`b`,null,p(n(Y).value),1)]),i(`div`,v,[l[3]||=i(`span`,{class:`k`},`WSJF`,-1),i(`b`,null,p(n(W)(n(Y))),1)]),i(`div`,y,[l[4]||=i(`span`,{class:`k`},`任务`,-1),i(`b`,null,p(n(H)(n(Y)).done)+`/`+p(n(H)(n(Y)).total),1)]),i(`div`,b,[l[5]||=i(`span`,{class:`k`},`计划`,-1),i(`b`,x,p(n(Y).schedule?`${n(U)(n(Y).schedule.start)} ~ ${n(U)(n(Y).schedule.end)}`:`未排期`),1)]),i(`div`,S,[l[6]||=i(`span`,{class:`k`},`实际`,-1),i(`b`,C,[n(V)(n(Y))?(u(),a(d,{key:0},[t(p(n(U)(n(V)(n(Y)).start))+` ~ `+p(n(U)(n(V)(n(Y)).end))+` `,1),i(`small`,w,`(`+p(n(ut)(n(V)(n(Y)).start,n(V)(n(Y)).end)+1)+` 天)`,1)],64)):(u(),a(d,{key:1},[t(`—`)],64))])]),i(`div`,T,[l[7]||=i(`span`,{class:`k`},`创建`,-1),i(`b`,E,p(n(Y).created),1)]),n(Y).sprintId?(u(),a(`div`,D,[l[8]||=i(`span`,{class:`k`},`所属迭代`,-1),i(`b`,null,p(n(tt).get(n(Y).sprintId)?.name),1)])):h(``,!0)]),i(`div`,O,[i(`span`,k,`任务完成度 `+p(n(H)(n(Y)).pct)+`%`,1),i(`div`,A,[i(`i`,{style:s({width:n(H)(n(Y)).pct+`%`})},null,4)])])]),i(`div`,j,[n(Y).bug?(u(),a(`article`,M,[i(`div`,N,[i(`h2`,P,[e(g,{name:`i-lucide-bug`,class:`size-3.5`}),l[9]||=t(`缺陷详情`,-1)]),i(`span`,{class:r([`tag`,`tag-${n(q)[n(Y).bug.severity]}`])},p(n(K)[n(Y).bug.severity]),3)]),i(`div`,F,[i(`div`,null,[l[10]||=i(`span`,{class:`lbl`},`影响环境`,-1),i(`p`,null,p(n(Y).bug.environment),1)]),i(`div`,null,[l[11]||=i(`span`,{class:`lbl`},`复现步骤`,-1),i(`p`,I,p(n(Y).bug.steps),1)])])])):h(``,!0),n(Y).blocked||n(Y).dependsOn?.length||n(G)(n(Y).id).length?(u(),a(`article`,L,[i(`div`,R,[i(`h2`,ge,[e(g,{name:`i-lucide-git-branch`,class:`size-3.5`}),l[12]||=t(`依赖与阻塞`,-1)])]),i(`div`,_e,[n(Y).blocked?(u(),a(`div`,ve,[e(g,{name:`i-lucide-octagon-alert`,class:`size-4`}),i(`div`,null,[l[13]||=i(`b`,null,`当前被阻塞`,-1),i(`p`,null,p(n(Y).blocked.reason)+`(自 `+p(n(Y).blocked.since)+` 起)`,1)])])):h(``,!0),n(Y).dependsOn?.length?(u(),a(`div`,ye,[l[14]||=i(`span`,{class:`lbl`},`依赖`,-1),(u(!0),a(d,null,o(n(Y).dependsOn,r=>(u(),m(_,{key:r,to:`/story/${r}`,class:`dep`},{default:f(()=>[e(g,{name:`i-lucide-arrow-left`,class:`size-3`}),t(p(r)+` `+p(n(z).get(r)?.title??``),1)]),_:2},1032,[`to`]))),128))])):h(``,!0),n(G)(n(Y).id).length?(u(),a(`div`,be,[l[15]||=i(`span`,{class:`lbl`},`被依赖`,-1),(u(!0),a(d,null,o(n(G)(n(Y).id),n=>(u(),m(_,{key:n.id,to:`/story/${n.id}`,class:`dep ghost`},{default:f(()=>[t(p(n.id)+` `+p(n.title),1),e(g,{name:`i-lucide-arrow-right`,class:`size-3`})]),_:2},1032,[`to`]))),128))])):h(``,!0)])])):h(``,!0)]),i(`article`,xe,[i(`div`,Se,[i(`h2`,Ce,[e(g,{name:`i-lucide-list-checks`,class:`size-3.5`}),l[16]||=t(`验收标准`,-1)]),i(`span`,we,p(n(Y).acceptance?.length??0)+` 条`,1)]),i(`div`,Te,[n(Y).acceptance?.length?(u(),a(`ol`,Ee,[(u(!0),a(d,null,o(n(Y).acceptance,(e,t)=>(u(),a(`li`,{key:t},[i(`div`,De,[l[17]||=i(`span`,{class:`tag tag-neutral gw`},`Given`,-1),i(`span`,null,p(e.given),1)]),i(`div`,Oe,[l[18]||=i(`span`,{class:`tag tag-info gw`},`When`,-1),i(`span`,null,p(e.when),1)]),i(`div`,ke,[l[19]||=i(`span`,{class:`tag tag-success gw`},`Then`,-1),i(`span`,null,p(e.then),1)]),e.verifyBy?.length?(u(),a(`div`,Ae,[l[20]||=i(`span`,{class:`dim`},`由谁验证`,-1),(u(!0),a(d,null,o(e.verifyBy,e=>(u(),a(`span`,{key:e,class:`tag tag-ghost`},p(e),1))),128))])):h(``,!0)]))),128))])):(u(),a(`p`,je,`还没有验收标准(草稿阶段允许为空,进迭代前必须补)。`))])]),(u(!0),a(d,null,o(n(Y).tasks,s=>(u(),a(`article`,{key:s.id,class:`card block`},[i(`div`,Me,[i(`span`,Ne,p(s.id),1),i(`span`,Pe,p(s.type),1),i(`span`,{class:r([`tag`,`tag-${n(st)[s.status]}`])},p(n(ot)[s.status]),3),i(`b`,Fe,p(s.title),1),i(`span`,Ie,p($(s.id).length)+` 条记录`,1)]),s.files?.length?(u(),a(`p`,Le,p(s.files.join(` · `)),1)):h(``,!0),i(`div`,Re,[$(s.id).length?(u(),a(`div`,ze,[(u(!0),a(d,null,o($(s.id),(o,s)=>(u(),a(`div`,{key:s,class:r([`entry`,o.phase])},[i(`div`,Be,[i(`span`,{class:r([`tag`,gt[o.phase]])},p(ht[o.phase]),3),i(`span`,Ve,p(n(U)(o.date)),1),i(`span`,He,p(o.result),1)]),i(`p`,Ue,p(o.note),1),o.testCommand?(u(),a(`p`,We,[e(g,{name:`i-lucide-terminal`,class:`size-3`}),t(p(o.testCommand),1)])):h(``,!0),o.files?.length?(u(),a(`p`,Ge,p(o.files.join(`, `)),1)):h(``,!0)],2))),128))])):(u(),a(`p`,Ke,`还没有实施记录(未开工)。`))])]))),128)),i(`div`,qe,[n(Z)?(u(),m(_,{key:0,to:`/story/${n(Z).id}`,class:`pg`},{default:f(()=>[i(`span`,Je,[e(g,{name:`i-lucide-arrow-left`,class:`size-3.5`}),l[21]||=t(`上一个`,-1)]),i(`span`,Ye,p(n(Z).id)+` `+p(n(Z).title),1)]),_:1},8,[`to`])):(u(),a(`span`,Xe)),n(Q)?(u(),m(_,{key:2,to:`/story/${n(Q).id}`,class:`pg right`},{default:f(()=>[i(`span`,Ze,[l[22]||=t(`下一个`,-1),e(g,{name:`i-lucide-arrow-right`,class:`size-3.5`})]),i(`span`,Qe,p(n(Q).id)+` `+p(n(Q).title),1)]),_:1},8,[`to`])):h(``,!0)])],64)):(u(),a(`div`,$e,[e(g,{name:`i-lucide-search-x`,class:`size-4`}),l[23]||=t(`没找到这个故事,可能 id 写错了。 `,-1)]))])}}}),[[`__scopeId`,`data-v-6e27d061`]]);export{z as default};
1
+ import{D as e,E as t,On as n,Zn as r,_ as i,b as a,bt as o,er as s,g as c,k as l,mt as u,o as d,qt as f,tr as p,v as m,y as h}from"./DZo3dYLJ.js";import{t as ee}from"./BJW3UkS7.js";import{t as te}from"./CjRYYbsC.js";import{a as g,i as _,t as ne}from"#entry";var re={class:`card hero`},ie={class:`chips`},ae={class:`tag tag-ghost`},oe=[`title`],se=[`title`],ce={class:`tag tag-neutral`},le={key:3,class:`tag tag-primary mono`},ue=[`title`],de={class:`story-title`},fe={class:`narrative`},pe={class:`facts`},me={class:`fact`},he={class:`fact`},v={class:`fact`},y={class:`fact`},b={class:`fact`},x={class:`mono`},S={class:`fact`},C={class:`mono`},w={class:`dim`},T={class:`fact`},E={class:`mono`},D={key:0,class:`fact`},O={class:`hero-foot`},k={class:`dim`},A={class:`bar`},j={class:`cols`},M={key:0,class:`card block`},N={class:`card-hd`},P={class:`h2`},F={class:`card-bd bug`},I={class:`steps`},L={key:1,class:`card block`},R={class:`card-hd`},ge={class:`h2`},_e={class:`card-bd`},ve={key:0,class:`callout`},ye={key:1,class:`dep-row`},be={key:2,class:`dep-row`},xe={class:`card block`},Se={class:`card-hd`},Ce={class:`h2`},we={class:`tag tag-neutral`},Te={class:`card-bd`},Ee={key:0,class:`ac`},De={class:`ac-row`},Oe={class:`ac-row`},ke={class:`ac-row`},Ae={key:0,class:`ac-row verify`},je={key:1,class:`dim`},Me={class:`card-hd task-hd`},Ne={class:`tag tag-ghost`},Pe={class:`tag tag-neutral`},Fe={class:`task-title`},Ie={class:`dim entries-ct`},Le={key:0,class:`files mono dim`},Re={class:`card-bd`},ze={key:0,class:`entries`},Be={class:`entry-hd`},Ve={class:`date mono dim`},He={class:`tag tag-neutral mono result`},Ue={class:`note`},We={key:0,class:`cmd mono`},Ge={key:1,class:`efiles dim mono`},Ke={key:1,class:`dim`},qe={class:`pager`},Je={class:`pg-k`},Ye={class:`pg-t`},Xe={key:1,class:`pg-empty`},Ze={class:`pg-k`},Qe={class:`pg-t`},$e={key:1,class:`callout warn`},z=_(l({__name:`[id]`,setup(l){let _=ne(),{storyById:z,stories:B,epicById:et,sprintById:tt,journalByTask:nt,actualRange:V,progress:H,milestoneOfStory:rt,STATE_LABEL:it,STATE_COLOR:at,TASK_LABEL:ot,TASK_COLOR:st,KIND_LABEL:ct,MS_LABEL:lt,md:U,diffDays:ut,wsjf:W,dependentsOf:G,TYPE_LABEL:dt,TYPE_COLOR:ft,TYPE_ICON:pt,PRIORITY_COLOR:mt,SEVERITY_LABEL:K,SEVERITY_COLOR:q,SCOPE_LABEL:J}=g(),Y=c(()=>z.value.get(String(_.value?.params?.id))),X=c(()=>B.value.findIndex(e=>e.id===Y.value?.id)),Z=c(()=>X.value>0?B.value[X.value-1]:null),Q=c(()=>X.value>=0&&X.value<B.value.length-1?B.value[X.value+1]:null),$=e=>nt.value.get(e)?.entries??[],ht={red:`RED 失败测试`,green:`GREEN 让测试通过`,refactor:`REFACTOR 重构`},gt={red:`tag-error`,green:`tag-success`,refactor:`tag-primary`};return(c,l)=>{let g=te,_=ee;return u(),a(`div`,null,[n(Y)?(u(),a(d,{key:0},[e(_,{to:`/`,class:`btn btn-quiet btn-sm back`},{default:f(()=>[e(g,{name:`i-lucide-arrow-left`,class:`size-3.5`}),l[0]||=t(`返回看板 `,-1)]),_:1}),i(`article`,re,[i(`div`,ie,[i(`span`,ae,p(n(Y).id),1),i(`span`,{class:r([`tag`,`tag-${n(at)[n(Y).status]}`])},p(n(it)[n(Y).status]??n(Y).status),3),i(`span`,{class:r([`tag`,`tag-${n(ft)[n(Y).type]}`])},[e(g,{name:n(pt)[n(Y).type],class:`size-3`},null,8,[`name`]),t(p(n(dt)[n(Y).type]),1)],2),i(`span`,{class:r([`tag`,`tag-${n(mt)[n(Y).priority]}`])},p(n(Y).priority),3),n(Y).bug?(u(),a(`span`,{key:0,class:r([`tag`,`tag-${n(q)[n(Y).bug.severity]}`])},[e(g,{name:`i-lucide-bug`,class:`size-3`}),t(p(n(K)[n(Y).bug.severity]),1)],2)):h(``,!0),n(Y).blocked?(u(),a(`span`,{key:1,class:`tag tag-error tag-dot`,title:n(Y).blocked.reason},`阻塞`,8,oe)):h(``,!0),n(Y).scopeChange?(u(),a(`span`,{key:2,class:`tag tag-info`,title:`${n(J)[n(Y).scopeChange.kind]}(${n(Y).scopeChange.at}):${n(Y).scopeChange.reason}`},p(n(J)[n(Y).scopeChange.kind])+` · `+p(n(Y).scopeChange.at),9,se)):h(``,!0),i(`span`,ce,[e(g,{name:`i-lucide-layers`,class:`size-3`}),t(p(n(Y).epicId)+` `+p(n(et).get(n(Y).epicId)?.title),1)]),n(Y).sprintId?(u(),a(`span`,le,[e(g,{name:`i-lucide-calendar-range`,class:`size-3`}),t(p(n(Y).sprintId),1)])):h(``,!0),(u(!0),a(d,null,o(n(rt)(n(Y).id),e=>(u(),a(`span`,{key:e.id,class:r([`tag`,e.kind===`mvp`?`tag-mint`:`tag-neutral`]),title:`${e.id} · ${e.criteria}`},p(n(ct)[e.kind])+` `+p(e.id)+` · `+p(n(lt)[e.status]),11,ue))),128))]),i(`h1`,de,p(n(Y).title),1),i(`p`,fe,p(n(Y).narrative),1),i(`div`,pe,[i(`div`,me,[l[1]||=i(`span`,{class:`k`},`点数`,-1),i(`b`,null,p(n(Y).points),1)]),i(`div`,he,[l[2]||=i(`span`,{class:`k`},`价值`,-1),i(`b`,null,p(n(Y).value),1)]),i(`div`,v,[l[3]||=i(`span`,{class:`k`},`WSJF`,-1),i(`b`,null,p(n(W)(n(Y))),1)]),i(`div`,y,[l[4]||=i(`span`,{class:`k`},`任务`,-1),i(`b`,null,p(n(H)(n(Y)).done)+`/`+p(n(H)(n(Y)).total),1)]),i(`div`,b,[l[5]||=i(`span`,{class:`k`},`计划`,-1),i(`b`,x,p(n(Y).schedule?`${n(U)(n(Y).schedule.start)} ~ ${n(U)(n(Y).schedule.end)}`:`未排期`),1)]),i(`div`,S,[l[6]||=i(`span`,{class:`k`},`实际`,-1),i(`b`,C,[n(V)(n(Y))?(u(),a(d,{key:0},[t(p(n(U)(n(V)(n(Y)).start))+` ~ `+p(n(U)(n(V)(n(Y)).end))+` `,1),i(`small`,w,`(`+p(n(ut)(n(V)(n(Y)).start,n(V)(n(Y)).end)+1)+` 天)`,1)],64)):(u(),a(d,{key:1},[t(`—`)],64))])]),i(`div`,T,[l[7]||=i(`span`,{class:`k`},`创建`,-1),i(`b`,E,p(n(Y).created),1)]),n(Y).sprintId?(u(),a(`div`,D,[l[8]||=i(`span`,{class:`k`},`所属迭代`,-1),i(`b`,null,p(n(tt).get(n(Y).sprintId)?.name),1)])):h(``,!0)]),i(`div`,O,[i(`span`,k,`任务完成度 `+p(n(H)(n(Y)).pct)+`%`,1),i(`div`,A,[i(`i`,{style:s({width:n(H)(n(Y)).pct+`%`})},null,4)])])]),i(`div`,j,[n(Y).bug?(u(),a(`article`,M,[i(`div`,N,[i(`h2`,P,[e(g,{name:`i-lucide-bug`,class:`size-3.5`}),l[9]||=t(`缺陷详情`,-1)]),i(`span`,{class:r([`tag`,`tag-${n(q)[n(Y).bug.severity]}`])},p(n(K)[n(Y).bug.severity]),3)]),i(`div`,F,[i(`div`,null,[l[10]||=i(`span`,{class:`lbl`},`影响环境`,-1),i(`p`,null,p(n(Y).bug.environment),1)]),i(`div`,null,[l[11]||=i(`span`,{class:`lbl`},`复现步骤`,-1),i(`p`,I,p(n(Y).bug.steps),1)])])])):h(``,!0),n(Y).blocked||n(Y).dependsOn?.length||n(G)(n(Y).id).length?(u(),a(`article`,L,[i(`div`,R,[i(`h2`,ge,[e(g,{name:`i-lucide-git-branch`,class:`size-3.5`}),l[12]||=t(`依赖与阻塞`,-1)])]),i(`div`,_e,[n(Y).blocked?(u(),a(`div`,ve,[e(g,{name:`i-lucide-octagon-alert`,class:`size-4`}),i(`div`,null,[l[13]||=i(`b`,null,`当前被阻塞`,-1),i(`p`,null,p(n(Y).blocked.reason)+`(自 `+p(n(Y).blocked.since)+` 起)`,1)])])):h(``,!0),n(Y).dependsOn?.length?(u(),a(`div`,ye,[l[14]||=i(`span`,{class:`lbl`},`依赖`,-1),(u(!0),a(d,null,o(n(Y).dependsOn,r=>(u(),m(_,{key:r,to:`/story/${r}`,class:`dep`},{default:f(()=>[e(g,{name:`i-lucide-arrow-left`,class:`size-3`}),t(p(r)+` `+p(n(z).get(r)?.title??``),1)]),_:2},1032,[`to`]))),128))])):h(``,!0),n(G)(n(Y).id).length?(u(),a(`div`,be,[l[15]||=i(`span`,{class:`lbl`},`被依赖`,-1),(u(!0),a(d,null,o(n(G)(n(Y).id),n=>(u(),m(_,{key:n.id,to:`/story/${n.id}`,class:`dep ghost`},{default:f(()=>[t(p(n.id)+` `+p(n.title),1),e(g,{name:`i-lucide-arrow-right`,class:`size-3`})]),_:2},1032,[`to`]))),128))])):h(``,!0)])])):h(``,!0)]),i(`article`,xe,[i(`div`,Se,[i(`h2`,Ce,[e(g,{name:`i-lucide-list-checks`,class:`size-3.5`}),l[16]||=t(`验收标准`,-1)]),i(`span`,we,p(n(Y).acceptance?.length??0)+` 条`,1)]),i(`div`,Te,[n(Y).acceptance?.length?(u(),a(`ol`,Ee,[(u(!0),a(d,null,o(n(Y).acceptance,(e,t)=>(u(),a(`li`,{key:t},[i(`div`,De,[l[17]||=i(`span`,{class:`tag tag-neutral gw`},`Given`,-1),i(`span`,null,p(e.given),1)]),i(`div`,Oe,[l[18]||=i(`span`,{class:`tag tag-info gw`},`When`,-1),i(`span`,null,p(e.when),1)]),i(`div`,ke,[l[19]||=i(`span`,{class:`tag tag-success gw`},`Then`,-1),i(`span`,null,p(e.then),1)]),e.verifyBy?.length?(u(),a(`div`,Ae,[l[20]||=i(`span`,{class:`dim`},`由谁验证`,-1),(u(!0),a(d,null,o(e.verifyBy,e=>(u(),a(`span`,{key:e,class:`tag tag-ghost`},p(e),1))),128))])):h(``,!0)]))),128))])):(u(),a(`p`,je,`还没有验收标准(草稿阶段允许为空,进迭代前必须补)。`))])]),(u(!0),a(d,null,o(n(Y).tasks,s=>(u(),a(`article`,{key:s.id,class:`card block`},[i(`div`,Me,[i(`span`,Ne,p(s.id),1),i(`span`,Pe,p(s.type),1),i(`span`,{class:r([`tag`,`tag-${n(st)[s.status]}`])},p(n(ot)[s.status]),3),i(`b`,Fe,p(s.title),1),i(`span`,Ie,p($(s.id).length)+` 条记录`,1)]),s.files?.length?(u(),a(`p`,Le,p(s.files.join(` · `)),1)):h(``,!0),i(`div`,Re,[$(s.id).length?(u(),a(`div`,ze,[(u(!0),a(d,null,o($(s.id),(o,s)=>(u(),a(`div`,{key:s,class:r([`entry`,o.phase])},[i(`div`,Be,[i(`span`,{class:r([`tag`,gt[o.phase]])},p(ht[o.phase]),3),i(`span`,Ve,p(n(U)(o.date)),1),i(`span`,He,p(o.result),1)]),i(`p`,Ue,p(o.note),1),o.testCommand?(u(),a(`p`,We,[e(g,{name:`i-lucide-terminal`,class:`size-3`}),t(p(o.testCommand),1)])):h(``,!0),o.files?.length?(u(),a(`p`,Ge,p(o.files.join(`, `)),1)):h(``,!0)],2))),128))])):(u(),a(`p`,Ke,`还没有实施记录(未开工)。`))])]))),128)),i(`div`,qe,[n(Z)?(u(),m(_,{key:0,to:`/story/${n(Z).id}`,class:`pg`},{default:f(()=>[i(`span`,Je,[e(g,{name:`i-lucide-arrow-left`,class:`size-3.5`}),l[21]||=t(`上一个`,-1)]),i(`span`,Ye,p(n(Z).id)+` `+p(n(Z).title),1)]),_:1},8,[`to`])):(u(),a(`span`,Xe)),n(Q)?(u(),m(_,{key:2,to:`/story/${n(Q).id}`,class:`pg right`},{default:f(()=>[i(`span`,Ze,[l[22]||=t(`下一个`,-1),e(g,{name:`i-lucide-arrow-right`,class:`size-3.5`})]),i(`span`,Qe,p(n(Q).id)+` `+p(n(Q).title),1)]),_:1},8,[`to`])):h(``,!0)])],64)):(u(),a(`div`,$e,[e(g,{name:`i-lucide-search-x`,class:`size-4`}),l[23]||=t(`没找到这个故事,可能 id 写错了。 `,-1)]))])}}}),[[`__scopeId`,`data-v-6e27d061`]]);export{z as default};