vibedoc 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +9 -0
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +42 -14
- package/.next/routes-manifest.json +54 -0
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/board/page.js.nft.json +1 -1
- package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/chat/page.js.nft.json +1 -1
- package/.next/server/app/(app)/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
- package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/manual-tests/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(app)/manual-tests/page/build-manifest.json +20 -0
- package/.next/server/app/(app)/manual-tests/page/next-font-manifest.json +11 -0
- package/.next/server/app/(app)/manual-tests/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(app)/manual-tests/page/server-reference-manifest.json +4 -0
- package/.next/server/app/(app)/manual-tests/page.js +15 -0
- package/.next/server/app/(app)/manual-tests/page.js.map +5 -0
- package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -0
- package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
- package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
- package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
- package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +3 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/activity.html +1 -1
- package/.next/server/app/activity.rsc +20 -18
- package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +7 -6
- package/.next/server/app/activity.segments/_full.segment.rsc +20 -18
- package/.next/server/app/activity.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/api/activity/route.js +2 -2
- package/.next/server/app/api/activity/route.js.nft.json +1 -1
- package/.next/server/app/api/backlinks/route.js +2 -2
- package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
- package/.next/server/app/api/chat/route.js +1 -1
- package/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/context/route.js +2 -2
- package/.next/server/app/api/context/route.js.nft.json +1 -1
- package/.next/server/app/api/conversations/route.js +2 -2
- package/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/.next/server/app/api/decisions/route.js +2 -2
- package/.next/server/app/api/decisions/route.js.nft.json +1 -1
- package/.next/server/app/api/docs/route.js +1 -1
- package/.next/server/app/api/docs/route.js.nft.json +1 -1
- package/.next/server/app/api/explorer/route.js +2 -2
- package/.next/server/app/api/explorer/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +1 -1
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +2 -2
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/plan/apply/route.js +3 -3
- package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route.js +2 -2
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/route.js +2 -2
- package/.next/server/app/api/registry/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/create/route.js +3 -3
- package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/delete/route.js +3 -3
- package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/generate/route.js +3 -3
- package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/layout/route.js +3 -3
- package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/restore/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/roadmap/restore/route/build-manifest.json +12 -0
- package/.next/server/app/api/roadmap/restore/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/roadmap/restore/route.js +9 -0
- package/.next/server/app/api/roadmap/restore/route.js.map +5 -0
- package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -0
- package/.next/server/app/api/roadmap/restore/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/roadmap/route.js +3 -3
- package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/update/route.js +3 -3
- package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +2 -2
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +3 -3
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/generate/route.js +1 -1
- package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/write/route.js +2 -2
- package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
- package/.next/server/app/api/summary/route.js +2 -2
- package/.next/server/app/api/summary/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/bulk/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tasks/bulk/route/build-manifest.json +12 -0
- package/.next/server/app/api/tasks/bulk/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tasks/bulk/route.js +9 -0
- package/.next/server/app/api/tasks/bulk/route.js.map +5 -0
- package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/bulk/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tasks/create/route.js +2 -2
- package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/delete/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tasks/delete/route/build-manifest.json +12 -0
- package/.next/server/app/api/tasks/delete/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tasks/delete/route.js +9 -0
- package/.next/server/app/api/tasks/delete/route.js.map +5 -0
- package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/delete/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tasks/manual-tests/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tasks/manual-tests/route/build-manifest.json +12 -0
- package/.next/server/app/api/tasks/manual-tests/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tasks/manual-tests/route.js +8 -0
- package/.next/server/app/api/tasks/manual-tests/route.js.map +5 -0
- package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/manual-tests/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tasks/restore/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tasks/restore/route/build-manifest.json +12 -0
- package/.next/server/app/api/tasks/restore/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tasks/restore/route.js +9 -0
- package/.next/server/app/api/tasks/restore/route.js.map +5 -0
- package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/restore/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tasks/review/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tasks/review/route/build-manifest.json +12 -0
- package/.next/server/app/api/tasks/review/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tasks/review/route.js +9 -0
- package/.next/server/app/api/tasks/review/route.js.map +5 -0
- package/.next/server/app/api/tasks/review/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/review/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tasks/route.js +2 -2
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/update/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tasks/update/route/build-manifest.json +12 -0
- package/.next/server/app/api/tasks/update/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tasks/update/route.js +9 -0
- package/.next/server/app/api/tasks/update/route.js.map +5 -0
- package/.next/server/app/api/tasks/update/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/update/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/views/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/views/route/build-manifest.json +12 -0
- package/.next/server/app/api/views/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/views/route.js +9 -0
- package/.next/server/app/api/views/route.js.map +5 -0
- package/.next/server/app/api/views/route.js.nft.json +1 -0
- package/.next/server/app/api/views/route_client-reference-manifest.js +3 -0
- package/.next/server/app/board.html +1 -1
- package/.next/server/app/board.rsc +20 -18
- package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +7 -6
- package/.next/server/app/board.segments/_full.segment.rsc +20 -18
- package/.next/server/app/board.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +20 -18
- package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +12 -9
- package/.next/server/app/chat.segments/_full.segment.rsc +20 -18
- package/.next/server/app/chat.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +20 -18
- package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +6 -5
- package/.next/server/app/docs.segments/_full.segment.rsc +20 -18
- package/.next/server/app/docs.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/explorer.html +1 -1
- package/.next/server/app/explorer.rsc +20 -18
- package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +11 -9
- package/.next/server/app/explorer.segments/_full.segment.rsc +20 -18
- package/.next/server/app/explorer.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/manual-tests.html +1 -0
- package/.next/server/app/manual-tests.meta +31 -0
- package/.next/server/app/manual-tests.rsc +31 -0
- package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +33 -0
- package/.next/server/app/manual-tests.segments/_full.segment.rsc +31 -0
- package/.next/server/app/manual-tests.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/memory.html +1 -1
- package/.next/server/app/memory.rsc +20 -18
- package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +11 -9
- package/.next/server/app/memory.segments/_full.segment.rsc +20 -18
- package/.next/server/app/memory.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roadmap.html +1 -1
- package/.next/server/app/roadmap.rsc +20 -18
- package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +6 -5
- package/.next/server/app/roadmap.segments/_full.segment.rsc +20 -18
- package/.next/server/app/roadmap.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +20 -18
- package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +7 -6
- package/.next/server/app/settings.segments/_full.segment.rsc +20 -18
- package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/setup.html +1 -1
- package/.next/server/app/setup.rsc +20 -18
- package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +11 -9
- package/.next/server/app/setup.segments/_full.segment.rsc +20 -18
- package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
- package/.next/server/app-paths-manifest.json +9 -0
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js → 11mp_@anthropic-ai_sdk_00p3fu1._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js → 11mp_@anthropic-ai_sdk_01amtux._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js → 11mp_@anthropic-ai_sdk_01jjl08._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js → 11mp_@anthropic-ai_sdk_071zfm8._.js} +1 -1
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_07v3boe._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_09iva72._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0bom1b1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dvji7p._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dzo8jn._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hvqsqq._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i7i-jw._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k0iop5._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l3-6aq._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0oegm3y._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0p5cyes._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qw8i6_._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0yk-a7v._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_11fsqvb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_143_7ez._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_14a4-64._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_17d_oma._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_18qwuyb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_19au8y6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ak_hy5._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1cqa0nq._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1i-x_q0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jmtliz._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jmtliz._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jouwlj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jouwlj._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1r_q5um._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1r_q5um._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t959xd._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t959xd._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vkprw9._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vkprw9._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y95ax9._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y95ax9._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y9misr._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y9misr._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_21b8wwy._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_21b8wwy._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_08ecfgc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_09--sd6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0e3mwc6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0go4301._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iq9dmt._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n9ijke._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0szcyrx._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0xy2s3x._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0yaujn7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0z9ly74._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hmq3al._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1tqk4bp._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x-hr6f._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zsdhg0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_20t__fe._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1u_q61h._.js → [root-of-the-server]__0-pmfg2._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__02co2yq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02co2yq._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js → [root-of-the-server]__04tibmn._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__17xb02p._.js → [root-of-the-server]__05g5cgo._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0aynzrb._.js → [root-of-the-server]__0b5pwze._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__142icjb._.js → [root-of-the-server]__0druay_._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__106gpvh._.js → [root-of-the-server]__0p6ja6l._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0q3-t8a._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0q3-t8a._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0vcsqzd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0vcsqzd._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0nfvvy9._.js → [root-of-the-server]__1-e3i_5._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1-ic3af._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1-ic3af._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__11a4ptn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__11a4ptn._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0e59y5j._.js → [root-of-the-server]__11c8641._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__12nzy_6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__12nzy_6._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__15ck1wv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15ck1wv._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1613hjb._.js +30 -19
- package/.next/server/chunks/[root-of-the-server]__1613hjb._.js.map +1 -1
- package/.next/server/chunks/{[root-of-the-server]__06zf_sh._.js → [root-of-the-server]__197vw9g._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1j0rrps._.js → [root-of-the-server]__19k8t87._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0eqd-tw._.js → [root-of-the-server]__1ezzeji._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1mrmaf9._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__17p0rkn._.js → [root-of-the-server]__1n68akx._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1n68akx._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__11s76m8._.js → [root-of-the-server]__1npya5q._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1npya5q._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1qusy4g._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1qusy4g._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1q4ahvz._.js → [root-of-the-server]__1umrorf._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__093hlkh._.js → [root-of-the-server]__1vh9g2o._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1y-tt29._.js → [root-of-the-server]__1vq38ov._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js.map +1 -1
- package/.next/server/chunks/_04byth9._.js +24 -19
- package/.next/server/chunks/_04byth9._.js.map +1 -1
- package/.next/server/chunks/_1au4syj._.js +1 -1
- package/.next/server/chunks/_1au4syj._.js.map +1 -1
- package/.next/server/chunks/_1b5fqxy._.js.map +1 -1
- package/.next/server/chunks/_1ivswa9._.js +3 -0
- package/.next/server/chunks/_1ivswa9._.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js.map +1 -0
- package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js +3 -0
- package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js.map +1 -0
- package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js → 0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js} +2 -2
- package/.next/server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js.map +1 -0
- package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_1z0p1bs._.js → 1u84_katex_dist_katex_mjs_1kb5xea._.js} +1 -1
- package/.next/server/chunks/ssr/1u84_katex_dist_katex_mjs_1kb5xea._.js.map +1 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js +1 -1
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js.map +1 -1
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js +3 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js.map +1 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js +3 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js.map +1 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js +3 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js.map +1 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js +3 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xt_0w2._.js.map +1 -1
- package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
- package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
- package/.next/server/chunks/ssr/_071j6mr._.js +4 -0
- package/.next/server/chunks/ssr/_071j6mr._.js.map +1 -0
- package/.next/server/chunks/ssr/_09b02z-._.js +3 -0
- package/.next/server/chunks/ssr/_09b02z-._.js.map +1 -0
- package/.next/server/chunks/ssr/_0d0f1s1._.js +3 -0
- package/.next/server/chunks/ssr/_0d0f1s1._.js.map +1 -0
- package/.next/server/chunks/ssr/_0idb-vo._.js +151 -0
- package/.next/server/chunks/ssr/_0idb-vo._.js.map +1 -0
- package/.next/server/chunks/ssr/_0lnt_va._.js +4 -0
- package/.next/server/chunks/ssr/_0lnt_va._.js.map +1 -0
- package/.next/server/chunks/ssr/_0qlymco._.js +3 -0
- package/.next/server/chunks/ssr/_0qlymco._.js.map +1 -0
- package/.next/server/chunks/ssr/_0qp3gu7._.js +3 -0
- package/.next/server/chunks/ssr/_0qp3gu7._.js.map +1 -0
- package/.next/server/chunks/ssr/_0sg1oeq._.js +3 -0
- package/.next/server/chunks/ssr/_0sg1oeq._.js.map +1 -0
- package/.next/server/chunks/ssr/_14emfpq._.js +3 -0
- package/.next/server/chunks/ssr/_14emfpq._.js.map +1 -0
- package/.next/server/chunks/ssr/_1ftruw6._.js +4 -0
- package/.next/server/chunks/ssr/_1ftruw6._.js.map +1 -0
- package/.next/server/chunks/ssr/_1gxjjvh._.js +1 -1
- package/.next/server/chunks/ssr/_1gxjjvh._.js.map +1 -1
- package/.next/server/chunks/ssr/_1ncdakv._.js +4 -0
- package/.next/server/chunks/ssr/_1ncdakv._.js.map +1 -0
- package/.next/server/chunks/ssr/_1t76zdx._.js +3 -0
- package/.next/server/chunks/ssr/_1t76zdx._.js.map +1 -0
- package/.next/server/chunks/ssr/_1x7ggg5._.js +4 -0
- package/.next/server/chunks/ssr/_1x7ggg5._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js → node_modules__pnpm_01bjcv9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js → node_modules__pnpm_03qrzdb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js → node_modules__pnpm_06d-fdo._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js → node_modules__pnpm_0ctisl0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js → node_modules__pnpm_0fwp8jm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js → node_modules__pnpm_0kpu0-2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js → node_modules__pnpm_0vry74x._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js → node_modules__pnpm_0ycbjbd._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js → node_modules__pnpm_1-76qxg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js → node_modules__pnpm_1-r94f7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1yq90z7._.js → node_modules__pnpm_14piqi4._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_14piqi4._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0dwi7mu._.js → node_modules__pnpm_16u1vfb._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules__pnpm_16u1vfb._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js → node_modules__pnpm_17i6z2d._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_09_i2jk._.js → node_modules__pnpm_189m48n._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_189m48n._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js → node_modules__pnpm_192f222._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js → node_modules__pnpm_1a48_nl._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js → node_modules__pnpm_1aa37e1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js → node_modules__pnpm_1f440kx._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js → node_modules__pnpm_1fn3ejy._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js → node_modules__pnpm_1min2jl._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1q89l7p._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1q89l7p._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js → node_modules__pnpm_1q_hhr3._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js → node_modules__pnpm_1qmkxyo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js → node_modules__pnpm_1qp_jvj._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js → node_modules__pnpm_1ssjj4u._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js → node_modules__pnpm_1txccoj._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js → node_modules__pnpm_1uwkcin._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js → node_modules__pnpm_1ygal0c._.js} +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js +3 -0
- package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js +3 -0
- package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +2 -2
- package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js +2 -2
- package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js +3 -0
- package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js.map +1 -0
- package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
- package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +4 -0
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +19 -0
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/02cj5_i9np4sg.js +3 -0
- package/.next/static/chunks/02i5hsdat1nuq.css +9 -0
- package/.next/static/chunks/0mgifb98wbesa.js +1 -0
- package/.next/static/chunks/0p1-hkgnm2ll2.js +1 -0
- package/.next/static/chunks/0pgu5q5vodev6.js +1 -0
- package/.next/static/chunks/0rqzvayflendx.js +2 -0
- package/.next/static/chunks/0vcfs7dii85tw.js +21 -0
- package/.next/static/chunks/13l4l-boqg8fx.js +1 -0
- package/.next/static/chunks/14hxe1qiaram9.js +1 -0
- package/.next/static/chunks/150y5rwg6gwvx.css +1 -0
- package/.next/static/chunks/16k196zyl-n9q.js +1 -0
- package/.next/static/chunks/18b5l8p0vd9f8.js +1 -0
- package/.next/static/chunks/1c_8t2kecjnua.js +1 -0
- package/.next/static/chunks/1fd43t9y42wd3.js +1 -0
- package/.next/static/chunks/1q50zh5z-fq2k.js +2 -0
- package/.next/static/chunks/1tu8lforstp1o.js +1 -0
- package/.next/static/chunks/23-xknrz6o748.js +1 -0
- package/.next/static/chunks/2_xpm7qhr69n8.js +2 -0
- package/.next/static/chunks/2ls_yp4-qgb42.js +1 -0
- package/.next/static/chunks/2zz0ip2l_29c3.js +3 -0
- package/.next/static/chunks/3ly7b47esdb7j.js +1 -0
- package/.next/static/chunks/3ruw8lu2_re-h.js +1 -0
- package/.next/static/chunks/3vf5nnd4xjo5_.js +1 -0
- package/.next/static/chunks/40jaenrnspnlh.js +68 -0
- package/.next/static/chunks/41oxcdcw-pcwt.js +1 -0
- package/README.md +2 -1
- package/package.json +1 -1
- package/skills/work-epic/SKILL.md +22 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0am8bw2._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0enefn6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k3n_5f._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lcfjm4._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lfx9av._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qau3qw._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0r1pmvm._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_11t-z2t._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_15hyn79._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_qk07x._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b2929e._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1e72c89._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1eq7asn._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fhdojs._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1htgzmb._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lh_vwq._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ludf-o._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1m3luz3._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x1iz3d._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1xsmwlh._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_202spah._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_215hw9u._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js.map +0 -1
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js.map +0 -1
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js.map +0 -1
- package/.next/server/chunks/ssr/_059qmur._.js +0 -3
- package/.next/server/chunks/ssr/_059qmur._.js.map +0 -1
- package/.next/server/chunks/ssr/_081irea._.js +0 -3
- package/.next/server/chunks/ssr/_081irea._.js.map +0 -1
- package/.next/server/chunks/ssr/_0d8t8l4._.js +0 -3
- package/.next/server/chunks/ssr/_0d8t8l4._.js.map +0 -1
- package/.next/server/chunks/ssr/_0dyvcdg._.js +0 -3
- package/.next/server/chunks/ssr/_0dyvcdg._.js.map +0 -1
- package/.next/server/chunks/ssr/_1-ghqy4._.js +0 -3
- package/.next/server/chunks/ssr/_1-ghqy4._.js.map +0 -1
- package/.next/server/chunks/ssr/_17jy5db._.js +0 -3
- package/.next/server/chunks/ssr/_17jy5db._.js.map +0 -1
- package/.next/server/chunks/ssr/_1c95ems._.js +0 -151
- package/.next/server/chunks/ssr/_1c95ems._.js.map +0 -1
- package/.next/server/chunks/ssr/_1dllfz5._.js +0 -4
- package/.next/server/chunks/ssr/_1dllfz5._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_14pwej-._.js +0 -3
- package/.next/server/chunks/ssr/src_components_14pwej-._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js +0 -3
- package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js.map +0 -1
- package/.next/static/chunks/0-z7kyblalrea.js +0 -1
- package/.next/static/chunks/050mq8l4e1ubn.js +0 -1
- package/.next/static/chunks/098le48845_fg.js +0 -3
- package/.next/static/chunks/0cw4-ebkoufdc.js +0 -1
- package/.next/static/chunks/0feo-go1w5nct.js +0 -1
- package/.next/static/chunks/0k2qhx29amdgs.js +0 -1
- package/.next/static/chunks/14sefb904pl64.js +0 -21
- package/.next/static/chunks/1fer-wulyrjrs.js +0 -3
- package/.next/static/chunks/1o7b1x4umy8a6.js +0 -1
- package/.next/static/chunks/1q_io1j58aukw.js +0 -1
- package/.next/static/chunks/1r7z33e9jk3vp.js +0 -1
- package/.next/static/chunks/1t-cgh4477hfo.js +0 -1
- package/.next/static/chunks/1u-1po1qesc9f.js +0 -1
- package/.next/static/chunks/1u5kegkgm0xoz.js +0 -1
- package/.next/static/chunks/24ygzsgd-moqy.js +0 -1
- package/.next/static/chunks/26folxgplfa9t.js +0 -68
- package/.next/static/chunks/2ocixvjhv34_3.js +0 -1
- package/.next/static/chunks/3_lsdgxa-h7ma.css +0 -10
- package/.next/static/chunks/3rmv-sb9w9i3e.js +0 -1
- package/.next/static/chunks/3smp1lj103j-l.js +0 -1
- package/.next/static/chunks/3ttzomivj48jh.js +0 -2
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js.map → 11mp_@anthropic-ai_sdk_00p3fu1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js.map → 11mp_@anthropic-ai_sdk_01amtux._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js.map → 11mp_@anthropic-ai_sdk_01jjl08._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js.map → 11mp_@anthropic-ai_sdk_071zfm8._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0am8bw2._.js.map → 11mp_@anthropic-ai_sdk_07v3boe._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0enefn6._.js.map → 11mp_@anthropic-ai_sdk_09iva72._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0k3n_5f._.js.map → 11mp_@anthropic-ai_sdk_0bom1b1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lcfjm4._.js.map → 11mp_@anthropic-ai_sdk_0dvji7p._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lfx9av._.js.map → 11mp_@anthropic-ai_sdk_0dzo8jn._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qau3qw._.js.map → 11mp_@anthropic-ai_sdk_0hvqsqq._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0r1pmvm._.js.map → 11mp_@anthropic-ai_sdk_0i7i-jw._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_11t-z2t._.js.map → 11mp_@anthropic-ai_sdk_0k0iop5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_15hyn79._.js.map → 11mp_@anthropic-ai_sdk_0l3-6aq._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_qk07x._.js.map → 11mp_@anthropic-ai_sdk_0oegm3y._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1b2929e._.js.map → 11mp_@anthropic-ai_sdk_0p5cyes._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1e72c89._.js.map → 11mp_@anthropic-ai_sdk_0qw8i6_._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1eq7asn._.js.map → 11mp_@anthropic-ai_sdk_0yk-a7v._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1fhdojs._.js.map → 11mp_@anthropic-ai_sdk_11fsqvb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1htgzmb._.js.map → 11mp_@anthropic-ai_sdk_143_7ez._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1lh_vwq._.js.map → 11mp_@anthropic-ai_sdk_14a4-64._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ludf-o._.js.map → 11mp_@anthropic-ai_sdk_17d_oma._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1m3luz3._.js.map → 11mp_@anthropic-ai_sdk_18qwuyb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1x1iz3d._.js.map → 11mp_@anthropic-ai_sdk_19au8y6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1xsmwlh._.js.map → 11mp_@anthropic-ai_sdk_1ak_hy5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_202spah._.js.map → 11mp_@anthropic-ai_sdk_1cqa0nq._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_215hw9u._.js.map → 11mp_@anthropic-ai_sdk_1i-x_q0._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_08ecfgc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_09--sd6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0e3mwc6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0go4301._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0iq9dmt._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0n9ijke._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0szcyrx._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0xy2s3x._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0yaujn7._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0e59y5j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0z9ly74._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__11s76m8._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1hmq3al._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1tqk4bp._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_1z0p1bs._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1x-hr6f._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_09_i2jk._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1zsdhg0._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_0dwi7mu._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_20t__fe._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1u_q61h._.js.map → [root-of-the-server]__0-pmfg2._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js.map → [root-of-the-server]__04tibmn._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__17xb02p._.js.map → [root-of-the-server]__05g5cgo._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0aynzrb._.js.map → [root-of-the-server]__0b5pwze._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__142icjb._.js.map → [root-of-the-server]__0druay_._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__106gpvh._.js.map → [root-of-the-server]__0p6ja6l._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0nfvvy9._.js.map → [root-of-the-server]__1-e3i_5._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_1yq90z7._.js.map → [root-of-the-server]__11c8641._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__06zf_sh._.js.map → [root-of-the-server]__197vw9g._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1j0rrps._.js.map → [root-of-the-server]__19k8t87._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0eqd-tw._.js.map → [root-of-the-server]__1ezzeji._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__17p0rkn._.js.map → [root-of-the-server]__1mrmaf9._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1q4ahvz._.js.map → [root-of-the-server]__1umrorf._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__093hlkh._.js.map → [root-of-the-server]__1vh9g2o._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1y-tt29._.js.map → [root-of-the-server]__1vq38ov._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js.map → node_modules__pnpm_01bjcv9._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js.map → node_modules__pnpm_03qrzdb._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js.map → node_modules__pnpm_06d-fdo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js.map → node_modules__pnpm_0ctisl0._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js.map → node_modules__pnpm_0fwp8jm._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js.map → node_modules__pnpm_0kpu0-2._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js.map → node_modules__pnpm_0vry74x._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js.map → node_modules__pnpm_0ycbjbd._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js.map → node_modules__pnpm_1-76qxg._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js.map → node_modules__pnpm_1-r94f7._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js.map → node_modules__pnpm_17i6z2d._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js.map → node_modules__pnpm_192f222._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js.map → node_modules__pnpm_1a48_nl._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js.map → node_modules__pnpm_1aa37e1._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js.map → node_modules__pnpm_1f440kx._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js.map → node_modules__pnpm_1fn3ejy._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js.map → node_modules__pnpm_1min2jl._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js.map → node_modules__pnpm_1q_hhr3._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js.map → node_modules__pnpm_1qmkxyo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js.map → node_modules__pnpm_1qp_jvj._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js.map → node_modules__pnpm_1ssjj4u._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js.map → node_modules__pnpm_1txccoj._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js.map → node_modules__pnpm_1uwkcin._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js.map → node_modules__pnpm_1ygal0c._.js.map} +0 -0
- /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → fGPda81_8-K4GmaNUE6KA}/_buildManifest.js +0 -0
- /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → fGPda81_8-K4GmaNUE6KA}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → fGPda81_8-K4GmaNUE6KA}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/corner-up-left.ts","../../../../src/components/board/TaskDetailPanel.tsx","../../../../src/components/board/TaskFields.tsx","../../../../src/components/board/TaskSessions.tsx","../../../../src/components/board/task-api.ts","../../../../src/lib/board-views.ts","../../../../src/lib/review.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'corner-up-left',\n size: 24,\n node: [\n ['path', { d: 'M20 20v-7a4 4 0 0 0-4-4H4', key: '1nkjon' }],\n ['path', { d: 'M9 14 4 9l5-5', key: '102s5s' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CornerUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/corner-up-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CornerUpLeft = createLucideIcon(__iconData);\n\nexport default CornerUpLeft;\n","\"use client\"\n\nimport { useState } from \"react\"\nimport { cn } from \"@/lib/utils\"\nimport { Sheet, SheetContent, SheetTitle } from \"@/components/ui/sheet\"\nimport { MarkdownRenderer } from \"@/components/docs/MarkdownRenderer\"\nimport type { Task } from \"@/types\"\nimport { StatusIcon } from \"@/components/shared/StatusIcon\"\nimport { TaskSessions } from \"./TaskSessions\"\nimport Link from \"next/link\"\nimport { Check, CornerUpLeft, FlaskConical, MessageSquare, MoreHorizontal, Pencil, Trash2 } from \"lucide-react\"\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from \"@/components/ui/dropdown-menu\"\nimport { useStatusDefs } from \"@/components/shared/status-defs\"\nimport { displayStatus } from \"@/lib/statuses\"\nimport { ItemPanelHeader, type ItemProperty } from \"@/components/shared/ItemPanelHeader\"\nimport { TaskDueField, TaskOwnerField, TaskSizeField, TaskStatusField } from \"./TaskFields\"\nimport { epicOf } from \"@/lib/board-views\"\nimport { localToday, dueState } from \"@/lib/roadmap-health\"\nimport { DueChip } from \"@/components/roadmap/RoadmapNodes\"\nimport { itemKeyLabel, useItemCommands } from \"@/components/shared/item-commands\"\nimport { deleteTaskWithUndo, updateTask } from \"./task-api\"\nimport type { TaskMetaPatch } from \"@/types\"\nimport { AgentMark } from \"@/components/chat/AgentMark\"\nimport { useApp } from \"@/context/AppContext\"\nimport { useChats } from \"@/context/ChatContext\"\nimport { chatFor } from \"@/lib/chats\"\nimport { reviewHistory, type ReviewEntry } from \"@/lib/review\"\n\nconst NEXT_STATUS: Record<string, string[]> = {\n todo: [\"in-progress\", \"paused\"],\n \"in-progress\": [\"done\", \"review\", \"blocked\", \"paused\", \"todo\"],\n // Review tasks get Approve / Send back instead (ReviewActions)\n review: [],\n blocked: [\"in-progress\", \"cancelled\"],\n paused: [\"in-progress\", \"todo\"],\n done: [\"todo\"],\n cancelled: [\"todo\"],\n}\n\nconst STATUS_LABELS: Record<string, string> = {\n \"in-progress\": \"start\",\n review: \"to review\",\n done: \"done\",\n blocked: \"blocked\",\n paused: \"pause\",\n todo: \"backlog\",\n cancelled: \"cancel\",\n}\n\n\ninterface TaskDetailPanelProps {\n task: Task | null\n onClose: () => void\n onMove: (id: string, status: string) => void\n}\n\nexport function TaskDetailPanel({ task: openTask, onClose, onMove }: TaskDetailPanelProps) {\n // Keep the last task rendered while the sheet slides out\n const [task, setTask] = useState(openTask)\n if (openTask && openTask !== task) setTask(openTask)\n\n const nextStatuses = task ? NEXT_STATUS[task.status] || [] : []\n const { chats, showAbout } = useChats()\n const { rootParam } = useApp()\n const chat = task ? chatFor(chats, { kind: \"task\", id: task.id }) : undefined\n // the edit form shows while this matches the open task\n const [editingId, setEditingId] = useState<string | null>(null)\n const editing = !!task && editingId === task.id\n const [error, setError] = useState<string | null>(null)\n const [menuOpen, setMenuOpen] = useState(false)\n const statusDefs = useStatusDefs()\n const chatAbout = () => { if (task) { onClose(); showAbout({ kind: \"task\", id: task.id }) } }\n useItemCommands(openTask && task && !editing ? `${task.id} · ${task.title}` : null, task ? [\n { action: \"edit\", label: \"Edit\", run: () => setEditingId(task.id) },\n { action: \"status\", label: \"Change status…\", run: () => setMenuOpen(true) },\n { action: \"chat\", label: \"Chat about task\", run: chatAbout },\n { action: \"remove\", label: \"Delete\", run: () => { remove() } },\n ] : [])\n\n async function remove() {\n if (!task) return\n setError(null)\n try {\n await deleteTaskWithUndo(task, rootParam)\n onClose()\n } catch (e) {\n setError((e as Error).message)\n }\n }\n\n return (\n <Sheet open={!!openTask} onOpenChange={(open) => { if (!open) onClose() }}>\n <SheetContent side=\"right\" aria-describedby={undefined} className=\"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col\">\n {task && (\n <>\n <ItemPanelHeader\n kicker={<><span>{task.id}</span><span>· task</span><AgentMark attach={{ kind: \"task\", id: task.id }} /></>}\n title={<SheetTitle className=\"text-base font-semibold leading-snug text-txt\">{task.title}</SheetTitle>}\n menu={\n <DropdownMenu open={menuOpen} onOpenChange={setMenuOpen}>\n <DropdownMenuTrigger asChild>\n <button type=\"button\" aria-label={`Actions for ${task.id}`} className=\"ml-auto grid size-6 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt\">\n <MoreHorizontal className=\"size-4\" />\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-44\">\n <DropdownMenuItem onSelect={() => setEditingId(task.id)}><Pencil /> Edit<DropdownMenuShortcut>{itemKeyLabel(\"edit\")}</DropdownMenuShortcut></DropdownMenuItem>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger><StatusIcon status={displayStatus(task)} /> Status<DropdownMenuShortcut>{itemKeyLabel(\"status\")}</DropdownMenuShortcut></DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n {statusDefs.map((d) => (\n <DropdownMenuItem key={d.id} disabled={d.id === displayStatus(task)} onSelect={() => onMove(task.id, d.id)}>\n <StatusIcon status={d.id} /> {d.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n <DropdownMenuItem onSelect={chatAbout}><MessageSquare /> Chat about task<DropdownMenuShortcut>{itemKeyLabel(\"chat\")}</DropdownMenuShortcut></DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem onSelect={remove} className=\"text-danger focus:text-danger\"><Trash2 /> Delete<DropdownMenuShortcut>{itemKeyLabel(\"remove\")}</DropdownMenuShortcut></DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n }\n properties={taskProperties(task)}\n />\n\n {error && <p role=\"alert\" className=\"px-5 py-2 text-xs text-danger border-b border-border\">{error}</p>}\n\n {editing && <TaskEditForm key={`edit-${task.id}`} task={task} rootParam={rootParam} onDone={() => setEditingId(null)} />}\n\n {/* Quick actions */}\n <div className=\"flex flex-wrap items-center gap-2 px-5 py-3 border-b border-border shrink-0\">\n {nextStatuses.map((s) => (\n <button\n key={s}\n onClick={() => { onMove(task.id, s); onClose() }}\n className=\"inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors\"\n >\n <StatusIcon status={s as Task[\"status\"]} className=\"size-3\" /> {STATUS_LABELS[s] || s}\n </button>\n ))}\n <button\n onClick={() => { onClose(); showAbout({ kind: \"task\", id: task.id }) }}\n className=\"ml-auto inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-accent text-accent-fg transition-[filter] hover:brightness-110\"\n >\n <MessageSquare className=\"size-3.5\" /> {chat ? \"Open chat\" : \"Chat about task\"}\n </button>\n </div>\n\n {task.status === \"review\" && <ReviewActions key={`review-${task.id}`} taskId={task.id} onDone={onClose} />}\n\n {/* Body, then activity: one scroll area */}\n <div className=\"flex-1 overflow-y-auto\">\n <div className=\"px-5 py-4\">\n {task.raw ? (\n <MarkdownRenderer content={bodyOf(task.raw)} />\n ) : (\n <p className=\"text-sm text-muted\">No content available.</p>\n )}\n </div>\n <section aria-label=\"Activity\" className=\"border-t border-border\">\n {task.manualTests && (\n <Link\n href={`/manual-tests#${task.id}`}\n onClick={onClose}\n className=\"group flex items-center gap-2 px-5 py-2.5 border-b border-border shrink-0 text-xs text-muted hover:bg-surface2 hover:text-txt transition-colors\"\n >\n <FlaskConical className=\"size-3.5\" />\n <span className={cn(\"font-mono\", task.manualTests.done === task.manualTests.total && \"text-teal\")}>\n {task.manualTests.done}/{task.manualTests.total}\n </span>\n manual tests ticked\n <span className=\"ml-auto text-accent opacity-0 transition-opacity group-hover:opacity-100\">Open checklist →</span>\n </Link>\n )}\n\n <ReviewHistory entries={reviewHistory(task.raw ?? \"\")} />\n\n <TaskSessions key={task.id} taskId={task.id} onNavigate={onClose} />\n </section>\n </div>\n </>\n )}\n </SheetContent>\n </Sheet>\n )\n}\n\n/** The file without its H1 and **Key:** block: the header already shows those. */\nfunction bodyOf(raw: string): string {\n const lines = raw.split(\"\\n\")\n let i = lines.findIndex((l) => l.startsWith(\"# \"))\n i = i < 0 ? 0 : i + 1\n while (i < lines.length && (lines[i].trim() === \"\" || /^\\*\\*[^*]+:\\*\\*/.test(lines[i]))) i++\n return lines.slice(i).join(\"\\n\")\n}\n\n/** Status · owner · due · size · epic, in the shared header grid. */\nfunction taskProperties(task: Task): ItemProperty[] {\n const epic = task.phase && task.phase !== \"—\" ? epicOf(task.phase) : null\n return [\n { label: \"Status\", value: <TaskStatusField task={task} chip /> },\n { label: \"Owner\", value: <TaskOwnerField task={task} /> },\n { label: \"Due\", value: <TaskDueField task={task}>{task.due ? <DueChip due={task.due} state={dueState(task.due, task.status === \"done\" ? \"done\" : \"planned\", localToday())} /> : <span className=\"text-muted\">—</span>}</TaskDueField> },\n { label: \"Size\", value: <TaskSizeField task={task} /> },\n { label: \"Epic\", value: epic && <span className=\"flex min-w-0 items-center gap-1.5\">{epic.id && <span className=\"font-mono text-[11px] text-muted\">{epic.id}</span>}<span className=\"truncate\">{epic.title}</span></span> },\n ]\n}\n\nconst FIELD = \"w-full rounded-md border border-border bg-bg px-2.5 py-1.5 text-sm text-txt focus:border-accent/60 focus:outline-hidden\"\n\n/** Title and meta fields; sends only what changed, so the body and other fields stay as they are. */\nfunction TaskEditForm({ task, rootParam, onDone }: { task: Task; rootParam: string; onDone: () => void }) {\n const [base] = useState(task)\n const [title, setTitle] = useState(task.title)\n const [size, setSize] = useState(task.size === \"—\" ? \"\" : task.size)\n const [phase, setPhase] = useState(task.phase === \"—\" ? \"\" : task.phase)\n const [dependsOn, setDependsOn] = useState(task.dependsOn === \"—\" ? \"\" : task.dependsOn)\n const [due, setDue] = useState(task.due ?? \"\")\n const [busy, setBusy] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const orDash = (v: string) => (v.trim() === \"—\" ? \"\" : v.trim())\n\n async function save() {\n const patch: TaskMetaPatch = {}\n if (title.trim() && title.trim() !== base.title) patch.title = title\n if (size.trim() !== orDash(base.size)) patch.size = size\n if (phase.trim() !== orDash(base.phase)) patch.phase = phase\n if (dependsOn.trim() !== orDash(base.dependsOn)) patch.dependsOn = dependsOn\n if ((due || null) !== base.due) patch.due = due || null\n if (Object.keys(patch).length === 0) return onDone()\n setBusy(true)\n setError(null)\n try {\n await updateTask(task.id, patch, rootParam)\n onDone()\n } catch (e) {\n setError((e as Error).message)\n setBusy(false)\n }\n }\n\n return (\n <form\n onSubmit={(e) => { e.preventDefault(); save() }}\n onKeyDown={(e) => { if (e.key === \"Escape\") { e.stopPropagation(); onDone() } }}\n className=\"flex flex-col gap-3 px-5 py-4 border-b border-border shrink-0 bg-surface2/40\"\n >\n <label className=\"flex flex-col gap-1 text-xs text-muted\">\n Title\n <input autoFocus value={title} onChange={(e) => setTitle(e.target.value)} className={FIELD} />\n </label>\n <div className=\"grid grid-cols-2 gap-3\">\n <label className=\"flex flex-col gap-1 text-xs text-muted\">\n Size\n <input value={size} onChange={(e) => setSize(e.target.value)} placeholder=\"S / M / L\" className={FIELD} />\n </label>\n <label className=\"flex flex-col gap-1 text-xs text-muted\">\n Due\n <input type=\"date\" value={due} onChange={(e) => setDue(e.target.value)} className={cn(FIELD, \"scheme-light dark:scheme-dark\")} />\n </label>\n </div>\n <label className=\"flex flex-col gap-1 text-xs text-muted\">\n Epic / phase\n <input value={phase} onChange={(e) => setPhase(e.target.value)} placeholder=\"R054 — Item actions\" className={FIELD} />\n </label>\n <label className=\"flex flex-col gap-1 text-xs text-muted\">\n Depends on\n <input value={dependsOn} onChange={(e) => setDependsOn(e.target.value)} placeholder=\"T001, T002\" className={cn(FIELD, \"font-mono\")} />\n </label>\n {error && <p role=\"alert\" className=\"text-xs text-danger\">{error}</p>}\n <div className=\"flex items-center gap-2\">\n <button type=\"submit\" disabled={busy} className=\"text-xs px-2.5 py-1 rounded-sm bg-accent text-accent-fg transition-[filter] hover:brightness-110 disabled:opacity-40\">Save</button>\n <button type=\"button\" onClick={onDone} disabled={busy} className=\"text-xs text-muted hover:text-txt\">Cancel</button>\n </div>\n </form>\n )\n}\n\n/** Approve (→ done) or send back with a note (→ todo) a task waiting in Review. */\nfunction ReviewActions({ taskId, onDone }: { taskId: string; onDone: () => void }) {\n const { rootParam } = useApp()\n const [sendingBack, setSendingBack] = useState(false)\n const [note, setNote] = useState(\"\")\n const [busy, setBusy] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n async function act(action: \"approve\" | \"send-back\") {\n setBusy(true)\n setError(null)\n try {\n const res = await fetch(`/api/tasks/review${rootParam}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ id: taskId, action, note }),\n })\n if (!res.ok) throw new Error((await res.json().catch(() => null))?.error ?? `Request failed (${res.status})`)\n onDone()\n } catch (e) {\n setError((e as Error).message)\n setBusy(false)\n }\n }\n\n return (\n <div className=\"flex flex-col gap-2 px-5 py-3 border-b border-border shrink-0 bg-accent/5\">\n <p className=\"text-xs text-muted\">Waiting for your review. Approving moves it to done; sending it back returns it to the queue with your note.</p>\n {sendingBack ? (\n <div className=\"flex flex-col gap-2 animate-fade-in\">\n <textarea\n autoFocus\n value={note}\n onChange={(e) => setNote(e.target.value)}\n rows={3}\n placeholder=\"What needs to change? The agent reads this first.\"\n aria-label=\"Send back note\"\n className=\"w-full resize-none rounded-md border border-border bg-bg px-2.5 py-2 text-sm text-txt placeholder:text-muted focus:border-accent/60 focus:outline-hidden\"\n />\n <div className=\"flex items-center gap-2\">\n <button\n onClick={() => act(\"send-back\")}\n disabled={busy || !note.trim()}\n className=\"inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-amber/15 border border-amber/40 text-amber transition-colors hover:bg-amber/25 disabled:opacity-40\"\n >\n <CornerUpLeft className=\"size-3.5\" /> Send back\n </button>\n <button onClick={() => { setSendingBack(false); setNote(\"\") }} disabled={busy} className=\"text-xs text-muted hover:text-txt\">Cancel</button>\n </div>\n </div>\n ) : (\n <div className=\"flex items-center gap-2\">\n <button\n onClick={() => act(\"approve\")}\n disabled={busy}\n className=\"inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-teal/15 border border-teal/40 text-teal transition-colors hover:bg-teal/25 disabled:opacity-40\"\n >\n <Check className=\"size-3.5\" /> Approve\n </button>\n <button\n onClick={() => setSendingBack(true)}\n disabled={busy}\n className=\"inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted transition-colors hover:text-txt hover:border-border2\"\n >\n <CornerUpLeft className=\"size-3.5\" /> Send back…\n </button>\n </div>\n )}\n {error && <p role=\"alert\" className=\"text-xs text-danger\">{error}</p>}\n </div>\n )\n}\n\n/** Past review outcomes, newest first. */\nfunction ReviewHistory({ entries }: { entries: ReviewEntry[] }) {\n if (!entries.length) return null\n return (\n <div className=\"flex flex-col gap-2 px-5 py-3 border-b border-border shrink-0\">\n <p className=\"font-mono text-[10px] uppercase tracking-widest text-muted\">Review history</p>\n <ul className=\"flex flex-col gap-2\">\n {[...entries].reverse().map((e, i) => (\n <li key={i} className=\"flex flex-col gap-0.5\">\n <span className=\"flex items-center gap-2 text-xs\">\n <span className={cn(\"font-medium\", e.outcome === \"approved\" ? \"text-teal\" : \"text-amber\")}>\n {e.outcome === \"approved\" ? \"Approved\" : \"Changes requested\"}\n </span>\n <span className=\"font-mono text-[10px] text-muted\">{e.at.replace(\"T\", \" \").replace(/:\\d\\dZ$/, \"Z\")}</span>\n </span>\n {e.note && <p className=\"whitespace-pre-wrap text-xs text-muted\">{e.note}</p>}\n </li>\n ))}\n </ul>\n </div>\n )\n}\n","\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport { useApp } from \"@/context/AppContext\"\nimport { InlineDate, InlineSelect, type InlineOption } from \"@/components/shared/InlineProperty\"\nimport { OwnerChip } from \"@/components/shared/OwnerChip\"\nimport { StatusChip, StatusIcon } from \"@/components/shared/StatusIcon\"\nimport { useStatusDefs } from \"@/components/shared/status-defs\"\nimport { displayStatus } from \"@/lib/statuses\"\nimport { sizeOf } from \"@/lib/board-views\"\nimport { ownerLabel } from \"@/lib/owner\"\nimport type { Task } from \"@/types\"\n\n// Task properties edited in place (R055): the table, the card and the panel header all use these.\n\nconst SIZES = [\"XS\", \"S\", \"M\", \"L\", \"XL\"]\nconst empty = <span className=\"text-muted\">—</span>\n\nexport function TaskStatusField({ task, chip = false }: { task: Task; chip?: boolean }) {\n const { moveTask } = useApp()\n const defs = useStatusDefs()\n const key = displayStatus(task)\n const options: InlineOption[] = defs.map((d) => ({ value: d.id, label: d.label, node: <><StatusIcon status={d.id} />{d.label}</> }))\n return (\n <InlineSelect label={`Status of ${task.id}`} value={key} options={options} onChange={(v) => moveTask(task.id, v)}>\n {chip ? <StatusChip status={key} /> : <><StatusIcon status={key} /><span className=\"truncate text-xs\">{defs.find((d) => d.id === key)?.label ?? key}</span></>}\n </InlineSelect>\n )\n}\n\nexport function TaskOwnerField({ task, children }: { task: Task; children?: ReactNode }) {\n const { updateTaskFields, board } = useApp()\n // Human, every agent that owns something here (claude always offered), and no owner\n const agents = [...new Set([\"ai:claude\", ...Object.values(board ?? {}).flat().map((t) => t.owner).filter((o): o is string => !!o?.startsWith(\"ai:\"))])].sort()\n const options: InlineOption[] = [\n { value: \"human\", label: \"Human\", node: <OwnerChip owner=\"human\" className=\"text-xs\" /> },\n ...agents.map((a) => ({ value: a, label: ownerLabel(a), node: <OwnerChip owner={a} className=\"text-xs\" /> })),\n { value: \"\", label: \"No owner\", node: <span className=\"text-muted\">No owner</span> },\n ]\n return (\n <InlineSelect label={`Owner of ${task.id}`} value={task.owner ?? \"\"} options={options} onChange={(v) => updateTaskFields(task.id, { owner: v || null })}>\n {children ?? (task.owner ? <OwnerChip owner={task.owner} className=\"text-xs\" /> : empty)}\n </InlineSelect>\n )\n}\n\nexport function TaskSizeField({ task, children }: { task: Task; children?: ReactNode }) {\n const { updateTaskFields } = useApp()\n const size = sizeOf(task)\n const options: InlineOption[] = [...SIZES.map((s) => ({ value: s, label: s, node: <span className=\"font-mono\">{s}</span> })), { value: \"\", label: \"No size\", node: <span className=\"text-muted\">No size</span> }]\n return (\n <InlineSelect label={`Size of ${task.id}`} value={size ?? \"\"} options={options} onChange={(v) => updateTaskFields(task.id, { size: v || \"—\" })}>\n {children ?? (size ? <span className=\"font-mono text-xs\">{size}</span> : empty)}\n </InlineSelect>\n )\n}\n\nexport function TaskDueField({ task, children }: { task: Task; children?: ReactNode }) {\n const { updateTaskFields } = useApp()\n return (\n <InlineDate label={`Due date of ${task.id}`} value={task.due} onChange={(v) => updateTaskFields(task.id, { due: v })}>\n {children ?? (task.due ? <span className=\"font-mono text-xs\">{task.due}</span> : empty)}\n </InlineDate>\n )\n}\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport { useRouter } from \"next/navigation\"\nimport { Bot, User } from \"lucide-react\"\nimport { useApp } from \"@/context/AppContext\"\nimport { timeAgo } from \"@/components/activity/ActivityEventRow\"\nimport type { Session } from \"@/types\"\n\n// Sessions that moved this task; mount with key={taskId} so state resets per task.\nexport function TaskSessions({ taskId, onNavigate }: { taskId: string; onNavigate: () => void }) {\n const { rootParam } = useApp()\n const router = useRouter()\n const [sessions, setSessions] = useState<Session[] | null>(null)\n\n useEffect(() => {\n const qs = rootParam ? `${rootParam}&` : \"?\"\n fetch(`/api/sessions${qs}taskId=${encodeURIComponent(taskId)}`)\n .then(r => r.json())\n .then(data => setSessions(Array.isArray(data) ? data : []))\n .catch(() => setSessions([]))\n }, [rootParam, taskId])\n\n return (\n <div className=\"px-5 py-3 border-b border-border shrink-0\">\n <p className=\"mb-2 text-xs font-mono uppercase tracking-wide text-muted\">Sessions</p>\n {sessions === null ? null : sessions.length === 0 ? (\n <p className=\"text-xs text-muted\">No recorded sessions</p>\n ) : (\n <div className=\"flex max-h-40 flex-col gap-1 overflow-y-auto\">\n {sessions.map(s => (\n <button\n key={s.id}\n onClick={() => { onNavigate(); router.push(`/activity?session=${encodeURIComponent(s.id)}`) }}\n className=\"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2\"\n >\n {s.actor === \"ai\" ? <Bot aria-hidden className=\"size-3.5 shrink-0 text-muted\" /> : <User aria-hidden className=\"size-3.5 shrink-0 text-muted\" />}\n <span className=\"sr-only\">{s.actor === \"ai\" ? \"Agent session\" : \"Human session\"}</span>\n <span className=\"shrink-0 font-mono text-muted\">{timeAgo(s.start)}</span>\n <span className=\"truncate text-txt\">{s.headline}</span>\n </button>\n ))}\n </div>\n )}\n </div>\n )\n}\n","import type { Task, TaskMetaPatch } from \"@/types\"\nimport { undoToast } from \"@/components/ui/toast\"\n\nasync function post<T>(url: string, body: unknown): Promise<T> {\n const res = await fetch(url, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify(body) })\n const json = await res.json().catch(() => null)\n if (!res.ok) throw new Error(json?.error ?? `Request failed (${res.status})`)\n return json as T\n}\n\nexport const updateTask = (id: string, patch: TaskMetaPatch, rootParam: string) =>\n post<{ task: Task }>(`/api/tasks/update${rootParam}`, { id, patch }).then((r) => r.task)\n\n/** Deletes right away and offers Undo, which writes the same file back and re-links it to its epics. */\nexport async function deleteTaskWithUndo(task: Pick<Task, \"id\">, rootParam: string): Promise<void> {\n const { task: removed, links } = await post<{ task: Task; links: unknown[] }>(`/api/tasks/delete${rootParam}`, { id: task.id })\n undoToast(`Deleted ${removed.id}`, async () => {\n await post(`/api/tasks/restore${rootParam}`, { file: removed.file, raw: removed.raw, links })\n })\n}\n","// Board views (Notion-style lenses over the same task files): Board · Table · By epic · Timeline, plus saved views.\n// Pure (no React, no fs). The live view state rides in the URL; saved views live in `.vibedoc/views.json` (core.ts).\n// Self-check: `node src/lib/board-views.check.mts`.\n\nimport type { ActivityEvent, Task, TaskStatus } from \"./core\"\n\nexport type ViewKind = \"board\" | \"table\" | \"epic\" | \"timeline\"\n\n/** Filterable task properties. `ready` = todo with every dependency done; `agent` = a chat working on the task. */\nexport type FilterProp = \"status\" | \"epic\" | \"size\" | \"due\" | \"deps\" | \"tests\" | \"agent\" | \"ready\" | \"owner\"\n\n/**\n * One filter rule. Ops by prop:\n * - status / epic / size: \"is\" | \"is-not\" with `value` = a list (any-of). Epic values are IDs like \"R043\" (\"none\" = no epic).\n * - owner: \"is\" | \"is-not\" with values \"human\" | \"ai\" (any agent) | \"none\".\n * - due: \"before\" | \"after\" with `value[0]` = \"YYYY-MM-DD\"; \"is-set\" | \"not-set\" ignore value.\n * - deps / tests / agent / ready: \"is-set\" | \"not-set\" (deps: has dependencies; tests: has a manual test report;\n * agent: a chat is running / needs you / has a plan to review on the task; ready: see FilterProp).\n */\nexport interface FilterRule {\n prop: FilterProp\n op: \"is\" | \"is-not\" | \"before\" | \"after\" | \"is-set\" | \"not-set\"\n value: string[]\n}\n\nexport type SortProp = \"status\" | \"id\" | \"epic\" | \"size\" | \"due\" | \"title\"\nexport interface SortRule { prop: SortProp; dir: \"asc\" | \"desc\" }\n\nexport type GroupBy = \"status\" | \"epic\" | \"size\" | \"owner\" | \"none\"\n/** Table / Board columns and card lines that can be hidden. */\nexport type PropertyKey = \"status\" | \"epic\" | \"size\" | \"due\" | \"deps\" | \"tests\" | \"agent\" | \"owner\"\nexport type TimelineScale = \"active\" | \"day\" | \"week\"\n\nexport interface ViewState {\n kind: ViewKind\n filters: FilterRule[]\n /** Applied in order; ties fall back to ID ascending (numeric). */\n sorts: SortRule[]\n /** Board: the columns are always status, `group` is ignored; Table / By epic / Timeline: sections. */\n group: GroupBy\n /** Board only: swimlanes inside the status columns (\"none\" = no lanes). */\n subGroup: \"epic\" | \"size\" | \"none\"\n /** Free text over ID + title, case-insensitive. */\n q: string\n /** Visible properties (Table columns, Board card lines). */\n properties: PropertyKey[]\n /** Timeline only. */\n scale: TimelineScale\n}\n\nexport interface SavedView extends ViewState {\n /** [a-z0-9-]{1,40}; the built-ins are \"board\" | \"table\" | \"epic\" | \"timeline\". */\n id: string\n name: string\n}\n\n/** What `applyView` needs beyond the tasks themselves. */\nexport interface ViewContext {\n /** Task IDs with an active agent chat (from ChatContext `itemAgents`, keys \"task:T062\" → \"T062\"). */\n agentTasks: Set<string>\n}\n\nexport interface TaskGroup {\n /** Stable key: a status, an epic ID (\"none\" for no epic), a size letter, or \"all\". */\n key: string\n /** Display label: \"In progress\", \"Task verification & review\", \"M\", \"All tasks\". */\n label: string\n /** Epic groups: \"R043\"; otherwise null. */\n epicId: string | null\n tasks: Task[]\n}\n\n/** A task's worked window, from the activity log: first move to in-progress → last move to done (or now if open). */\nexport interface TimelineBar {\n taskId: string\n epicId: string | null\n startMs: number\n endMs: number\n status: TaskStatus\n /** true while the task is still in progress (endMs = now). */\n open: boolean\n}\n\n/** A stretch of the Active-time axis; idle gaps longer than the fold threshold sit between segments. */\nexport interface AxisSegment { startMs: number; endMs: number }\n\n// Function contract (implemented below):\n// DEFAULT_VIEWS: SavedView[] the four built-ins, one per ViewKind\n// defaultView(kind): ViewState\n// epicOf(phase): { id: string | null; title: string } \"R043 — Task …\" → { id: \"R043\", title: \"Task …\" }\n// sizeOf(task): string | null \"M (2–3 hrs)\" → \"M\"; \"—\" / \"\" → null\n// isReady(task, byId): boolean todo and every `dependsOn` ID is done\n// applyView(tasks, state, ctx): Task[] filter + q + sort (cancelled hidden unless a status filter names it)\n// groupTasks(tasks, by): TaskGroup[] stable, meaningful order (status in workflow order: in-progress, review, todo, blocked, done)\n// depOutline(tasks): { task: Task; depth: number; alsoAfter: string[] }[] tasks nested under their first in-epic dependency\n// timelineBars(tasks, events, nowMs): TimelineBar[] only tasks with at least one task_updated event\n// foldAxis(bars, gapMs): AxisSegment[] merge bar windows (padded 5%) closer than gapMs\n// toParams(state): URLSearchParams compact, omits defaults for the kind\n// fromParams(params): ViewState inverse of toParams; unknown values fall back to defaults\n// isDirty(state, saved): boolean differs from a saved view (ignores q)\n\n// ─── Defaults ─────────────────────────────────────────────────────────────────\n\nconst ALL_PROPERTIES: PropertyKey[] = [\"status\", \"epic\", \"size\", \"due\", \"deps\", \"tests\", \"agent\", \"owner\"]\nconst KINDS: ViewKind[] = [\"board\", \"table\", \"epic\", \"timeline\"]\nconst NAMES: Record<ViewKind, string> = { board: \"Board\", table: \"Table\", epic: \"By epic\", timeline: \"Timeline\" }\n\nexport function defaultView(kind: ViewKind): ViewState {\n const base: ViewState = { kind, filters: [], sorts: [], group: \"epic\", subGroup: \"none\", q: \"\", properties: [...ALL_PROPERTIES], scale: \"active\" }\n if (kind === \"board\") return { ...base, group: \"none\", subGroup: \"epic\", properties: [\"epic\", \"size\", \"deps\", \"tests\", \"agent\", \"owner\"] }\n if (kind === \"table\") return { ...base, sorts: [{ prop: \"status\", dir: \"asc\" }, { prop: \"id\", dir: \"asc\" }] }\n return base\n}\n\nexport const DEFAULT_VIEWS: SavedView[] = KINDS.map((kind) => ({ ...defaultView(kind), id: kind, name: NAMES[kind] }))\n\n// ─── Task fields ──────────────────────────────────────────────────────────────\n\nconst STATUS_ORDER: TaskStatus[] = [\"in-progress\", \"review\", \"todo\", \"blocked\", \"paused\", \"done\", \"cancelled\"]\nconst STATUS_LABEL: Record<TaskStatus, string> = {\n \"in-progress\": \"In progress\", review: \"Review\", todo: \"Todo\", blocked: \"Blocked\", paused: \"Paused\", done: \"Done\", cancelled: \"Cancelled\",\n}\nconst SIZES = [\"XS\", \"S\", \"M\", \"L\", \"XL\"]\nconst cmpId = (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true })\nconst isOpen = (t: Task) => t.status !== \"done\" && t.status !== \"cancelled\"\n\n/** Every `T\\d+` in a free-text \"Depends on\" line (same rule as work-queue `depIds`; inlined so node can run this file). */\nfunction deps(t: Task): string[] {\n return [...new Set((t.dependsOn.match(/\\bT\\d+\\b/gi) ?? []).map((d) => d.toUpperCase()))]\n}\n\n/** The status a task shows under: its custom status, else its category (statuses.ts `displayStatus`, inlined). */\nconst displayOf = (t: Task): string => t.customStatus ?? t.status\n\n/** \"human\" | \"ai\" | \"none\" (same rule as owner.ts `ownerKind`; inlined so node can run this file). */\nfunction ownerKindOf(t: Task): \"human\" | \"ai\" | \"none\" {\n return t.owner === \"human\" ? \"human\" : t.owner?.startsWith(\"ai:\") ? \"ai\" : \"none\"\n}\n\nexport function epicOf(phase: string): { id: string | null; title: string } {\n const m = phase.trim().match(/^(R\\d+)\\b\\s*(?:[—–:-]\\s*)?(.*)$/i)\n return m ? { id: m[1].toUpperCase(), title: m[2].trim() } : { id: null, title: phase.trim() }\n}\n\nexport function sizeOf(task: Task): string | null {\n const m = task.size.trim().match(/^(XS|XL|S|M|L)\\b/i)\n return m ? m[1].toUpperCase() : null\n}\n\nexport function isReady(task: Task, byId: Map<string, Task>): boolean {\n return task.status === \"todo\" && deps(task).every((d) => byId.get(d)?.status === \"done\")\n}\n\n// ─── Filter + sort ────────────────────────────────────────────────────────────\n\nfunction matches(t: Task, r: FilterRule, ctx: ViewContext, byId: Map<string, Task>): boolean {\n const any = (v: string) => r.value.includes(v)\n const oneOf = (v: string) => (r.op === \"is\" ? any(v) : r.op === \"is-not\" ? !any(v) : true)\n const flag = (set: boolean) => (r.op === \"is-set\" ? set : r.op === \"not-set\" ? !set : true)\n switch (r.prop) {\n case \"status\": return oneOf(displayOf(t))\n case \"epic\": return oneOf(epicOf(t.phase).id ?? \"none\")\n case \"size\": return oneOf(sizeOf(t) ?? \"none\")\n case \"due\":\n if (r.op === \"before\") return !!t.due && !!r.value[0] && t.due < r.value[0]\n if (r.op === \"after\") return !!t.due && !!r.value[0] && t.due > r.value[0]\n return flag(!!t.due)\n case \"deps\": return flag(deps(t).length > 0)\n case \"tests\": return flag(t.manualTests !== null)\n case \"agent\": return flag(ctx.agentTasks.has(t.id))\n case \"ready\": return flag(isReady(t, byId))\n case \"owner\": return oneOf(ownerKindOf(t))\n }\n}\n\nfunction compare(a: Task, b: Task, prop: SortProp): number {\n switch (prop) {\n case \"status\": return STATUS_ORDER.indexOf(a.status) - STATUS_ORDER.indexOf(b.status)\n case \"id\": return cmpId(a.id, b.id)\n case \"title\": return a.title.localeCompare(b.title)\n case \"epic\": {\n const x = epicOf(a.phase).id, y = epicOf(b.phase).id\n return x === y ? 0 : x === null ? 1 : y === null ? -1 : cmpId(x, y)\n }\n case \"size\": {\n const x = SIZES.indexOf(sizeOf(a) ?? \"\"), y = SIZES.indexOf(sizeOf(b) ?? \"\")\n return x === y ? 0 : x < 0 ? 1 : y < 0 ? -1 : x - y\n }\n case \"due\":\n return a.due === b.due ? 0 : a.due === null ? 1 : b.due === null ? -1 : a.due.localeCompare(b.due)\n }\n}\n\nexport function applyView(tasks: Task[], state: ViewState, ctx: ViewContext): Task[] {\n const byId = new Map(tasks.map((t) => [t.id, t]))\n const showCancelled = state.filters.some((r) => r.prop === \"status\" && r.op === \"is\" && r.value.includes(\"cancelled\"))\n const q = state.q.trim().toLowerCase()\n return tasks\n .filter((t) => showCancelled || t.status !== \"cancelled\")\n .filter((t) => !q || t.id.toLowerCase().includes(q) || t.title.toLowerCase().includes(q))\n .filter((t) => state.filters.every((r) => matches(t, r, ctx, byId)))\n .sort((a, b) => {\n for (const s of state.sorts) {\n const c = compare(a, b, s.prop)\n // nulls stay last for due / epic / size in either direction\n if (c) return s.dir === \"desc\" && !nullLast(a, b, s.prop) ? -c : c\n }\n return cmpId(a.id, b.id)\n })\n}\n\n/** True when exactly one side has no value for `prop` (that side stays last regardless of direction). */\nfunction nullLast(a: Task, b: Task, prop: SortProp): boolean {\n const v = (t: Task) => (prop === \"due\" ? t.due : prop === \"epic\" ? epicOf(t.phase).id : prop === \"size\" ? (SIZES.includes(sizeOf(t) ?? \"\") ? \"x\" : null) : \"x\")\n return (v(a) === null) !== (v(b) === null)\n}\n\n// ─── Grouping ─────────────────────────────────────────────────────────────────\n\n/** `statuses`: the project's statuses in order (R055); status groups follow it. Omitted = the built-in order. */\nexport function groupTasks(tasks: Task[], by: GroupBy, statuses?: { id: string; label: string }[]): TaskGroup[] {\n if (!tasks.length) return []\n if (by === \"none\") return [{ key: \"all\", label: \"All tasks\", epicId: null, tasks }]\n const buckets = new Map<string, Task[]>()\n const keyOf = (t: Task) =>\n by === \"status\" ? displayOf(t) : by === \"size\" ? sizeOf(t) ?? \"none\" : by === \"owner\" ? t.owner ?? \"none\" : epicOf(t.phase).id ?? \"none\"\n for (const t of tasks) {\n const k = keyOf(t)\n const list = buckets.get(k)\n if (list) list.push(t)\n else buckets.set(k, [t])\n }\n const group = (key: string, label: string, epicId: string | null = null): TaskGroup => ({ key, label, epicId, tasks: buckets.get(key) ?? [] })\n if (by === \"status\") {\n if (!statuses) return STATUS_ORDER.filter((s) => buckets.has(s)).map((s) => group(s, STATUS_LABEL[s]))\n return statuses.filter((d) => buckets.has(d.id)).map((d) => group(d.id, d.label))\n }\n if (by === \"size\") return [...SIZES, \"none\"].filter((s) => buckets.has(s)).map((s) => group(s, s === \"none\" ? \"No size\" : s))\n if (by === \"owner\") {\n // human, then each agent by name, then unowned\n const agents = [...buckets.keys()].filter((k) => k.startsWith(\"ai:\")).sort()\n return [\"human\", ...agents, \"none\"].filter((k) => buckets.has(k))\n .map((k) => group(k, k === \"human\" ? \"Human\" : k === \"none\" ? \"No owner\" : `${k.slice(3)} (AI)`))\n }\n\n // epic: open work first (by lowest open task ID), then the rest by epic ID descending; \"none\" last\n const lowestOpen = (k: string) => (buckets.get(k) ?? []).filter(isOpen).map((t) => t.id).sort(cmpId)[0] ?? null\n const keys = [...buckets.keys()].filter((k) => k !== \"none\").sort((x, y) => {\n const ox = lowestOpen(x), oy = lowestOpen(y)\n if (ox && oy) return cmpId(ox, oy) || cmpId(x, y)\n if (ox || oy) return ox ? -1 : 1\n return cmpId(y, x)\n })\n const out = keys.map((k) => {\n const title = (buckets.get(k) ?? []).map((t) => epicOf(t.phase).title).find(Boolean)\n return group(k, title || k, k)\n })\n if (buckets.has(\"none\")) out.push(group(\"none\", \"No epic\"))\n return out\n}\n\n// ─── Dependency outline ───────────────────────────────────────────────────────\n\nconst MAX_DEPTH = 4\n\nexport function depOutline(tasks: Task[]): { task: Task; depth: number; alsoAfter: string[] }[] {\n const inList = new Set(tasks.map((t) => t.id))\n const parent = new Map<string, string>()\n for (const t of tasks) {\n const p = deps(t).find((d) => d !== t.id && inList.has(d))\n if (p) parent.set(t.id, p)\n }\n const children = new Map<string, Task[]>()\n for (const t of tasks) {\n const p = parent.get(t.id)\n if (p) children.set(p, [...(children.get(p) ?? []), t])\n }\n const out: { task: Task; depth: number; alsoAfter: string[] }[] = []\n const seen = new Set<string>()\n const visit = (t: Task, depth: number, under: string | null) => {\n if (seen.has(t.id)) return\n seen.add(t.id)\n out.push({ task: t, depth: Math.min(depth, MAX_DEPTH), alsoAfter: deps(t).filter((d) => d !== under && d !== t.id) })\n for (const c of children.get(t.id) ?? []) visit(c, depth + 1, t.id)\n }\n for (const t of tasks) if (!parent.has(t.id)) visit(t, 0, null)\n // cycle members never reach a root: surface each as a root in input order\n for (const t of tasks) visit(t, 0, null)\n return out\n}\n\n// ─── Timeline ─────────────────────────────────────────────────────────────────\n\nexport function timelineBars(tasks: Task[], events: ActivityEvent[], nowMs: number): TimelineBar[] {\n const byTask = new Map<string, { ms: number; status?: TaskStatus }[]>()\n for (const e of events) {\n if (e.type !== \"task_updated\" || !e.taskId) continue\n const ms = Date.parse(e.timestamp)\n if (Number.isNaN(ms)) continue\n const list = byTask.get(e.taskId) ?? []\n list.push({ ms, status: e.taskStatus })\n byTask.set(e.taskId, list)\n }\n const bars: TimelineBar[] = []\n for (const t of tasks) {\n const evs = byTask.get(t.id)?.sort((a, b) => a.ms - b.ms)\n if (!evs?.length) continue\n const startMs = (evs.find((e) => e.status === \"in-progress\") ?? evs[0]).ms\n const last = evs[evs.length - 1].ms\n const doneAt = evs.filter((e) => e.status === \"done\").pop()?.ms\n // ponytail: cancelled closes at its last event rather than stretching to now\n const open = t.status !== \"done\" && t.status !== \"cancelled\"\n const endMs = t.status === \"done\" ? doneAt ?? last : open ? nowMs : last\n bars.push({ taskId: t.id, epicId: epicOf(t.phase).id, startMs, endMs: Math.max(endMs, startMs), status: t.status, open })\n }\n return bars\n}\n\nconst MIN_PAD_MS = 60_000\n\nexport function foldAxis(bars: TimelineBar[], gapMs: number): AxisSegment[] {\n const wins = bars\n .map((b) => {\n const pad = Math.max((b.endMs - b.startMs) * 0.05, MIN_PAD_MS)\n return { startMs: b.startMs - pad, endMs: b.endMs + pad }\n })\n .sort((a, b) => a.startMs - b.startMs)\n const out: AxisSegment[] = []\n for (const w of wins) {\n const cur = out[out.length - 1]\n if (cur && w.startMs - cur.endMs < gapMs) cur.endMs = Math.max(cur.endMs, w.endMs)\n else out.push({ ...w })\n }\n return out\n}\n\n// ─── URL state ────────────────────────────────────────────────────────────────\n\nconst FILTER_PROPS: FilterProp[] = [\"status\", \"epic\", \"size\", \"due\", \"deps\", \"tests\", \"agent\", \"ready\", \"owner\"]\nconst FILTER_OPS: FilterRule[\"op\"][] = [\"is\", \"is-not\", \"before\", \"after\", \"is-set\", \"not-set\"]\nconst SORT_PROPS: SortProp[] = [\"status\", \"id\", \"epic\", \"size\", \"due\", \"title\"]\nconst GROUPS: GroupBy[] = [\"status\", \"epic\", \"size\", \"owner\", \"none\"]\nconst SUBGROUPS: ViewState[\"subGroup\"][] = [\"epic\", \"size\", \"none\"]\nconst SCALES: TimelineScale[] = [\"active\", \"day\", \"week\"]\n\nconst pick = <T extends string>(allowed: readonly T[], v: string | null, fallback: T): T =>\n v !== null && (allowed as readonly string[]).includes(v) ? (v as T) : fallback\n\nconst sortsStr = (s: SortRule[]) => s.map((r) => (r.dir === \"desc\" ? \"-\" : \"\") + r.prop).join(\",\")\nconst filtersStr = (f: FilterRule[]) =>\n f.map((r) => [r.prop, r.op, ...(r.value.length ? [r.value.map(encodeURIComponent).join(\"|\")] : [])].join(\":\")).join(\";\")\n\nexport function toParams(state: ViewState): URLSearchParams {\n const d = defaultView(state.kind)\n const p = new URLSearchParams()\n if (state.kind !== \"board\") p.set(\"view\", state.kind)\n if (state.group !== d.group) p.set(\"g\", state.group)\n if (state.subGroup !== d.subGroup) p.set(\"sg\", state.subGroup)\n if (sortsStr(state.sorts) !== sortsStr(d.sorts)) p.set(\"s\", sortsStr(state.sorts))\n if (state.filters.length) p.set(\"f\", filtersStr(state.filters))\n if (state.q) p.set(\"q\", state.q)\n if (state.properties.join(\",\") !== d.properties.join(\",\")) p.set(\"p\", state.properties.join(\",\"))\n if (state.scale !== d.scale) p.set(\"sc\", state.scale)\n return p\n}\n\nexport function fromParams(params: URLSearchParams): ViewState {\n const kind = pick(KINDS, params.get(\"view\"), \"board\")\n const d = defaultView(kind)\n const s = params.get(\"s\")\n const f = params.get(\"f\")\n const p = params.get(\"p\")\n return {\n kind,\n group: pick(GROUPS, params.get(\"g\"), d.group),\n subGroup: pick(SUBGROUPS, params.get(\"sg\"), d.subGroup),\n sorts: s === null ? d.sorts : s.split(\",\").filter(Boolean).flatMap((tok): SortRule[] => {\n const desc = tok.startsWith(\"-\")\n const prop = desc ? tok.slice(1) : tok\n return SORT_PROPS.includes(prop as SortProp) ? [{ prop: prop as SortProp, dir: desc ? \"desc\" : \"asc\" }] : []\n }),\n filters: !f ? [] : f.split(\";\").flatMap((tok): FilterRule[] => {\n const [prop, op, ...rest] = tok.split(\":\")\n if (!FILTER_PROPS.includes(prop as FilterProp) || !FILTER_OPS.includes(op as FilterRule[\"op\"])) return []\n const raw = rest.join(\":\")\n let value: string[] = []\n try { value = rest.length ? raw.split(\"|\").map(decodeURIComponent) : [] } catch { return [] }\n return [{ prop: prop as FilterProp, op: op as FilterRule[\"op\"], value }]\n }),\n q: params.get(\"q\") ?? \"\",\n properties: p === null ? d.properties : [...new Set(p.split(\",\").filter((k): k is PropertyKey => ALL_PROPERTIES.includes(k as PropertyKey)))],\n scale: pick(SCALES, params.get(\"sc\"), d.scale),\n }\n}\n\nexport function isDirty(state: ViewState, saved: SavedView): boolean {\n const norm = (v: ViewState) =>\n JSON.stringify([v.kind, v.filters, v.sorts, v.group, v.subGroup, [...v.properties].sort(), v.scale])\n return norm(state) !== norm(saved)\n}\n","// Review history on a task (R043): a `## Review` section at the end of the task file, one `### ` entry per outcome.\n// Pure (no fs): core.ts writes the file; `node src/lib/review.check.mts` runs the self-check.\n//\n// ## Review\n// ### 2026-10-01T11:00:00Z — changes requested\n// The plan card doesn't scroll when there are 10+ tasks.\n// ### 2026-10-02T09:30:00Z — approved\n\nexport const REVIEW_HEADING = \"## Review\"\n\nexport type ReviewOutcome = \"approved\" | \"changes requested\"\n\nexport interface ReviewEntry {\n at: string\n outcome: ReviewOutcome\n note: string\n}\n\nconst ENTRY = /^###\\s+(\\S+)\\s+—\\s+(approved|changes requested)\\s*$/\n\n/** Lines inside ``` fences, so a quoted example is never taken for the real section. */\nfunction fenced(lines: string[]): boolean[] {\n let inFence = false\n return lines.map((l) => {\n if (/^\\s*```/.test(l)) { inFence = !inFence; return true }\n return inFence\n })\n}\n\nfunction sectionRange(lines: string[]): [number, number] | null {\n const code = fenced(lines)\n const start = lines.findIndex((l, i) => !code[i] && l.trim() === REVIEW_HEADING)\n if (start < 0) return null\n const next = lines.findIndex((l, i) => i > start && !code[i] && /^##\\s/.test(l))\n return [start, next < 0 ? lines.length : next]\n}\n\n/** Every review entry, oldest first. */\nexport function reviewHistory(raw: string): ReviewEntry[] {\n const lines = raw.split(\"\\n\")\n const range = sectionRange(lines)\n if (!range) return []\n const entries: ReviewEntry[] = []\n for (const line of lines.slice(range[0] + 1, range[1])) {\n const m = line.match(ENTRY)\n if (m) entries.push({ at: m[1], outcome: m[2] as ReviewOutcome, note: \"\" })\n else if (entries.length) {\n const last = entries[entries.length - 1]\n last.note = last.note ? `${last.note}\\n${line}` : line\n }\n }\n return entries.map((e) => ({ ...e, note: e.note.trim() }))\n}\n\nexport function latestReview(raw: string): ReviewEntry | null {\n const all = reviewHistory(raw)\n return all[all.length - 1] ?? null\n}\n\n/**\n * Add an entry to the `## Review` section (created at the end of the file if missing; an existing one keeps its\n * place and grows). A note is required for \"changes requested\".\n */\nexport function appendReviewEntry(raw: string, outcome: ReviewOutcome, note: string, at: string): string {\n const text = note.trim()\n if (outcome === \"changes requested\" && !text) throw new Error(\"A note is required to send a task back\")\n // \"## \" at the start of a note line would end the section early\n const body = text.split(\"\\n\").map((l) => (/^#{1,3}\\s/.test(l) ? `\\\\${l}` : l)).join(\"\\n\")\n const entry = [`### ${at} — ${outcome}`, ...(body ? [body] : [])]\n const lines = raw.split(\"\\n\")\n const range = sectionRange(lines)\n if (!range) return `${raw.replace(/\\s+$/, \"\")}\\n\\n${REVIEW_HEADING}\\n${entry.join(\"\\n\")}\\n`\n // Insert after the section's last non-empty line, before the blank lines that separate it from what follows\n let end = range[1]\n while (end > range[0] + 1 && !lines[end - 1].trim()) end--\n const out = [...lines.slice(0, end), ...entry, ...lines.slice(end)]\n const joined = out.join(\"\\n\")\n return range[1] === lines.length ? `${joined.replace(/\\s+$/, \"\")}\\n` : joined\n}\n"],"names":["NEXT_STATUS","todo","review","blocked","paused","done","cancelled","STATUS_LABELS","TaskDetailPanel","task","openTask","onClose","onMove","setTask","nextStatuses","status","chats","showAbout","rootParam","chat","kind","id","undefined","editingId","setEditingId","editing","error","setError","menuOpen","setMenuOpen","statusDefs","chatAbout","title","action","label","run","remove","e","message","open","onOpenChange","side","className","kicker","attach","menu","asChild","type","align","onSelect","map","d","disabled","properties","taskProperties","role","TaskEditForm","onDone","s","onClick","ReviewActions","taskId","raw","content","bodyOf","manualTests","href","total","ReviewHistory","entries","onNavigate","lines","split","i","findIndex","l","startsWith","length","trim","test","slice","join","epic","phase","value","chip","due","state","FIELD","base","setTitle","size","setSize","setPhase","dependsOn","setDependsOn","setDue","busy","setBusy","orDash","v","save","patch","Object","keys","onSubmit","preventDefault","onKeyDown","key","stopPropagation","autoFocus","onChange","target","placeholder","sendingBack","setSendingBack","note","setNote","act","res","fetch","method","headers","body","JSON","stringify","ok","Error","json","catch","rows","reverse","outcome","at","replace","SIZES","empty","TaskStatusField","moveTask","defs","options","node","find","TaskOwnerField","children","updateTaskFields","board","agents","Set","values","flat","t","owner","filter","o","sort","a","TaskSizeField","TaskDueField","TaskSessions","router","sessions","setSessions","qs","encodeURIComponent","then","r","data","Array","isArray","push","actor","start","headline","post","url","updateTask","deleteTaskWithUndo","removed","links","file","ALL_PROPERTIES","KINDS","NAMES","table","timeline","defaultView","filters","sorts","group","subGroup","q","scale","prop","dir","DEFAULT_VIEWS","name","STATUS_ORDER","STATUS_LABEL","cmpId","b","localeCompare","numeric","isOpen","deps","match","toUpperCase","displayOf","customStatus","ownerKindOf","epicOf","m","sizeOf","isReady","byId","every","get","matches","ctx","any","includes","oneOf","op","flag","set","agentTasks","has","compare","indexOf","x","y","applyView","tasks","Map","showCancelled","some","toLowerCase","c","nullLast","groupTasks","by","statuses","epicId","buckets","keyOf","k","list","lowestOpen","ox","oy","out","Boolean","MAX_DEPTH","depOutline","inList","parent","p","seen","visit","depth","under","add","Math","min","alsoAfter","timelineBars","events","nowMs","byTask","ms","Date","parse","timestamp","Number","isNaN","taskStatus","bars","evs","startMs","last","doneAt","pop","endMs","max","MIN_PAD_MS","foldAxis","gapMs","wins","pad","w","cur","FILTER_PROPS","FILTER_OPS","SORT_PROPS","GROUPS","SUBGROUPS","SCALES","pick","allowed","fallback","sortsStr","filtersStr","f","toParams","URLSearchParams","fromParams","params","flatMap","tok","desc","rest","decodeURIComponent","isDirty","saved","norm","REVIEW_HEADING","ENTRY","fenced","inFence","sectionRange","code","next","reviewHistory","range","line","latestReview","all","appendReviewEntry","text","entry","end","joined"],"mappings":"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","ignoreList":[0]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[91222,a=>{"use strict";var b=a.i(174897),c=a.i(691321),d=a.i(521831),e=a.i(776692),f=a.i(662145),g=Object.defineProperty,h=(a,b)=>g(a,"name",{value:b,configurable:!0});function i(a){let g=a+"CollectionProvider",[i,j]=(0,c.createContextScope)(g),[k,l]=i(g,{collectionRef:{current:null},itemMap:new Map}),m=h(a=>{let{scope:c,children:d}=a,e=b.useRef(null),g=b.useRef(new Map).current;return(0,f.jsx)(k,{scope:c,itemMap:g,collectionRef:e,children:d})},"CollectionProvider");m.displayName=g;let n=a+"CollectionSlot",o=(0,e.createSlot)(n),p=b.forwardRef((a,b)=>{let{scope:c,children:e}=a,g=l(n,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,f.jsx)(o,{ref:h,children:e})});p.displayName=n;let q=a+"CollectionItemSlot",r="data-radix-collection-item",s=(0,e.createSlot)(q),t=b.forwardRef((a,c)=>{let{scope:e,children:g,...h}=a,i=b.useRef(null),j=(0,d.useComposedRefs)(c,i),k=l(q,e);return b.useEffect(()=>(k.itemMap.set(i,{ref:i,...h}),()=>void k.itemMap.delete(i))),(0,f.jsx)(s,{...{[r]:""},ref:j,children:g})});function u(c){let d=l(a+"CollectionConsumer",c);return b.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${r}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])}return t.displayName=q,h(u,"useCollection"),[{Provider:m,Slot:p,ItemSlot:t},u,j]}h(i,"createCollection");var j=new WeakMap,k=class a extends Map{static{h(this,"OrderedDict")}#a;constructor(a){super(a),this.#a=[...super.keys()],j.set(this,!0)}set(a,b){return j.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=n(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#a],l=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{l||k[a-1]!==b||(l=!0);let c=k[l?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=l(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=l(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return l(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}};function l(a,b){if("at"in Array.prototype)return Array.prototype.at.call(a,b);let c=m(a,b);return -1===c?void 0:a[c]}function m(a,b){let c=a.length,d=n(b),e=d>=0?d:c+d;return e<0||e>=c?-1:e}function n(a){return a!=a||0===a?0:Math.trunc(a)}function o(a,b){if(a===b)return!0;if("object"!=typeof a||"object"!=typeof b||null==a||null==b)return!1;let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let d of c)if(!Object.prototype.hasOwnProperty.call(b,d)||a[d]!==b[d])return!1;return!0}function p(a,b){return!!(b.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_PRECEDING)}function q(a,b){return a[1].element&&b[1].element?p(a[1].element,b[1].element)?-1:1:0}function r(a){return new MutationObserver(b=>{for(let c of b)if("childList"===c.type)return void a()})}h(l,"at"),h(m,"toSafeIndex"),h(n,"toSafeInteger"),h(function(a){let g=a+"CollectionProvider",[i,j]=(0,c.createContextScope)(g),[l,m]=i(g,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new k,setItemMap:h(()=>void 0,"setItemMap")}),n=h(({state:a,...b})=>a?(0,f.jsx)(s,{...b,state:a}):(0,f.jsx)(p,{...b}),"CollectionProvider");n.displayName=g;let p=h(a=>{let b=z();return(0,f.jsx)(s,{...a,state:b})},"CollectionInit");p.displayName=g+"Init";let s=h(a=>{let{scope:c,children:e,state:g}=a,h=b.useRef(null),[i,j]=b.useState(null),k=(0,d.useComposedRefs)(h,j),[m,n]=g;return b.useEffect(()=>{if(!i)return;let a=r(()=>{});return a.observe(i,{childList:!0,subtree:!0}),()=>{a.disconnect()}},[i]),(0,f.jsx)(l,{scope:c,itemMap:m,setItemMap:n,collectionRef:k,collectionRefObject:h,collectionElement:i,children:e})},"CollectionProviderImpl");s.displayName=g+"Impl";let t=a+"CollectionSlot",u=(0,e.createSlot)(t),v=b.forwardRef((a,b)=>{let{scope:c,children:e}=a,g=m(t,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,f.jsx)(u,{ref:h,children:e})});v.displayName=t;let w=a+"CollectionItemSlot",x=(0,e.createSlot)(w),y=b.forwardRef((a,c)=>{let{scope:e,children:g,...h}=a,i=b.useRef(null),[j,l]=b.useState(null),n=(0,d.useComposedRefs)(c,i,l),{setItemMap:p}=m(w,e),r=b.useRef(h);o(r.current,h)||(r.current=h);let s=r.current;return b.useEffect(()=>(p(a=>j?a.has(j)?a.set(j,{...s,element:j}).toSorted(q):(a.set(j,{...s,element:j}),a.toSorted(q)):a),()=>{p(a=>j&&a.has(j)?(a.delete(j),new k(a)):a)}),[j,s,p]),(0,f.jsx)(x,{"data-radix-collection-item":"",ref:n,children:g})});function z(){return b.useState(new k)}function A(b){let{itemMap:c}=m(a+"CollectionConsumer",b);return c}return y.displayName=w,h(z,"useInitCollection"),h(A,"useCollection"),[{Provider:n,Slot:v,ItemSlot:y},{createCollectionScope:j,useCollection:A,useInitCollection:z}]},"createCollection"),h(o,"shallowEqual"),h(p,"isElementPreceding"),h(q,"sortByDocumentPosition"),h(r,"getChildListObserver"),a.s(["createCollection",0,i])},923053,a=>{"use strict";var b=a.i(174897),c=a.i(196265),d=a.i(521831),e=a.i(691321),f=a.i(635163),g=a.i(541151),h=a.i(555595),i=a.i(289923),j=a.i(585851),k=a.i(818920),l=a.i(436102),m=a.i(592182),n=a.i(967683),o=a.i(310859),p=a.i(516164),q=a.i(776692),r=a.i(662145),s=Object.defineProperty,t=(a,b)=>s(a,"name",{value:b,configurable:!0}),u="Dialog",[v,w]=(0,e.createContextScope)(u),[x,y]=v(u),z=t(a=>{let{__scopeDialog:c,children:d,open:e,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=b.useRef(null),l=b.useRef(null),[m,n]=(0,g.useControllableState)({prop:e,defaultProp:h??!1,onChange:i,caller:u}),[o,p]=b.useState(0),[q,s]=b.useState(0);return(0,r.jsx)(x,{scope:c,triggerRef:k,contentRef:l,contentId:(0,f.useId)(),titleId:(0,f.useId)(),descriptionId:(0,f.useId)(),titlePresent:o>0,descriptionPresent:q>0,setTitleCount:p,setDescriptionCount:s,open:m,onOpenChange:n,onOpenToggle:b.useCallback(()=>n(a=>!a),[n]),modal:j,children:d})},"Dialog"),A=b.forwardRef(t(function(a,b){let{__scopeDialog:e,...f}=a,g=y("DialogTrigger",e),h=(0,d.useComposedRefs)(b,g.triggerRef);return(0,r.jsx)(l.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":R(g.open),...f,ref:h,onClick:(0,c.composeEventHandlers)(a.onClick,g.onOpenToggle)})},"DialogTrigger")),B="DialogPortal",[C,D]=v(B,{forceMount:void 0}),E=t(a=>{let{__scopeDialog:c,forceMount:d,children:e,container:f}=a,g=y(B,c);return(0,r.jsx)(C,{scope:c,forceMount:d,children:b.Children.map(e,a=>(0,r.jsx)(k.Presence,{present:d||g.open,children:(0,r.jsx)(j.Portal,{asChild:!0,container:f,children:a})}))})},"DialogPortal"),F="DialogOverlay",G=b.forwardRef(t(function(a,b){let c=D(F,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=y(F,a.__scopeDialog);return f.modal?(0,r.jsx)(k.Presence,{present:d||f.open,children:(0,r.jsx)(I,{...e,ref:b})}):null},"DialogOverlay")),H=(0,q.createSlot)("DialogOverlay.RemoveScroll"),I=b.forwardRef(t(function(a,b){let{__scopeDialog:c,...e}=a,f=y(F,c),g=(0,h.useDismissableLayerSurface)(),i=(0,d.useComposedRefs)(b,g);return(0,r.jsx)(o.RemoveScroll,{as:H,allowPinchZoom:!0,shards:[f.contentRef],children:(0,r.jsx)(l.Primitive.div,{"data-state":R(f.open),...e,ref:i,style:{pointerEvents:"auto",...e.style}})})},"DialogOverlayImpl")),J="DialogContent",K=b.forwardRef(t(function(a,b){let c=D(J,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=y(J,a.__scopeDialog);return(0,r.jsx)(k.Presence,{present:d||f.open,children:f.modal?(0,r.jsx)(L,{...e,ref:b}):(0,r.jsx)(M,{...e,ref:b})})},"DialogContent")),L=b.forwardRef(t(function(a,e){let f=y(J,a.__scopeDialog),g=b.useRef(null),h=(0,d.useComposedRefs)(e,f.contentRef,g);return b.useEffect(()=>{let a=g.current;if(a)return(0,p.hideOthers)(a)},[]),(0,r.jsx)(N,{...a,ref:h,trapFocus:f.open,disableOutsidePointerEvents:f.open,onCloseAutoFocus:(0,c.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),f.triggerRef.current?.focus()}),onPointerDownOutside:(0,c.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;(2===b.button||c)&&a.preventDefault()}),onFocusOutside:(0,c.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault())})},"DialogContentModal")),M=b.forwardRef(t(function(a,c){let d=y(J,a.__scopeDialog),e=b.useRef(!1),f=b.useRef(!1);return(0,r.jsx)(N,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(e.current||d.triggerRef.current?.focus(),b.preventDefault()),e.current=!1,f.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(e.current=!0,"pointerdown"===b.detail.originalEvent.type&&(f.current=!0));let c=b.target;d.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&f.current&&b.preventDefault()}})},"DialogContentNonModal")),N=b.forwardRef(t(function(a,b){let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:f,...g}=a,j=y(J,c);return(0,m.useFocusGuards)(),(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(i.FocusScope,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:f,children:(0,r.jsx)(h.DismissableLayer,{role:"dialog",id:j.contentId,"aria-describedby":j.descriptionPresent?j.descriptionId:void 0,"aria-labelledby":j.titlePresent?j.titleId:void 0,"data-state":R(j.open),...g,ref:b,deferPointerDownOutside:!0,onDismiss:()=>j.onOpenChange(!1)})})})},"DialogContentImpl")),O=b.forwardRef(t(function(a,b){let{__scopeDialog:c,...d}=a,e=y("DialogTitle",c),{setTitleCount:f}=e;return(0,n.useLayoutEffect)(()=>(f(a=>a+1),()=>f(a=>a-1)),[f]),(0,r.jsx)(l.Primitive.h2,{id:e.titleId,...d,ref:b})},"DialogTitle")),P=b.forwardRef(t(function(a,b){let{__scopeDialog:c,...d}=a,e=y("DialogDescription",c),{setDescriptionCount:f}=e;return(0,n.useLayoutEffect)(()=>(f(a=>a+1),()=>f(a=>a-1)),[f]),(0,r.jsx)(l.Primitive.p,{id:e.descriptionId,...d,ref:b})},"DialogDescription")),Q=b.forwardRef(t(function(a,b){let{__scopeDialog:d,...e}=a,f=y("DialogClose",d);return(0,r.jsx)(l.Primitive.button,{type:"button",...e,ref:b,onClick:(0,c.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})},"DialogClose"));function R(a){return a?"open":"closed"}t(R,"getState"),a.s(["Close",0,Q,"Content",0,K,"Description",0,P,"Overlay",0,G,"Portal",0,E,"Root",0,z,"Title",0,O,"Trigger",0,A])},555595,a=>{"use strict";var b,c=a.i(174897),d=a.i(196265),e=a.i(436102),f=a.i(521831),g=a.i(133387),h=a.i(662145),i=Object.defineProperty,j=(a,b)=>i(a,"name",{value:b,configurable:!0}),k="dismissableLayer.update",l=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),m=c.forwardRef(j(function(a,i){let{disableOutsidePointerEvents:m=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:t,onInteractOutside:u,onDismiss:v,...w}=a,x=c.useContext(l),[y,z]=c.useState(null),A=y?.ownerDocument??globalThis?.document,[,B]=c.useState({}),C=(0,f.useComposedRefs)(i,z),D=Array.from(x.layers),[E]=[...x.layersWithOutsidePointerEventsDisabled].slice(-1),F=E?D.indexOf(E):-1,G=y?D.indexOf(y):-1,H=x.layersWithOutsidePointerEventsDisabled.size>0,I=G>=F,J=c.useRef(!1),K=p(a=>{s?.(a),u?.(a),a.defaultPrevented||v?.()},{ownerDocument:A,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:J,dismissableSurfaces:x.dismissableSurfaces,shouldHandlePointerDownOutside:c.useCallback(a=>{if(!(a instanceof Node))return!1;let b=[...x.branches].some(b=>b.contains(a));return I&&!b},[x.branches,I])}),L=q(a=>{if(n&&J.current)return;let b=a.target;![...x.branches].some(a=>a.contains(b))&&(t?.(a),u?.(a),a.defaultPrevented||v?.())},A),M=!!y&&G===D.length-1,N=(0,g.useCallbackRef)(a=>{"Escape"===a.key&&(o?.(a),!a.defaultPrevented&&v&&(a.preventDefault(),v()))});return c.useEffect(()=>{if(M)return A.addEventListener("keydown",N,{capture:!0}),()=>A.removeEventListener("keydown",N,{capture:!0})},[A,M,N]),c.useEffect(()=>{if(y)return m&&(0===x.layersWithOutsidePointerEventsDisabled.size&&(b=A.body.style.pointerEvents,A.body.style.pointerEvents="none"),x.layersWithOutsidePointerEventsDisabled.add(y)),x.layers.add(y),r(),()=>{m&&(x.layersWithOutsidePointerEventsDisabled.delete(y),0===x.layersWithOutsidePointerEventsDisabled.size&&(A.body.style.pointerEvents=b))}},[y,A,m,x]),c.useEffect(()=>()=>{y&&(x.layers.delete(y),x.layersWithOutsidePointerEventsDisabled.delete(y),r())},[y,x]),c.useEffect(()=>{let a=j(()=>B({}),"handleUpdate");return document.addEventListener(k,a),()=>document.removeEventListener(k,a)},[]),(0,h.jsx)(e.Primitive.div,{...w,ref:C,style:{pointerEvents:H?I?"auto":"none":void 0,...a.style},onFocusCapture:(0,d.composeEventHandlers)(a.onFocusCapture,L.onFocusCapture),onBlurCapture:(0,d.composeEventHandlers)(a.onBlurCapture,L.onBlurCapture),onPointerDownCapture:(0,d.composeEventHandlers)(a.onPointerDownCapture,K.onPointerDownCapture)})},"DismissableLayer"));function n(){let a=c.useContext(l),[b,d]=c.useState(null);return c.useEffect(()=>{if(b)return a.dismissableSurfaces.add(b),()=>{a.dismissableSurfaces.delete(b)}},[b,a.dismissableSurfaces]),d}j(n,"useDismissableLayerSurface");var o=j(()=>!0,"IS_TRUE");function p(a,b){let{ownerDocument:d=globalThis?.document,deferPointerDownOutside:e=!1,isDeferredPointerDownOutsideRef:f,dismissableSurfaces:h,shouldHandlePointerDownOutside:i=o}=b,k=(0,g.useCallbackRef)(a),l=c.useRef(!1),m=c.useRef(!1),n=c.useRef(new Map),p=c.useRef(()=>{});return c.useEffect(()=>{function a(){m.current=!1,f.current=!1,n.current.clear()}function b(){return Array.from(n.current.values()).some(Boolean)}function c(a){if(!m.current)return;let b=a.target;b instanceof Node&&[...h].some(a=>a.contains(b))||n.current.set(a.type,!0),"click"===a.type&&window.setTimeout(()=>{m.current&&p.current()},0)}function g(a){m.current&&n.current.set(a.type,!1)}j(a,"resetOutsideInteraction"),j(b,"isOutsideInteractionIntercepted"),j(c,"handleInteractionCapture"),j(g,"handleInteractionBubble");let o=j(c=>{if(c.target&&!l.current){let g=function(){d.removeEventListener("click",p.current);let c=b();a(),c||s("dismissableLayer.pointerDownOutside",k,h,{discrete:!0})};if(j(g,"handleAndDispatchPointerDownOutsideEvent"),!i(c.target)){d.removeEventListener("click",p.current),a(),l.current=!1;return}let h={originalEvent:c};m.current=!0,f.current=e&&0===c.button,n.current.clear(),e&&0===c.button?(d.removeEventListener("click",p.current),p.current=g,d.addEventListener("click",p.current,{once:!0})):g()}else d.removeEventListener("click",p.current),a();l.current=!1},"handlePointerDown"),q=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(let a of q)d.addEventListener(a,c,!0),d.addEventListener(a,g);let r=window.setTimeout(()=>{d.addEventListener("pointerdown",o)},0);return()=>{for(let a of(window.clearTimeout(r),d.removeEventListener("pointerdown",o),d.removeEventListener("click",p.current),q))d.removeEventListener(a,c,!0),d.removeEventListener(a,g)}},[d,k,e,f,h,i]),{onPointerDownCapture:j(()=>l.current=!0,"onPointerDownCapture")}}function q(a,b=globalThis?.document){let d=(0,g.useCallbackRef)(a),e=c.useRef(!1);return c.useEffect(()=>{let a=j(a=>{a.target&&!e.current&&s("dismissableLayer.focusOutside",d,{originalEvent:a},{discrete:!1})},"handleFocus");return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,d]),{onFocusCapture:j(()=>e.current=!0,"onFocusCapture"),onBlurCapture:j(()=>e.current=!1,"onBlurCapture")}}function r(){let a=new CustomEvent(k);document.dispatchEvent(a)}function s(a,b,c,{discrete:d}){let f=c.originalEvent.target,g=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});b&&f.addEventListener(a,b,{once:!0}),d?(0,e.dispatchDiscreteCustomEvent)(f,g):f.dispatchEvent(g)}j(p,"usePointerDownOutside"),j(q,"useFocusOutside"),j(r,"dispatchUpdate"),j(s,"handleAndDispatchCustomEvent"),a.s(["DismissableLayer",0,m,"useDismissableLayerSurface",0,n])},592182,a=>{"use strict";var b=a.i(174897),c=Object.defineProperty,d=(a,b)=>c(a,"name",{value:b,configurable:!0}),e=0,f=null;function g(){b.useEffect(()=>{f||(f={start:h(),end:h()});let{start:a,end:b}=f;return document.body.firstElementChild!==a&&document.body.insertAdjacentElement("afterbegin",a),document.body.lastElementChild!==b&&document.body.insertAdjacentElement("beforeend",b),e++,()=>{1===e&&(f?.start.remove(),f?.end.remove(),f=null),e=Math.max(0,e-1)}},[])}function h(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}d(function(a){return g(),a.children},"FocusGuards"),d(g,"useFocusGuards"),d(h,"createFocusGuard"),a.s(["useFocusGuards",0,g])},289923,a=>{"use strict";var b=a.i(174897),c=a.i(521831),d=a.i(436102),e=a.i(133387),f=a.i(662145),g=Object.defineProperty,h=(a,b)=>g(a,"name",{value:b,configurable:!0}),i="focusScope.autoFocusOnMount",j="focusScope.autoFocusOnUnmount",k={bubbles:!1,cancelable:!0},l=b.forwardRef(h(function(a,g){let{loop:l=!1,trapped:p=!1,onMountAutoFocus:q,onUnmountAutoFocus:r,...u}=a,[v,x]=b.useState(null),y=(0,e.useCallbackRef)(q),z=(0,e.useCallbackRef)(r),A=b.useRef(null),B=(0,c.useComposedRefs)(g,x),C=b.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;b.useEffect(()=>{if(p){let a=function(a){if(C.paused||!v)return;let b=a.target;v.contains(b)?A.current=b:s(A.current,{select:!0})},b=function(a){if(C.paused||!v)return;let b=a.relatedTarget;null!==b&&(v.contains(b)||s(A.current,{select:!0}))},c=function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&s(v)};h(a,"handleFocusIn"),h(b,"handleFocusOut"),h(c,"handleMutations"),document.addEventListener("focusin",a),document.addEventListener("focusout",b);let d=new MutationObserver(c);return v&&d.observe(v,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),d.disconnect()}}},[p,v,C.paused]),b.useEffect(()=>{if(v){t.add(C);let a=document.activeElement;if(!v.contains(a)){let b=new CustomEvent(i,k);v.addEventListener(i,y),v.dispatchEvent(b),b.defaultPrevented||(m(w(o(v)),{select:!0}),document.activeElement===a&&s(v))}return()=>{v.removeEventListener(i,y),setTimeout(()=>{let b=new CustomEvent(j,k);v.addEventListener(j,z),v.dispatchEvent(b),b.defaultPrevented||s(a??document.body,{select:!0}),v.removeEventListener(j,z),t.remove(C)},0)}}},[v,y,z,C]);let D=b.useCallback(a=>{if(!l&&!p||C.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,c=document.activeElement;if(b&&c){let b=a.currentTarget,[d,e]=n(b);d&&e?a.shiftKey||c!==e?a.shiftKey&&c===d&&(a.preventDefault(),l&&s(e,{select:!0})):(a.preventDefault(),l&&s(d,{select:!0})):c===b&&a.preventDefault()}},[l,p,C.paused]);return(0,f.jsx)(d.Primitive.div,{tabIndex:-1,...u,ref:B,onKeyDown:D})},"FocusScope"));function m(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(s(d,{select:b}),document.activeElement!==c)return}function n(a){let b=o(a);return[p(b,a),p(b.reverse(),a)]}function o(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:h(a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;c.nextNode();)b.push(c.currentNode);return b}function p(a,b){let c="function"==typeof b.checkVisibility&&b.checkVisibility({checkVisibilityCSS:!0});for(let d of a)if(!(c?!d.checkVisibility({checkVisibilityCSS:!0}):q(d,{upTo:b})))return d}function q(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}function r(a){return a instanceof HTMLInputElement&&"select"in a}function s(a,{select:b=!1}={}){if(a&&a.focus){let c=document.activeElement;a.focus({preventScroll:!0}),a!==c&&r(a)&&b&&a.select()}}h(m,"focusFirst"),h(n,"getTabbableEdges"),h(o,"getTabbableCandidates"),h(p,"findVisible"),h(q,"isHidden"),h(r,"isSelectableInput"),h(s,"focus");var t=u();function u(){let a=[];return{add(b){let c=a[0];b!==c&&c?.pause(),(a=v(a,b)).unshift(b)},remove(b){a=v(a,b),a[0]?.resume()}}}function v(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}function w(a){return a.filter(a=>"A"!==a.tagName)}h(u,"createFocusScopesStack"),h(v,"arrayRemove"),h(w,"removeLinks"),a.s(["FocusScope",0,l])},668953,a=>{"use strict";let b;var c=a.i(174897);let d=["top","right","bottom","left"],e=Math.min,f=Math.max,g=Math.round,h=Math.floor,i=a=>({x:a,y:a}),j={left:"right",right:"left",bottom:"top",top:"bottom"};function k(a,b){return"function"==typeof a?a(b):a}function l(a){return a.split("-")[0]}function m(a){return a.split("-")[1]}function n(a){return"x"===a?"y":"x"}function o(a){return"y"===a?"height":"width"}function p(a){let b=a[0];return"t"===b||"b"===b?"y":"x"}function q(a){return a.includes("start")?a.replace("start","end"):a.replace("end","start")}let r=["left","right"],s=["right","left"],t=["top","bottom"],u=["bottom","top"];function v(a){let b=l(a);return j[b]+a.slice(b.length)}function w(a){var b,c,d,e;return"number"!=typeof a?{top:null!=(b=a.top)?b:0,right:null!=(c=a.right)?c:0,bottom:null!=(d=a.bottom)?d:0,left:null!=(e=a.left)?e:0}:{top:a,right:a,bottom:a,left:a}}function x(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function y(a,b,c){let d,{reference:e,floating:f}=a,g=p(b),h=n(p(b)),i=o(h),j=l(b),k=e.x+e.width/2-f.width/2,q=e.y+e.height/2-f.height/2,r=e[i]/2-f[i]/2;switch(j){case"top":d={x:k,y:e.y-f.height};break;case"bottom":d={x:k,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:q};break;case"left":d={x:e.x-f.width,y:q};break;default:d={x:e.x,y:e.y}}let s=m(b);return s&&(d[h]+=r*("end"===s?1:-1)*(c&&"y"===g?-1:1)),d}async function z(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:l="viewport",elementContext:m="floating",altBoundary:n=!1,padding:o=0}=k(b,a),p=w(o),q=h[n?"floating"===m?"reference":"floating":m],r=x(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(q)))||c?q:q.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:l,strategy:i})),s="floating"===m?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,t=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),u=await (null==f.isElement?void 0:f.isElement(t))&&await (null==f.getScale?void 0:f.getScale(t))||{x:1,y:1},v=x(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:s,offsetParent:t,strategy:i}):s);return{top:(r.top-v.top+p.top)/u.y,bottom:(v.bottom-r.bottom+p.bottom)/u.y,left:(r.left-v.left+p.left)/u.x,right:(v.right-r.right+p.right)/u.x}}let A=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=g.detectOverflow?g:{...g,detectOverflow:z},i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=y(j,d,i),m=d,n=0,o={};for(let c=0;c<f.length;c++){let p=f[c];if(!p)continue;let{name:q,fn:r}=p,{x:s,y:t,data:u,reset:v}=await r({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:o,rects:j,platform:h,elements:{reference:a,floating:b}});k=null!=s?s:k,l=null!=t?t:l,o[q]={...o[q],...u},v&&n<50&&(n++,"object"==typeof v&&(v.placement&&(m=v.placement),v.rects&&(j=!0===v.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):v.rects),{x:k,y:l}=y(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:o}};function B(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function C(a){return d.some(b=>a[b]>=0)}let D=new Set(["left","top"]);async function E(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=l(c),h=m(c),i="y"===p(c),j=D.has(g)?-1:1,n=f&&i?-1:1,o=k(b,a),{mainAxis:q,crossAxis:r,alignmentAxis:s}="number"==typeof o?{mainAxis:o,crossAxis:0,alignmentAxis:null}:{mainAxis:o.mainAxis||0,crossAxis:o.crossAxis||0,alignmentAxis:o.alignmentAxis};return h&&"number"==typeof s&&(r="end"===h?-1*s:s),i?{x:r*n,y:q*j}:{x:q*j,y:r*n}}function F(a){return function(a){return!1}(a)?(a.nodeName||"").toLowerCase():"#document"}function G(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function H(a){var b;return null==(b=(function(a){return!1}(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function I(a){return!1}function J(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=R(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&"inline"!==e&&"contents"!==e}function K(a){try{if(a.matches(":popover-open"))return!0}catch(a){}try{return a.matches(":modal")}catch(a){return!1}}let L=/transform|translate|scale|rotate|perspective|filter/,M=/paint|layout|strict|content/,N=a=>!!a&&"none"!==a;function O(a){let b=a;return N(b.transform)||N(b.translate)||N(b.scale)||N(b.rotate)||N(b.perspective)||!P()&&(N(b.backdropFilter)||N(b.filter))||L.test(b.willChange||"")||M.test(b.contain||"")}function P(){return null==b&&(b="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),b}function Q(a){return/^(html|body|#document)$/.test(F(a))}function R(a){return G(a).getComputedStyle(a)}function S(a){return{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function T(a){if("html"===F(a))return a;let b=a.assignedSlot||a.parentNode||H(a);return b}function U(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=T(b);return Q(c)?(b.ownerDocument||b).body:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=G(e);if(!f)return b.concat(e,U(e,[],c));{let a=V(g);return b.concat(g,g.visualViewport||[],J(e)?e:[],a&&c?U(a):[])}}function V(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function W(a){let b=R(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=c,f=d,h=g(c)!==e||g(d)!==f;return h&&(c=e,d=f),{width:c,height:d,$:h}}function X(a){return 0,a.contextElement}function Y(a){let b=X(a);1;return i(1)}let Z=i(0);function $(a){let b=G(a);return P()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:Z}function _(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=X(a),h=i(1);b&&(d||(h=Y(a)));let j=(void 0===(e=c)&&(e=!1),d&&e&&d===G(g))?$(g):i(0),k=(f.left+j.x)/h.x,l=(f.top+j.y)/h.y,m=f.width/h.x,n=f.height/h.y;if(g&&d){let a=G(g),b=d,c=a,e=V(c);for(;e&&b!==c;){let a=Y(e),b=e.getBoundingClientRect(),d=R(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;k*=a.x,l*=a.y,m*=a.x,n*=a.y,k+=f,l+=g,e=V(c=G(e))}}return x({width:m,height:n,x:k,y:l})}function aa(a,b){let c=S(a).scrollLeft;return b?b.left+c:_(H(a)).left+c}function ab(a,b){let c=a.getBoundingClientRect();return{x:c.left+b.scrollLeft-aa(a,c),y:c.top+b.scrollTop}}function ac(a,b,c){var d;let e;if("viewport"===b||"layoutViewport"===b)e=function(a,b,c){void 0===c&&(c="viewport");let d="layoutViewport"===c,e=G(a),f=H(a),g=e.visualViewport,h=f.clientWidth,i=f.clientHeight,j=0,k=0;if(g){let a=!P()||"fixed"===b;d?a||(j=-g.offsetLeft,k=-g.offsetTop):(h=g.width,i=g.height,a&&(j=g.offsetLeft,k=g.offsetTop))}if(0>=aa(f)){let a=f.ownerDocument,b=a.body,c=getComputedStyle(b),d="CSS1Compat"===a.compatMode&&parseFloat(c.marginLeft)+parseFloat(c.marginRight)||0,e=Math.abs(f.clientWidth-b.clientWidth-d),g="stable both-edges"===getComputedStyle(f).scrollbarGutter?e/2:e;g<=25&&(h-=g)}return{width:h,height:i,x:j,y:k}}(a,c,b);else if("document"===b){let b,c,g,h,i,j;b=S(d=H(a)),c=d.ownerDocument.body,g=f(d.scrollWidth,d.clientWidth,c.scrollWidth,c.clientWidth),h=f(d.scrollHeight,d.clientHeight,c.scrollHeight,c.clientHeight),i=-b.scrollLeft+aa(d),j=-b.scrollTop,"rtl"===R(c).direction&&(i+=f(d.clientWidth,c.clientWidth)-g),e={width:g,height:h,x:i,y:j}}else if(1){let c=$(a);e={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}else{let a,d,f,g,h,i;d=(a=_(b,!0,"fixed"===c)).top+b.clientTop,f=a.left+b.clientLeft,g=Y(b),h=b.clientWidth*g.x,i=b.clientHeight*g.y,e={width:h,height:i,x:f*g.x,y:d*g.y}}return x(e)}function ad(a){return"static"===R(a).position}function ae(a,b){1;return null}function af(a,b){var c;let d=G(a);if(K(a))return d;1;{let b=T(a);for(;b&&!Q(b);){0;b=T(b)}return d}}let ag=async function(a){let b=this.getOffsetParent||af,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){let d=H(b),e="fixed"===c,f=_(a,!0,e,b),g={scrollLeft:0,scrollTop:0},h=i(0);!e&&(("body"!==F(b)||J(d))&&(g=S(b)),0);d&&(h.x=aa(d));let j=!d||e?i(0):ab(d,g);return{x:f.left+g.scrollLeft-h.x-j.x,y:f.top+g.scrollTop-h.y-j.y,width:f.width,height:f.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},ah={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){let{elements:b,rect:c,offsetParent:d,strategy:e}=a,f="fixed"===e,g=H(d),h=!!b&&K(b.floating);if(d===g||h&&f)return c;let j={scrollLeft:0,scrollTop:0},k=i(1),l=i(0);!f&&(("body"!==F(d)||J(g))&&(j=S(d)),0);let m=!g||f?i(0):ab(g,j);return{width:c.width*k.x,height:c.height*k.y,x:c.x*k.x-j.scrollLeft*k.x+l.x+m.x,y:c.y*k.y-j.scrollTop*k.y+l.y+m.y}},getDocumentElement:H,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:g}=a,h=[..."clippingAncestors"===c?K(b)?[]:function(a,b){let c=b.get(a);if(c)return c;let d=U(a,[],!1).filter(a=>!1),e="fixed"===R(a).position,f=e?T(a):a;return b.set(a,d),d}(b,this._c):[].concat(c),d],i=ac(b,h[0],g),j=i.top,k=i.right,l=i.bottom,m=i.left;for(let a=1;a<h.length;a++){let c=ac(b,h[a],g);j=f(c.top,j),k=e(c.right,k),l=e(c.bottom,l),m=f(c.left,m)}return{width:k-m,height:l-j,x:m,y:j}},getOffsetParent:af,getElementRects:ag,getClientRects:function(a){return a.getClientRects?Array.from(a.getClientRects()):[]},getDimensions:function(a){let{width:b,height:c}=W(a);return{width:b,height:c}},getScale:Y,isElement:I,isRTL:function(a){return"rtl"===R(a).direction}};function ai(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let aj=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:d,placement:g,rects:h,platform:i,elements:j,middlewareData:l}=b,{element:q,padding:r=0}=k(a,b)||{};if(null==q)return{};let s=w(r),t={x:c,y:d},u=n(p(g)),v=o(u),x=await i.getDimensions(q),y="y"===u,z=y?"clientHeight":"clientWidth",A=h.reference[v]+h.reference[u]-t[u]-h.floating[v],B=t[u]-h.reference[u],C=await (null==i.getOffsetParent?void 0:i.getOffsetParent(q)),D=C?C[z]:0;D&&await (null==i.isElement?void 0:i.isElement(C))||(D=j.floating[z]||h.floating[v]);let E=D/2-x[v]/2-1,F=e(s[y?"top":"left"],E),G=e(s[y?"bottom":"right"],E),H=D-x[v]-G,I=D/2-x[v]/2+(A/2-B/2),J=f(F,e(I,H)),K=!l.arrow&&null!=m(g)&&I!==J&&h.reference[v]/2-(I<F?F:G)-x[v]/2<0,L=K?I<F?I-F:I-H:0;return{[u]:t[u]+L,data:{[u]:J,centerOffset:I-J-L,...K&&{alignmentOffset:L}},reset:K}}});var ak=a.i(41721),al="u">typeof document?c.useLayoutEffect:function(){};function am(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!am(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!am(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function an(a,b){return Math.round(+b)/1}function ao(a){let b=c.useRef(a);return al(()=>{b.current=a}),b}var ap=a.i(436102),aq=a.i(662145),ar=Object.defineProperty,as=c.forwardRef(ar(function(a,b){let{children:c,width:d=10,height:e=5,...f}=a;return(0,aq.jsx)(ap.Primitive.svg,{...f,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,aq.jsx)("polygon",{points:"0,0 30,0 15,10"})})},"name",{value:"Arrow",configurable:!0})),at=a.i(521831),au=a.i(691321),av=a.i(133387),aw=a.i(967683);function ax(a){let[b,d]=c.useState(void 0);return(0,aw.useLayoutEffect)(()=>{if(a){d({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let c,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;c=b.inlineSize,e=b.blockSize}else c=a.offsetWidth,e=a.offsetHeight;d({width:c,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}d(void 0)},[a]),b}(0,Object.defineProperty)(ax,"name",{value:"useSize",configurable:!0});var ay=Object.defineProperty,az=(a,b)=>ay(a,"name",{value:b,configurable:!0}),aA="Popper",[aB,aC]=(0,au.createContextScope)(aA),[aD,aE]=aB(aA),aF=az(a=>{let{__scopePopper:b,children:d}=a,[e,f]=c.useState(null),[g,h]=c.useState(void 0);return(0,aq.jsx)(aD,{scope:b,anchor:e,onAnchorChange:f,placementState:g,setPlacementState:h,children:d})},"Popper"),aG=c.forwardRef(az(function(a,b){let{__scopePopper:d,virtualRef:e,...f}=a,g=aE("PopperAnchor",d),h=c.useRef(null),i=g.onAnchorChange,j=c.useCallback(a=>{h.current=a,a&&i(a)},[i]),k=(0,at.useComposedRefs)(b,j),l=c.useRef(null);c.useEffect(()=>{if(!e)return;let a=l.current;l.current=e.current,a!==l.current&&i(l.current)});let m=g.placementState&&aP(g.placementState),n=m?.[0],o=m?.[1];return e?null:(0,aq.jsx)(ap.Primitive.div,{"data-radix-popper-side":n,"data-radix-popper-align":o,...f,ref:k})},"PopperAnchor")),aH="PopperContent",[aI,aJ]=aB(aH),aK=c.forwardRef(az(function(a,b){var d,g,i,j,w,x,y,z,F,I,J,K,L;let M,N,O,P,Q,R,{__scopePopper:S,side:T="bottom",sideOffset:V=0,align:W="center",alignOffset:Y=0,arrowPadding:Z=0,avoidCollisions:$=!0,collisionBoundary:aa=[],collisionPadding:ab=0,sticky:ac="partial",hideWhenDetached:ad=!1,updatePositionStrategy:ae="optimized",onPlaced:af,...ag}=a,ar=aE(aH,S),[as,au]=c.useState(null),ay=(0,at.useComposedRefs)(b,au),[aA,aB]=c.useState(null),aC=ax(aA),aD=aC?.width??0,aF=aC?.height??0,aG="number"==typeof ab?ab:{top:0,right:0,bottom:0,left:0,...ab},aJ=Array.isArray(aa)?aa:[aa],aK=aJ.length>0,aL={padding:aG,boundary:aJ.filter(aN),altBoundary:aK},{refs:aM,floatingStyles:aQ,placement:aR,isPositioned:aS,middlewareData:aT}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:d="absolute",middleware:e=[],platform:f,elements:{reference:g,floating:h}={},transform:i=!0,whileElementsMounted:j,open:k}=a,[l,m]=c.useState({x:0,y:0,strategy:d,placement:b,middlewareData:{},isPositioned:!1}),[n,o]=c.useState(e);am(n,e)||o(e);let[p,q]=c.useState(null),[r,s]=c.useState(null),t=c.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=c.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=g||p,w=h||r,x=c.useRef(null),y=c.useRef(null),z=c.useRef(l),B=null!=j,C=ao(j),D=ao(f),E=ao(k),F=c.useCallback(()=>{var a,c;let e,f,g;if(!x.current||!y.current)return;let h={placement:b,strategy:d,middleware:n};D.current&&(h.platform=D.current),(a=x.current,c=y.current,e=new Map,f=null!=h?h:{},g={...ah,...f.platform,_c:e},A(a,c,{...f,platform:g})).then(a=>{let b={...a,isPositioned:!1!==E.current};G.current&&!am(z.current,b)&&(z.current=b,ak.flushSync(()=>{m(b)}))})},[n,b,d,D,E]);al(()=>{!1===k&&z.current.isPositioned&&(z.current.isPositioned=!1,m(a=>({...a,isPositioned:!1})))},[k]);let G=c.useRef(!1);al(()=>(G.current=!0,()=>{G.current=!1}),[]),al(()=>{if(v&&(x.current=v),w&&(y.current=w),v&&w){if(C.current)return C.current(v,w,F);F()}},[v,w,F,C,B]);let H=c.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),I=c.useMemo(()=>({reference:v,floating:w}),[v,w]),J=c.useMemo(()=>{let a={position:d,left:0,top:0};if(!I.floating)return a;let b=an(I.floating,l.x),c=an(I.floating,l.y);if(i)return{...a,transform:"translate("+b+"px, "+c+"px)",...(I.floating,false)};return{position:d,left:b,top:c}},[d,i,I.floating,l.x,l.y]);return c.useMemo(()=>({...l,update:F,refs:H,elements:I,floatingStyles:J}),[l,F,H,I,J])}({strategy:"fixed",placement:T+("center"!==W?"-"+W:""),whileElementsMounted:az((...a)=>(function(a,b,c,d){let g;void 0===d&&(d={});let{ancestorScroll:i=!0,ancestorResize:j=!0,elementResize:k="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:m=!1}=d,n=X(a),o=i||j?[...n?U(n):[],...b?U(b):[]]:[];o.forEach(a=>{i&&a.addEventListener("scroll",c),j&&a.addEventListener("resize",c)});let p=n&&l?function(a,b,c){let d,g=null,i=H(a);function j(){var a;clearTimeout(d),null==(a=g)||a.disconnect(),g=null}function k(c,l){void 0===c&&(c=!1),void 0===l&&(l=1),j();let m=a.getBoundingClientRect(),{left:n,top:o,width:p,height:q}=m;if(c||b(),!p||!q)return;let r={rootMargin:-h(o)+"px "+-h(i.clientWidth-(n+p))+"px "+-h(i.clientHeight-(o+q))+"px "+-h(n)+"px",threshold:f(0,e(1,l))||1},s=!0;function t(b){let c=b[0].intersectionRatio;if(!ai(m,a.getBoundingClientRect()))return k();if(c!==l){if(!s)return k();c?k(!1,c):d=setTimeout(()=>{k(!1,1e-7)},1e3)}s=!1}try{g=new IntersectionObserver(t,{...r,root:i.ownerDocument})}catch(a){g=new IntersectionObserver(t,r)}g.observe(a)}let l=G(a),m=()=>k(c);return l.addEventListener("resize",m),k(!0),()=>{l.removeEventListener("resize",m),j()}}(n,c,j):null,q=-1,r=null;k&&(r=new ResizeObserver(a=>{let[d]=a;d&&d.target===n&&r&&b&&(r.unobserve(b),cancelAnimationFrame(q),q=requestAnimationFrame(()=>{var a;null==(a=r)||a.observe(b)})),c()}),n&&!m&&r.observe(n),b&&r.observe(b));let s=m?_(a):null;return m&&function b(){let d=_(a);s&&!ai(s,d)&&c(),s=d,g=requestAnimationFrame(b)}(),c(),()=>{var a;o.forEach(a=>{i&&a.removeEventListener("scroll",c),j&&a.removeEventListener("resize",c)}),null==p||p(),null==(a=r)||a.disconnect(),r=null,m&&cancelAnimationFrame(g)}})(...a,{animationFrame:"always"===ae}),"whileElementsMounted"),elements:{reference:ar.anchor},middleware:[{name:(M={name:"offset",options:g=d={mainAxis:V+aF,alignmentAxis:Y},async fn(a){var b,c;let{x:d,y:e,placement:f,middlewareData:h}=a,i=await E(a,g);return f===(null==(b=h.offset)?void 0:b.placement)&&null!=(c=h.arrow)&&c.alignmentOffset?{}:{x:d+i.x,y:e+i.y,data:{...i,placement:f}}}}).name,fn:M.fn,options:[d,void 0]},$&&{name:(N={name:"shift",options:w=j={mainAxis:!0,crossAxis:!1,limiter:"partial"===ac?{fn:(i=void 0,{options:i={},fn(a){var b,c,d,e;let{x:f,y:g,placement:h,rects:j,middlewareData:m}=a,{offset:o=0,mainAxis:q=!0,crossAxis:r=!0}=k(i,a),s={x:f,y:g},t=p(h),u=n(t),v=s[u],w=s[t],x=k(o,a),y="number"==typeof x?{mainAxis:x,crossAxis:0}:{mainAxis:null!=(b=x.mainAxis)?b:0,crossAxis:null!=(c=x.crossAxis)?c:0};if(q){let a="y"===u?"height":"width",b=j.reference[u]-j.floating[a]+y.mainAxis,c=j.reference[u]+j.reference[a]-y.mainAxis;v<b?v=b:v>c&&(v=c)}if(r){let a="y"===u?"width":"height",b=D.has(l(h)),c=j.reference[t]-j.floating[a]+(b&&(null==(d=m.offset)?void 0:d[t])||0)+(b?0:y.crossAxis),f=j.reference[t]+j.reference[a]+(b?0:(null==(e=m.offset)?void 0:e[t])||0)-(b?y.crossAxis:0);w<c?w=c:w>f&&(w=f)}return{[u]:v,[t]:w}}}).fn,options:[void 0,void 0]}:void 0,...aL},async fn(a){let{x:b,y:c,placement:d,platform:g}=a,{mainAxis:h=!0,crossAxis:i=!1,limiter:j={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...l}=k(w,a),m={x:b,y:c},o=await g.detectOverflow(a,l),q=p(d),r=n(q),s=m[r],t=m[q],u=(a,b)=>f(b+o["y"===a?"top":"left"],e(b,b-o["y"===a?"bottom":"right"]));h&&(s=u(r,s)),i&&(t=u(q,t));let v=j.fn({...a,[r]:s,[q]:t});return{...v,data:{x:v.x-b,y:v.y-c,enabled:{[r]:h,[q]:i}}}}}).name,fn:N.fn,options:[j,void 0]},$&&{name:(O={name:"flip",options:y=x={...aL},async fn(a){var b,c,d,e,f,g,h,i;let j,w,x,{placement:z,middlewareData:A,rects:B,initialPlacement:C,platform:D,elements:E}=a,{mainAxis:F=!0,crossAxis:G=!0,fallbackPlacements:H,fallbackStrategy:I="bestFit",fallbackAxisSideDirection:J="none",flipAlignment:K=!0,...L}=k(y,a);if(null!=(b=A.arrow)&&b.alignmentOffset)return{};let M=l(z),N=p(C),O=l(C)===C,P=await (null==D.isRTL?void 0:D.isRTL(E.floating)),Q=H||(O||!K?[v(C)]:(j=v(C),[q(C),j,q(j)])),R="none"!==J;!H&&R&&Q.push(...(w=m(C),x=function(a,b,c){switch(a){case"top":case"bottom":if(c)return b?s:r;return b?r:s;case"left":case"right":return b?t:u;default:return[]}}(l(C),"start"===J,P),w&&(x=x.map(a=>a+"-"+w),K&&(x=x.concat(x.map(q)))),x));let S=[C,...Q],T=await D.detectOverflow(a,L),U=[],V=(null==(c=A.flip)?void 0:c.overflows)||[];if(F&&U.push(T[M]),G){let a,b,c,d,e=(g=z,h=B,void 0===(i=P)&&(i=!1),a=m(g),c=o(b=n(p(g))),d="x"===b?a===(i?"end":"start")?"right":"left":"start"===a?"bottom":"top",h.reference[c]>h.floating[c]&&(d=v(d)),[d,v(d)]);U.push(T[e[0]],T[e[1]])}if(V=[...V,{placement:z,overflows:U}],!U.every(a=>a<=0)){let a=((null==(d=A.flip)?void 0:d.index)||0)+1,b=S[a];if(b&&("alignment"!==G||N===p(b)||V.every(a=>p(a.placement)!==N||a.overflows[0]>0)))return{data:{index:a,overflows:V},reset:{placement:b}};let c=null==(e=V.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:e.placement;if(!c)switch(I){case"bestFit":{let a=null==(f=V.filter(a=>{if(R){let b=p(a.placement);return b===N||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:f[0];a&&(c=a);break}case"initialPlacement":c=C}if(z!==c)return{reset:{placement:c}}}return{}}}).name,fn:O.fn,options:[x,void 0]},{name:(P={name:"size",options:F=z={...aL,apply:az(({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)},"apply")},async fn(a){let b,c,{placement:d,rects:g,platform:h,elements:i}=a,{apply:j=()=>{},...n}=k(F,a),o=await h.detectOverflow(a,n),q=l(d),r=m(d),s="y"===p(d),{width:t,height:u}=g.floating;"top"===q||"bottom"===q?(b=q,c=r===(await (null==h.isRTL?void 0:h.isRTL(i.floating))?"start":"end")?"left":"right"):(c=q,b="end"===r?"top":"bottom");let v=u-o.top-o.bottom,w=t-o.left-o.right,x=e(u-o[b],v),y=e(t-o[c],w),z=a.middlewareData.shift,A=!z,B=x,C=y;null!=z&&z.enabled.x&&(C=w),null!=z&&z.enabled.y&&(B=v),A&&!r&&(s?C=t-2*f(o.left,o.right):B=u-2*f(o.top,o.bottom)),await j({...a,availableWidth:C,availableHeight:B});let D=await h.getDimensions(i.floating);return t!==D.width||u!==D.height?{reset:{rects:!0}}:{}}}).name,fn:P.fn,options:[z,void 0]},aA&&{name:(Q={name:"arrow",options:J=I={element:aA,padding:Z},fn(a){let{element:b,padding:c}="function"==typeof J?J(a):J;return b&&({}).hasOwnProperty.call(b,"current")?null!=b.current?aj({element:b.current,padding:c}).fn(a):{}:b?aj({element:b,padding:c}).fn(a):{}}}).name,fn:Q.fn,options:[I,void 0]},aO({arrowWidth:aD,arrowHeight:aF}),ad&&{name:(R={name:"hide",options:L=K={strategy:"referenceHidden",...aL,boundary:aK?aL.boundary:void 0},async fn(a){let{rects:b,platform:c}=a,{strategy:d="referenceHidden",...e}=k(L,a);switch(d){case"referenceHidden":{let d=B(await c.detectOverflow(a,{...e,elementContext:"reference"}),b.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:C(d)}}}case"escaped":{let d=B(await c.detectOverflow(a,{...e,altBoundary:!0}),b.floating);return{data:{escapedOffsets:d,escaped:C(d)}}}default:return{}}}}).name,fn:R.fn,options:[K,void 0]}]}),aU=ar.setPlacementState;(0,aw.useLayoutEffect)(()=>(aU(aR),()=>{aU(void 0)}),[aR,aU]);let[aV,aW]=aP(aR),aX=(0,av.useCallbackRef)(af);(0,aw.useLayoutEffect)(()=>{aS&&aX?.()},[aS,aX]);let aY=aT.arrow?.x,aZ=aT.arrow?.y,a$=aT.arrow?.centerOffset!==0,[a_,a0]=c.useState();return(0,aw.useLayoutEffect)(()=>{as&&a0(window.getComputedStyle(as).zIndex)},[as]),(0,aq.jsx)("div",{ref:aM.setFloating,"data-radix-popper-content-wrapper":"",style:{...aQ,transform:aS?aQ.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:a_,"--radix-popper-transform-origin":[aT.transformOrigin?.x,aT.transformOrigin?.y].join(" "),...aT.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,aq.jsx)(aI,{scope:S,placedSide:aV,placedAlign:aW,onArrowChange:aB,arrowX:aY,arrowY:aZ,shouldHideArrow:a$,children:(0,aq.jsx)(ap.Primitive.div,{"data-side":aV,"data-align":aW,...ag,ref:ay,style:{...ag.style,animation:aS?ag.style?.animation:"none"}})})})},"PopperContent")),aL={top:"bottom",right:"left",bottom:"top",left:"right"},aM=c.forwardRef(az(function(a,b){let{__scopePopper:c,...d}=a,e=aJ("PopperArrow",c),f=aL[e.placedSide];return(0,aq.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,aq.jsx)(as,{...d,ref:b,style:{...d.style,display:"block"}})})},"PopperArrow"));function aN(a){return null!==a}az(aN,"isNotNull");var aO=az(a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=aP(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}}),"transformOrigin");function aP(a){let[b,c="center"]=a.split("-");return[b,c]}az(aP,"getSideAndAlignFromPlacement"),a.s(["Anchor",0,aG,"Arrow",0,aM,"Content",0,aK,"Root",0,aF,"createPopperScope",0,aC],668953)},585851,a=>{"use strict";var b=a.i(174897),c=a.i(41721),d=a.i(436102),e=a.i(967683),f=a.i(662145),g=Object.defineProperty,h=b.forwardRef(g(function(a,g){let{container:h,...i}=a,[j,k]=b.useState(!1);(0,e.useLayoutEffect)(()=>k(!0),[]);let l=h||j&&globalThis?.document?.body;return l?c.createPortal((0,f.jsx)(d.Primitive.div,{...i,ref:g}),l):null},"name",{value:"Portal",configurable:!0}));a.s(["Portal",0,h])},535962,a=>{"use strict";var b=a.i(174897),c=a.i(196265),d=a.i(91222),e=a.i(521831),f=a.i(691321),g=a.i(635163),h=a.i(436102),i=a.i(133387),j=a.i(541151),k=a.i(933877),l=a.i(967683),m=Object.defineProperty,n=(a,b)=>m(a,"name",{value:b,configurable:!0}),o=!1;function p(){let[a,c]=b.useState(o);return b.useEffect(()=>{o||(o=!0,c(!0))},[]),a}n(p,"useIsHydrated");var q=b[" useSyncExternalStore ".trim().toString()];function r(){return()=>{}}function s(){return q(r,()=>!0,()=>!1)}n(r,"subscribe"),n(s,"useIsHydratedModern");var t="function"==typeof q?s:p,u=a.i(662145),v=Object.defineProperty,w=(a,b)=>v(a,"name",{value:b,configurable:!0}),x="rovingFocusGroup.onEntryFocus",y={bubbles:!1,cancelable:!0},z="RovingFocusGroup",[A,B,C]=(0,d.createCollection)(z),[D,E]=(0,f.createContextScope)(z,[C]),[F,G]=D(z),H=b.forwardRef(w(function(a,b){return(0,u.jsx)(A.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,u.jsx)(A.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,u.jsx)(I,{...a,ref:b})})})},"RovingFocusGroup")),I=b.forwardRef(w(function(a,d){let{__scopeRovingFocusGroup:f,orientation:g,loop:l=!1,dir:m,currentTabStopId:n,defaultCurrentTabStopId:o,onCurrentTabStopIdChange:p,onEntryFocus:q,preventScrollOnEntryFocus:r=!1,...s}=a,t=b.useRef(null),v=(0,e.useComposedRefs)(d,t),w=(0,k.useDirection)(m),[A,C]=(0,j.useControllableState)({prop:n,defaultProp:o??null,onChange:p,caller:z}),[D,E]=b.useState(!1),G=(0,i.useCallbackRef)(q),H=B(f),I=b.useRef(!1),[J,K]=b.useState(0);return b.useEffect(()=>{let a=t.current;if(a)return a.addEventListener(x,G),()=>a.removeEventListener(x,G)},[G]),(0,u.jsx)(F,{scope:f,orientation:g,dir:w,loop:l,currentTabStopId:A,onItemFocus:b.useCallback(a=>C(a),[C]),onItemShiftTab:b.useCallback(()=>E(!0),[]),onFocusableItemAdd:b.useCallback(()=>K(a=>a+1),[]),onFocusableItemRemove:b.useCallback(()=>K(a=>a-1),[]),children:(0,u.jsx)(h.Primitive.div,{tabIndex:D||0===J?-1:0,"data-orientation":g,...s,ref:v,style:{outline:"none",...a.style},onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,()=>{I.current=!0}),onFocus:(0,c.composeEventHandlers)(a.onFocus,a=>{let b=!I.current;if(a.target===a.currentTarget&&b&&!D){let b=new CustomEvent(x,y);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=H().filter(a=>a.focusable);N([a.find(a=>a.active),a.find(a=>a.id===A),...a].filter(Boolean).map(a=>a.ref.current),r)}}I.current=!1}),onBlur:(0,c.composeEventHandlers)(a.onBlur,()=>E(!1))})})},"RovingFocusGroupImpl")),J=b.forwardRef(w(function(a,d){let{__scopeRovingFocusGroup:e,focusable:f=!0,active:i=!1,tabStopId:j,children:k,...m}=a,n=(0,g.useId)(),o=j||n,p=G("RovingFocusGroupItem",e),q=p.currentTabStopId===o,r=B(e),{onFocusableItemAdd:s,onFocusableItemRemove:v,currentTabStopId:w}=p,x=t();return(0,l.useLayoutEffect)(()=>{if(x&&f)return s(),()=>v()},[x,f,s,v]),b.useEffect(()=>{if(!x&&f)return s(),()=>v()},[x,f,s,v]),(0,u.jsx)(A.ItemSlot,{scope:e,id:o,focusable:f,active:i,children:(0,u.jsx)(h.Primitive.span,{tabIndex:q?0:-1,"data-orientation":p.orientation,...m,ref:d,onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,a=>{f?p.onItemFocus(o):a.preventDefault()}),onFocus:(0,c.composeEventHandlers)(a.onFocus,()=>p.onItemFocus(o)),onKeyDown:(0,c.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void p.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=M(a,p.orientation,p.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let c=r().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)c.reverse();else if("prev"===b||"next"===b){"prev"===b&&c.reverse();let d=c.indexOf(a.currentTarget);c=p.loop?O(c,d+1):c.slice(d+1)}setTimeout(()=>N(c))}}),children:"function"==typeof k?k({isCurrentTabStop:q,hasTabStop:null!=w}):k})})},"RovingFocusGroupItem")),K={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function L(a,b){return"rtl"!==b?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a}function M(a,b,c){let d=L(a.key,c);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(d))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(d)))return K[d]}function N(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}function O(a,b){return a.map((c,d)=>a[(b+d)%a.length])}w(L,"getDirectionAwareKey"),w(M,"getFocusIntent"),w(N,"focusFirst"),w(O,"wrapArray"),a.s(["Item",0,J,"Root",0,H,"createRovingFocusGroupScope",0,E],535962)},516164,a=>{"use strict";var b=new WeakMap,c=new WeakMap,d={},e=0,f=function(a){return a&&(a.host||f(a.parentNode))},g=function(a,g,h,i){var j=(Array.isArray(a)?a:[a]).map(function(a){if(g.contains(a))return a;var b=f(a);return b&&g.contains(b)?b:(console.error("aria-hidden",a,"in not contained inside",g,". Doing nothing"),null)}).filter(function(a){return!!a});d[h]||(d[h]=new WeakMap);var k=d[h],l=[],m=new Set,n=new Set(j),o=function(a){!a||m.has(a)||(m.add(a),o(a.parentNode))};j.forEach(o);var p=function(a){!a||n.has(a)||Array.prototype.forEach.call(a.children,function(a){if(m.has(a))p(a);else try{var d=a.getAttribute(i),e=null!==d&&"false"!==d,f=(b.get(a)||0)+1,g=(k.get(a)||0)+1;b.set(a,f),k.set(a,g),l.push(a),1===f&&e&&c.set(a,!0),1===g&&a.setAttribute(h,"true"),e||a.setAttribute(i,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return p(g),m.clear(),e++,function(){l.forEach(function(a){var d=b.get(a)-1,e=k.get(a)-1;b.set(a,d),k.set(a,e),d||(c.has(a)||a.removeAttribute(i),c.delete(a)),e||a.removeAttribute(h)}),--e||(b=new WeakMap,b=new WeakMap,c=new WeakMap,d={})}};a.s(["hideOthers",0,function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),g(d,e,c,"aria-hidden")):function(){return null}}])},310859,a=>{"use strict";var b,c,d,e,f,g,h,i=function(){return(i=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function j(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var k=("function"==typeof SuppressedError&&SuppressedError,a.i(174897)),l="right-scroll-bar-position",m="width-before-scroll-bar";function n(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var o=k.useEffect,p=new WeakMap,q=(void 0===b&&(b={}),(void 0===c&&(c=function(a){return a}),d=[],e=!1,f={read:function(){if(e)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return d.length?d[d.length-1]:null},useMedium:function(a){var b=c(a,e);return d.push(b),function(){d=d.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(e=!0;d.length;){var b=d;d=[],b.forEach(a)}d={push:function(b){return a(b)},filter:function(){return d}}},assignMedium:function(a){e=!0;var b=[];if(d.length){var c=d;d=[],c.forEach(a),b=d}var f=function(){var c=b;b=[],c.forEach(a)},g=function(){return Promise.resolve().then(f)};g(),d={push:function(a){b.push(a),g()},filter:function(a){return b=b.filter(a),d}}}}).options=i({async:!0,ssr:!1},b),f),r=function(){},s=k.forwardRef(function(a,b){var c,d,e,f,g=k.useRef(null),h=k.useState({onScrollCapture:r,onWheelCapture:r,onTouchMoveCapture:r}),l=h[0],m=h[1],s=a.forwardProps,t=a.children,u=a.className,v=a.removeScrollBar,w=a.enabled,x=a.shards,y=a.sideCar,z=a.noRelative,A=a.noIsolation,B=a.inert,C=a.allowPinchZoom,D=a.as,E=a.gapMode,F=j(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),G=(c=[g,b],d=function(a){return c.forEach(function(b){return n(b,a)})},(e=(0,k.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,o(function(){var a=p.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||n(a,null)}),d.forEach(function(a){b.has(a)||n(a,e)})}p.set(f,c)},[c]),f),H=i(i({},F),l);return k.createElement(k.Fragment,null,w&&k.createElement(y,{sideCar:q,removeScrollBar:v,shards:x,noRelative:z,noIsolation:A,inert:B,setCallbacks:m,allowPinchZoom:!!C,lockRef:g,gapMode:E}),s?k.cloneElement(k.Children.only(t),i(i({},H),{ref:G})):k.createElement(void 0===D?"div":D,i({},H,{className:u,ref:G}),t))});s.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},s.classNames={fullWidth:m,zeroRight:l};var t=function(a){var b=a.sideCar,c=j(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return k.createElement(d,i({},c))};t.isSideCarExport=!0;var u=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=h||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},v=function(){var a=u();return function(b,c){k.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},w=function(){var a=v();return function(b){return a(b.styles,b.dynamic),null}},x={left:0,top:0,right:0,gap:0},y=w(),z="data-scroll-locked",A=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(z,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(l," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(m," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(l," .").concat(l," {\n right: 0 ").concat(d,";\n }\n \n .").concat(m," .").concat(m," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(z,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},B=function(){var a=parseInt(document.body.getAttribute(z)||"0",10);return isFinite(a)?a:0},C=function(){k.useEffect(function(){return document.body.setAttribute(z,(B()+1).toString()),function(){var a=B()-1;a<=0?document.body.removeAttribute(z):document.body.setAttribute(z,a.toString())}},[])},D=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;C();var f=k.useMemo(function(){return void 0===e,x},[e]);return k.createElement(y,{styles:A(f,!b,e,c?"":"!important")})},E=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},F=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),G(a,d)){var e=H(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},G=function(a,b){return"v"===a?E(b,"overflowY"):E(b,"overflowX")},H=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},I=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=H(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&G(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},J=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},K=function(a){return[a.deltaX,a.deltaY]},L=function(a){return a&&"current"in a?a.current:a},M=0,N=[];let O=(g=function(a){var b=k.useRef([]),c=k.useRef([0,0]),d=k.useRef(),e=k.useState(M++)[0],f=k.useState(w)[0],g=k.useRef(a);k.useEffect(function(){g.current=a},[a]),k.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(L),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=k.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=J(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=F(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=F(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return I(p,b,a,"h"===p?i:j,!0)},[]),i=k.useCallback(function(a){if(N.length&&N[N.length-1]===f){var c="deltaY"in a?K(a):J(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(L).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=k.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),l=k.useCallback(function(a){c.current=J(a),d.current=void 0},[]),m=k.useCallback(function(b){j(b.type,K(b),b.target,h(b,a.lockRef.current))},[]),n=k.useCallback(function(b){j(b.type,J(b),b.target,h(b,a.lockRef.current))},[]);k.useEffect(function(){return N.push(f),a.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:n}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",l,!1),function(){N=N.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",l,!1)}},[]);var o=a.removeScrollBar,p=a.inert;return k.createElement(k.Fragment,null,p?k.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?k.createElement(D,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},q.useMedium(g),t);var P=k.forwardRef(function(a,b){return k.createElement(s,i({},a,{ref:b,sideCar:O}))});P.classNames=s.classNames,a.s(["RemoveScroll",0,P],310859)},890728,a=>{"use strict";var b=a.i(174897),c=a.i(959792);let d=[],e=new Set,f=()=>e.forEach(a=>a()),g=a=>(e.add(a),()=>{e.delete(a)}),h=()=>d[d.length-1]??null;a.s(["ItemCommandKeys",0,function(){return(0,b.useEffect)(()=>{function a(a){let b=(0,c.itemActionForKey)(a.key);if(!b||!(0,c.shouldHandleShortcut)(a)||document.querySelector("[role=menu]"))return;let d=h()?.get().find(a=>a.action===b);d&&(a.preventDefault(),d.run())}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]),null},"itemKeyLabel",0,a=>c.ITEM_KEYS[a].label,"useCurrentItemCommands",0,function(){let a=(0,b.useSyncExternalStore)(g,h,()=>null);return a&&{title:a.title,commands:a.get()}},"useItemCommands",0,function(a,c){let e=(0,b.useRef)(c);(0,b.useEffect)(()=>{e.current=c}),(0,b.useEffect)(()=>{if(!a)return;let b={title:a,get:()=>e.current};return d=[...d,b],f(),()=>{d=d.filter(a=>a!==b),f()}},[a])}])},335732,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(196265),e=a.i(521831),f=a.i(691321),g=a.i(541151),h=a.i(436102),i=a.i(91222),j=a.i(933877),k=a.i(555595),l=a.i(592182),m=a.i(289923),n=a.i(635163),o=a.i(668953),p=a.i(585851),q=a.i(818920),r=a.i(535962),s=a.i(776692),t=a.i(133387),u=a.i(516164),v=a.i(310859),w=Object.defineProperty,x=(a,b)=>w(a,"name",{value:b,configurable:!0}),y=["Enter"," "],z=["ArrowUp","PageDown","End"],A=["ArrowDown","PageUp","Home",...z],B={ltr:[...y,"ArrowRight"],rtl:[...y,"ArrowLeft"]},C={ltr:["ArrowLeft"],rtl:["ArrowRight"]},D="Menu",[E,F,G]=(0,i.createCollection)(D),[H,I]=(0,f.createContextScope)(D,[G,o.createPopperScope,r.createRovingFocusGroupScope]),J=(0,o.createPopperScope)(),K=(0,r.createRovingFocusGroupScope)(),[L,M]=H(D),[N,O]=H(D),P=x(a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,k=J(d),[l,m]=c.useState(null),n=c.useRef(!1),p=(0,t.useCallbackRef)(h),q=(0,j.useDirection)(g);return c.useEffect(()=>{let a=x(()=>{n.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},"handleKeyDown"),b=x(()=>n.current=!1,"handlePointer");return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),c.useEffect(()=>{if(!e)return;let a=x(()=>p(!1),"handleBlur");return window.addEventListener("blur",a),()=>window.removeEventListener("blur",a)},[e,p]),(0,b.jsx)(o.Root,{...k,children:(0,b.jsx)(L,{scope:d,open:e,onOpenChange:p,content:l,onContentChange:m,children:(0,b.jsx)(N,{scope:d,onClose:c.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:n,dir:q,modal:i,children:f})})})},"Menu"),Q=c.forwardRef(x(function(a,c){let{__scopeMenu:d,...e}=a,f=J(d);return(0,b.jsx)(o.Anchor,{...f,...e,ref:c})},"MenuAnchor")),R="MenuPortal",[S,T]=H(R,{forceMount:void 0}),U=x(a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=M(R,c);return(0,b.jsx)(S,{scope:c,forceMount:d,children:(0,b.jsx)(q.Presence,{present:d||g.open,children:(0,b.jsx)(p.Portal,{asChild:!0,container:f,children:e})})})},"MenuPortal"),V="MenuContent",[W,X]=H(V),Y=c.forwardRef(x(function(a,c){let d=T(V,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=M(V,a.__scopeMenu),h=O(V,a.__scopeMenu);return(0,b.jsx)(E.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:e||g.open,children:(0,b.jsx)(E.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(Z,{...f,ref:c}):(0,b.jsx)($,{...f,ref:c})})})})},"MenuContent")),Z=c.forwardRef(x(function(a,f){let g=M(V,a.__scopeMenu),h=c.useRef(null),i=(0,e.useComposedRefs)(f,h);return c.useEffect(()=>{let a=h.current;if(a)return(0,u.hideOthers)(a)},[]),(0,b.jsx)(aa,{...a,ref:i,trapFocus:g.open,disableOutsidePointerEvents:g.open,disableOutsideScroll:!0,onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>g.onOpenChange(!1)})},"MenuRootContentModal")),$=c.forwardRef(x(function(a,c){let d=M(V,a.__scopeMenu);return(0,b.jsx)(aa,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})},"MenuRootContentNonModal")),_=(0,s.createSlot)("MenuContent.ScrollLock"),aa=c.forwardRef(x(function(a,f){let{__scopeMenu:g,loop:h=!1,trapFocus:i,onOpenAutoFocus:j,onCloseAutoFocus:n,disableOutsidePointerEvents:p,onEntryFocus:q,onEscapeKeyDown:s,onPointerDownOutside:t,onFocusOutside:u,onInteractOutside:w,onDismiss:y,disableOutsideScroll:B,...C}=a,D=M(V,g),E=O(V,g),G=J(g),H=K(g),I=F(g),[L,N]=c.useState(null),P=c.useRef(null),Q=(0,e.useComposedRefs)(f,P,D.onContentChange),R=c.useRef(0),S=c.useRef(""),T=c.useRef(0),U=c.useRef(null),X=c.useRef("right"),Y=c.useRef(0),Z=B?v.RemoveScroll:c.Fragment,$=x(a=>{let b=S.current+a,c=I().filter(a=>!a.disabled),d=document.activeElement,e=c.find(a=>a.ref.current===d)?.textValue,f=aD(c.map(a=>a.textValue),b,e),g=c.find(a=>a.textValue===f)?.ref.current;g&&setTimeout(()=>g.focus())},"handleTypeaheadSearch");c.useEffect(()=>()=>window.clearTimeout(R.current),[]),(0,l.useFocusGuards)();let aa=c.useCallback(a=>X.current===U.current?.side&&aF(a,U.current?.area),[]);return(0,b.jsx)(W,{scope:g,searchRef:S,onItemEnter:c.useCallback(a=>{aa(a)&&a.preventDefault()},[aa]),onItemLeave:c.useCallback(a=>{aa(a)||(P.current?.focus(),N(null))},[aa]),onTriggerLeave:c.useCallback(a=>{aa(a)&&a.preventDefault()},[aa]),pointerGraceTimerRef:T,onPointerGraceIntentChange:c.useCallback(a=>{U.current=a},[]),children:(0,b.jsx)(Z,{...B?{as:_,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:i,onMountAutoFocus:(0,d.composeEventHandlers)(j,a=>{a.preventDefault(),P.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:n,children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:p,onEscapeKeyDown:s,onPointerDownOutside:t,onFocusOutside:u,onInteractOutside:w,onDismiss:y,children:(0,b.jsx)(r.Root,{asChild:!0,...H,dir:E.dir,orientation:"vertical",loop:h,currentTabStopId:L,onCurrentTabStopIdChange:N,onEntryFocus:(0,d.composeEventHandlers)(q,a=>{E.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(o.Content,{role:"menu","aria-orientation":"vertical","data-state":ay(D.open),"data-radix-menu-content":"",dir:E.dir,...G,...C,ref:Q,style:{outline:"none",...C.style},onKeyDown:(0,d.composeEventHandlers)(C.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;b&&("Tab"===a.key&&a.preventDefault(),!c&&d&&$(a.key));let e=P.current;if(a.target!==e||!A.includes(a.key))return;a.preventDefault();let f=I().filter(a=>!a.disabled).map(a=>a.ref.current);z.includes(a.key)&&f.reverse(),aB(f)}),onBlur:(0,d.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(R.current),S.current="")}),onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aG(a=>{let b=a.target,c=Y.current!==a.clientX;a.currentTarget.contains(b)&&c&&(X.current=a.clientX>Y.current?"right":"left",Y.current=a.clientX)}))})})})})})})},"MenuContentImpl")),ab=c.forwardRef(x(function(a,c){let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"group",...e,ref:c})},"MenuGroup")),ac=c.forwardRef(x(function(a,c){let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{...e,ref:c})},"MenuLabel")),ad="MenuItem",ae="menu.itemSelect",af=c.forwardRef(x(function(a,f){let{disabled:g=!1,onSelect:i,...j}=a,k=c.useRef(null),l=O(ad,a.__scopeMenu),m=X(ad,a.__scopeMenu),n=(0,e.useComposedRefs)(f,k),o=c.useRef(!1),p=x(()=>{let a=k.current;if(!g&&a){let b=new CustomEvent(ae,{bubbles:!0,cancelable:!0});a.addEventListener(ae,a=>i?.(a),{once:!0}),(0,h.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?o.current=!1:l.onClose()}},"handleSelect");return(0,b.jsx)(ag,{...j,ref:n,disabled:g,onClick:(0,d.composeEventHandlers)(a.onClick,p),onPointerDown:b=>{a.onPointerDown?.(b),o.current=!0},onPointerUp:(0,d.composeEventHandlers)(a.onPointerUp,a=>{o.current||a.currentTarget?.click()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{g||a.target!==a.currentTarget||(""===m.searchRef.current||" "!==a.key)&&y.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})},"MenuItem")),ag=c.forwardRef(x(function(a,f){let{__scopeMenu:g,disabled:i=!1,textValue:j,...k}=a,l=X(ad,g),m=K(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n),[p,q]=c.useState(!1),[s,t]=c.useState("");return c.useEffect(()=>{let a=n.current;a&&t((a.textContent??"").trim())},[k.children]),(0,b.jsx)(E.ItemSlot,{scope:g,disabled:i,textValue:j??s,children:(0,b.jsx)(r.Item,{asChild:!0,...m,focusable:!i,children:(0,b.jsx)(h.Primitive.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...k,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aG(a=>{i?l.onItemLeave(a):(l.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aG(a=>l.onItemLeave(a))),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>q(!0)),onBlur:(0,d.composeEventHandlers)(a.onBlur,()=>q(!1))})})})},"MenuItemImpl")),ah=c.forwardRef(x(function(a,c){let{checked:e=!1,onCheckedChange:f,...g}=a;return(0,b.jsx)(an,{scope:a.__scopeMenu,checked:e,children:(0,b.jsx)(af,{role:"menuitemcheckbox","aria-checked":az(e)?"mixed":e,...g,ref:c,"data-state":aA(e),onSelect:(0,d.composeEventHandlers)(g.onSelect,()=>f?.(!!az(e)||!e),{checkForDefaultPrevented:!1})})})},"MenuCheckboxItem")),[ai,aj]=H("MenuRadioGroup",{value:void 0,onValueChange:x(()=>{},"onValueChange")}),ak=c.forwardRef(x(function(a,c){let{value:d,onValueChange:e,...f}=a,g=(0,t.useCallbackRef)(e);return(0,b.jsx)(ai,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(ab,{...f,ref:c})})},"MenuRadioGroup")),al=c.forwardRef(x(function(a,c){let{value:e,...f}=a,g=aj("MenuRadioItem",a.__scopeMenu),h=e===g.value;return(0,b.jsx)(an,{scope:a.__scopeMenu,checked:h,children:(0,b.jsx)(af,{role:"menuitemradio","aria-checked":h,...f,ref:c,"data-state":aA(h),onSelect:(0,d.composeEventHandlers)(f.onSelect,()=>g.onValueChange?.(e),{checkForDefaultPrevented:!1})})})},"MenuRadioItem")),am="MenuItemIndicator",[an,ao]=H(am,{checked:!1}),ap=c.forwardRef(x(function(a,c){let{__scopeMenu:d,forceMount:e,...f}=a,g=ao(am,d);return(0,b.jsx)(q.Presence,{present:e||az(g.checked)||!0===g.checked,children:(0,b.jsx)(h.Primitive.span,{...f,ref:c,"data-state":aA(g.checked)})})},"MenuItemIndicator")),aq=c.forwardRef(x(function(a,c){let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})},"MenuSeparator")),ar="MenuSub",[as,at]=H(ar),au=x(a=>{let{__scopeMenu:d,children:e,open:f=!1,onOpenChange:g}=a,h=M(ar,d),i=J(d),[j,k]=c.useState(null),[l,m]=c.useState(null),p=(0,t.useCallbackRef)(g);return c.useEffect(()=>(!1===h.open&&p(!1),()=>p(!1)),[h.open,p]),(0,b.jsx)(o.Root,{...i,children:(0,b.jsx)(L,{scope:d,open:f,onOpenChange:p,content:l,onContentChange:m,children:(0,b.jsx)(as,{scope:d,contentId:(0,n.useId)(),triggerId:(0,n.useId)(),trigger:j,onTriggerChange:k,children:e})})})},"MenuSub"),av="MenuSubTrigger",aw=c.forwardRef(x(function(a,f){let g=M(av,a.__scopeMenu),h=O(av,a.__scopeMenu),i=at(av,a.__scopeMenu),j=X(av,a.__scopeMenu),k=c.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:m}=j,n={__scopeMenu:a.__scopeMenu},o=c.useCallback(()=>{k.current&&window.clearTimeout(k.current),k.current=null},[]);c.useEffect(()=>o,[o]),c.useEffect(()=>{let a=l.current;return()=>{window.clearTimeout(a),m(null)}},[l,m]);let p=(0,e.useComposedRefs)(f,i.onTriggerChange);return(0,b.jsx)(Q,{asChild:!0,...n,children:(0,b.jsx)(ag,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?i.contentId:void 0,"data-state":ay(g.open),...a,ref:p,onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),g.open||g.onOpenChange(!0))},onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aG(b=>{j.onItemEnter(b),!b.defaultPrevented&&(a.disabled||g.open||k.current||(j.onPointerGraceIntentChange(null),k.current=window.setTimeout(()=>{g.onOpenChange(!0),o()},100)))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aG(a=>{o();let b=g.content?.getBoundingClientRect();if(b){let c=g.content?.dataset.side,d="right"===c,e=b[d?"left":"right"],f=b[d?"right":"left"];j.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:e,y:b.top},{x:f,y:b.top},{x:f,y:b.bottom},{x:e,y:b.bottom}],side:c}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>j.onPointerGraceIntentChange(null),300)}else{if(j.onTriggerLeave(a),a.defaultPrevented)return;j.onPointerGraceIntentChange(null)}})),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,b=>{a.disabled||b.target!==b.currentTarget||(""===j.searchRef.current||" "!==b.key)&&B[h.dir].includes(b.key)&&(g.onOpenChange(!0),g.content?.focus(),b.preventDefault())})})})},"MenuSubTrigger")),ax=c.forwardRef(x(function(a,f){let g=T(V,a.__scopeMenu),{forceMount:h=g.forceMount,align:i="start",...j}=a,k=M(V,a.__scopeMenu),l=O(V,a.__scopeMenu),m=at("MenuSubContent",a.__scopeMenu),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n);return(0,b.jsx)(E.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:h||k.open,children:(0,b.jsx)(E.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)(aa,{id:m.contentId,"aria-labelledby":m.triggerId,...j,ref:o,align:i,side:"rtl"===l.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{l.isUsingKeyboardRef.current&&n.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==m.trigger&&k.onOpenChange(!1)}),onEscapeKeyDown:(0,d.composeEventHandlers)(a.onEscapeKeyDown,a=>{l.onClose(),a.preventDefault()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=C[l.dir].includes(a.key);b&&c&&(k.onOpenChange(!1),m.trigger?.focus(),a.preventDefault())})})})})})},"MenuSubContent"));function ay(a){return a?"open":"closed"}function az(a){return"indeterminate"===a}function aA(a){return az(a)?"indeterminate":a?"checked":"unchecked"}function aB(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}function aC(a,b){return a.map((c,d)=>a[(b+d)%a.length])}function aD(a,b,c){let d=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,e=c?a.indexOf(c):-1,f=aC(a,Math.max(e,0));1===d.length&&(f=f.filter(a=>a!==c));let g=f.find(a=>a.toLowerCase().startsWith(d.toLowerCase()));return g!==c?g:void 0}function aE(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}function aF(a,b){return!!b&&aE({x:a.clientX,y:a.clientY},b)}function aG(a){return b=>"mouse"===b.pointerType?a(b):void 0}x(ay,"getOpenState"),x(az,"isIndeterminate"),x(aA,"getCheckedState"),x(aB,"focusFirst"),x(aC,"wrapArray"),x(aD,"getNextMatch"),x(aE,"isPointInPolygon"),x(aF,"isPointerInGraceArea"),x(aG,"whenMouse");var aH=Object.defineProperty,aI=(a,b)=>aH(a,"name",{value:b,configurable:!0}),aJ="DropdownMenu",[aK,aL]=(0,f.createContextScope)(aJ,[I]),aM=I(),[aN,aO]=aK(aJ),aP=aI(a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:h,defaultOpen:i,onOpenChange:j,modal:k=!0}=a,l=aM(d),m=c.useRef(null),[o,p]=(0,g.useControllableState)({prop:h,defaultProp:i??!1,onChange:j,caller:aJ});return(0,b.jsx)(aN,{scope:d,triggerId:(0,n.useId)(),triggerRef:m,contentId:(0,n.useId)(),open:o,onOpenChange:p,onOpenToggle:c.useCallback(()=>p(a=>!a),[p]),modal:k,children:(0,b.jsx)(P,{...l,open:o,onOpenChange:p,dir:f,modal:k,children:e})})},"DropdownMenu"),aQ=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:f,disabled:g=!1,...i}=a,j=aO("DropdownMenuTrigger",f),k=aM(f),l=(0,e.useComposedRefs)(c,j.triggerRef);return(0,b.jsx)(Q,{asChild:!0,...k,children:(0,b.jsx)(h.Primitive.button,{type:"button",id:j.triggerId,"aria-haspopup":"menu","aria-expanded":j.open,"aria-controls":j.open?j.contentId:void 0,"data-state":j.open?"open":"closed","data-disabled":g?"":void 0,disabled:g,...i,ref:l,onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,a=>{!g&&0===a.button&&!1===a.ctrlKey&&(j.onOpenToggle(),j.open||a.preventDefault())}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{!g&&(["Enter"," "].includes(a.key)&&j.onOpenToggle(),"ArrowDown"===a.key&&j.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})},"DropdownMenuTrigger")),aR=aI(a=>{let{__scopeDropdownMenu:c,...d}=a,e=aM(c);return(0,b.jsx)(U,{...e,...d})},"DropdownMenuPortal"),aS=c.forwardRef(aI(function(a,e){let{__scopeDropdownMenu:f,...g}=a,h=aO("DropdownMenuContent",f),i=aM(f),j=c.useRef(!1);return(0,b.jsx)(Y,{id:h.contentId,"aria-labelledby":h.triggerId,...i,...g,ref:e,onCloseAutoFocus:(0,d.composeEventHandlers)(a.onCloseAutoFocus,a=>{j.current||h.triggerRef.current?.focus(),j.current=!1,a.preventDefault()}),onInteractOutside:(0,d.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!h.modal||d)&&(j.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuContent")),aT=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(ac,{...f,...e,ref:c})},"DropdownMenuLabel")),aU=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(af,{...f,...e,ref:c})},"DropdownMenuItem")),aV=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(ah,{...f,...e,ref:c})},"DropdownMenuCheckboxItem")),aW=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(ak,{...f,...e,ref:c})},"DropdownMenuRadioGroup")),aX=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(al,{...f,...e,ref:c})},"DropdownMenuRadioItem")),aY=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(ap,{...f,...e,ref:c})},"DropdownMenuItemIndicator")),aZ=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(aq,{...f,...e,ref:c})},"DropdownMenuSeparator")),a$=aI(a=>{let{__scopeDropdownMenu:c,children:d,open:e,onOpenChange:f,defaultOpen:h}=a,i=aM(c),[j,k]=(0,g.useControllableState)({prop:e,defaultProp:h??!1,onChange:f,caller:"DropdownMenuSub"});return(0,b.jsx)(au,{...i,open:j,onOpenChange:k,children:d})},"DropdownMenuSub"),a_=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(aw,{...f,...e,ref:c})},"DropdownMenuSubTrigger")),a0=c.forwardRef(aI(function(a,c){let{__scopeDropdownMenu:d,...e}=a,f=aM(d);return(0,b.jsx)(ax,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuSubContent")),a1=a.i(425404),a2=a.i(156298),a3=a.i(995645),a4=a.i(368114);let a5=c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(a_,{ref:f,className:(0,a4.cn)("flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-surface2 data-[state=open]:bg-surface2 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(a2.ChevronRight,{className:"ml-auto"})]}));a5.displayName=a_.displayName;let a6=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(a0,{ref:d,className:(0,a4.cn)("z-50 min-w-32 overflow-hidden rounded-md border border-border bg-surface p-1 text-txt shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",a),...c}));a6.displayName=a0.displayName;let a7=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(aR,{children:(0,b.jsx)(aS,{ref:e,sideOffset:c,className:(0,a4.cn)("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border border-border bg-surface p-1 text-txt shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",a),...d})}));a7.displayName=aS.displayName;let a8=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(aU,{ref:e,className:(0,a4.cn)("relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-surface2 focus:text-txt data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",c&&"pl-8",a),...d}));a8.displayName=aU.displayName;let a9=c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(aV,{ref:f,className:(0,a4.cn)("relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-surface2 focus:text-txt data-disabled:pointer-events-none data-disabled:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aY,{children:(0,b.jsx)(a1.Check,{className:"h-4 w-4"})})}),c]}));a9.displayName=aV.displayName;let ba=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aX,{ref:e,className:(0,a4.cn)("relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-surface2 focus:text-txt data-disabled:pointer-events-none data-disabled:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aY,{children:(0,b.jsx)(a3.Circle,{className:"h-2 w-2 fill-current"})})}),c]}));ba.displayName=aX.displayName;let bb=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(aT,{ref:e,className:(0,a4.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d}));bb.displayName=aT.displayName;let bc=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aZ,{ref:d,className:(0,a4.cn)("-mx-1 my-1 h-px bg-border",a),...c}));bc.displayName=aZ.displayName;let bd=({className:a,...c})=>(0,b.jsx)("span",{className:(0,a4.cn)("ml-auto text-xs tracking-widest opacity-60",a),...c});bd.displayName="DropdownMenuShortcut",a.s(["DropdownMenu",0,aP,"DropdownMenuCheckboxItem",0,a9,"DropdownMenuContent",0,a7,"DropdownMenuItem",0,a8,"DropdownMenuLabel",0,bb,"DropdownMenuRadioGroup",0,aW,"DropdownMenuRadioItem",0,ba,"DropdownMenuSeparator",0,bc,"DropdownMenuShortcut",0,bd,"DropdownMenuSub",0,a$,"DropdownMenuSubContent",0,a6,"DropdownMenuSubTrigger",0,a5,"DropdownMenuTrigger",0,aQ],335732)},959792,a=>{"use strict";let b=[{href:"/board",key:"b",label:"Board"},{href:"/roadmap",key:"r",label:"Roadmap"},{href:"/docs",key:"d",label:"Docs"},{href:"/activity",key:"a",label:"Activity"},{href:"/memory",key:"m",label:"Memory"},{href:"/explorer",key:"e",label:"Explorer"},{href:"/manual-tests",key:"t",label:"Manual tests"},{href:"/settings",key:"s",label:"Settings"},{href:"/chat",key:"g",label:"Chats",help:"Chats page"}],c={edit:{key:"E",label:"⇧E",help:"Edit / rename"},status:{key:"S",label:"⇧S",help:"Change status"},duplicate:{key:"D",label:"⇧D",help:"Duplicate"},chat:{key:"C",label:"⇧C",help:"Chat about it"},remove:{key:"Backspace",label:"⌫",help:"Delete (Undo in the toast)"}},d=[{key:"⌘K",label:"Command palette",section:"Open"},{key:"⌘P",label:"Go to file",section:"Open"},{key:"c",label:"Open next chat",section:"Open"},{key:"n",label:"New task",section:"Board"},{key:"v",label:"Next view",section:"Board"},{key:"1–4",label:"Board · Table · By epic · Timeline",section:"Board"},{key:"f",label:"Open filters",section:"Board"},{key:"⇧-click",label:"Select tasks (bulk actions)",section:"Board"},...Object.values(c).map(({label:a,help:b})=>({key:a,label:b,section:"Open item"})),{key:"/",label:"Focus search (docs, board)",section:"Editing & other"},{key:"⌘B",label:"Toggle sidebar",section:"Editing & other"},{key:"?",label:"Toggle this help",section:"Editing & other"},{key:"Esc",label:"Close panel / modal",section:"Editing & other"}];function e(a){return!!(a?.isContentEditable||"function"==typeof a?.closest&&a.closest("input, textarea, select, [contenteditable], [role=textbox], [role=combobox], .cm-editor"))}a.s(["CHAT_KEY",0,"c","ITEM_KEYS",0,c,"OTHER_SHORTCUTS",0,d,"PAGE_SHORTCUTS",0,b,"inTextField",0,e,"itemActionForKey",0,function(a){return"Delete"===a?"remove":Object.keys(c).find(b=>c[b].key===a)},"pageForKey",0,function(a){return b.find(b=>b.key===a)?.href},"pageTitle",0,function(a){return b.find(b=>a===b.href||a.startsWith(`${b.href}/`))?.label},"shortcutFor",0,function(a){return b.find(b=>b.href===a)?.key},"shouldHandleShortcut",0,function(a){return!a.defaultPrevented&&!a.metaKey&&!a.ctrlKey&&!a.altKey&&!e(a.target)}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1t76zdx._.js.map
|