vibedoc 1.6.1 β 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 +11 -0
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +69 -13
- package/.next/routes-manifest.json +66 -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/app-paths-manifest.json +3 -0
- package/.next/server/app/(app)/chat/page/build-manifest.json +20 -0
- package/.next/server/app/(app)/chat/page/next-font-manifest.json +11 -0
- package/.next/server/app/(app)/chat/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(app)/chat/page/server-reference-manifest.json +4 -0
- package/.next/server/app/(app)/chat/page.js +15 -0
- package/.next/server/app/(app)/chat/page.js.map +5 -0
- package/.next/server/app/(app)/chat/page.js.nft.json +1 -0
- package/.next/server/app/(app)/chat/page_client-reference-manifest.js +3 -0
- 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 +14 -13
- package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +10 -10
- package/.next/server/app/activity.segments/_full.segment.rsc +14 -13
- 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/app-paths-manifest.json +3 -0
- package/.next/server/app/api/conversations/route/build-manifest.json +12 -0
- package/.next/server/app/api/conversations/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/conversations/route.js +9 -0
- package/.next/server/app/api/conversations/route.js.map +5 -0
- package/.next/server/app/api/conversations/route.js.nft.json +1 -0
- package/.next/server/app/api/conversations/route_client-reference-manifest.js +3 -0
- 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 +14 -13
- package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +10 -10
- package/.next/server/app/board.segments/_full.segment.rsc +14 -13
- package/.next/server/app/board.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/chat.html +1 -0
- package/.next/server/app/chat.meta +31 -0
- package/.next/server/app/chat.rsc +31 -0
- package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/chat.segments/_full.segment.rsc +31 -0
- package/.next/server/app/chat.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +24 -27
- package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +7 -6
- package/.next/server/app/docs.segments/_full.segment.rsc +24 -27
- 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 +14 -13
- package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +6 -5
- package/.next/server/app/explorer.segments/_full.segment.rsc +14 -13
- 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 +14 -13
- package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +6 -5
- package/.next/server/app/memory.segments/_full.segment.rsc +14 -13
- 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 +24 -26
- package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +10 -11
- package/.next/server/app/roadmap.segments/_full.segment.rsc +24 -26
- 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 +14 -13
- package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +10 -10
- package/.next/server/app/settings.segments/_full.segment.rsc +14 -13
- 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 +14 -13
- package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +6 -5
- package/.next/server/app/setup.segments/_full.segment.rsc +14 -13
- package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
- package/.next/server/app-paths-manifest.json +11 -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_1i-x_q0._.js.map +1 -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]__11c8641._.js.map +1 -0
- 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]__1jxu2x9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jxu2x9._.js.map +1 -0
- 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_conversations_route_actions_1-pu7gs.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_conversations_route_actions_1-pu7gs.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/{_0qyglif._.js β 0_g__next_dist_000c5_m._.js} +2 -4
- 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_1vulg1x._.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_0mwkb-i._.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/[root-of-the-server]__11lfnu0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__11lfnu0._.js.map +1 -0
- 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)_chat_page_actions_0g4tbzt.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_chat_page_actions_0g4tbzt.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_0w9uewb._.js β node_modules__pnpm_01bjcv9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0p10j87._.js β node_modules__pnpm_03qrzdb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1a3fo7j._.js β node_modules__pnpm_06d-fdo._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_1o30a9w._.js β node_modules__pnpm_0ctisl0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_17o8zbz._.js β node_modules__pnpm_0fwp8jm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_19ys1iv._.js β node_modules__pnpm_0kpu0-2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1r4w_7k._.js β node_modules__pnpm_0vry74x._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_11lluiq._.js β node_modules__pnpm_0ycbjbd._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_1_34wt2._.js β node_modules__pnpm_1-76qxg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0ma8hho._.js β node_modules__pnpm_1-r94f7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0--x5-5._.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_04xoqd9._.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_19ejwjv._.js β node_modules__pnpm_17i6z2d._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0cj37c-._.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_18pu1wl._.js β node_modules__pnpm_192f222._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1zsbfem._.js β node_modules__pnpm_1a48_nl._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_00i3mh2._.js β node_modules__pnpm_1aa37e1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0kna82c._.js β node_modules__pnpm_1f440kx._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1-poetj._.js β node_modules__pnpm_1fn3ejy._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0yixxj2._.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_1l-posw._.js β node_modules__pnpm_1q_hhr3._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0fk-8nl._.js β node_modules__pnpm_1qmkxyo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1xolwvc._.js β node_modules__pnpm_1qp_jvj._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_07j8gcu._.js β node_modules__pnpm_1ssjj4u._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_042y3e-._.js β node_modules__pnpm_1txccoj._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0nbxdp_._.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_00wjhj4._.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 +3 -0
- package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +3 -0
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -0
- 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 +5 -0
- package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -0
- 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 +5 -0
- package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -0
- package/.next/server/chunks/ssr/{_1wf14_u._.js β src_lib_templates_index_ts_1s61uk7._.js} +2 -2
- package/.next/server/chunks/ssr/{_1wf14_u._.js.map β src_lib_templates_index_ts_1s61uk7._.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 +8 -0
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +38 -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/{0eggcu0ovk8sd.js β 40jaenrnspnlh.js} +26 -26
- package/.next/static/chunks/41oxcdcw-pcwt.js +1 -0
- package/README.md +3 -2
- 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_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_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_08ca0b4._.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_08ca0b4._.js.map +0 -1
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0c1k9is._.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0c1k9is._.js.map +0 -1
- package/.next/server/chunks/ssr/_0qyglif._.js.map +0 -1
- package/.next/server/chunks/ssr/_0skuoxv._.js +0 -6
- package/.next/server/chunks/ssr/_0skuoxv._.js.map +0 -1
- package/.next/server/chunks/ssr/_14i_6yb._.js +0 -3
- package/.next/server/chunks/ssr/_14i_6yb._.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/_1cbhuz4._.js +0 -3
- package/.next/server/chunks/ssr/_1cbhuz4._.js.map +0 -1
- package/.next/server/chunks/ssr/_1ewk_mn._.js +0 -3
- package/.next/server/chunks/ssr/_1ewk_mn._.js.map +0 -1
- package/.next/server/chunks/ssr/_1y-ofyw._.js +0 -3
- package/.next/server/chunks/ssr/_1y-ofyw._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0bmkw6o._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_0bmkw6o._.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/src_components_008q3v8._.js +0 -3
- package/.next/server/chunks/ssr/src_components_008q3v8._.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-vk2d2nnzav2.js +0 -3
- package/.next/static/chunks/0-z7kyblalrea.js +0 -1
- package/.next/static/chunks/02sab26ica2x3.js +0 -1
- package/.next/static/chunks/0iva6rdtfqpbz.js +0 -1
- package/.next/static/chunks/0k2qhx29amdgs.js +0 -1
- package/.next/static/chunks/0qm101bdsxdyh.css +0 -10
- package/.next/static/chunks/0wg9n5zb8mo2p.js +0 -1
- package/.next/static/chunks/0z_y7el6m76yk.js +0 -1
- package/.next/static/chunks/1-ekntoveuxzd.js +0 -4
- package/.next/static/chunks/10neasnz6hhq1.js +0 -1
- package/.next/static/chunks/1r7z33e9jk3vp.js +0 -1
- package/.next/static/chunks/22dw7r8x0h2sx.js +0 -1
- package/.next/static/chunks/26ee8jsbellqk.js +0 -21
- package/.next/static/chunks/3kkg030rcpz7l.js +0 -1
- package/.next/static/chunks/3pf_4ye6ju8gt.js +0 -1
- package/.next/static/chunks/3smp1lj103j-l.js +0 -1
- /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_1lh_vwq._.js.map β 11mp_@anthropic-ai_sdk_143_7ez._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ludf-o._.js.map β 11mp_@anthropic-ai_sdk_14a4-64._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1m3luz3._.js.map β 11mp_@anthropic-ai_sdk_17d_oma._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1x1iz3d._.js.map β 11mp_@anthropic-ai_sdk_18qwuyb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1xsmwlh._.js.map β 11mp_@anthropic-ai_sdk_19au8y6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_202spah._.js.map β 11mp_@anthropic-ai_sdk_1ak_hy5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_215hw9u._.js.map β 11mp_@anthropic-ai_sdk_1cqa0nq._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_08ecfgc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_09--sd6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0e3mwc6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0go4301._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0iq9dmt._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0n9ijke._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0szcyrx._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0xy2s3x._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0e59y5j._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0yaujn7._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__11s76m8._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_0z9ly74._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_1vulg1x._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_1hmq3al._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_0mwkb-i._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_1tqk4bp._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_0--x5-5._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_1x-hr6f._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_04xoqd9._.js.map β 11mp_@anthropic-ai_sdk_index_mjs_1zsdhg0._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_0cj37c-._.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/{[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_0w9uewb._.js.map β node_modules__pnpm_01bjcv9._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0p10j87._.js.map β node_modules__pnpm_03qrzdb._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1a3fo7j._.js.map β node_modules__pnpm_06d-fdo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1o30a9w._.js.map β node_modules__pnpm_0ctisl0._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_17o8zbz._.js.map β node_modules__pnpm_0fwp8jm._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_19ys1iv._.js.map β node_modules__pnpm_0kpu0-2._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1r4w_7k._.js.map β node_modules__pnpm_0vry74x._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_11lluiq._.js.map β node_modules__pnpm_0ycbjbd._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1_34wt2._.js.map β node_modules__pnpm_1-76qxg._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0ma8hho._.js.map β node_modules__pnpm_1-r94f7._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_19ejwjv._.js.map β node_modules__pnpm_17i6z2d._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_18pu1wl._.js.map β node_modules__pnpm_192f222._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1zsbfem._.js.map β node_modules__pnpm_1a48_nl._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_00i3mh2._.js.map β node_modules__pnpm_1aa37e1._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0kna82c._.js.map β node_modules__pnpm_1f440kx._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1-poetj._.js.map β node_modules__pnpm_1fn3ejy._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0yixxj2._.js.map β node_modules__pnpm_1min2jl._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1l-posw._.js.map β node_modules__pnpm_1q_hhr3._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0fk-8nl._.js.map β node_modules__pnpm_1qmkxyo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1xolwvc._.js.map β node_modules__pnpm_1qp_jvj._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_07j8gcu._.js.map β node_modules__pnpm_1ssjj4u._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_042y3e-._.js.map β node_modules__pnpm_1txccoj._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0nbxdp_._.js.map β node_modules__pnpm_1uwkcin._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_00wjhj4._.js.map β node_modules__pnpm_1ygal0c._.js.map} +0 -0
- /package/.next/static/{gJtrYenzL6_deB-6pdvIL β fGPda81_8-K4GmaNUE6KA}/_buildManifest.js +0 -0
- /package/.next/static/{gJtrYenzL6_deB-6pdvIL β fGPda81_8-K4GmaNUE6KA}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{gJtrYenzL6_deB-6pdvIL β fGPda81_8-K4GmaNUE6KA}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/.pnpm/%40radix-ui%2Breact-dialog%401.1.23_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2Breact_926a73c8bc6f3de0d90045b25ef37c03/node_modules/%40radix-ui/react-dialog/src/dialog.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-dismissable-layer%401.1.19_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40_c9641557e0183ada0688bd7873e8a9d9/node_modules/%40radix-ui/react-dismissable-layer/src/dismissable-layer.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-focus-guards%401.1.6_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-focus-guards/src/focus-guards.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-focus-scope%401.1.16_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2B_91a0a1d715213a5ab8359e0114beaafa/node_modules/%40radix-ui/react-focus-scope/dist/index.mjs","../../../../node_modules/.pnpm/%40radix-ui%2Breact-portal%401.1.17_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2Breact_484564a2ec4329649f69b712999578b8/node_modules/%40radix-ui/react-portal/dist/index.mjs","../../../../node_modules/.pnpm/aria-hidden%401.2.6/node_modules/aria-hidden/dist/es2015/index.js","../../../../node_modules/.pnpm/tslib%402.8.1/node_modules/tslib/tslib.es6.mjs","../../../../node_modules/.pnpm/react-remove-scroll%402.7.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll/dist/es2015/Combination.js","../../../../node_modules/.pnpm/react-remove-scroll-bar%402.3.8_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../../../../node_modules/.pnpm/use-callback-ref%401.3.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/use-callback-ref/dist/es2015/assignRef.js","../../../../node_modules/.pnpm/use-callback-ref%401.3.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/use-callback-ref/dist/es2015/useRef.js","../../../../node_modules/.pnpm/use-callback-ref%401.3.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../../../../node_modules/.pnpm/use-sidecar%401.1.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/use-sidecar/dist/es2015/medium.js","../../../../node_modules/.pnpm/react-remove-scroll%402.7.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll/dist/es2015/medium.js","../../../../node_modules/.pnpm/react-remove-scroll%402.7.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll/dist/es2015/UI.js","../../../../node_modules/.pnpm/use-sidecar%401.1.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/use-sidecar/dist/es2015/exports.js","../../../../node_modules/.pnpm/get-nonce%401.0.1/node_modules/get-nonce/dist/es2015/index.js","../../../../node_modules/.pnpm/react-style-singleton%402.2.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-style-singleton/dist/es2015/singleton.js","../../../../node_modules/.pnpm/react-style-singleton%402.2.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-style-singleton/dist/es2015/hook.js","../../../../node_modules/.pnpm/react-style-singleton%402.2.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-style-singleton/dist/es2015/component.js","../../../../node_modules/.pnpm/react-remove-scroll-bar%402.3.8_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../../../../node_modules/.pnpm/react-remove-scroll-bar%402.3.8_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll-bar/dist/es2015/component.js","../../../../node_modules/.pnpm/react-remove-scroll%402.7.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../../../../node_modules/.pnpm/react-remove-scroll%402.7.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../../../../node_modules/.pnpm/react-remove-scroll%402.7.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../../../../node_modules/.pnpm/react-remove-scroll%402.7.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/react-remove-scroll/dist/es2015/sidecar.js"],"sourcesContent":["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer, useDismissableLayerSurface } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { createSlot } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n contentRef: React.RefObject<DialogContentElement | null>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n titlePresent: boolean;\n descriptionPresent: boolean;\n setTitleCount: React.Dispatch<React.SetStateAction<number>>;\n setDescriptionCount: React.Dispatch<React.SetStateAction<number>>;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME,\n });\n\n const [titleCount, setTitleCount] = React.useState(0);\n const [descriptionCount, setDescriptionCount] = React.useState(0);\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n titlePresent={titleCount > 0}\n descriptionPresent={descriptionCount > 0}\n setTitleCount={setTitleCount}\n setDescriptionCount={setDescriptionCount}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = /* @__PURE__ */ React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n function DialogTrigger(props: ScopedProps<DialogTriggerProps>, forwardedRef) {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.open ? context.contentId : undefined}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n },\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogOverlay = /* @__PURE__ */ React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n function DialogOverlay(props: ScopedProps<DialogOverlayProps>, forwardedRef) {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n },\n);\n\ntype DialogOverlayImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst Slot = createSlot('DialogOverlay.RemoveScroll');\n\nconst DialogOverlayImpl = /* @__PURE__ */ React.forwardRef<\n DialogOverlayImplElement,\n DialogOverlayImplProps\n>(\n // blank line to reduce diff noise\n function DialogOverlayImpl(props: ScopedProps<DialogOverlayImplProps>, forwardedRef) {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n\n // Register the overlay as a dismiss surface so a consumer calling\n // `stopPropagation` on it (eg. to avoid triggering parent handlers) does not\n // prevent the dialog from closing. See: https://github.com/radix-ui/primitives/issues/3346\n const registerDismissableSurface = useDismissableLayerSurface();\n const composedRefs = useComposedRefs(forwardedRef, registerDismissableSurface);\n\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={composedRefs}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n },\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogContent = /* @__PURE__ */ React.forwardRef<DialogContentElement, DialogContentProps>(\n function DialogContent(props: ScopedProps<DialogContentProps>, forwardedRef) {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n },\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps extends Omit<\n DialogContentImplProps,\n 'trapFocus' | 'disableOutsidePointerEvents'\n> {}\n\nconst DialogContentModal = /* @__PURE__ */ React.forwardRef<\n DialogContentTypeElement,\n DialogContentTypeProps\n>(\n // blank line to reduce diff noise\n function DialogContentModal(props: ScopedProps<DialogContentTypeProps>, forwardedRef) {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents={context.open}\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n })}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) =>\n event.preventDefault(),\n )}\n />\n );\n },\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = /* @__PURE__ */ React.forwardRef<\n DialogContentTypeElement,\n DialogContentTypeProps\n>(\n // blank line to reduce diff noise\n function DialogContentNonModal(props: ScopedProps<DialogContentTypeProps>, forwardedRef) {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === 'pointerdown') {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n },\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ComponentRef<typeof DismissableLayer>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: FocusScopeProps['trapped'];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n}\n\nconst DialogContentImpl = /* @__PURE__ */ React.forwardRef<\n DialogContentImplElement,\n DialogContentImplProps\n>(\n // blank line to reduce diff noise\n function DialogContentImpl(props: ScopedProps<DialogContentImplProps>, forwardedRef) {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (because of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionPresent ? context.descriptionId : undefined}\n aria-labelledby={context.titlePresent ? context.titleId : undefined}\n data-state={getState(context.open)}\n {...contentProps}\n ref={forwardedRef}\n deferPointerDownOutside\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n </>\n );\n },\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ComponentRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = React.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = /* @__PURE__ */ React.forwardRef<DialogTitleElement, DialogTitleProps>(\n function DialogTitle(props: ScopedProps<DialogTitleProps>, forwardedRef) {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n const { setTitleCount } = context;\n useLayoutEffect(() => {\n setTitleCount((count) => count + 1);\n return () => setTitleCount((count) => count - 1);\n }, [setTitleCount]);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n },\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ComponentRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = React.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = /* @__PURE__ */ React.forwardRef<\n DialogDescriptionElement,\n DialogDescriptionProps\n>(\n // blank line to reduce diff noise\n function DialogDescription(props: ScopedProps<DialogDescriptionProps>, forwardedRef) {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n const { setDescriptionCount } = context;\n useLayoutEffect(() => {\n setDescriptionCount((count) => count + 1);\n return () => setDescriptionCount((count) => count - 1);\n }, [setDescriptionCount]);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n },\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ComponentRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = /* @__PURE__ */ React.forwardRef<DialogCloseElement, DialogCloseProps>(\n function DialogClose(props: ScopedProps<DialogCloseProps>, forwardedRef) {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n },\n);\n\n/** @deprecated Noop component to avoid breaking changes. */\nexport const WarningProvider: React.FC<\n ScopedProps<{\n children?: React.ReactNode;\n contentName: string;\n titleName: string;\n docsSlug: 'dialog';\n }>\n> = (props) => {\n return props.children;\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Dialog as Root,\n DialogTrigger as Trigger,\n DialogPortal as Portal,\n DialogOverlay as Overlay,\n DialogContent as Content,\n DialogTitle as Title,\n DialogDescription as Description,\n DialogClose as Close,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { Primitive, dispatchDiscreteCustomEvent } from '@radix-ui/react-primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayer\n * -----------------------------------------------------------------------------------------------*/\nconst CONTEXT_UPDATE = 'dismissableLayer.update';\nconst POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside';\nconst FOCUS_OUTSIDE = 'dismissableLayer.focusOutside';\n\nlet originalBodyPointerEvents: string;\n\nconst DismissableLayerContext = React.createContext({\n layers: new Set<DismissableLayerElement>(),\n layersWithOutsidePointerEventsDisabled: new Set<DismissableLayerElement>(),\n branches: new Set<DismissableLayerBranchElement>(),\n\n // Outside elements that belong to a layer's own dismiss affordance (eg, a\n // dialog overlay). Pressing them should dismiss the layer regardless of\n // whether or not they stop propagation.\n //\n // See https://github.com/radix-ui/primitives/issues/3346\n dismissableSurfaces: new Set<DismissableLayerBranchElement>(),\n});\n\ntype DismissableLayerElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DismissableLayerProps extends PrimitiveDivProps {\n /**\n * When `true`, hover/focus/click interactions will be disabled on elements outside\n * the `DismissableLayer`. Users will need to click twice on outside elements to\n * interact with them: once to close the `DismissableLayer`, and again to trigger the element.\n */\n disableOutsidePointerEvents?: boolean;\n /**\n * When `true`, a `'pointerdown'` event outside of the layered element will\n * wait for the interaction's click event before dispatching, allowing\n * third-party code to stop propagation of later events and cancel dismissal.\n */\n deferPointerDownOutside?: boolean;\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n /**\n * Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.\n * Can be prevented.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void;\n /**\n * Event handler called when the focus moves outside of the `DismissableLayer`.\n * Can be prevented.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void;\n /**\n * Event handler called when an interaction happens outside the `DismissableLayer`.\n * Specifically, when a `pointerdown` event happens outside or focus moves outside of it.\n * Can be prevented.\n */\n onInteractOutside?: (event: PointerDownOutsideEvent | FocusOutsideEvent) => void;\n /**\n * Handler called when the `DismissableLayer` should be dismissed\n */\n onDismiss?: () => void;\n}\n\nconst DismissableLayer = /* @__PURE__ */ React.forwardRef<\n DismissableLayerElement,\n DismissableLayerProps\n>(\n // blank line to reduce diff noise\n function DismissableLayer(props, forwardedRef) {\n const {\n disableOutsidePointerEvents = false,\n deferPointerDownOutside = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState<DismissableLayerElement | null>(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, setNode);\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [\n ...context.layersWithOutsidePointerEventsDisabled,\n ].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex =\n highestLayerWithOutsidePointerEventsDisabled\n ? layers.indexOf(highestLayerWithOutsidePointerEventsDisabled)\n : -1;\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const isDeferredPointerDownOutsideRef = React.useRef(false);\n\n const pointerDownOutside = usePointerDownOutside(\n (event) => {\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n },\n {\n ownerDocument,\n deferPointerDownOutside,\n isDeferredPointerDownOutsideRef,\n dismissableSurfaces: context.dismissableSurfaces,\n shouldHandlePointerDownOutside: React.useCallback(\n (target: EventTarget | null) => {\n if (!(target instanceof Node)) {\n return false;\n }\n\n const isPointerDownOnBranch = [...context.branches].some((branch) =>\n branch.contains(target),\n );\n return isPointerEventsEnabled && !isPointerDownOnBranch;\n },\n [context.branches, isPointerEventsEnabled],\n ),\n },\n );\n\n const focusOutside = useFocusOutside((event) => {\n if (deferPointerDownOutside && isDeferredPointerDownOutsideRef.current) {\n return;\n }\n\n const target = event.target as HTMLElement;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n\n const isHighestLayer = node ? index === layers.length - 1 : false;\n\n // Stabilize via `useCallbackRef` rather than `useEffectEvent`: React's\n // native `useEffectEvent` returns a stale closure inside `forwardRef`\n // components on React 19.2.x, which caused escape handlers to observe\n // mount-time props/state instead of the latest values.\n //\n // We should revert this to use useEffectEvent when the fix lands in React.\n //\n // - https://github.com/radix-ui/primitives/issues/4014\n // - https://github.com/react/react/pull/34831\n const handleKeyDown = useCallbackRef((event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n });\n\n React.useEffect(() => {\n if (!isHighestLayer) {\n return;\n }\n\n ownerDocument.addEventListener('keydown', handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener('keydown', handleKeyDown, { capture: true });\n }, [ownerDocument, isHighestLayer, handleKeyDown]);\n\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = 'none';\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n // We must remove this layer from the disabled set whenever\n // `disableOutsidePointerEvents` becomes `false` (eg, when a modal\n // closes but stays mounted during an exit animation) and not only on\n // unmount. Otherwise the `body` `pointer-events` could be left as\n // `none` when multiple layers overlap.\n // See: https://github.com/radix-ui/primitives/issues/3645\n if (disableOutsidePointerEvents) {\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n\n /**\n * We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect\n * because a change to `disableOutsidePointerEvents` would remove this layer from the stack\n * and add it to the end again so the layering order wouldn't be _creation order_.\n * We only want them to be removed from context stacks when unmounted.\n */\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n\n return (\n <Primitive.div\n {...layerProps}\n ref={composedRefs}\n style={{\n pointerEvents: isBodyPointerEventsDisabled\n ? isPointerEventsEnabled\n ? 'auto'\n : 'none'\n : undefined,\n ...props.style,\n }}\n onFocusCapture={composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture)}\n onBlurCapture={composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture)}\n onPointerDownCapture={composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture,\n )}\n />\n );\n },\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayerBranch\n * -----------------------------------------------------------------------------------------------*/\n\ntype DismissableLayerBranchElement = React.ComponentRef<typeof Primitive.div>;\ninterface DismissableLayerBranchProps extends PrimitiveDivProps {}\n\nconst DismissableLayerBranch = /* @__PURE__ */ React.forwardRef<\n DismissableLayerBranchElement,\n DismissableLayerBranchProps\n>(function DismissableLayerBranch(props, forwardedRef) {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef<DismissableLayerBranchElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n\n return <Primitive.div {...props} ref={composedRefs} />;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\n/**\n * Registers a node as a \"dismiss surface\" for the enclosing DismissableLayer\n */\nfunction useDismissableLayerSurface(): React.RefCallback<DismissableLayerBranchElement> {\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState<DismissableLayerBranchElement | null>(null);\n\n React.useEffect(() => {\n if (!node) {\n return;\n }\n context.dismissableSurfaces.add(node);\n return () => {\n context.dismissableSurfaces.delete(node);\n };\n }, [node, context.dismissableSurfaces]);\n\n return setNode;\n}\n\ntype PointerDownOutsideEvent = CustomEvent<{ originalEvent: PointerEvent }>;\ntype FocusOutsideEvent = CustomEvent<{ originalEvent: FocusEvent }>;\n\nconst IS_TRUE = () => true;\n\n/**\n * Listens for `pointerdown` outside a react subtree. We detect the start of the interaction on\n * `pointerdown`, then wait for `click` so external code can intercept later mouse events.\n * Returns props to pass to the node we want to check for outside events.\n */\nfunction usePointerDownOutside(\n onPointerDownOutside: ((event: PointerDownOutsideEvent) => void) | undefined,\n args: {\n ownerDocument: Document | undefined;\n deferPointerDownOutside: boolean;\n isDeferredPointerDownOutsideRef: React.RefObject<boolean>;\n dismissableSurfaces: Set<DismissableLayerBranchElement>;\n shouldHandlePointerDownOutside?: (target: EventTarget | null) => boolean;\n },\n) {\n const {\n ownerDocument = globalThis?.document,\n deferPointerDownOutside = false,\n isDeferredPointerDownOutsideRef,\n dismissableSurfaces,\n shouldHandlePointerDownOutside = IS_TRUE,\n } = args;\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside) as EventListener;\n const isPointerInsideReactTreeRef = React.useRef(false);\n const isPointerDownOutsideRef = React.useRef(false);\n const interceptedOutsideInteractionEventsRef = React.useRef<Map<string, boolean>>(new Map());\n const handleClickRef = React.useRef(() => {});\n\n React.useEffect(() => {\n function resetOutsideInteraction() {\n isPointerDownOutsideRef.current = false;\n isDeferredPointerDownOutsideRef.current = false;\n interceptedOutsideInteractionEventsRef.current.clear();\n }\n\n function isOutsideInteractionIntercepted() {\n return Array.from(interceptedOutsideInteractionEventsRef.current.values()).some(Boolean);\n }\n\n function handleInteractionCapture(event: Event) {\n if (!isPointerDownOutsideRef.current) {\n return;\n }\n\n const target = event.target;\n const isDismissableSurface =\n target instanceof Node &&\n [...dismissableSurfaces].some((surface) => surface.contains(target as Node));\n\n if (!isDismissableSurface) {\n interceptedOutsideInteractionEventsRef.current.set(event.type, true);\n }\n\n if (event.type === 'click') {\n window.setTimeout(() => {\n if (isPointerDownOutsideRef.current) {\n handleClickRef.current();\n }\n }, 0);\n }\n }\n\n function handleInteractionBubble(event: Event) {\n if (isPointerDownOutsideRef.current) {\n interceptedOutsideInteractionEventsRef.current.set(event.type, false);\n }\n }\n\n const handlePointerDown = (event: PointerEvent) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n if (!shouldHandlePointerDownOutside(event.target)) {\n ownerDocument.removeEventListener('click', handleClickRef.current);\n resetOutsideInteraction();\n isPointerInsideReactTreeRef.current = false;\n return;\n }\n\n const eventDetail = { originalEvent: event };\n isPointerDownOutsideRef.current = true;\n isDeferredPointerDownOutsideRef.current = deferPointerDownOutside && event.button === 0;\n interceptedOutsideInteractionEventsRef.current.clear();\n\n function handleAndDispatchPointerDownOutsideEvent() {\n ownerDocument.removeEventListener('click', handleClickRef.current);\n const wasOutsideInteractionIntercepted = isOutsideInteractionIntercepted();\n resetOutsideInteraction();\n\n if (!wasOutsideInteractionIntercepted) {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true },\n );\n }\n }\n\n /**\n * When deferring, we need to wait for a click event because:\n *\n * 1. On touch devices, browsers implement a ~350ms delay between the\n * time the user stops touching the display and when the browser\n * executes events. We need to ensure we don't reactivate\n * pointer-events within this timeframe otherwise the browser may\n * execute events that should have been prevented.\n *\n * 2. Browser extensions and other third-party code may call\n * `stopPropagation` on later mouse events like `mousedown`,\n * `mouseup`, or `click`. Waiting lets those intercepted events\n * cancel the outside interaction before we dismiss the layer. See\n * https://github.com/radix-ui/primitives/issues/2055\n *\n * Additionally, this also lets us deal automatically with cancellations\n * when a click event isn't raised because the page was considered\n * scrolled/drag-scrolled, long-pressed, etc.\n *\n * This is why we also continuously remove the previous listener,\n * because we cannot be certain that it was raised, and therefore\n * cleaned-up.\n *\n * For non-primary buttons, we dispatch the event immediately because we\n * cannot be certain that the event was canceled.\n */\n if (!deferPointerDownOutside || event.button !== 0) {\n handleAndDispatchPointerDownOutsideEvent();\n } else {\n ownerDocument.removeEventListener('click', handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;\n ownerDocument.addEventListener('click', handleClickRef.current, { once: true });\n }\n } else {\n // We need to remove the event listener in case the outside click has been canceled.\n // See: https://github.com/radix-ui/primitives/issues/2171\n ownerDocument.removeEventListener('click', handleClickRef.current);\n resetOutsideInteraction();\n }\n isPointerInsideReactTreeRef.current = false;\n };\n\n const outsideInteractionEvents = [\n 'pointerup',\n 'mousedown',\n 'mouseup',\n 'touchstart',\n 'touchend',\n 'click',\n ];\n\n for (const eventName of outsideInteractionEvents) {\n ownerDocument.addEventListener(eventName, handleInteractionCapture, true);\n ownerDocument.addEventListener(eventName, handleInteractionBubble);\n }\n\n /**\n * if this hook executes in a component that mounts via a `pointerdown` event, the event\n * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n * this by delaying the event listener registration on the document.\n * This is not React specific, but rather how the DOM works, ie:\n * ```\n * button.addEventListener('pointerdown', () => {\n * console.log('I will log');\n * document.addEventListener('pointerdown', () => {\n * console.log('I will also log');\n * })\n * });\n */\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener('pointerdown', handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener('pointerdown', handlePointerDown);\n ownerDocument.removeEventListener('click', handleClickRef.current);\n for (const eventName of outsideInteractionEvents) {\n ownerDocument.removeEventListener(eventName, handleInteractionCapture, true);\n ownerDocument.removeEventListener(eventName, handleInteractionBubble);\n }\n };\n }, [\n ownerDocument,\n handlePointerDownOutside,\n deferPointerDownOutside,\n isDeferredPointerDownOutsideRef,\n dismissableSurfaces,\n shouldHandlePointerDownOutside,\n ]);\n\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => (isPointerInsideReactTreeRef.current = true),\n };\n}\n\n/**\n * Listens for when focus happens outside a react subtree.\n * Returns props to pass to the root (node) of the subtree we want to check.\n */\nfunction useFocusOutside(\n onFocusOutside?: (event: FocusOutsideEvent) => void,\n ownerDocument: Document = globalThis?.document,\n) {\n const handleFocusOutside = useCallbackRef(onFocusOutside) as EventListener;\n const isFocusInsideReactTreeRef = React.useRef(false);\n\n React.useEffect(() => {\n const handleFocus = (event: FocusEvent) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false,\n });\n }\n };\n ownerDocument.addEventListener('focusin', handleFocus);\n return () => ownerDocument.removeEventListener('focusin', handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n\n return {\n onFocusCapture: () => (isFocusInsideReactTreeRef.current = true),\n onBlurCapture: () => (isFocusInsideReactTreeRef.current = false),\n };\n}\n\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\n\nfunction handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>(\n name: string,\n handler: ((event: E) => void) | undefined,\n detail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),\n { discrete }: { discrete: boolean },\n) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler as EventListener, { once: true });\n\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\n\nconst Root = DismissableLayer;\nconst Branch = DismissableLayerBranch;\n\nexport {\n DismissableLayer,\n DismissableLayerBranch,\n useDismissableLayerSurface,\n //\n Root,\n Branch,\n};\nexport type { DismissableLayerProps };\n","import * as React from 'react';\n\n/** Number of components which have requested interest to have focus guards */\nlet count = 0;\n\n/**\n * Cached references to the single shared pair of edge guards. Keeping these at\n * module scope lets us avoid scanning the whole document (`querySelectorAll`)\n * and re-inserting the guards on every overlay mount.\n */\nlet guards: { start: HTMLSpanElement; end: HTMLSpanElement } | null = null;\n\ninterface FocusGuardsProps {\n children?: React.ReactNode;\n}\n\nfunction FocusGuards(props: FocusGuardsProps) {\n useFocusGuards();\n return props.children;\n}\n\n/**\n * Injects a pair of focus guards at the edges of the whole DOM tree\n * to ensure `focusin` & `focusout` events can be caught consistently.\n */\nfunction useFocusGuards() {\n React.useEffect(() => {\n if (!guards) {\n guards = { start: createFocusGuard(), end: createFocusGuard() };\n }\n const { start, end } = guards;\n\n // Only mutate the DOM when the edge invariant is actually broken. Writing\n // to `document.body` dirties layout and forces a synchronous reflow once\n // sibling effects read layout (Popper measuring, react-remove-scroll,\n // aria-hidden, FocusScope), so skipping no-op moves avoids that cost on\n // every mount. The trailing guard still gets re-asserted to last whenever a\n // newly portaled node lands after it (portals append to the end of\n // `document.body`). See https://github.com/radix-ui/primitives/issues/2812\n if (document.body.firstElementChild !== start) {\n document.body.insertAdjacentElement('afterbegin', start);\n }\n if (document.body.lastElementChild !== end) {\n document.body.insertAdjacentElement('beforeend', end);\n }\n count++;\n\n return () => {\n if (count === 1) {\n guards?.start.remove();\n guards?.end.remove();\n guards = null;\n }\n count = Math.max(0, count - 1);\n };\n }, []);\n}\n\nfunction createFocusGuard() {\n const element = document.createElement('span');\n element.setAttribute('data-radix-focus-guard', '');\n element.tabIndex = 0;\n element.style.outline = 'none';\n element.style.opacity = '0';\n element.style.position = 'fixed';\n element.style.pointerEvents = 'none';\n return element;\n}\n\nexport {\n FocusGuards,\n //\n FocusGuards as Root,\n //\n useFocusGuards,\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FocusScope = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function FocusScope2(props, forwardedRef) {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, setContainer);\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n __name(handleFocusIn2, \"handleFocusIn\");\n __name(handleFocusOut2, \"handleFocusOut\");\n __name(handleMutations2, \"handleMutations\");\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n }, \"FocusScope\")\n);\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\n__name(focusFirst, \"focusFirst\");\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\n__name(getTabbableEdges, \"getTabbableEdges\");\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: /* @__PURE__ */ __name((node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }, \"acceptNode\")\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\n__name(getTabbableCandidates, \"getTabbableCandidates\");\nfunction findVisible(elements, container) {\n const canUseCheckVisibility = typeof container.checkVisibility === \"function\" && container.checkVisibility({ checkVisibilityCSS: true });\n for (const element of elements) {\n const hidden = canUseCheckVisibility ? !element.checkVisibility({ checkVisibilityCSS: true }) : isHidden(element, { upTo: container });\n if (!hidden) {\n return element;\n }\n }\n}\n__name(findVisible, \"findVisible\");\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\n__name(isHidden, \"isHidden\");\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\n__name(isSelectableInput, \"isSelectableInput\");\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\n__name(focus, \"focus\");\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\n__name(createFocusScopesStack, \"createFocusScopesStack\");\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\n__name(arrayRemove, \"arrayRemove\");\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\n__name(removeLinks, \"removeLinks\");\nvar Root = FocusScope;\nexport {\n FocusScope,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Portal = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function Portal2(props, forwardedRef) {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n }, \"Portal\")\n);\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n catch (e) {\n console.error('aria-hidden: cannot operate on ', node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide aria-live elements - https://github.com/theKashey/aria-hidden/issues/10\n // and script elements, as they have no impact on accessibility.\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live], script')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // π merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n // handle refs changes - added or removed\n useIsomorphicLayoutEffect(function () {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function (ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function (ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noRelative: noRelative, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\nvar getCurrentUseCounter = function () {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n React.useEffect(function () {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function () {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n }\n else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n useLockAttribute();\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of <Style\n */\n var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n if (!target) {\n break;\n }\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n var parent_1 = target.parentNode;\n // we will \"bubble\" from ShadowDom in case we are, or just to the parent in normal case\n // this is the same logic used in focus-lock\n target = (parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1);\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n // allow drag selection (iOS); check if selection's anchorNode is the same as target or contains target\n var selection = window.getSelection();\n var anchorNode = selection && selection.anchorNode;\n var isTouchingSelection = anchorNode ? anchorNode === target || anchorNode.contains(target) : false;\n if (isTouchingSelection) {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n"],"names":["DialogTrigger","DialogOverlay","DialogOverlayImpl","DialogContent","DialogContentModal","DialogContentNonModal","DialogContentImpl","DialogTitle","DialogDescription","DialogClose","DismissableLayer","DismissableLayerBranch","handleAndDispatchPointerDownOutsideEvent","__defProp","Object","defineProperty","__name","target","value","configurable","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","bubbles","cancelable","FocusScope","FocusScope2","props","forwardedRef","loop","onMountAutoFocus","trapped","onMountAutoFocusProp","onUnmountAutoFocus","onUnmountAutoFocusProp","scopeProps","container","setContainer","lastFocusedElementRef","composedRefs","focusScope","paused","pause","resume","current","handleFocusIn2","event","contains","focus","select","handleFocusOut2","relatedTarget","handleMutations2","mutations","focusedElement","document","activeElement","body","mutation","removedNodes","length","handleFocusIn","handleFocusOut","handleMutations","addEventListener","mutationObserver","MutationObserver","observe","childList","subtree","removeEventListener","disconnect","focusScopesStack","add","previouslyFocusedElement","hasFocusedCandidate","mountEvent","CustomEvent","dispatchEvent","defaultPrevented","focusFirst","removeLinks","getTabbableCandidates","setTimeout","unmountEvent","remove","handleKeyDown","isTabKey","key","altKey","ctrlKey","metaKey","container2","currentTarget","first","last","getTabbableEdges","hasTabbableElementsInside","preventDefault","shiftKey","div","tabIndex","ref","onKeyDown","candidates","candidate","findVisible","reverse","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","node","isHiddenInput","tagName","type","disabled","hidden","FILTER_SKIP","FILTER_ACCEPT","nextNode","push","currentNode","elements","canUseCheckVisibility","checkVisibility","checkVisibilityCSS","element","isHidden","upTo","getComputedStyle","visibility","display","parentElement","isSelectableInput","HTMLInputElement","preventScroll","createFocusScopesStack","stack","activeFocusScope","arrayRemove","unshift","array","item","updatedArray","index","indexOf","splice","items","filter","Root","getDefaultParent","originalTarget","sampleTarget","Array","isArray","ownerDocument","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","host","parentNode","correctTargets","parent","targets","map","correctedTarget","console","error","x","Boolean","applyAttributeToOthers","markerName","controlAttribute","markerCounter","hiddenNodes","elementsToKeep","Set","elementsToStop","keep","el","has","forEach","deep","prototype","call","children","attr","getAttribute","alreadyHidden","counterValue","get","markerValue","set","setAttribute","e","clear","removeAttribute","delete","hideOthers","from","activeParentNode","apply","querySelectorAll","inertOthers","supportsInert","HTMLElement","hasOwnProperty","suppressOthers","extendStatics","d","b","setPrototypeOf","__proto__","p","__extends","TypeError","String","__","create","__assign","assign","t","s","i","n","arguments","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","f","kind","descriptor","name","_","done","context","access","addInitializer","result","init","__runInitializers","thisArg","value1","useValue","__propKey","concat","__setFunctionName","prefix","description","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","then","__generator","label","sent","trys","ops","y","g","Iterator","verb","Symbol","iterator","v","op","pop","__createBinding","o","m","k","k2","undefined","__esModule","writable","enumerable","__exportStar","__values","__read","ar","__spread","__spreadArrays","il","a","j","jl","__spreadArray","to","pack","l","slice","__await","__asyncGenerator","asyncIterator","q","AsyncIterator","awaitReturn","settle","fulfill","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","ownKeys","getOwnPropertyNames","__importStar","mod","__importDefault","default","__classPrivateFieldGet","receiver","state","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","env","async","dispose","inner","asyncDispose","_SuppressedError","SuppressedError","suppressed","message","Error","__disposeResources","fail","hasError","__rewriteRelativeImportExtension","path","preserveJsx","test","replace","tsx","ext","cm","toLowerCase"],"mappings":"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","ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[578520,a=>{"use strict";var b=a.i(662145);let c={task_updated:"π¨",decision_logged:"π",memory_updated:"π§ ",doc_read:"π",session_start:"π€",roadmap_updated:"πΊοΈ"};function d(a){let b=(Date.now()-new Date(a).getTime())/1e3;return b<60?"just now":b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}a.s(["ActivityEventRow",0,function({event:a}){return(0,b.jsxs)("div",{className:"flex gap-4 pb-4 animate-fade-in",children:[(0,b.jsx)("div",{className:"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10",children:c[a.type]||"β’"}),(0,b.jsxs)("div",{className:"flex-1 pt-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-txt",children:a.title}),"ai"===a.actor&&(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono",children:"AI"})]}),a.detail&&(0,b.jsx)("p",{className:"text-xs text-muted truncate",children:a.detail}),(0,b.jsx)("p",{className:"text-xs text-muted/60 mt-0.5 font-mono",children:d(a.timestamp)})]})]})},"timeAgo",0,d])},749223,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(786304),f=a.i(699570);let g={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border line-through"},h={todo:"border-border2 text-muted","in-progress":"border-amber/40 text-amber",blocked:"border-danger/40 text-danger",done:"border-teal/40 text-teal",cancelled:"border-border text-muted"},i={todo:"π","in-progress":"π¨",blocked:"π«",done:"β
",cancelled:"β"},j={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]};a.s(["STATUS_ICONS",0,i,"TaskCard",0,function({task:a,onMove:k,onOpen:l}){let[m,n]=(0,c.useState)(!1),o=j[a.status]||[];return(0,b.jsxs)("div",{draggable:!0,onDragStart:b=>{b.dataTransfer.setData("taskId",a.id),b.dataTransfer.effectAllowed="move",n(!0)},onDragEnd:()=>n(!1),style:{viewTransitionName:`task-${a.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,d.cn)("group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2",g[a.status]||"border-border",m&&"opacity-50 cursor-grabbing"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,b.jsx)("span",{className:"text-xs font-mono text-muted",children:a.id}),(0,b.jsx)(e.Badge,{variant:"outline",className:(0,d.cn)("text-[10px] h-4 px-1.5 font-normal",h[a.status]),children:"in-progress"===a.status?"active":a.status})]}),(0,b.jsx)("p",{className:"font-medium text-txt text-sm leading-snug mb-2",children:a.title}),a.phase&&(0,b.jsx)("p",{className:"text-xs text-muted mb-2",children:a.phase}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:l,children:"open"}),o.map(c=>(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>k(a.id,c),children:[i[c]," ","in-progress"===c?"start":c]},c))]})]})}])},536236,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(757061),f=a.i(149350),g=a.i(749223),h=a.i(913975),i=a.i(544394),j=a.i(578520);function k({taskId:a,onNavigate:d}){let{rootParam:e}=(0,i.useApp)(),f=(0,h.useRouter)(),[g,l]=(0,c.useState)(null);return(0,c.useEffect)(()=>{let b=e?`${e}&`:"?";fetch(`/api/sessions${b}taskId=${encodeURIComponent(a)}`).then(a=>a.json()).then(a=>l(Array.isArray(a)?a:[])).catch(()=>l([]))},[e,a]),(0,b.jsxs)("div",{className:"px-5 py-3 border-b border-border shrink-0",children:[(0,b.jsx)("p",{className:"mb-2 text-xs font-mono uppercase tracking-wide text-muted",children:"Sessions"}),null===g?null:0===g.length?(0,b.jsx)("p",{className:"text-xs text-muted",children:"No recorded sessions"}):(0,b.jsx)("div",{className:"flex max-h-40 flex-col gap-1 overflow-y-auto",children:g.map(a=>(0,b.jsxs)("button",{onClick:()=>{d(),f.push(`/activity?session=${encodeURIComponent(a.id)}`)},className:"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2",children:[(0,b.jsx)("span",{children:"ai"===a.actor?"π€":"π€"}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-muted",children:(0,j.timeAgo)(a.start)}),(0,b.jsx)("span",{className:"truncate text-txt",children:a.headline})]},a.id))})]})}let l={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]},m={"in-progress":"start",done:"done",blocked:"blocked",todo:"backlog",cancelled:"cancel"},n={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border"};a.s(["TaskDetailPanel",0,function({task:a,onClose:h,onMove:i}){let[j,o]=(0,c.useState)(a);a&&a!==j&&o(a);let p=j&&l[j.status]||[];return(0,b.jsx)(e.Sheet,{open:!!a,onOpenChange:a=>{a||h()},children:(0,b.jsx)(e.SheetContent,{side:"right","aria-describedby":void 0,className:"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col",children:j&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-muted",children:j.id}),(0,b.jsxs)("span",{className:(0,d.cn)("text-xs px-1.5 py-0.5 rounded-sm border font-mono",n[j.status]),children:[g.STATUS_ICONS[j.status]," ",j.status]})]}),(0,b.jsx)(e.SheetTitle,{className:"font-medium text-txt text-sm leading-snug",children:j.title})]}),p.length>0&&(0,b.jsx)("div",{className:"flex items-center gap-2 px-5 py-3 border-b border-border shrink-0",children:p.map(a=>(0,b.jsxs)("button",{onClick:()=>{i(j.id,a),h()},className:"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors",children:[g.STATUS_ICONS[a]," ",m[a]||a]},a))}),(0,b.jsx)(k,{taskId:j.id,onNavigate:h},j.id),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:j.raw?(0,b.jsx)(f.MarkdownRenderer,{content:j.raw}):(0,b.jsx)("p",{className:"text-sm text-muted",children:"No content available."})})]})})})}],536236)},21215,a=>{"use strict";var b=a.i(662145),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,message:d,subMessage:e,bordered:f}){return(0,b.jsxs)("div",{className:(0,c.cn)("text-center py-16 text-muted text-sm",f&&"border border-dashed border-border rounded-xl"),children:[(0,b.jsx)("p",{className:"text-3xl mb-3",children:a}),(0,b.jsx)("p",{children:d}),e&&(0,b.jsx)("p",{className:"text-xs mt-1",children:e})]})}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_components_008q3v8._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/activity/ActivityEventRow.tsx","../../../../src/components/board/TaskCard.tsx","../../../../src/components/board/TaskDetailPanel.tsx","../../../../src/components/board/TaskSessions.tsx","../../../../src/components/shared/EmptyState.tsx"],"sourcesContent":["import type { ActivityEvent } from \"@/types\"\r\n\r\nconst ACTIVITY_ICONS: Record<string, string> = {\r\n task_updated: \"π¨\",\r\n decision_logged: \"π\",\r\n memory_updated: \"π§ \",\r\n doc_read: \"π\",\r\n session_start: \"π€\",\n roadmap_updated: \"πΊοΈ\",\r\n}\r\n\r\nexport function timeAgo(ts: string): string {\r\n const d = (Date.now() - new Date(ts).getTime()) / 1000\r\n if (d < 60) return \"just now\"\r\n if (d < 3600) return `${Math.floor(d / 60)}m ago`\r\n if (d < 86400) return `${Math.floor(d / 3600)}h ago`\r\n return `${Math.floor(d / 86400)}d ago`\r\n}\r\n\r\ninterface ActivityEventRowProps {\r\n event: ActivityEvent\r\n}\r\n\r\nexport function ActivityEventRow({ event }: ActivityEventRowProps) {\r\n return (\r\n <div className=\"flex gap-4 pb-4 animate-fade-in\">\r\n <div className=\"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10\">\r\n {ACTIVITY_ICONS[event.type] || \"β’\"}\r\n </div>\r\n <div className=\"flex-1 pt-1 min-w-0\">\r\n <div className=\"flex items-center gap-2 mb-0.5\">\r\n <span className=\"text-sm font-medium text-txt\">{event.title}</span>\r\n {event.actor === \"ai\" && (\r\n <span className=\"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono\">\r\n AI\r\n </span>\r\n )}\r\n </div>\r\n {event.detail && (\r\n <p className=\"text-xs text-muted truncate\">{event.detail}</p>\r\n )}\r\n <p className=\"text-xs text-muted/60 mt-0.5 font-mono\">{timeAgo(event.timestamp)}</p>\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\r\n\r\nimport { useState } from \"react\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Badge } from \"@/components/ui/badge\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport type { Task } from \"@/types\"\r\n\r\nconst STATUS_COLORS: Record<string, string> = {\r\n todo: \"text-muted border-border2\",\r\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\r\n blocked: \"text-danger border-danger/30 bg-danger/5\",\r\n done: \"text-teal border-teal/30 bg-teal/5\",\r\n cancelled: \"text-muted border-border line-through\",\r\n}\r\n\r\nexport const STATUS_BADGE_COLORS: Record<string, string> = {\r\n todo: \"border-border2 text-muted\",\r\n \"in-progress\": \"border-amber/40 text-amber\",\r\n blocked: \"border-danger/40 text-danger\",\r\n done: \"border-teal/40 text-teal\",\r\n cancelled: \"border-border text-muted\",\r\n}\r\n\r\nexport const STATUS_ICONS: Record<string, string> = {\r\n todo: \"π\",\r\n \"in-progress\": \"π¨\",\r\n blocked: \"π«\",\r\n done: \"β
\",\r\n cancelled: \"β\",\r\n}\r\n\r\nconst NEXT_STATUS: Record<string, string[]> = {\r\n todo: [\"in-progress\"],\r\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\r\n blocked: [\"in-progress\", \"cancelled\"],\r\n done: [\"todo\"],\r\n cancelled: [\"todo\"],\r\n}\r\n\r\ninterface TaskCardProps {\r\n task: Task\r\n onMove: (id: string, status: string) => void\r\n onOpen: () => void\r\n}\r\n\r\nexport function TaskCard({ task, onMove, onOpen }: TaskCardProps) {\r\n const [isDragging, setIsDragging] = useState(false)\r\n const nextStatuses = NEXT_STATUS[task.status] || []\r\n\r\n return (\r\n <div\r\n draggable\r\n onDragStart={(e) => {\r\n e.dataTransfer.setData(\"taskId\", task.id)\r\n e.dataTransfer.effectAllowed = \"move\"\r\n setIsDragging(true)\r\n }}\r\n onDragEnd={() => setIsDragging(false)}\r\n style={{ viewTransitionName: `task-${task.file.replace(/[^a-zA-Z0-9_-]/g, \"_\")}` }}\r\n className={cn(\r\n \"group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2\",\r\n STATUS_COLORS[task.status] || \"border-border\",\r\n isDragging && \"opacity-50 cursor-grabbing\",\r\n )}\r\n >\r\n {/* ID + status badge */}\r\n <div className=\"flex items-center justify-between mb-1.5\">\r\n <span className=\"text-xs font-mono text-muted\">{task.id}</span>\r\n <Badge\r\n variant=\"outline\"\r\n className={cn(\"text-[10px] h-4 px-1.5 font-normal\", STATUS_BADGE_COLORS[task.status])}\r\n >\r\n {task.status === \"in-progress\" ? \"active\" : task.status}\r\n </Badge>\r\n </div>\r\n\r\n {/* Title */}\r\n <p className=\"font-medium text-txt text-sm leading-snug mb-2\">{task.title}</p>\r\n\r\n {/* Phase */}\r\n {task.phase && <p className=\"text-xs text-muted mb-2\">{task.phase}</p>}\r\n\r\n {/* Actions */}\r\n <div className=\"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity\">\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"h-6 text-xs px-2\"\r\n onClick={onOpen}\r\n >\r\n open\r\n </Button>\r\n {nextStatuses.map((s) => (\r\n <Button\r\n key={s}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"h-6 text-xs px-2\"\r\n onClick={() => onMove(task.id, s)}\r\n >\r\n {STATUS_ICONS[s]} {s === \"in-progress\" ? \"start\" : s}\r\n </Button>\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\r\n\r\nimport { useState } from \"react\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Sheet, SheetContent, SheetTitle } from \"@/components/ui/sheet\"\r\nimport { MarkdownRenderer } from \"@/components/docs/MarkdownRenderer\"\r\nimport type { Task } from \"@/types\"\r\nimport { STATUS_ICONS } from \"./TaskCard\"\r\nimport { TaskSessions } from \"./TaskSessions\"\r\n\r\nconst NEXT_STATUS: Record<string, string[]> = {\r\n todo: [\"in-progress\"],\r\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\r\n blocked: [\"in-progress\", \"cancelled\"],\r\n done: [\"todo\"],\r\n cancelled: [\"todo\"],\r\n}\r\n\r\nconst STATUS_LABELS: Record<string, string> = {\r\n \"in-progress\": \"start\",\r\n done: \"done\",\r\n blocked: \"blocked\",\r\n todo: \"backlog\",\r\n cancelled: \"cancel\",\r\n}\r\n\r\nconst STATUS_COLORS: Record<string, string> = {\r\n todo: \"text-muted border-border2\",\r\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\r\n blocked: \"text-danger border-danger/30 bg-danger/5\",\r\n done: \"text-teal border-teal/30 bg-teal/5\",\r\n cancelled: \"text-muted border-border\",\r\n}\r\n\r\ninterface TaskDetailPanelProps {\r\n task: Task | null\r\n onClose: () => void\r\n onMove: (id: string, status: string) => void\r\n}\r\n\r\nexport function TaskDetailPanel({ task: openTask, onClose, onMove }: TaskDetailPanelProps) {\r\n // Keep the last task rendered while the sheet slides out\r\n const [task, setTask] = useState(openTask)\r\n if (openTask && openTask !== task) setTask(openTask)\r\n\r\n const nextStatuses = task ? NEXT_STATUS[task.status] || [] : []\r\n\r\n return (\r\n <Sheet open={!!openTask} onOpenChange={(open) => { if (!open) onClose() }}>\r\n <SheetContent side=\"right\" aria-describedby={undefined} className=\"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col\">\r\n {task && (\r\n <>\r\n {/* Header */}\r\n <div className=\"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"font-mono text-xs text-muted\">{task.id}</span>\r\n <span className={cn(\"text-xs px-1.5 py-0.5 rounded-sm border font-mono\", STATUS_COLORS[task.status])}>\r\n {STATUS_ICONS[task.status]} {task.status}\r\n </span>\r\n </div>\r\n <SheetTitle className=\"font-medium text-txt text-sm leading-snug\">{task.title}</SheetTitle>\r\n </div>\r\n\r\n {/* Quick actions */}\r\n {nextStatuses.length > 0 && (\r\n <div className=\"flex items-center gap-2 px-5 py-3 border-b border-border shrink-0\">\r\n {nextStatuses.map((s) => (\r\n <button\r\n key={s}\r\n onClick={() => { onMove(task.id, s); onClose() }}\r\n className=\"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors\"\r\n >\r\n {STATUS_ICONS[s]} {STATUS_LABELS[s] || s}\r\n </button>\r\n ))}\r\n </div>\r\n )}\r\n\r\n <TaskSessions key={task.id} taskId={task.id} onNavigate={onClose} />\r\n\r\n {/* Content */}\r\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\r\n {task.raw ? (\r\n <MarkdownRenderer content={task.raw} />\r\n ) : (\r\n <p className=\"text-sm text-muted\">No content available.</p>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </SheetContent>\r\n </Sheet>\r\n )\r\n}\r\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport { useRouter } from \"next/navigation\"\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 <span>{s.actor === \"ai\" ? \"π€\" : \"π€\"}</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 { cn } from \"@/lib/utils\"\r\n\r\ninterface EmptyStateProps {\r\n icon: string\r\n message: string\r\n subMessage?: string\r\n bordered?: boolean\r\n}\r\n\r\nexport function EmptyState({ icon, message, subMessage, bordered }: EmptyStateProps) {\r\n return (\r\n <div\r\n className={cn(\r\n \"text-center py-16 text-muted text-sm\",\r\n bordered && \"border border-dashed border-border rounded-xl\",\r\n )}\r\n >\r\n <p className=\"text-3xl mb-3\">{icon}</p>\r\n <p>{message}</p>\r\n {subMessage && <p className=\"text-xs mt-1\">{subMessage}</p>}\r\n </div>\r\n )\r\n}\r\n"],"names":["ACTIVITY_ICONS","task_updated","decision_logged","memory_updated","doc_read","session_start","roadmap_updated","timeAgo","ts","d","Date","now","getTime","Math","floor","ActivityEventRow","event","className","type","title","actor","detail","timestamp","STATUS_COLORS","todo","blocked","done","cancelled","STATUS_BADGE_COLORS","STATUS_ICONS","NEXT_STATUS","TaskCard","task","onMove","onOpen","isDragging","setIsDragging","nextStatuses","status","draggable","onDragStart","e","dataTransfer","setData","id","effectAllowed","onDragEnd","style","viewTransitionName","file","replace","variant","phase","size","onClick","map","s","TaskSessions","taskId","onNavigate","rootParam","router","sessions","setSessions","qs","fetch","encodeURIComponent","then","r","json","data","Array","isArray","catch","length","push","start","headline","EmptyState","icon","message","subMessage","bordered"],"mappings":"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"}
|