bluekiwi 1.2.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/assets/app-runtime/.next/BUILD_ID +1 -1
- package/dist/assets/app-runtime/.next/app-path-routes-manifest.json +26 -6
- package/dist/assets/app-runtime/.next/build-manifest.json +2 -2
- package/dist/assets/app-runtime/.next/prerender-manifest.json +3 -3
- package/dist/assets/app-runtime/.next/routes-manifest.json +153 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/credentials/page.js +2 -8
- package/dist/assets/app-runtime/.next/server/app/(app)/credentials/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/credentials/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/[id]/page.js +2 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/[id]/page.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/[id]/page_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/page.js +2 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/page.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/page_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/docs/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/docs/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/instructions/page.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/(app)/instructions/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/instructions/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/groups/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/groups/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/groups/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/page.js +8 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/page.js +2 -8
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tutorial/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/tutorial/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tutorial/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/edit/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/edit/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/edit/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/new/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/new/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/new/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/change-password/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/change-password/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/invite/[token]/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/login/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/setup/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/setup/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error/page.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/change-password/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/change-password/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/dashboard/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/auth/dashboard/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/login/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/logout/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/me/groups/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/auth/me/groups/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/me/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/setup/route.js +4 -3
- package/dist/assets/app-runtime/.next/server/app/api/auth/setup/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/reveal/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/reveal/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/[groupId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/[groupId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/transfer/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/activate/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/activate/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/activate/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/[assetId]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/[assetId]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/[assetId]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/components/[name]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/components/[name]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/components/[name]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/events/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/events/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/events/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/export/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/export/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/export/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/lint/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/lint/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/lint/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/preview/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/preview/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/preview/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/[key]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/[key]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/[key]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/compare/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/compare/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/compare/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/active/route.js +4 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/active/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/active/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/analyze/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/analyze/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/analyze/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/seed/route.js +2 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/seed/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/seed/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/docs/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/[groupId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/[groupId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/transfer/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/visibility/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/visibility/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/folders/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/guides/[slug]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/guides/[slug]/workflow/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/guides/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/transfer/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/visibility/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/visibility/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/accept/[token]/route.js +7 -6
- package/dist/assets/app-runtime/.next/server/app/api/invites/accept/[token]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/invites/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/report/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/report/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/cleanup-visual-html/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/settings/cleanup-visual-html/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/email/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/settings/email/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/members/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/members/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/advance/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/advance/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/approve/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/approve/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/cancel/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/cancel/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/complete/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/complete/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/execute/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/execute/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/feedback/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/feedback/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/findings/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/findings/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/heartbeat/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/logs/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/request-approval/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/request-approval/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/respond/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/respond/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/rewind/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/rewind/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/visual/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/visual/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/start/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/start/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/timeout-stale/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/timeout-stale/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/version/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/activate/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/activate/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/deactivate/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/deactivate/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/export/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/export/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/[groupId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/[groupId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/transfer/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/versions/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/versions/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/visibility/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/visibility/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/analyze/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/analyze/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp/change-password/__PAGE__.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp/change-password.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_full.segment.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/login.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp/login.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_full.segment.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/setup.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp/setup/__PAGE__.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp/setup.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_full.segment.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app-paths-manifest.json +26 -6
- package/dist/assets/app-runtime/.next/server/chunks/1371.js +5 -0
- package/dist/assets/app-runtime/.next/server/chunks/4024.js +1 -1
- package/dist/assets/app-runtime/.next/server/chunks/4380.js +7 -0
- package/dist/assets/app-runtime/.next/server/chunks/5172.js +358 -0
- package/dist/assets/app-runtime/.next/server/chunks/5589.js +1 -1
- package/dist/assets/app-runtime/.next/server/chunks/6120.js +1 -0
- package/dist/assets/app-runtime/.next/server/chunks/7945.js +31 -4
- package/dist/assets/app-runtime/.next/server/chunks/8355.js +1 -0
- package/dist/assets/app-runtime/.next/server/chunks/859.js +1 -1
- package/dist/assets/app-runtime/.next/server/chunks/9100.js +1 -0
- package/dist/assets/app-runtime/.next/server/chunks/9439.js +1 -0
- package/dist/assets/app-runtime/.next/server/middleware-build-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/pages/404.html +1 -1
- package/dist/assets/app-runtime/.next/server/pages/500.html +1 -1
- package/dist/assets/app-runtime/.next/server/server-reference-manifest.json +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/173-a97262e334770725.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/2360-975f0c14308c88bc.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/{2293-e75169fba3ab0f64.js → 2989-cc47541f81b2181f.js} +2 -2
- package/dist/assets/app-runtime/.next/static/chunks/3207-7a74f5b8fc63cfe9.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/{5751-1d0ed4353025d40c.js → 3443-b4daf428b3a03717.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/3671-3ec1b01363e1d1c5.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/3689-1ffc19b35e5d1101.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/6126-cca19a7b816db517.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/{7262-cdb2767600e6e41e.js → 6609-078a8cdc853f87c6.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/6644-de12bb5dcee357e8.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/7050-a4f09c854891a3cc.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/7462-99343ed0daab6a49.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/7533-f1110b90a820e95c.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/{6095-1b7d63b0bf80dd32.js → 8368-1830a099684acf83.js} +2 -2
- package/dist/assets/app-runtime/.next/static/chunks/9243-42247f33b2db5dd3.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/982-8a9df4d5d73197d3.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/9927-71af96b4f536c6a4.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/credentials/page-6b45e41f48f43b7d.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/design-systems/[id]/page-e851d0a82242bcbd.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/design-systems/page-b9d457ae27951d55.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/instructions/{page-dd25654a8191a638.js → page-f46b64210da72126.js} +2 -2
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/layout-7a2f7065a96b50f2.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/groups/page-de795ba135b7f780.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/{page-1709c8cd7e4b68a6.js → page-4408a43823696ddc.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/[id]/{page-e88075977b43a9d5.js → page-62b8c7b35f187f33.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/{page-82a1601abeaf3423.js → page-f5b823c754fbc4c3.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tutorial/page-8255141f3fabe520.js +34 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/[id]/edit/{page-b3775f3aecb19718.js → page-2e62beb288e70840.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/[id]/page-ad179f55fb2d4a7f.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/new/{page-abd414c9c1602c90.js → page-6ca1cc2ff5b3e912.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/page-33a541a152b061fc.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/change-password/{page-a984ad1a8e98b9e7.js → page-2f23af48cfbb0071.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/login/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/setup/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/_global-error/page-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/change-password/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/dashboard/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/login/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/logout/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/groups/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/setup/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/reveal/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/[groupId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/activate/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/assets/[assetId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/assets/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/components/[name]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/events/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/export/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/lint/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/preview/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/sections/[section]/[key]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/sections/[section]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/versions/compare/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/versions/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/active/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/import/analyze/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/import/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/seed/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/docs/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/[groupId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/visibility/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/workflow/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/visibility/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/accept/[token]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/report/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/cleanup-visual-html/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/email/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/members/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/advance/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/approve/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/cancel/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/comments/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/complete/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/execute/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/feedback/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/findings/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/logs/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/request-approval/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/respond/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/rewind/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/visual/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/start/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/timeout-stale/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/version/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/activate/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/deactivate/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/export/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/[groupId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/versions/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/visibility/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/analyze/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/layout-a03e37c465149734.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/app-error-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/forbidden-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/not-found-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/unauthorized-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/css/9d548bcfa765cd8e.css +1 -0
- package/dist/assets/app-runtime/.next/static/kR9ojEXg0R3roI-0eLui5/_buildManifest.js +1 -0
- package/dist/assets/app-runtime/docker/seed-design-systems/open-design-core.json +3452 -0
- package/dist/assets/app-runtime/docker/seed-workflows/design-system-creation.json +80 -0
- package/dist/assets/app-runtime/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/dist/assets/app-runtime/package.json +1 -1
- package/dist/assets/app-runtime/src/content/guides/en/01-market-research-ai-coding-assistants.md +7 -7
- package/dist/assets/app-runtime/src/content/guides/en/02-bk-import.md +5 -5
- package/dist/assets/app-runtime/src/content/guides/ko/01-market-research-ai-coding-assistants.md +7 -7
- package/dist/assets/app-runtime/src/content/guides/ko/02-bk-import.md +5 -5
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/013_design_systems.sql +61 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/014_design_system_token_sections.sql +10 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/015_design_system_taxonomy.sql +11 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/016_user_settings.sql +11 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/017_design_system_events.sql +15 -0
- package/dist/assets/index.js +27 -2
- package/dist/assets/mcp/server.js +771 -2
- package/dist/assets/skills/bk-create/SKILL.md +426 -0
- package/dist/assets/skills/bk-credential/SKILL.md +1 -1
- package/dist/assets/skills/bk-design/SKILL.md +546 -383
- package/dist/assets/skills/bk-design/references/craft-rules.md +75 -0
- package/dist/assets/skills/bk-design/references/hifi-design-playbook.md +390 -0
- package/dist/assets/skills/bk-help/SKILL.md +6 -4
- package/dist/assets/skills/bk-import/SKILL.md +2 -2
- package/dist/assets/skills/bk-improve/SKILL.md +1 -1
- package/dist/assets/skills/bk-instruction/SKILL.md +1 -1
- package/dist/assets/skills/bk-start/SKILL.md +3 -3
- package/dist/runtimes/skills-helper.js +14 -2
- package/package.json +1 -1
- package/scripts/bundle-assets.mjs +10 -0
- package/dist/assets/app-runtime/.next/server/chunks/2099.js +0 -1
- package/dist/assets/app-runtime/.next/server/chunks/6640.js +0 -7
- package/dist/assets/app-runtime/.next/server/chunks/7484.js +0 -1
- package/dist/assets/app-runtime/.next/server/chunks/9031.js +0 -5
- package/dist/assets/app-runtime/.next/static/chunks/2360-35e89e45b93e4b6e.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/3199-4d641b94342c63dd.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/4319-c621f9e5059ef246.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/4637-78c9db381fdc0480.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/4663-2b5d2783b27c738c.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/6073-62ed9e571ecaf523.js +0 -7
- package/dist/assets/app-runtime/.next/static/chunks/7050-edc7d05dfb4620a7.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/7533-42c44555b23bfae4.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/7552-aa220264909ca9d9.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/7659-42ae14ef25af3f5e.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/8920-3a6e8e66a1cb7a75.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/9243-9c99cc0df75c9121.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/credentials/page-5c7345b157145460.js +0 -7
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/layout-d7f54b544bb8d2df.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/groups/page-9254dcaa5d447e5b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tutorial/page-e17231b0bc7cb6d6.js +0 -34
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/[id]/page-66d44a2bc9f94668.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/page-a76941b77690f97c.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/login/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/setup/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/_global-error/page-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/change-password/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/dashboard/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/login/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/logout/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/groups/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/setup/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/reveal/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/[groupId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/docs/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/[groupId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/visibility/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/workflow/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/visibility/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/accept/[token]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/report/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/cleanup-visual-html/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/email/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/members/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/advance/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/approve/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/cancel/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/comments/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/complete/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/execute/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/feedback/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/findings/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/logs/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/request-approval/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/respond/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/rewind/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/visual/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/start/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/timeout-stale/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/version/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/activate/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/deactivate/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/export/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/[groupId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/versions/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/visibility/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/analyze/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/layout-e3f307ffaa2d11cc.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/app-error-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/forbidden-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/not-found-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/css/2bc6b6e35d293c50.css +0 -1
- package/dist/assets/app-runtime/.next/static/ymP-zxwYrYDNi2qYSDfJr/_buildManifest.js +0 -1
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/lib/index.js +0 -1
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/package.json +0 -42
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/versions.json +0 -30
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/lib/index.js +0 -1
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/package.json +0 -42
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/versions.json +0 -30
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/LICENSE +0 -191
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/lib/sharp-linux-arm64.node +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/package.json +0 -46
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/LICENSE +0 -191
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/lib/sharp-linuxmusl-arm64.node +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/package.json +0 -46
- /package/dist/assets/app-runtime/.next/static/{ymP-zxwYrYDNi2qYSDfJr → kR9ojEXg0R3roI-0eLui5}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2360],{42360:(e,t,s)=>{s.d(t,{I18nProvider:()=>n,B:()=>l});var i=s(95155),o=s(12115);let a={ko:JSON.parse('{"common":{"save":"저장","cancel":"취소","delete":"삭제","edit":"편집","preview":"미리보기","all":"전체","duplicate":"복제","create":"생성","add":"추가","close":"닫기","loading":"로딩 중...","confirm":"확인","search":"검색...","noResults":"결과 없음","deleteFailed":"삭제에 실패했습니다.","listView":"리스트 보기","gridView":"그리드 보기","copy":"복사"},"tutorial":{"heroEyebrow":"Claude, Codex 등 AI 코딩 도구 사용자 매뉴얼","tabOverview":"개요","tabGuides":"실전 가이드","guidesBack":"← 목록으로","guidesLoading":"로딩 중...","guidesEmpty":"등록된 가이드가 없습니다.","tryWorkflowAdd":"이 워크플로 내 워크스페이스에 추가하기","tryWorkflowLoading":"워크플로 불러오는 중...","heroTitle":"작업 흐름을 만드는 가장 짧은 경로","heroDesc":"BlueKiwi에서 지침 작성, 워크플로 조립, 실행, 결과 확인까지 실제 사용 흐름을 빠르게 익힐 수 있도록 구성한 안내서입니다.","navStart":"시작하기","navInstructions":"지침 만들기","navWorkflows":"워크플로 만들기","navExecute":"실행하기","navMonitor":"태스크 확인","navExample":"실전 예시","navMcpLoop":"MCP 자동화","navTips":"운영 팁","s1Intro":"BlueKiwi의 기본 흐름은 단순합니다. 먼저 지침을 만들고, 그 지침들을 워크플로에 배치한 뒤, 실행 결과를 태스크 화면에서 확인합니다.","s1Screens":"주요 화면","s1InstructionsDesc":"지침을 작성하고 관리합니다.","s1WorkflowsDesc":"실행 순서를 설계합니다.","s1TasksDesc":"실행 결과와 상태를 확인합니다.","s1CredentialsDesc":"외부 서비스 접근 정보를 관리합니다.","s1AttachmentsTitle":"노드 첨부 파일","s1AttachmentsDesc":"워크플로 노드에 스크립트, 레퍼런스 문서, 설정 파일 등을 첨부할 수 있습니다. 에이전트는 실행 중 필요한 첨부 파일을 자동으로 다운로드합니다.","s1Order":"권장 사용 순서","s1Order1":"1. 지침에서 작업 단위를 먼저 정의합니다.","s1Order2":"2. 워크플로에서 실행 순서를 조립합니다.","s1Order3":"3. 필요하면 크리덴셜을 연결합니다.","s1Order4":"4. 실행 후 태스크에서 진행 상황과 결과를 확인합니다.","s1WhenToUse":"어떤 일을 BlueKiwi에 맡기면 좋은가","s1Use1":"반복적으로 같은 점검 절차를 수행해야 하는 일","s1Use2":"사람의 승인이나 응답이 중간에 필요한 다단계 작업","s1Use3":"실행 과정과 결과를 나중에 다시 추적해야 하는 작업","s1FoldersTitle":"폴더와 공개 범위","s1FoldersDesc":"워크플로와 지침은 폴더로 정리됩니다. 사이드바에서 폴더를 클릭하면 하위 폴더의 항목도 함께 표시됩니다.","s1VisPersonal":"개인 — 나만 볼 수 있습니다.","s1VisGroup":"그룹 — 같은 그룹 구성원에게 공유됩니다.","s1VisPublic":"공개 — 모든 사용자가 볼 수 있습니다.","s1VisInherit":"상위 따름 — 상위 폴더의 공개 범위를 그대로 따릅니다.","s1VisTip":"폴더 옆 아이콘으로 공개 범위를 빠르게 확인할 수 있습니다.","s2Intro":"지침은 워크플로의 최소 단위입니다. 한 지침에는 하나의 목적과 하나의 기대 결과만 담는 편이 좋습니다.","s2Good":"좋은 지침 예시","s2GoodText":"크리덴셜 카드 목록을 점검하고, 서비스명 중복 여부와 빈 설명이 있는 항목을 표로 정리합니다.","s2Bad":"피해야 할 지침","s2BadText":"전체 시스템을 알아서 검토하고 필요한 모든 걸 수정합니다.","s2Tips":"지침을 잘 쓰는 기준","s2Tip1":"무엇을 판단해야 하는지보다 무엇을 산출해야 하는지를 먼저 씁니다.","s2Tip2":"모호한 표현 대신 체크 기준을 적습니다. 예: 보기 좋게가 아니라 중복 서비스명 없음.","s2Tip3":"결과 형식을 지정합니다. 예: bullet list, 표, 요약 문단, 파일 경로.","s3Intro":"워크플로는 지침을 순서대로 연결한 실행 설계도입니다. 노드 수를 늘리기보다, 승인 지점과 반복 지점을 어디 둘지 결정하는 것이 더 중요합니다.","s3NodeTypes":"노드 유형 이해하기","s3ActionDesc":"자동으로 바로 수행되는 일반 실행 단계입니다.","s3GateDesc":"사용자 확인이나 응답이 필요한 승인 단계입니다.","s3LoopDesc":"조건이 만족될 때까지 반복 점검하는 단계입니다.","s3Recommended":"처음 만드는 사람에게 권장하는 구조","s3Rec1":"1. Action: 현재 상태를 수집합니다.","s3Rec2":"2. Action: 문제나 개선 포인트를 정리합니다.","s3Rec3":"3. Gate: 사용자가 방향을 확정합니다.","s3Rec4":"4. Action: 확정된 방향으로 결과물을 만듭니다.","s4Intro":"워크플로 상세의 실행 버튼을 누르면 2단계 다이얼로그가 열립니다. 제목\xb7컨텍스트를 입력하고, 사용 중인 AI 도구(Claude Code, Codex CLI 등)를 선택하면 복사할 수 있는 명령어가 자동으로 생성됩니다. 해당 명령어를 에이전트에게 붙여넣으면 태스크가 생성\xb7실행됩니다.","s4PreCheck":"실행 전에 확인할 것","s4Pre1":"크리덴셜이 필요한 단계라면 연결 여부를 먼저 확인합니다.","s4Pre2":"반복 단계가 있다면 종료 조건이 분명한지 확인합니다.","s4Pre3":"승인 단계가 있다면 누가 응답할지 운영 방식을 정해둡니다.","s4HitlTitle":"승인 단계(HITL) 응답하기","s4HitlDesc":"Gate 노드에 HITL(사람 개입)이 설정되어 있으면, 에이전트가 작업을 마친 뒤 사용자의 승인을 기다립니다.","s4Hitl1":"태스크 상세에서 \'승인 대기\' 표시가 나타납니다.","s4Hitl2":"결과를 확인한 뒤 승인 버튼을 눌러 다음 단계로 진행합니다.","s4Hitl3":"결과가 부족하면 되감기(rewind)로 이전 단계부터 다시 실행할 수 있습니다.","s4StatusTitle":"실행 중 자주 보는 상태","s4Running":"실행 중","s4RunningDesc":"현재 단계가 진행 중이며 새 로그가 계속 쌓입니다.","s4Waiting":"대기","s4WaitingDesc":"사용자 응답 또는 외부 조건을 기다리는 상태입니다.","s4Failed":"실패","s4FailedDesc":"중단 원인을 확인하고 필요하면 다시 실행하거나 되감습니다.","s5Intro":"태스크 페이지에서는 목록과 상세 두 화면을 오가며 상태를 봅니다. 목록은 현재 상황을 훑는 용도이고, 상세는 한 실행 건을 깊게 보는 용도입니다.","s5ListTitle":"목록 화면에서 보는 것","s5List1":"어떤 워크플로에서 생성된 태스크인지","s5List2":"현재 상태와 진행률이 어느 정도인지","s5List3":"가장 최근 단계에서 어떤 결과가 나왔는지","s5DetailTitle":"상세 화면에서 보는 것","s5Detail1":"왼쪽 타임라인: 어느 단계까지 완료됐는지","s5Detail2":"오른쪽 결과 패널: 실제 산출물, 구조화 출력, 코멘트","s5Detail3":"반복 단계인 경우: 이전 반복과 최신 반복의 차이","s6Intro":"처음 써보는 사용자라면 추상적인 설명보다 실제 한 번의 운영 흐름을 따라가 보는 편이 훨씬 쉽습니다. 아래는 UI 점검 워크플로를 만드는 가장 현실적인 예시입니다.","s6Title":"직접 해보기: 크리덴셜 카드 점검 워크플로","s6Step1Title":"Step 1. 지침 3개를 만듭니다","s6Step1_1":"현재 크리덴셜 카드 UI를 점검하고 문제를 목록화한다","s6Step1_2":"문제를 중요도 순으로 정리하고 수정 우선순위를 제안한다","s6Step1_3":"수정 후 다시 점검하고 남은 이슈를 요약한다","s6Step2Title":"Step 2. 워크플로를 조립합니다","s6Step2_1":"1. Action: 현재 상태 점검","s6Step2_2":"2. Gate: 이 중 무엇을 먼저 고칠지 사용자 확인","s6Step2_3":"3. Action: 선택된 방향으로 수정안 정리","s6Step2_4":"4. Loop: 수정 후 다시 점검하고 종료 여부 결정","s6Step3Title":"Step 3. 실행 시 이렇게 적습니다","s6Step3Desc":"태스크 컨텍스트에는 이렇게 구체적으로 적는 편이 좋습니다.","s6Step3Example":"크리덴셜 페이지의 카드 UI를 점검합니다. 서비스명 중복 표시, 액션 메뉴 위치, 설명 텍스트 밀도, 편집 진입 방식 중심으로 보고 수정 우선순위를 정리합니다.","s6Step4Title":"Step 4. 실행 후 태스크에서 확인할 것","s6Step4_1":"1. 목록에서 어떤 워크플로가 어떤 상태인지 빠르게 확인합니다.","s6Step4_2":"2. 상세에서 각 단계 결과와 코멘트를 읽습니다.","s6Step4_3":"3. Gate 단계가 나오면 바로 응답해서 흐름을 이어갑니다.","s6Step4_4":"4. 결과가 마음에 들지 않으면 rewind 후 다시 진행합니다.","s7Title":"MCP 연동","s7Intro":"BlueKiwi MCP 서버를 AI 도구에 연결하면 워크플로 실행을 자동화할 수 있습니다. 사람이 웹 UI에서 하는 일을 에이전트가 대신 수행합니다.","s7SetupTitle":"MCP 서버 연결하기","s7Setup1":"npm install -g bluekiwi 로 CLI를 설치합니다.","s7Setup2":"관리자가 보낸 초대 링크에서 토큰을 복사합니다.","s7Setup3":"bluekiwi accept <토큰> -s <서버URL> 로 초대 기반 연결을 완료합니다.","s7Setup4":"API 키가 있다면 bluekiwi init -p <프로필> -s <서버URL> -k <API키> 로 직접 연결하거나 MCP 설정을 갱신합니다.","s7Setup5":"bluekiwi status 로 현재 활성 프로필과 연결 상태를 확인합니다.","s7ToolsTitle":"주요 MCP 도구","s7ToolStartWorkflow":"워크플로 ID로 새 태스크를 시작합니다.","s7ToolAdvance":"다음 단계의 지침 정보를 받아옵니다.","s7ToolExecuteStep":"현재 단계의 실행 결과를 제출합니다.","s7ToolRequestApproval":"HITL 단계에서 사람의 승인을 요청합니다.","s7ToolCompleteTask":"모든 단계가 끝나면 태스크를 완료합니다.","s7ToolRewind":"이전 단계로 되감아 다시 실행합니다.","s7ToolHeartbeat":"실행 중 진행 상황을 실시간으로 보고합니다.","s7ToolListTasks":"실행 중이거나 완료된 태스크 목록을 조회합니다.","s7ToolListAttachments":"노드에 첨부된 파일 목록을 조회합니다.","s7ToolGetAttachment":"첨부 파일의 내용을 다운로드합니다.","s7ToolUploadAttachment":"노드에 파일을 첨부합니다.","s7FlowTitle":"기본 실행 흐름","s7Flow1":"1. start_workflow → 태스크 생성","s7Flow2":"2. advance → 현재 단계 지침 수신","s7Flow3":"3. execute_step → 결과 제출","s7Flow4":"4. 2~3 반복. HITL 단계면 request_approval 후 사람의 승인 대기","s7Flow5":"5. complete_task → 태스크 완료","s7AutoTitle":"자동 생성과 자기개선","s7AutoDesc":"MCP를 이용하면 지침과 워크플로 자체를 자동으로 만들거나, 실행 결과를 분석해 점진적으로 개선하는 루프도 설계할 수 있습니다.","s7Auto1":"비슷한 유형의 워크플로를 자동으로 파생합니다.","s7Auto2":"태스크 로그를 분석해 자주 막히는 단계를 찾습니다.","s7Auto3":"지침 문구를 개선한 새 버전을 만들고 비교합니다.","s8Tip1Title":"처음에는 짧게 시작합니다","s8Tip1Desc":"3~4단계 안에서 끝나는 짧은 워크플로를 먼저 성공시킨 뒤 점점 승인 단계나 반복 단계를 추가하는 편이 안정적입니다.","s8Tip2Title":"결과 형식을 통일합니다","s8Tip2Desc":"같은 유형의 지침은 항상 같은 형식으로 결과를 쓰게 하면, 나중에 태스크 로그를 읽고 비교하기가 훨씬 쉬워집니다.","s8Tip3Title":"Gate는 꼭 필요한 곳에만 둡니다","s8Tip3Desc":"사용자의 응답이 정말 의사결정에 필요한 단계가 아니라면 Action으로 끝내는 편이 실행 속도와 사용성이 좋습니다.","s8Tip4Title":"이름을 구체적으로 짓습니다","s8Tip4Desc":"워크플로 제목, 지침 제목, 태스크 컨텍스트가 구체적일수록 목록과 상세 breadcrumb에서 바로 맥락을 읽을 수 있습니다.","s8CtaTitle":"바로 시작하려면","s8CtaDesc":"먼저 지침에서 작업 단위를 만들고, 그다음 워크플로에서 순서를 조립해 보세요. 실행 결과는 태스크에서 바로 확인할 수 있습니다.","s8CtaGoal":"추천 첫 목표:","s8CtaGoal1":"UI 점검 워크플로","s8CtaGoal2":"문서 검토 워크플로","navVS":"Visual Selection","navSkills":"스킬 명령어","sVsIntro":"Gate 노드에 visual_selection을 켜면 에이전트가 HTML 선택 UI를 직접 렌더링하고, 사용자가 버튼을 클릭해 응답합니다. 텍스트 입력 없이 클릭 한 번으로 워크플로가 이어집니다.","sVsHowTitle":"작동 방식","sVsHow1":"에이전트가 Gate 단계에 도달하면 bk-* 컴포넌트 HTML을 작성합니다.","sVsHow2":"태스크 상세 페이지에 팝업이 자동으로 열립니다.","sVsHow3":"사용자가 원하는 항목을 클릭하고 확인을 누릅니다.","sVsHow4":"선택 결과가 에이전트에 전달되고 다음 단계로 이어집니다.","sVsCompTitle":"주요 컴포넌트","sVsDemoOptionsLabel":"bk-options — 단일 선택 카드 (A/B/C)","sVsDemoChecklistLabel":"bk-checklist — 다중 선택","sVsDemoSliderLabel":"bk-slider — 수치 입력","sVsMoreTitle":"그 외 컴포넌트","sVsMore1":"bk-cards — 이미지 카드 선택 (레이아웃\xb7차트 유형 고를 때)","sVsMore2":"bk-ranking — 드래그 순위 정렬","sVsMore3":"bk-matrix — 2\xd72 중요도\xb7긴급도 배치","sVsMore4":"bk-code-compare — 코드 두 버전 비교","sVsMore5":"bk-split, bk-pros-cons, bk-mockup, bk-timeline — 비교\xb7검토용 레이아웃","sVsTip":"에이전트가 bk-design 또는 bk-start 실행 중 Gate 노드에서 VS UI를 자동 생성합니다. 별도 설정 없이 워크플로 노드에서 visual_selection: true로 지정하면 됩니다.","sSkIntro":"BlueKiwi는 웹 UI 외에 AI 코딩 도구에서 슬래시 명령어(/skill)로 직접 사용할 수 있습니다. 스킬은 가장 빠르고 자연스러운 워크플로 실행 경로입니다.","sSkTableTitle":"스킬 목록","sSkBkStart":"워크플로를 선택하고 태스크를 생성\xb7실행합니다. 중단된 태스크 재개 및 종료도 처리합니다.","sSkBkDesign":"자연어 목표를 입력하면 워크플로 구조를 설계하고 서버에 등록합니다.","sSkBkApprove":"HITL 대기 중인 단계를 CLI에서 승인하거나 게이트 응답을 입력합니다.","sSkBkImprove":"기존 워크플로를 분석해 개선 버전을 만들고 비교 실행합니다.","sSkBkNext":"실행 중인 태스크를 찾아 현재 단계부터 재개합니다.","sSkBkReport":"개발자에게 버그\xb7개선 피드백을 전송합니다.","sSkBkInstruction":"지침 템플릿을 생성\xb7편집\xb7삭제하고 크리덴셜을 연결합니다.","sSkBkHelp":"사용 가능한 bk-* 명령어 목록과 설명을 표시합니다.","sSkSessionTitle":"세션 복구 흐름","sSkSession1":"/bk-start 실행 시 비활성 2시간 초과 태스크를 자동으로 timed_out 처리합니다.","sSkSession2":"running\xb7timed_out 태스크가 있으면 이어서 진행 / 종료하고 새로 시작 / 새 태스크 시작(기존 유지) 중 선택할 수 있습니다.","sSkSession3":"여러 건이 있으면 가장 최근 태스크를 기준으로 선택지가 제시됩니다.","sSkInterruptTitle":"중단 처리","sSkInterrupt1":"실행 중 \'중단\', \'stop\', \'그만\' 등을 입력하면 중단 다이얼로그가 나타납니다.","sSkInterrupt2":"일시 중지 — 태스크를 running 상태로 두고 나중에 이어서 진행할 수 있습니다.","sSkInterrupt3":"태스크 종료 — complete_task를 호출해 히스토리에 \'종료됨\'으로 기록합니다.","s4TimedOut":"시간 초과","s4TimedOutDesc":"2시간 이상 활동이 없으면 자동으로 전환됩니다. /bk-start로 재개하거나 종료할 수 있습니다.","s4FeedbackTitle":"피드백 서베이","s4FeedbackDesc":"모든 단계가 완료되면 에이전트가 피드백 설문을 진행한 뒤 태스크를 완료 처리합니다. 간단한 평점과 의견으로 워크플로 개선에 활용됩니다.","s5RewindTitle":"되감기(Rewind)","s5RewindDesc":"태스크 상세 왼쪽 하단의 되감기 버튼을 누르면 현재 단계를 취소하고 이전 단계부터 다시 실행합니다. 결과가 마음에 들지 않을 때 사용합니다.","s5CommentTitle":"코멘트","s5CommentDesc":"각 단계 결과 아래에 코멘트를 남길 수 있습니다. 에이전트와 사람 모두 코멘트를 작성할 수 있어, 단계별 피드백과 맥락을 기록하는 데 유용합니다.","s5TimedOutTitle":"timed_out 상태","s5TimedOutDesc":"2시간 이상 활동이 없는 running 태스크는 자동으로 timed_out으로 전환됩니다. 목록에서 황색 배지로 표시되며, /bk-start로 재개하거나 완전히 종료할 수 있습니다.","s7ToolSetVisualHtml":"VS Gate에 렌더링할 HTML UI를 등록합니다.","s7ToolGetWebResponse":"사용자의 VS 클릭 결과를 폴링합니다.","s7ToolSaveFeedback":"태스크 완료 전 피드백을 서버에 저장합니다.","s7ToolSubmitReport":"개발자 피드백 리포트를 서버로 전송합니다.","s7ToolListWorkflows":"등록된 워크플로 목록을 조회합니다.","s7ToolListMyGroups":"내 그룹 목록을 조회합니다.","s7FeedbackTitle":"완료 플로우","s7FeedbackDesc":"워크플로 마지막 단계가 끝나면 에이전트는 save_feedback → complete_task 순서로 실행합니다. 피드백 없이 바로 complete_task를 부르지 않습니다."},"nav":{"workflows":"워크플로","tasks":"태스크","credentials":"크리덴셜","instructions":"지침","tutorial":"튜토리얼","apiDocs":"API 문서","marketplace":"마켓플레이스","settings":"설정","main":"메인","resources":"리소스","home":"홈","new":"새로 만들기","github":"GitHub 저장소","license":"라이센스","support":"개발자 후원","version":"버전","updateAvailable":"업데이트 필요","versionDialogTitle":"BlueKiwi 버전","versionDialogDescUpdate":"새 버전이 있습니다. 현재 버전은 v{current}이고, 최신 릴리스는 v{latest}입니다.","versionDialogDescCurrent":"현재 알려진 최신 버전 v{current}을 사용 중입니다.","updateMethodCliTitle":"CLI로 설치한 경우","updateMethodNpmTitle":"전역 재설치를 원할 경우","updateMethodDockerTitle":"Docker Compose로 운영 중인 경우","viewReleaseNotes":"릴리스 노트 보기"},"auth":{"login":"로그인","logout":"로그아웃","email":"이메일","password":"비밀번호","emailPlaceholder":"you@example.com","passwordPlaceholder":"••••••••","logoAlt":"BlueKiwi 로고","brandTagline":"에이전트 워크플로 엔진","loginButton":"로그인","loggingIn":"로그인 중...","noAccount":"계정이 없으신가요?","contactAdmin":"관리자에게 문의","invalidCredentials":"이메일 또는 비밀번호가 올바르지 않습니다.","enterBoth":"이메일과 비밀번호를 입력해주세요.","connectionError":"서버에 연결할 수 없습니다.","loginFailed":"로그인에 실패했습니다."},"setup":{"title":"첫 번째 관리자 계정을 생성합니다","name":"이름","namePlaceholder":"관리자 이름","emailPlaceholder":"admin@example.com","passwordPlaceholder":"6자 이상","confirmPassword":"비밀번호 확인","confirmPlaceholder":"비밀번호 다시 입력","createButton":"관리자 계정 생성","creating":"생성 중...","superuserNote":"이 계정은 superuser 권한으로 생성됩니다","passwordMinLength":"비밀번호는 6자 이상이어야 합니다.","passwordMismatch":"비밀번호가 일치하지 않습니다.","setupFailed":"설정에 실패했습니다.","serverError":"서버 오류 ({status}). 로그 확인: ~/.bluekiwi/quickstart/<profile>/logs/app.log"},"changePassword":{"title":"비밀번호를 변경해주세요","currentPassword":"현재 비밀번호","currentPasswordPlaceholder":"현재 비밀번호","newPassword":"새 비밀번호","newPasswordPlaceholder":"최소 6자 이상","confirmNewPassword":"새 비밀번호 확인","confirmNewPasswordPlaceholder":"새 비밀번호 다시 입력","changeButton":"비밀번호 변경","changing":"변경 중...","minLength":"새 비밀번호는 최소 6자 이상이어야 합니다.","mismatch":"새 비밀번호가 일치하지 않습니다.","changeFailed":"비밀번호 변경에 실패했습니다.","changed":"비밀번호가 변경되었습니다."},"invite":{"title":"BlueKiwi에 초대되었습니다","body":"{email}님, {role} 권한으로 워크스페이스에 참여하세요.","username":"사용자명","password":"비밀번호","accept":"수락하고 계정 만들기","success":{"title":"계정 생성 완료","installHint":"CLI에서 아래 명령어로 BlueKiwi를 연결하세요","goLogin":"로그인 페이지로"},"error":{"not_found":"초대 링크를 찾을 수 없습니다","expired":"초대 링크가 만료되었습니다","already_accepted":"이미 사용된 초대 링크입니다","network_error":"서버와 통신할 수 없습니다"}},"dashboard":{"title":"대시보드","subtitle":"워크플로와 태스크 현황을 한눈에 확인합니다.","workflows":"워크플로","activeTasks":"진행 중","completedTasks":"완료","teamMembers":"팀 멤버","registeredWorkflows":"등록된 워크플로","active":"활성 태스크","completed":"완료된 태스크","registeredUsers":"등록된 사용자","recentActivity":"최근 활동","noActivity":"아직 활동 기록이 없습니다.","activeTasksList":"진행 중인 태스크","viewAll":"전체 보기","noActiveTasks":"진행 중인 태스크가 없습니다.","quickLinks":"바로가기","workflowManagement":"워크플로 관리","workflowManagementDesc":"워크플로 생성 및 편집","taskTitle":"태스크","taskDesc":"실행 상태 실시간 확인","tutorialTitle":"튜토리얼","tutorialDesc":"BlueKiwi 사용 가이드","apiDocsTitle":"API 문서","apiDocsDesc":"REST API 레퍼런스","timeJustNow":"방금 전","timeMinutesAgo":"{n}분 전","timeHoursAgo":"{n}시간 전","timeDaysAgo":"{n}일 전"},"workflows":{"title":"워크플로","newWorkflow":"새 워크플로","detailTitle":"워크플로 상세","edit":"수정","export":"내보내기","import":"가져오기","exportTitle":"워크플로 내보내기","importTitle":"워크플로 가져오기","exportDescription":"이 워크플로를 JSON 파일로 저장합니다.","importDescription":"JSON 파일로 저장된 워크플로를 가져옵니다.","history":"실행 이력","nodesTab":"노드","meta":"메타데이터","version":"버전","nodeCount":"노드 수","nodeStep":"스텝 {step}","updatedAt":"수정됨","run":"실행","runFailed":"워크플로 실행을 시작하지 못했습니다.","runStarted":"태스크 #{id} 실행을 시작했습니다.","invalidId":"유효하지 않은 워크플로 ID입니다.","notFound":"워크플로를 찾을 수 없습니다.","backToList":"목록으로 돌아가기","noDescription":"설명이 없습니다.","noInstruction":"연결된 지침이 없습니다.","runningTasks":"이 워크플로의 태스크 {count}개","quickTasksTitle":"연결된 태스크","quickTasksDesc":"최근 실행과 현재 진행 상태를 바로 확인합니다.","recentTasks":"최근 실행","totalTasksLabel":"전체","viewAllTasks":"전체 태스크 보기","openHistory":"실행 이력 열기","noTasks":"이 워크플로로 실행된 태스크가 없습니다.","noNodes":"등록된 노드가 없습니다.","noNodesDesc":"노드를 추가하면 여기에서 전체 구성을 확인할 수 있습니다.","metaId":"워크플로 ID","metaVersion":"버전","metaParent":"원본 워크플로","metaNoParent":"없음","metaContract":"평가 계약","noEvaluation":"설정된 평가 계약이 없습니다.","empty":"워크플로가 없습니다","emptyDesc":"첫 번째 워크플로를 만들어보세요","deleteConfirm":"워크플로 삭제","deleteDesc":"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.","deleted":"워크플로가 삭제되었습니다.","duplicated":"워크플로가 복제되었습니다.","nodes":"개 노드","saved":"워크플로가 저장되었습니다.","copy":"복사","versionsTab":"버전","publishNewVersion":"새 버전 발행","publishedVersion":"발행 완료: {version}","publishFailed":"새 버전 발행에 실패했습니다.","activeBadge":"활성","inactiveBadge":"보관됨","draftBadge":"드래프트","activate":"활성화","deactivate":"비활성화","activated":"버전이 활성화되었습니다.","deactivated":"버전이 비활성화되었습니다.","activateFailed":"활성화에 실패했습니다.","deactivateFailed":"비활성화에 실패했습니다.","versionHistoryTitle":"버전 히스토리","versionHistoryDesc":"같은 family의 모든 버전을 확인하고 현재 운영 중인 버전을 선택하세요.","lineage":"리니지","lineageDesc":"상위 버전에서 파생된 관계를 보여줍니다.","noParent":"최상위","createdAt":"생성","actions":"동작","currentlyViewing":"현재 보기","showArchived":"보관 버전 포함","hideArchived":"보관 버전 숨기기","inactiveEditWarning":"현재 활성 버전이 아닙니다. 편집 내용은 in-place 저장되며 운영에 반영되지 않습니다.","inactiveStartBlocked":"이 버전은 비활성 상태라 태스크를 시작할 수 없습니다. 먼저 활성화하세요.","pickVersion":"실행할 버전 선택","pickVersionDefault":"활성 버전 사용","versionInactive409":"선택한 버전이 비활성 상태입니다.","folders":"폴더","allWorkflows":"전체 워크플로","results":"개의 결과","movedToFolder":"워크플로를 폴더로 이동했습니다."},"runDialog":{"step1Label":"태스크 설정","step2Label":"명령어 확인","step1Desc":"이번 실행에 대한 정보를 입력하세요. 모두 선택사항입니다.","titleLabel":"제목 (선택)","titlePlaceholder":"예: Q1 분석, 보안 점검...","contextLabel":"요청 내용 (선택)","contextPlaceholder":"에이전트에게 전달할 요청이나 지시사항을 입력하세요.","nextBtn":"다음","backBtn":"이전","toolLabel":"AI 도구 선택","commandLabel":"세션에 붙여넣기","copyBtn":"복사","usageHint":"AI 코딩 에이전트 세션에 위 명령어를 붙여넣으면 워크플로가 시작됩니다."},"tasks":{"title":"태스크","empty":"태스크가 없습니다","emptyDesc":"워크플로를 실행하면 태스크가 여기에 표시됩니다","all":"전체","inProgress":"진행 중","completed":"완료","pending":"대기","running":"실행 중","failed":"실패","timedOut":"시간 초과","cancelled":"중지됨","rewind":"되돌리기","stopTask":"중지","closeTask":"종료","resumeTask":"재개","cancelTask":"취소","statusCompletedMessage":"모든 단계가 완료되었습니다.","userInput":"사용자 입력","thinking":"사고 과정","assistantOutput":"어시스턴트 출력","artifacts":"아티팩트","comments":"코멘트","addComment":"코멘트 추가...","send":"전송","wsRealtime":"실시간 업데이트","deleteConfirm":"태스크 #{id}를 삭제하시겠습니까?","deleteTitle":"태스크 삭제","deleteDescription":"태스크 #{id}을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.","workflowFallback":"워크플로 #{id}","taskFallback":"태스크 #{id}","stepLabel":"스텝 {step}","stepTitleFallback":"스텝 {step}","steps":"steps","taskNotFound":"태스크를 찾을 수 없습니다.","backToList":"목록으로 돌아가기","selectStep":"상세 내용을 보려면 스텝을 선택하세요","hitlPendingApproval":"이 단계는 계속 진행하기 전에 승인이 필요합니다.","hitlApprove":"승인","hitlApproved":"승인 완료 — 실행이 계속됩니다.","awaitingResponse":"응답 대기 중","responseSubmitted":"응답이 제출되었습니다","responseSelections":"선택한 항목","responseComment":"추가 코멘트","responseFields":"입력한 필드","responseOptionComments":"선택지별 코멘트","responseValues":"입력 값","responseRanking":"우선순위","responseMatrix":"매트릭스 배치","typeResponse":"응답을 입력하세요...","viewVisual":"비주얼 보기","selectVisual":"비주얼 선택","visualSelectHint":"아래 옵션을 선택한 후 확인 버튼을 눌러주세요.","visualViewer":"비주얼 뷰어","closeVisualViewer":"닫기","input":"입력","output":"출력","showPreviousIterations":"이전 반복 {n}개 보기","hidePreviousIterations":"이전 반복 숨기기","iteration":"반복","latest":"최신","defaultAuthor":"사용자"},"settings":{"title":"설정","profile":"프로필","apiKeys":"API Keys","teamManagement":"팀 관리","notifications":"알림","notificationsTitle":"알림 설정","notificationsPlaceholder":"알림 설정은 추후 지원됩니다.","notificationsBody":"이메일 알림, 슬랙 연동 등의 알림 기능이 준비 중입니다.","name":"이름","email":"이메일","role":"역할","changePassword":"비밀번호 변경","saved":"프로필이 저장되었습니다.","saveFailed":"저장에 실패했습니다.","profileInfo":"프로필 정보","profileDesc":"계정의 기본 정보를 확인하고 수정할 수 있습니다.","namePlaceholder":"이름을 입력하세요","nameRequired":"이름을 입력해주세요.","saving":"저장 중...","userLoadFailed":"사용자 정보를 불러올 수 없습니다."},"apiKeys":{"title":"API Keys","description":"API 호출에 사용할 키를 관리합니다.","keyName":"이름","owner":"소유자","keyPrefix":"키 접두사","expiresAt":"만료일","status":"상태","action":"액션","revoke":"폐기","revoked":"폐기됨","activeStatus":"활성","none":"없음","noName":"(이름 없음)","newKey":"새 API Key 생성","newKeyTitle":"새 API Key 생성","newKeyDesc":"API Key의 이름을 입력하세요.","namePlaceholder":"예: production-key","generate":"생성","generating":"생성 중...","keyCreated":"API Key 생성 완료","keyWarning":"이 키는 다시 표시되지 않습니다. 안전한 곳에 복사해두세요.","cliInitLabel":"CLI 초기화 명령","copyCliCommand":"CLI 명령 복사","keyWarning2":"* 이 키는 창을 닫으면 다시 확인할 수 없습니다.","copied":"클립보드에 복사되었습니다.","revokeConfirm":"API Key 폐기","revokeDesc":"키를 폐기하시겠습니까? 이 작업은 되돌릴 수 없습니다.","revokeSuccess":"API Key가 폐기되었습니다.","revokeFailed":"API Key 폐기에 실패했습니다.","loadFailed":"API Key 목록을 불러오는데 실패했습니다.","noKeys":"등록된 API Key가 없습니다.","nameRequired":"키 이름을 입력해주세요.","createFailed":"생성에 실패했습니다.","keyNameLabel":"키 이름"},"team":{"title":"팀 관리","description":"팀원을 조회하고 초대합니다.","inviteMember":"팀원 초대","inviteTitle":"팀원 초대","inviteDesc":"새로운 팀원의 정보를 입력하세요.","invite":"초대","inviting":"초대 중...","memberAdded":"팀원이 초대되었습니다.","addFailed":"초대에 실패했습니다.","name":"이름","namePlaceholder":"이름","email":"이메일","emailPlaceholder":"email@example.com","password":"비밀번호","passwordPlaceholder":"초기 비밀번호","role":"역할","roleAdmin":"관리자","roleEditor":"편집자","roleViewer":"조회자","allFieldsRequired":"모든 필드를 입력해주세요.","loadFailed":"멤버 목록을 불러오는데 실패했습니다.","noMembers":"등록된 멤버가 없습니다.","invitesLoadFailed":"초대 목록을 불러오는데 실패했습니다.","emailRequired":"이메일을 입력해주세요.","inviteCreated":"초대 링크가 생성되었습니다.","inviteCreateFailed":"초대 생성에 실패했습니다.","inviteCancelled":"초대가 취소되었습니다.","inviteCancelFailed":"초대 취소에 실패했습니다.","inviteLinkCopied":"초대 링크가 복사되었습니다.","inviteDescription":"계정을 직접 만드는 대신 초대 링크를 공유합니다.","shareLinkExpires":"아래 링크를 공유하세요 (만료: {date}):","copyLink":"링크 복사","creating":"생성 중...","createInvite":"초대 생성","members":"팀원","invites":"초대 목록","noInvites":"초대 이력이 없습니다.","invitePending":"{date}까지 대기 중","inviteAccepted":"{date}에 수락됨","copyInviteLink":"복사","permViewWorkflows":"워크플로 조회","permExecuteWorkflows":"워크플로 실행","permCreateEditWorkflows":"워크플로 생성\xb7수정","permDeleteOwnWorkflows":"워크플로 삭제 (본인)","permViewCredentials":"자격증명 조회","permCreateEditCredentials":"자격증명 생성\xb7수정","permViewMembers":"팀원 조회","permManageMembers":"팀원 관리","permManageFolderShares":"폴더 공유 관리","deleteUser":"삭제","deleteUserTitle":"회원 삭제","deleteUserDesc":"이 계정과 관련된 데이터를 처리한 후 영구 삭제합니다. 이 작업은 되돌릴 수 없습니다.","deleteUserMode":"소유 리소스 처리","deleteUserTransfer":"다른 유저에게 이전","deleteUserDeleteAll":"모두 삭제","deleteUserTransferTo":"이전 대상","deleteUserSelectTarget":"유저 선택","deleteUserTransferWarning":"워크플로, 폴더, 지침, 크레덴셜이 선택한 유저에게 이전됩니다.","deleteUserDeleteAllWarning":"이 유저의 워크플로, 태스크, 폴더, 지침, 크레덴셜이 모두 삭제됩니다.","deleteUserSuccess":"회원이 삭제되었습니다.","deleteUserFailed":"회원 삭제에 실패했습니다.","deleteUserCannotSuperuser":"Superuser 계정은 삭제할 수 없습니다."},"groups":{"title":"그룹 관리","description":"그룹을 만들고 멤버를 관리합니다.","tabLabel":"그룹","newGroup":"새 그룹","groupName":"그룹 이름","groupNamePlaceholder":"그룹 이름 입력","noGroups":"생성된 그룹이 없습니다.","selectGroup":"좌측에서 그룹을 선택하세요.","members":"멤버","noMembers":"멤버가 없습니다.","addMember":"멤버 추가","selectUser":"사용자 선택","deleteGroup":"그룹 삭제","deleteConfirm":"이 그룹을 삭제하시겠습니까?","created":"그룹이 생성되었습니다.","createFailed":"그룹 생성에 실패했습니다.","memberAdded":"멤버가 추가되었습니다.","memberAddFailed":"멤버 추가에 실패했습니다.","memberRemoved":"멤버가 제거되었습니다.","memberRemoveFailed":"멤버 제거에 실패했습니다.","deleted":"그룹이 삭제되었습니다.","deleteFailed":"그룹 삭제에 실패했습니다.","nameRequired":"그룹 이름을 입력해주세요."},"deleteAccount":{"title":"계정 삭제","description":"계정을 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.","button":"계정 삭제","dialogTitle":"계정을 삭제하시겠습니까?","dialogDesc":"계정이 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다.","mode":"소유 리소스 처리","transfer":"다른 유저에게 이전","deleteAll":"모두 삭제","transferTo":"이전 대상","selectTarget":"유저 선택","transferWarning":"워크플로, 폴더, 지침, 크레덴셜이 선택한 유저에게 이전됩니다.","deleteAllWarning":"모든 워크플로, 태스크, 폴더, 지침, 크레덴셜이 삭제됩니다.","password":"비밀번호 확인","passwordPlaceholder":"현재 비밀번호를 입력하세요","confirm":"영구 삭제","success":"계정이 삭제되었습니다.","failed":"계정 삭제에 실패했습니다.","invalidPassword":"비밀번호가 올바르지 않습니다."},"editor":{"editWorkflow":"워크플로 편집","newWorkflow":"새 워크플로 만들기","basicInfo":"기본 정보","workflowTitle":"워크플로 제목","workflowTitlePlaceholder":"워크플로 제목","description":"설명 (선택사항)","descriptionPlaceholder":"설명 (선택)","addNode":"노드 추가","noNodes":"아직 노드가 없습니다","addFirstNode":"첫 번째 노드 추가","noNodesDesc":"위 \'+\' 버튼으로 노드를 추가하세요","save":"저장","saving":"저장 중...","cancel":"취소","modify":"수정","nodeTypes":"기본 노드 타입","savedTemplates":"저장된 지침 템플릿","action":"Action","actionDesc":"지침을 수행하고 결과 보고","gate":"Gate","gateDesc":"사용자 입력 대기","loop":"Loop","loopDesc":"조건 충족까지 반복","deleteNode":"노드 삭제","nodeTitle":"노드 제목","inlineWrite":"직접 작성","referenceInstruction":"지침 참조","selectInstruction":"지침 선택...","searchInstruction":"지침 검색...","createNewInstruction":"+ 새 지침 만들기","instructionTitle":"지침 제목","instructionContent":"지침 내용","instructionPlaceholder":"지침 내용을 입력하세요...","noCredential":"크리덴셜 없음","loopBackTo":"되돌아갈 스텝:","loopStepOption":"스텝 {step}{title}","selectStep":"-- 선택 --","auto":"자동","manual":"수동","nodes":"노드","pickerTitle":"노드 추가","pickerDesc":"추가할 노드 타입 또는 지침 템플릿을 선택하세요","searchPlaceholder":"검색...","credentialTitle":"크리덴셜","autoAdvanceTitle":"자동 진행","attachments":"첨부 파일","uploadFile":"파일 업로드"},"credentials":{"title":"크리덴셜","newCredential":"새 크리덴셜","createCredential":"크리덴셜 생성","editCredential":"크리덴셜 편집","serviceNamePlaceholder":"서비스 이름 (예: openai, github)","defaultServiceName":"새 서비스","serviceNameEditHint":"서비스명을 더블클릭해 수정할 수 있습니다.","descriptionPlaceholder":"설명 (선택)","secretsLabel":"Secrets (Key-Value)","footerHint":"연결 정보와 비밀값은 저장 후 워크플로에서 바로 사용할 수 있습니다.","secretKeyPlaceholder":"KEY","secretValuePlaceholder":"VALUE","secretValueKeepPlaceholder":"(빈칸이면 기존 유지)","deleteConfirm":"이 크리덴셜을 삭제하시겠습니까?","empty":"등록된 크리덴셜이 없습니다.","emptyDescription":"저장된 비밀값과 연결 정보를 관리합니다.","secretCount":"시크릿 {count}개","actionMenu":"크리덴셜 {service} 액션 메뉴","reveal":"평문 보기","mask":"가리기","useOnly":"사용 전용 (평문 조회 불가)","noAccess":"이 크레덴셜에 대한 접근 권한이 없습니다","accessLevelUse":"사용","accessLevelManage":"관리"},"folders":{"title":"폴더","new":"새 폴더","myWorkspace":"내 작업공간","visibilityPersonal":"개인","visibilityGroup":"그룹","visibilityPublic":"공개","visibilityInherit":"폴더따름","visibilityPersonalDesc":"나만 볼 수 있음","visibilityGroupDesc":"지정 그룹에 공유됨","visibilityPublicDesc":"모든 사용자가 접근 가능","visibilityInheritDesc":"상위 폴더의 공개 범위를 따릅니다","visibilitySettings":"공개 설정","shareWith":"공유 대상","accessLevelViewer":"읽기","accessLevelEditor":"편집","transferOwnership":"소유권 이전","moveTo":"이동","emptyInFolder":"이 폴더에 내용이 없습니다","inheritedFromParent":"상속됨","createFailed":"폴더를 만들지 못했습니다.","renameFailed":"이름을 변경하지 못했습니다.","deleteFailed":"폴더를 삭제하지 못했습니다.","namePlaceholder":"폴더 이름","addSubfolder":"하위 폴더 추가","rename":"이름 변경","systemFolderReadonly":"시스템 폴더의 공개 범위는 변경할 수 없습니다.","doubleClickToRename":"더블클릭으로 이름 변경","settingsLabel":"설정"},"visibility":{"settings":"공개 설정","scope":"공개 범위","changeFailed":"공개 범위 변경 실패","groupAddFailed":"그룹 추가 실패","groupRemoveFailed":"그룹 제거 실패","groupSharing":"그룹 공유","noSharedGroups":"공유된 그룹이 없습니다.","noGroupsHint":"생성된 그룹이 없습니다. 설정 > 그룹에서 먼저 만들어 주세요.","allGroupsShared":"모든 그룹이 이미 공유되어 있습니다.","selectGroup":"그룹 선택","applying":"적용 중…","apply":"적용","followFolder":"폴더 따름","followFolderDesc":"폴더 공개 범위 상속"},"ownership":{"owner":"소유자","sharedWith":"공유된 그룹","readOnlyPreview":"읽기 전용 미리보기 — 편집하려면 소유자 또는 editor 공유가 필요합니다","cantEdit":"소유자 또는 editor 공유 권한이 필요합니다","cantDelete":"소유자만 삭제할 수 있습니다","publicGateAdmin":"Public 공개는 관리자 권한이 필요합니다"},"rbacErrors":{"ownershipRequired":"소유자 권한이 필요합니다","visibilityGate":"관리자 권한이 필요합니다","credentialUseDenied":"이 크레덴셜에 대한 사용 권한이 없습니다","credentialRevealDenied":"평문 조회 권한이 없습니다","folderDepthExceeded":"폴더 중첩은 2단계까지만 가능합니다","folderVisibilityInvalid":"자식 폴더는 부모보다 더 넓은 visibility를 가질 수 없습니다","folderShareDenied":"공유 관리 권한이 없습니다","folderNotEmpty":"비어있지 않은 폴더는 삭제할 수 없습니다","instructionInUse":"이 지침은 {count}개의 워크플로 노드에서 사용 중이라 삭제할 수 없습니다. 해당 워크플로에서 먼저 지침을 분리하세요.","credentialInUse":"이 크레덴셜은 {count}개의 워크플로 노드에서 사용 중이라 삭제할 수 없습니다. 해당 워크플로에서 먼저 크레덴셜을 분리하세요."},"serverErrors":{"notFound":"요청한 리소스를 찾을 수 없습니다","unauthorized":"인증이 필요합니다","forbidden":"접근이 거부되었습니다","conflict":"요청이 현재 상태와 충돌합니다","preconditionFailed":"선행 조건이 충족되지 않았습니다","myWorkspaceMissing":"My Workspace가 없습니다. 관리자에게 문의하세요.","versionInactive":"이 워크플로 버전은 비활성 상태입니다","workflowCredentialSetupRequired":"이 워크플로는 크레덴셜 설정이 완료되어야 실행할 수 있습니다"},"validationErrors":{"generic":"입력값이 올바르지 않습니다"},"instructionsPage":{"title":"지침","newInstruction":"새 지침","editInstruction":"지침 편집","createInstruction":"지침 생성","dialogDescription":"지침 제목, 내용, 태그와 우선순위를 편집합니다.","newInstructionLabel":"새 지침","newAgentInstruction":"새로운 에이전트 지침","editMode":"편집 모드","createMode":"생성 모드","titlePlaceholder":"지침 제목","contentPlaceholder":"지침 내용을 입력하세요...","searchPlaceholder":"지침 검색...","tagsPlaceholder":"태그 (쉼표 구분: 보안, 필수)","tagInputPlaceholder":"태그 입력 후 Enter 또는 쉼표","tagAddPlaceholder":"태그 추가","tagRemove":"태그 {tag} 제거","priorityPlaceholder":"우선순위","helperText":"카드를 클릭하거나 메뉴의 편집 액션으로 같은 다이얼로그를 엽니다.","editorHelper":"마크다운 본문을 편집하거나 렌더링 결과를 바로 비교할 수 있습니다.","editTab":"편집","previewTab":"미리보기","splitTab":"둘 다","markdownEditor":"마크다운 편집","renderedPreview":"렌더링 미리보기","previewPlaceholder":"미리볼 마크다운 내용을 입력하세요.","emptyTitle":"등록된 지침이 없습니다.","emptyDescription":"재사용 가능한 에이전트 지침을 추가해 워크플로에서 바로 선택하세요.","noPreview":"지침 미리보기가 없습니다.","deleteTitle":"지침을 삭제할까요?","deleteDescription":"\\"{title}\\"은 삭제 후 복구할 수 없습니다.","inactive":"비활성","toggleDisable":"비활성화","toggleEnable":"활성화","updatedAt":"수정: {value}","deleteConfirm":"정말 삭제하시겠습니까?","actionMenu":"지침 {title} 액션 메뉴","credentialPlaceholder":"크리덴셜 선택","noCredential":"크리덴셜 없음","allInstructions":"전체 지침","results":"개의 결과","movedToFolder":"지침을 폴더로 이동했습니다."},"commandPalette":{"search":"명령어 검색...","noResults":"결과가 없습니다.","navigate":"이동","actions":"액션","newWorkflow":"새 워크플로"}}'),en:JSON.parse('{"common":{"save":"Save","cancel":"Cancel","delete":"Delete","edit":"Edit","preview":"Preview","all":"All","duplicate":"Duplicate","create":"Create","add":"Add","close":"Close","loading":"Loading...","confirm":"Confirm","search":"Search...","noResults":"No results","deleteFailed":"Failed to delete.","listView":"List view","gridView":"Grid view","copy":"Copy"},"tutorial":{"heroEyebrow":"User manual for AI coding tools like Claude and Codex","tabOverview":"Overview","tabGuides":"Practical Guides","guidesBack":"← Back to list","guidesLoading":"Loading...","guidesEmpty":"No guides available.","tryWorkflowAdd":"Add this workflow to my workspace","tryWorkflowLoading":"Loading workflow...","heroTitle":"The shortest path to building workflows","heroDesc":"A guide to quickly learn the real workflow: writing instructions, assembling workflows, executing, and reviewing results in BlueKiwi.","navStart":"Getting Started","navInstructions":"Create Instructions","navWorkflows":"Create Workflows","navExecute":"Execute","navMonitor":"Check Tasks","navExample":"Practical Example","navMcpLoop":"MCP Automation","navTips":"Tips","s1Intro":"The basic flow of BlueKiwi is simple. First create instructions, place them in a workflow, then check execution results on the tasks page.","s1Screens":"Key Pages","s1InstructionsDesc":"Write and manage instructions.","s1WorkflowsDesc":"Design execution sequences.","s1TasksDesc":"Check execution results and status.","s1CredentialsDesc":"Manage external service credentials.","s1AttachmentsTitle":"Node Attachments","s1AttachmentsDesc":"Attach scripts, reference docs, and config files to workflow nodes. Agents automatically download needed attachments during execution.","s1Order":"Recommended order","s1Order1":"1. Define work units in Instructions first.","s1Order2":"2. Assemble the execution order in Workflows.","s1Order3":"3. Connect credentials if needed.","s1Order4":"4. Check progress and results in Tasks after execution.","s1WhenToUse":"What tasks are good for BlueKiwi","s1Use1":"Tasks that require repeating the same review procedures","s1Use2":"Multi-step tasks needing human approval or input midway","s1Use3":"Tasks where execution process and results need to be tracked later","s1FoldersTitle":"Folders & Visibility","s1FoldersDesc":"Workflows and instructions are organized in folders. Clicking a folder in the sidebar also shows items from its subfolders.","s1VisPersonal":"Personal — Only you can see it.","s1VisGroup":"Group — Shared with your group members.","s1VisPublic":"Public — Visible to all users.","s1VisInherit":"Inherit — Follows the parent folder\'s visibility.","s1VisTip":"You can quickly check visibility by the icon next to each folder.","s2Intro":"Instructions are the smallest unit of a workflow. It\'s best to have a single purpose and a single expected result per instruction.","s2Good":"Good instruction example","s2GoodText":"Review the credential card list, check for duplicate service names and empty descriptions, and organize findings in a table.","s2Bad":"Instruction to avoid","s2BadText":"Review the entire system and fix everything as needed.","s2Tips":"Tips for writing good instructions","s2Tip1":"Write what to produce before writing what to judge.","s2Tip2":"Use specific criteria instead of vague expressions. e.g., \'no duplicate service names\' instead of \'make it look nice\'.","s2Tip3":"Specify the output format. e.g., bullet list, table, summary paragraph, file path.","s3Intro":"A workflow is a blueprint that connects instructions in order. Rather than adding more nodes, deciding where to place approval and repetition points is more important.","s3NodeTypes":"Understanding node types","s3ActionDesc":"A standard execution step that runs automatically.","s3GateDesc":"An approval step that requires user confirmation or response.","s3LoopDesc":"A step that repeats until a condition is met.","s3Recommended":"Recommended structure for beginners","s3Rec1":"1. Action: Collect current status.","s3Rec2":"2. Action: Organize issues and improvement points.","s3Rec3":"3. Gate: User confirms the direction.","s3Rec4":"4. Action: Produce deliverables in the confirmed direction.","s4Intro":"Clicking the Run button on the workflow detail opens a 2-step dialog. Enter a title and context, then select your AI tool (Claude Code, Codex CLI, etc.) to generate a ready-to-paste command. Paste that command into your agent to create and execute the task.","s4PreCheck":"Things to check before execution","s4Pre1":"If a step requires credentials, verify they are connected first.","s4Pre2":"If there are loop steps, ensure the exit condition is clear.","s4Pre3":"If there are approval steps, decide who will respond.","s4HitlTitle":"Responding to approval steps (HITL)","s4HitlDesc":"When a Gate node has HITL (Human-in-the-Loop) enabled, the agent waits for your approval after completing its work.","s4Hitl1":"An \'Awaiting Approval\' indicator appears in the task detail.","s4Hitl2":"Review the result and click the approve button to proceed.","s4Hitl3":"If the result is insufficient, use rewind to re-execute from a previous step.","s4StatusTitle":"Common statuses during execution","s4Running":"Running","s4RunningDesc":"The current step is in progress and new logs keep accumulating.","s4Waiting":"Waiting","s4WaitingDesc":"Waiting for user response or external conditions.","s4Failed":"Failed","s4FailedDesc":"Check the cause and re-execute or rewind if needed.","s5Intro":"On the tasks page, you switch between list and detail views. The list is for a quick overview; the detail is for deep-diving into a single execution.","s5ListTitle":"What to see in the list view","s5List1":"Which workflow generated the task","s5List2":"Current status and progress","s5List3":"What result came from the most recent step","s5DetailTitle":"What to see in the detail view","s5Detail1":"Left timeline: which steps are completed","s5Detail2":"Right result panel: deliverables, structured output, comments","s5Detail3":"For loop steps: difference between previous and latest iterations","s6Intro":"For first-time users, following a real operational flow is much easier than abstract explanations. Below is the most realistic example of creating a UI review workflow.","s6Title":"Try it: Credential card review workflow","s6Step1Title":"Step 1. Create 3 instructions","s6Step1_1":"Review the current credential card UI and list issues","s6Step1_2":"Organize issues by importance and suggest fix priorities","s6Step1_3":"Re-review after fixes and summarize remaining issues","s6Step2Title":"Step 2. Assemble the workflow","s6Step2_1":"1. Action: Review current status","s6Step2_2":"2. Gate: User confirms what to fix first","s6Step2_3":"3. Action: Organize fix proposals in the chosen direction","s6Step2_4":"4. Loop: Re-review after fixes and decide whether to end","s6Step3Title":"Step 3. Write the task context like this","s6Step3Desc":"It\'s better to be specific in the task context.","s6Step3Example":"Review the credential page card UI. Focus on duplicate service name display, action menu placement, description text density, and edit entry method, then organize fix priorities.","s6Step4Title":"Step 4. What to check in tasks after execution","s6Step4_1":"1. Quickly check which workflow is in which state in the list.","s6Step4_2":"2. Read each step\'s result and comments in the detail view.","s6Step4_3":"3. Respond immediately when a Gate step appears to continue the flow.","s6Step4_4":"4. If unsatisfied with results, rewind and proceed again.","s7Title":"MCP Integration","s7Intro":"Connecting the BlueKiwi MCP server to your AI tool automates workflow execution. The agent performs what a human would do in the web UI.","s7SetupTitle":"Connect the MCP server","s7Setup1":"Install the CLI with npm install -g bluekiwi.","s7Setup2":"Copy the token from the invite link sent by the admin.","s7Setup3":"Complete invite-based setup with bluekiwi accept <token> -s <serverURL>.","s7Setup4":"If you already have an API key, run bluekiwi init -p <profile> -s <serverURL> -k <apiKey> to connect directly or refresh MCP settings.","s7Setup5":"Run bluekiwi status to verify the active profile and connection.","s7ToolsTitle":"Key MCP tools","s7ToolStartWorkflow":"Start a new task from a workflow ID.","s7ToolAdvance":"Get the next step\'s instruction information.","s7ToolExecuteStep":"Submit the execution result for the current step.","s7ToolRequestApproval":"Request human approval at a HITL step.","s7ToolCompleteTask":"Mark the task as complete when all steps are done.","s7ToolRewind":"Rewind to a previous step to re-execute.","s7ToolHeartbeat":"Report progress in real-time during execution.","s7ToolListTasks":"List running or completed tasks.","s7ToolListAttachments":"List files attached to a workflow node.","s7ToolGetAttachment":"Download attachment content.","s7ToolUploadAttachment":"Upload a file to a workflow node.","s7FlowTitle":"Basic execution flow","s7Flow1":"1. start_workflow → Create task","s7Flow2":"2. advance → Receive current step instruction","s7Flow3":"3. execute_step → Submit result","s7Flow4":"4. Repeat 2-3. At HITL steps, call request_approval and wait for human approval","s7Flow5":"5. complete_task → Finish task","s7AutoTitle":"Auto-generation & self-improvement","s7AutoDesc":"With MCP, you can also auto-generate instructions and workflows, or design loops that analyze execution results and improve them incrementally.","s7Auto1":"Auto-derive similar workflow variants.","s7Auto2":"Analyze task logs to find frequently stuck steps.","s7Auto3":"Create improved instruction versions and compare results.","s8Tip1Title":"Start short","s8Tip1Desc":"It\'s more stable to first succeed with a short workflow of 3-4 steps, then gradually add approval or loop steps.","s8Tip2Title":"Unify result formats","s8Tip2Desc":"If instructions of the same type always use the same result format, it becomes much easier to read and compare task logs later.","s8Tip3Title":"Use Gates only where necessary","s8Tip3Desc":"Unless user response is truly needed for decision-making, ending with an Action is better for execution speed and usability.","s8Tip4Title":"Use specific names","s8Tip4Desc":"The more specific the workflow title, instruction title, and task context, the easier it is to read context from the list and detail breadcrumbs.","s8CtaTitle":"To get started right away","s8CtaDesc":"First create work units in Instructions, then assemble the sequence in Workflows. Results can be checked immediately in Tasks.","s8CtaGoal":"Recommended first goal:","s8CtaGoal1":"UI review workflow","s8CtaGoal2":"Document review workflow","navVS":"Visual Selection","navSkills":"Skill Commands","sVsIntro":"Enable visual_selection on a Gate node and the agent renders an HTML selection UI directly. The user clicks a button to respond — no typing required, and the workflow continues instantly.","sVsHowTitle":"How it works","sVsHow1":"When the agent reaches a Gate step, it writes bk-* component HTML.","sVsHow2":"A popup opens automatically on the task detail page.","sVsHow3":"The user clicks their choice and confirms.","sVsHow4":"The selection is sent back to the agent and the next step begins.","sVsCompTitle":"Key components","sVsDemoOptionsLabel":"bk-options — single-select cards (A/B/C)","sVsDemoChecklistLabel":"bk-checklist — multi-select","sVsDemoSliderLabel":"bk-slider — numeric input","sVsMoreTitle":"Other components","sVsMore1":"bk-cards — image card selection (for choosing layouts or chart types)","sVsMore2":"bk-ranking — drag-to-rank sorting","sVsMore3":"bk-matrix — 2\xd72 importance/urgency placement","sVsMore4":"bk-code-compare — compare two versions of code","sVsMore5":"bk-split, bk-pros-cons, bk-mockup, bk-timeline — comparison and review layouts","sVsTip":"During bk-design or bk-start execution, the agent auto-generates VS UIs at Gate nodes. Just set visual_selection: true on the workflow node — no extra configuration needed.","sSkIntro":"Beyond the web UI, BlueKiwi can be used directly from your AI coding tool via slash commands (/skill). Skills are the fastest and most natural path to running workflows.","sSkTableTitle":"Skill list","sSkBkStart":"Select a workflow and create/run a task. Also handles resuming and closing interrupted tasks.","sSkBkDesign":"Input a natural-language goal, design the workflow structure, and register it on the server.","sSkBkApprove":"Approve a HITL-pending step or submit a gate response from the CLI.","sSkBkImprove":"Analyze an existing workflow, create an improved version, and run a comparison.","sSkBkNext":"Find the active task and resume execution from the current step.","sSkBkReport":"Send bug reports and improvement feedback to the developer.","sSkBkInstruction":"Create, edit, and delete instruction templates, and link credentials.","sSkBkHelp":"Display all available bk-* commands with descriptions.","sSkSessionTitle":"Session restore flow","sSkSession1":"When /bk-start runs, tasks inactive for over 2 hours are automatically set to timed_out.","sSkSession2":"If there are running or timed_out tasks, you can choose: continue, close and start fresh, or start new while keeping existing.","sSkSession3":"If multiple tasks exist, the most recent one is used as the reference for your choices.","sSkInterruptTitle":"Handling interruptions","sSkInterrupt1":"Typing \'stop\', \'quit\', or similar during execution triggers an interruption dialog.","sSkInterrupt2":"Pause — keep the task in running state to resume later.","sSkInterrupt3":"Close task — calls complete_task and records it as \'closed\' in history.","s4TimedOut":"Timed Out","s4TimedOutDesc":"Automatically set after 2 hours of inactivity. Resume or close the task with /bk-start.","s4FeedbackTitle":"Feedback survey","s4FeedbackDesc":"Once all steps complete, the agent runs a quick feedback survey before marking the task done. A simple rating and comment helps improve the workflow over time.","s5RewindTitle":"Rewind","s5RewindDesc":"Press the rewind button at the bottom-left of the task detail to cancel the current step and re-run from the previous one. Use it when you\'re not satisfied with a result.","s5CommentTitle":"Comments","s5CommentDesc":"You can leave a comment below any step result. Both agents and humans can write comments, making it useful for recording per-step feedback and context.","s5TimedOutTitle":"timed_out status","s5TimedOutDesc":"Running tasks inactive for 2+ hours are automatically set to timed_out. They appear with a yellow badge in the list and can be resumed or closed with /bk-start.","s7ToolSetVisualHtml":"Register the HTML UI to render at a VS Gate node.","s7ToolGetWebResponse":"Poll for the user\'s VS click result.","s7ToolSaveFeedback":"Save feedback to the server before completing the task.","s7ToolSubmitReport":"Submit a developer feedback report to the server.","s7ToolListWorkflows":"List registered workflows.","s7ToolListMyGroups":"List the current user\'s groups.","s7FeedbackTitle":"Completion flow","s7FeedbackDesc":"When the last workflow step finishes, the agent runs save_feedback → complete_task in order. It never calls complete_task directly without collecting feedback first."},"nav":{"workflows":"Workflows","tasks":"Tasks","credentials":"Credentials","instructions":"Instructions","tutorial":"Tutorial","apiDocs":"API Docs","marketplace":"Marketplace","settings":"Settings","main":"Main","resources":"Resources","home":"Home","new":"New","github":"GitHub Repository","license":"License","support":"Support Developer","version":"Version","updateAvailable":"Update available","versionDialogTitle":"BlueKiwi version","versionDialogDescUpdate":"A newer version is available. You are on v{current}, and the latest release is v{latest}.","versionDialogDescCurrent":"You are using the latest known version: v{current}.","updateMethodCliTitle":"If you installed the CLI","updateMethodNpmTitle":"If you want to reinstall globally","updateMethodDockerTitle":"If you run BlueKiwi with Docker Compose","viewReleaseNotes":"View release notes"},"auth":{"login":"Login","logout":"Logout","email":"Email","password":"Password","emailPlaceholder":"you@example.com","passwordPlaceholder":"••••••••","logoAlt":"BlueKiwi logo","brandTagline":"Agent Workflow Engine","loginButton":"Sign in","loggingIn":"Signing in...","noAccount":"Don\'t have an account?","contactAdmin":"Contact administrator","invalidCredentials":"Invalid email or password.","enterBoth":"Please enter email and password.","connectionError":"Cannot connect to server.","loginFailed":"Login failed."},"setup":{"title":"Create your first admin account","name":"Name","namePlaceholder":"Admin name","emailPlaceholder":"admin@example.com","passwordPlaceholder":"6+ characters","confirmPassword":"Confirm password","confirmPlaceholder":"Re-enter password","createButton":"Create admin account","creating":"Creating...","superuserNote":"This account will have superuser privileges","passwordMinLength":"Password must be at least 6 characters.","passwordMismatch":"Passwords do not match.","setupFailed":"Setup failed.","serverError":"Server error ({status}). Check logs: ~/.bluekiwi/quickstart/<profile>/logs/app.log"},"changePassword":{"title":"Please change your password","currentPassword":"Current password","currentPasswordPlaceholder":"Current password","newPassword":"New password","newPasswordPlaceholder":"At least 6 characters","confirmNewPassword":"Confirm new password","confirmNewPasswordPlaceholder":"Re-enter new password","changeButton":"Change password","changing":"Changing...","minLength":"New password must be at least 6 characters.","mismatch":"New passwords do not match.","changeFailed":"Failed to change password.","changed":"Password has been changed."},"invite":{"title":"You’re invited to BlueKiwi","body":"{email}, join the workspace with {role} access.","username":"Username","password":"Password","accept":"Accept invite and create account","success":{"title":"Account created","installHint":"Connect BlueKiwi in your CLI with this command","goLogin":"Go to login"},"error":{"not_found":"Invite link was not found","expired":"Invite link has expired","already_accepted":"Invite link was already used","network_error":"Could not reach the server"}},"dashboard":{"title":"Dashboard","subtitle":"Overview of workflows and task status.","workflows":"Workflows","activeTasks":"Active","completedTasks":"Completed","teamMembers":"Team Members","registeredWorkflows":"Registered workflows","active":"Active tasks","completed":"Completed tasks","registeredUsers":"Registered users","recentActivity":"Recent Activity","noActivity":"No activity yet.","activeTasksList":"Active Tasks","viewAll":"View all","noActiveTasks":"No active tasks.","quickLinks":"Quick Links","workflowManagement":"Workflow Management","workflowManagementDesc":"Create and edit workflows","taskTitle":"Tasks","taskDesc":"Real-time execution status","tutorialTitle":"Tutorial","tutorialDesc":"BlueKiwi usage guide","apiDocsTitle":"API Docs","apiDocsDesc":"REST API reference","timeJustNow":"just now","timeMinutesAgo":"{n}m ago","timeHoursAgo":"{n}h ago","timeDaysAgo":"{n}d ago"},"workflows":{"title":"Workflows","newWorkflow":"New Workflow","detailTitle":"Workflow Details","edit":"Edit","export":"Export","import":"Import","exportTitle":"Export Workflow","importTitle":"Import Workflow","exportDescription":"Save this workflow as a JSON file.","importDescription":"Import a workflow saved as a JSON file.","history":"History","nodesTab":"Nodes","meta":"Metadata","version":"Version","nodeCount":"Nodes","nodeStep":"Step {step}","updatedAt":"Updated","run":"Run","runFailed":"Failed to start the workflow run.","runStarted":"Started task #{id}.","invalidId":"Invalid workflow ID.","notFound":"Workflow not found.","backToList":"Back to list","noDescription":"No description provided.","noInstruction":"No instruction attached.","runningTasks":"{count} task(s) for this workflow","quickTasksTitle":"Linked Tasks","quickTasksDesc":"See recent runs and current execution status at a glance.","recentTasks":"Recent runs","totalTasksLabel":"Total","viewAllTasks":"View all tasks","openHistory":"Open history","noTasks":"No tasks have been run for this workflow yet.","noNodes":"No nodes added.","noNodesDesc":"Add nodes to inspect the workflow structure here.","metaId":"Workflow ID","metaVersion":"Version","metaParent":"Parent workflow","metaNoParent":"None","metaContract":"Evaluation contract","noEvaluation":"No evaluation contract configured.","empty":"No workflows","emptyDesc":"Create your first workflow","deleteConfirm":"Delete Workflow","deleteDesc":"Are you sure you want to delete this? This action cannot be undone.","deleted":"Workflow has been deleted.","duplicated":"Workflow has been duplicated.","nodes":"nodes","saved":"Workflow has been saved.","copy":"Copy","versionsTab":"Versions","publishNewVersion":"Publish new version","publishedVersion":"Published: {version}","publishFailed":"Failed to publish a new version.","activeBadge":"Active","inactiveBadge":"Archived","draftBadge":"Draft","activate":"Activate","deactivate":"Deactivate","activated":"Version activated.","deactivated":"Version deactivated.","activateFailed":"Failed to activate.","deactivateFailed":"Failed to deactivate.","versionHistoryTitle":"Version History","versionHistoryDesc":"Browse every version in this family and pick which one is currently live.","lineage":"Lineage","lineageDesc":"Parent-derived relationships across versions.","noParent":"Root","createdAt":"Created","actions":"Actions","currentlyViewing":"Current","showArchived":"Include archived","hideArchived":"Hide archived","inactiveEditWarning":"This is not the active version. Changes save in place and won\'t affect production.","inactiveStartBlocked":"This version is archived and cannot start tasks. Activate it first.","pickVersion":"Choose version","pickVersionDefault":"Use active version","versionInactive409":"The selected version is archived.","folders":"Folders","allWorkflows":"All Workflows","results":" results","movedToFolder":"Workflow moved to folder."},"runDialog":{"step1Label":"Task setup","step2Label":"Get command","step1Desc":"Optionally give this run a title and context. Both fields are optional.","titleLabel":"Title (optional)","titlePlaceholder":"e.g. Q1 Analysis, Security Audit...","contextLabel":"Request (optional)","contextPlaceholder":"Describe what you want the agent to accomplish.","nextBtn":"Next","backBtn":"Back","toolLabel":"Select AI tool","commandLabel":"Paste into session","copyBtn":"Copy","usageHint":"Paste the command above into your AI coding agent session to start the workflow."},"tasks":{"title":"Tasks","empty":"No tasks","emptyDesc":"Tasks will appear here when you run a workflow","all":"All","inProgress":"In Progress","completed":"Completed","pending":"Pending","running":"Running","failed":"Failed","timedOut":"Timed Out","cancelled":"Stopped","rewind":"Rewind","stopTask":"Stop","closeTask":"Close","resumeTask":"Resume","cancelTask":"Cancel","statusCompletedMessage":"All steps have been completed.","userInput":"User Input","thinking":"Thinking","assistantOutput":"Assistant Output","artifacts":"Artifacts","comments":"Comments","addComment":"Add a comment...","send":"Send","wsRealtime":"Real-time updates","deleteConfirm":"Delete task #{id}?","deleteTitle":"Delete task","deleteDescription":"Are you sure you want to delete task #{id}? This action cannot be undone.","workflowFallback":"Workflow #{id}","taskFallback":"Task #{id}","stepLabel":"Step {step}","stepTitleFallback":"Step {step}","steps":"steps","taskNotFound":"Task not found.","backToList":"Back to list","selectStep":"Select a step to view details","hitlPendingApproval":"This step requires your approval before proceeding.","hitlApprove":"Approve","hitlApproved":"Approved — execution will continue.","awaitingResponse":"Awaiting response","responseSubmitted":"Response submitted","responseSelections":"Selections","responseComment":"Additional comment","responseFields":"Field inputs","responseOptionComments":"Per-option comments","responseValues":"Values","responseRanking":"Ranking","responseMatrix":"Matrix placement","typeResponse":"Type your response...","viewVisual":"View Visual","selectVisual":"Select Visual","visualSelectHint":"Select an option below, then click Confirm.","visualViewer":"Visual Viewer","closeVisualViewer":"Close","input":"Input","output":"Output","showPreviousIterations":"Show {n} previous iteration(s)","hidePreviousIterations":"Hide previous iterations","iteration":"Iteration","latest":"Latest","defaultAuthor":"User"},"settings":{"title":"Settings","profile":"Profile","apiKeys":"API Keys","teamManagement":"Team Management","notifications":"Notifications","notificationsTitle":"Notification Settings","notificationsPlaceholder":"Notification settings coming soon.","notificationsBody":"Email notifications, Slack integration, and more are in development.","name":"Name","email":"Email","role":"Role","changePassword":"Change Password","saved":"Profile has been saved.","saveFailed":"Failed to save.","profileInfo":"Profile Information","profileDesc":"View and edit your account information.","namePlaceholder":"Enter your name","nameRequired":"Please enter a name.","saving":"Saving...","userLoadFailed":"Failed to load user information."},"apiKeys":{"title":"API Keys","description":"Manage keys for API calls.","keyName":"Name","owner":"Owner","keyPrefix":"Key prefix","expiresAt":"Expires at","status":"Status","action":"Action","revoke":"Revoke","revoked":"Revoked","activeStatus":"Active","none":"None","noName":"(unnamed)","newKey":"New API Key","newKeyTitle":"Create New API Key","newKeyDesc":"Enter a name for the API key.","namePlaceholder":"e.g. production-key","generate":"Create","generating":"Creating...","keyCreated":"API Key Created","keyWarning":"This key will not be shown again. Copy it to a safe place.","cliInitLabel":"CLI setup command","copyCliCommand":"Copy CLI command","keyWarning2":"* This key cannot be viewed again after closing this dialog.","copied":"Copied to clipboard.","revokeConfirm":"Revoke API Key","revokeDesc":"Are you sure you want to revoke this key? This action cannot be undone.","revokeSuccess":"API Key has been revoked.","revokeFailed":"Failed to revoke API Key.","loadFailed":"Failed to load API keys.","noKeys":"No API keys registered.","nameRequired":"Please enter a key name.","createFailed":"Failed to create.","keyNameLabel":"Key name"},"team":{"title":"Team Management","description":"View and invite team members.","inviteMember":"Invite Member","inviteTitle":"Invite Member","inviteDesc":"Enter the new team member\'s information.","invite":"Invite","inviting":"Inviting...","memberAdded":"Team member has been invited.","addFailed":"Failed to invite.","name":"Name","namePlaceholder":"Name","email":"Email","emailPlaceholder":"email@example.com","password":"Password","passwordPlaceholder":"Initial password","role":"Role","roleAdmin":"Admin","roleEditor":"Editor","roleViewer":"Viewer","allFieldsRequired":"Please fill in all fields.","loadFailed":"Failed to load members.","noMembers":"No members registered.","invitesLoadFailed":"Failed to load invites.","emailRequired":"Email is required.","inviteCreated":"Invite link created.","inviteCreateFailed":"Failed to create invite.","inviteCancelled":"Invite cancelled.","inviteCancelFailed":"Failed to cancel invite.","inviteLinkCopied":"Invite link copied.","inviteDescription":"Share an invite link instead of creating the account directly.","shareLinkExpires":"Share this link (expires {date}):","copyLink":"Copy link","creating":"Creating...","createInvite":"Create invite","members":"Team members","invites":"Invites","noInvites":"No invites yet.","invitePending":"Pending until {date}","inviteAccepted":"Accepted {date}","copyInviteLink":"Copy","permViewWorkflows":"View workflows","permExecuteWorkflows":"Execute workflows","permCreateEditWorkflows":"Create/edit workflows","permDeleteOwnWorkflows":"Delete workflows (own)","permViewCredentials":"View credentials","permCreateEditCredentials":"Create/edit credentials","permViewMembers":"View members","permManageMembers":"Manage members","permManageFolderShares":"Manage folder shares","deleteUser":"Delete","deleteUserTitle":"Delete User","deleteUserDesc":"Process related data and permanently delete this account. This action cannot be undone.","deleteUserMode":"Resource handling","deleteUserTransfer":"Transfer to another user","deleteUserDeleteAll":"Delete all","deleteUserTransferTo":"Transfer to","deleteUserSelectTarget":"Select user","deleteUserTransferWarning":"Workflows, folders, instructions, and credentials will be transferred to the selected user.","deleteUserDeleteAllWarning":"All workflows, tasks, folders, instructions, and credentials will be deleted.","deleteUserSuccess":"User has been deleted.","deleteUserFailed":"Failed to delete user.","deleteUserCannotSuperuser":"Superuser accounts cannot be deleted."},"groups":{"title":"Group Management","description":"Create groups and manage their members.","tabLabel":"Groups","newGroup":"New group","groupName":"Group name","groupNamePlaceholder":"Enter group name","noGroups":"No groups created yet.","selectGroup":"Select a group on the left.","members":"Members","noMembers":"No members.","addMember":"Add member","selectUser":"Select user","deleteGroup":"Delete group","deleteConfirm":"Delete this group?","created":"Group created.","createFailed":"Failed to create group.","memberAdded":"Member added.","memberAddFailed":"Failed to add member.","memberRemoved":"Member removed.","memberRemoveFailed":"Failed to remove member.","deleted":"Group deleted.","deleteFailed":"Failed to delete group.","nameRequired":"Please enter a group name."},"deleteAccount":{"title":"Delete Account","description":"Permanently delete your account. This action cannot be undone.","button":"Delete Account","dialogTitle":"Delete your account?","dialogDesc":"Your account will be permanently deleted. This action cannot be undone.","mode":"Resource handling","transfer":"Transfer to another user","deleteAll":"Delete all","transferTo":"Transfer to","selectTarget":"Select user","transferWarning":"Workflows, folders, instructions, and credentials will be transferred to the selected user.","deleteAllWarning":"All workflows, tasks, folders, instructions, and credentials will be deleted.","password":"Confirm password","passwordPlaceholder":"Enter your current password","confirm":"Permanently delete","success":"Account has been deleted.","failed":"Failed to delete account.","invalidPassword":"Password is incorrect."},"editor":{"editWorkflow":"Edit Workflow","newWorkflow":"Create New Workflow","basicInfo":"Basic Info","workflowTitle":"Workflow Title","workflowTitlePlaceholder":"Workflow title","description":"Description (optional)","descriptionPlaceholder":"Description (optional)","addNode":"Add Node","noNodes":"No nodes yet","addFirstNode":"Add first node","noNodesDesc":"Use the \'+\' button above to add nodes","save":"Save","saving":"Saving...","cancel":"Cancel","modify":"Update","nodeTypes":"Base Node Types","savedTemplates":"Saved Instruction Templates","action":"Action","actionDesc":"Execute instructions and report results","gate":"Gate","gateDesc":"Wait for user input","loop":"Loop","loopDesc":"Repeat until condition is met","deleteNode":"Delete node","nodeTitle":"Node title","inlineWrite":"Write inline","referenceInstruction":"Reference instruction","selectInstruction":"Select instruction...","searchInstruction":"Search instructions...","createNewInstruction":"+ Create new instruction","instructionTitle":"Instruction title","instructionContent":"Instruction content","instructionPlaceholder":"Enter instruction content...","noCredential":"No Credential","loopBackTo":"Loop back to step:","loopStepOption":"Step {step}{title}","selectStep":"-- Select --","auto":"Auto","manual":"Manual","nodes":"Nodes","pickerTitle":"Add Node","pickerDesc":"Select a node type or instruction template to add","searchPlaceholder":"Search...","credentialTitle":"Credential","autoAdvanceTitle":"Auto advance","attachments":"Attachments","uploadFile":"Upload file"},"credentials":{"title":"Credentials","newCredential":"New Credential","createCredential":"Create Credential","editCredential":"Edit Credential","serviceNamePlaceholder":"Service name (e.g. openai, github)","defaultServiceName":"New Service","serviceNameEditHint":"Double-click the service name to rename it.","descriptionPlaceholder":"Description (optional)","secretsLabel":"Secrets (Key-Value)","footerHint":"Saved connection details and secrets are available in workflows immediately.","secretKeyPlaceholder":"KEY","secretValuePlaceholder":"VALUE","secretValueKeepPlaceholder":"(leave blank to keep current value)","deleteConfirm":"Delete this credential?","empty":"No credentials registered.","emptyDescription":"Manage saved secrets and connection information.","secretCount":"{count} secret(s)","actionMenu":"Credential {service} action menu","reveal":"Reveal","mask":"Mask","useOnly":"Use only (plaintext hidden)","noAccess":"You do not have access to this credential","accessLevelUse":"Use","accessLevelManage":"Manage"},"folders":{"title":"Folders","new":"New folder","myWorkspace":"My Workspace","visibilityPersonal":"Personal","visibilityGroup":"Group","visibilityPublic":"Public","visibilityInherit":"Inherit","visibilityPersonalDesc":"Only visible to you","visibilityGroupDesc":"Shared with specified groups","visibilityPublicDesc":"Accessible to all users","visibilityInheritDesc":"Inherits visibility from parent folder","visibilitySettings":"Visibility settings","shareWith":"Shared with","accessLevelViewer":"Viewer","accessLevelEditor":"Editor","transferOwnership":"Transfer ownership","moveTo":"Move","emptyInFolder":"This folder is empty","inheritedFromParent":"inherited","createFailed":"Failed to create folder.","renameFailed":"Failed to rename.","deleteFailed":"Failed to delete folder.","namePlaceholder":"Folder name","addSubfolder":"Add subfolder","rename":"Rename","systemFolderReadonly":"System folder visibility cannot be changed.","doubleClickToRename":"Double-click to rename","settingsLabel":"Settings"},"visibility":{"settings":"Visibility","scope":"Visibility","changeFailed":"Failed to change visibility","groupAddFailed":"Failed to add group","groupRemoveFailed":"Failed to remove group","groupSharing":"Group sharing","noSharedGroups":"No groups shared.","noGroupsHint":"No groups created. Create groups in Settings > Groups first.","allGroupsShared":"All groups are already shared.","selectGroup":"Select group","applying":"Applying...","apply":"Apply","followFolder":"Follow folder","followFolderDesc":"Inherits folder visibility"},"ownership":{"owner":"Owner","sharedWith":"Shared groups","readOnlyPreview":"Read-only preview — editing requires owner or editor share","cantEdit":"Requires owner or editor share","cantDelete":"Only the owner can delete","publicGateAdmin":"Public publish requires admin"},"rbacErrors":{"ownershipRequired":"Owner access required","visibilityGate":"Admin access required","credentialUseDenied":"You cannot use this credential","credentialRevealDenied":"You cannot reveal this credential","folderDepthExceeded":"Folder nesting is limited to 2 levels","folderVisibilityInvalid":"Child folder cannot be more visible than its parent","folderShareDenied":"Not allowed to manage shares","folderNotEmpty":"Cannot delete a non-empty folder","instructionInUse":"This instruction is referenced by {count} workflow node(s) and cannot be deleted. Detach it from those workflows first.","credentialInUse":"This credential is referenced by {count} workflow node(s) and cannot be deleted. Detach it from those workflows first."},"serverErrors":{"notFound":"Requested resource not found","unauthorized":"Authentication required","forbidden":"Access denied","conflict":"Request conflicts with current state","preconditionFailed":"Precondition failed","myWorkspaceMissing":"My Workspace is missing. Contact your administrator.","versionInactive":"This workflow version is inactive","workflowCredentialSetupRequired":"This workflow requires credential setup before it can run"},"validationErrors":{"generic":"Invalid input"},"instructionsPage":{"title":"Instructions","newInstruction":"New Instruction","editInstruction":"Edit Instruction","createInstruction":"Create Instruction","dialogDescription":"Edit the instruction title, content, tags, and priority.","newInstructionLabel":"New Instruction","newAgentInstruction":"New agent instruction","editMode":"Edit mode","createMode":"Create mode","titlePlaceholder":"Instruction title","contentPlaceholder":"Enter instruction content...","searchPlaceholder":"Search instructions...","tagsPlaceholder":"Tags (comma separated: security, required)","tagInputPlaceholder":"Type a tag and press Enter or comma","tagAddPlaceholder":"Add tag","tagRemove":"Remove tag {tag}","priorityPlaceholder":"Priority","helperText":"Click a card or use the edit action from the menu to open the same dialog.","editorHelper":"Edit the Markdown body or compare it with the rendered result immediately.","editTab":"Edit","previewTab":"Preview","splitTab":"Split","markdownEditor":"Markdown editor","renderedPreview":"Rendered preview","previewPlaceholder":"Enter Markdown content to preview.","emptyTitle":"No instructions registered.","emptyDescription":"Add reusable agent instructions so you can select them directly in workflows.","noPreview":"No instruction preview available.","deleteTitle":"Delete instruction?","deleteDescription":"\\"{title}\\" cannot be recovered after deletion.","inactive":"Inactive","toggleDisable":"Disable","toggleEnable":"Enable","updatedAt":"Updated: {value}","deleteConfirm":"Delete this instruction?","actionMenu":"Instruction {title} action menu","credentialPlaceholder":"Select credential","noCredential":"No credential","allInstructions":"All instructions","results":" results","movedToFolder":"Instruction moved to folder."},"commandPalette":{"search":"Search commands...","noResults":"No results found.","navigate":"Navigate","actions":"Actions","newWorkflow":"New Workflow"}}')},r=(0,o.createContext)(null);function n({children:e}){let[t,s]=(0,o.useState)(()=>{let e=window.localStorage.getItem("locale");return"ko"===e||"en"===e?e:"ko"}),l=(0,o.useCallback)(e=>{s(e),localStorage.setItem("locale",e),document.documentElement.lang=e},[]),d=(0,o.useCallback)((e,s)=>{var i;return i=function(e,t){let s=t.split("."),i=e;for(let e of s){if(null==i||"object"!=typeof i)return t;i=i[e]}return"string"==typeof i?i:t}(a[t]??a.ko,e),s?Object.entries(s).reduce((e,[t,s])=>e.replaceAll(`{${t}}`,String(s)),i):i},[t]);return(0,i.jsx)(r.Provider,{value:{locale:t,setLocale:l,t:d},children:e})}function l(){let e=(0,o.useContext)(r);if(!e)throw Error("useTranslation must be used within I18nProvider");return e}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3199],{1433:(e,r,t)=>{t.d(r,{UC:()=>B,ZL:()=>H,bL:()=>S,l9:()=>V});var a=t(12115),o=t(70379),n=t(47527),i=t(68599),l=t(22138),s=t(32007),d=t(16313),u=t(89971),c=t(30945),p=t(5494),h=t(83935);t(47650);var f=t(42442),v=t(95155),y=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let t=(0,f.TL)(`Primitive.${r}`),o=a.forwardRef((e,a)=>{let{asChild:o,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,v.jsx)(o?t:r,{...n,ref:a})});return o.displayName=`Primitive.${r}`,{...e,[r]:o}},{}),m=t(98979),b=t(22954),g=t(78919),x="Popover",[w,k]=(0,i.A)(x,[c.Bk]),A=(0,c.Bk)(),[C,P]=w(x),j=e=>{let{__scopePopover:r,children:t,open:o,defaultOpen:n,onOpenChange:i,modal:l=!1}=e,s=A(r),d=a.useRef(null),[p,h]=a.useState(!1),[f,y]=(0,m.i)({prop:o,defaultProp:n??!1,onChange:i,caller:x});return(0,v.jsx)(c.bL,{...s,children:(0,v.jsx)(C,{scope:r,contentId:(0,u.B)(),triggerRef:d,open:f,onOpenChange:y,onOpenToggle:a.useCallback(()=>y(e=>!e),[y]),hasCustomAnchor:p,onCustomAnchorAdd:a.useCallback(()=>h(!0),[]),onCustomAnchorRemove:a.useCallback(()=>h(!1),[]),modal:l,children:t})})};j.displayName=x;var R="PopoverAnchor";a.forwardRef((e,r)=>{let{__scopePopover:t,...o}=e,n=P(R,t),i=A(t),{onCustomAnchorAdd:l,onCustomAnchorRemove:s}=n;return a.useEffect(()=>(l(),()=>s()),[l,s]),(0,v.jsx)(c.Mz,{...i,...o,ref:r})}).displayName=R;var M="PopoverTrigger",N=a.forwardRef((e,r)=>{let{__scopePopover:t,...a}=e,i=P(M,t),l=A(t),s=(0,n.s)(r,i.triggerRef),d=(0,v.jsx)(y.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":$(i.open),...a,ref:s,onClick:(0,o.mK)(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?d:(0,v.jsx)(c.Mz,{asChild:!0,...l,children:d})});N.displayName=M;var D="PopoverPortal",[F,O]=w(D,{forceMount:void 0}),L=e=>{let{__scopePopover:r,forceMount:t,children:a,container:o}=e,n=P(D,r);return(0,v.jsx)(F,{scope:r,forceMount:t,children:(0,v.jsx)(h.C,{present:t||n.open,children:(0,v.jsx)(p.Z,{asChild:!0,container:o,children:a})})})};L.displayName=D;var E="PopoverContent",K=a.forwardRef((e,r)=>{let t=O(E,e.__scopePopover),{forceMount:a=t.forceMount,...o}=e,n=P(E,e.__scopePopover);return(0,v.jsx)(h.C,{present:a||n.open,children:n.modal?(0,v.jsx)(_,{...o,ref:r}):(0,v.jsx)(I,{...o,ref:r})})});K.displayName=E;var T=(0,f.TL)("PopoverContent.RemoveScroll"),_=a.forwardRef((e,r)=>{let t=P(E,e.__scopePopover),i=a.useRef(null),l=(0,n.s)(r,i),s=a.useRef(!1);return a.useEffect(()=>{let e=i.current;if(e)return(0,b.Eq)(e)},[]),(0,v.jsx)(g.A,{as:T,allowPinchZoom:!0,children:(0,v.jsx)(q,{...e,ref:l,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.mK)(e.onCloseAutoFocus,e=>{e.preventDefault(),s.current||t.triggerRef.current?.focus()}),onPointerDownOutside:(0,o.mK)(e.onPointerDownOutside,e=>{let r=e.detail.originalEvent,t=0===r.button&&!0===r.ctrlKey;s.current=2===r.button||t},{checkForDefaultPrevented:!1}),onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),I=a.forwardRef((e,r)=>{let t=P(E,e.__scopePopover),o=a.useRef(!1),n=a.useRef(!1);return(0,v.jsx)(q,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{e.onCloseAutoFocus?.(r),r.defaultPrevented||(o.current||t.triggerRef.current?.focus(),r.preventDefault()),o.current=!1,n.current=!1},onInteractOutside:r=>{e.onInteractOutside?.(r),r.defaultPrevented||(o.current=!0,"pointerdown"===r.detail.originalEvent.type&&(n.current=!0));let a=r.target;t.triggerRef.current?.contains(a)&&r.preventDefault(),"focusin"===r.detail.originalEvent.type&&n.current&&r.preventDefault()}})}),q=a.forwardRef((e,r)=>{let{__scopePopover:t,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:n,disableOutsidePointerEvents:i,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:f,...y}=e,m=P(E,t),b=A(t);return(0,s.Oh)(),(0,v.jsx)(d.n,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:n,children:(0,v.jsx)(l.qW,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:f,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:h,onDismiss:()=>m.onOpenChange(!1),children:(0,v.jsx)(c.UC,{"data-state":$(m.open),role:"dialog",id:m.contentId,...b,...y,ref:r,style:{...y.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),z="PopoverClose";function $(e){return e?"open":"closed"}a.forwardRef((e,r)=>{let{__scopePopover:t,...a}=e,n=P(z,t);return(0,v.jsx)(y.button,{type:"button",...a,ref:r,onClick:(0,o.mK)(e.onClick,()=>n.onOpenChange(!1))})}).displayName=z,a.forwardRef((e,r)=>{let{__scopePopover:t,...a}=e,o=A(t);return(0,v.jsx)(c.i3,{...o,...a,ref:r})}).displayName="PopoverArrow";var S=j,V=N,H=L,B=K},4972:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("user-minus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]])},9114:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]])},24356:(e,r,t)=>{t.d(r,{bL:()=>d,Qg:()=>l});var a=t(12115);t(47650);var o=t(42442),n=t(95155),i=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let t=(0,o.TL)(`Primitive.${r}`),i=a.forwardRef((e,a)=>{let{asChild:o,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(o?t:r,{...i,ref:a})});return i.displayName=`Primitive.${r}`,{...e,[r]:i}},{}),l=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),s=a.forwardRef((e,r)=>(0,n.jsx)(i.span,{...e,ref:r,style:{...l,...e.style}}));s.displayName="VisuallyHidden";var d=s},42869:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]])},51914:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},52905:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},55243:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},61584:(e,r,t)=>{t.d(r,{UC:()=>O,B8:()=>D,bL:()=>N,l9:()=>F});var a=t(12115),o=t(70379),n=t(68599),i=t(41656),l=t(83935);t(47650);var s=t(42442),d=t(95155),u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let t=(0,s.TL)(`Primitive.${r}`),o=a.forwardRef((e,a)=>{let{asChild:o,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,d.jsx)(o?t:r,{...n,ref:a})});return o.displayName=`Primitive.${r}`,{...e,[r]:o}},{}),c=t(1933),p=t(98979),h=t(89971),f="Tabs",[v,y]=(0,n.A)(f,[i.RG]),m=(0,i.RG)(),[b,g]=v(f),x=a.forwardRef((e,r)=>{let{__scopeTabs:t,value:a,onValueChange:o,defaultValue:n,orientation:i="horizontal",dir:l,activationMode:s="automatic",...v}=e,y=(0,c.jH)(l),[m,g]=(0,p.i)({prop:a,onChange:o,defaultProp:n??"",caller:f});return(0,d.jsx)(b,{scope:t,baseId:(0,h.B)(),value:m,onValueChange:g,orientation:i,dir:y,activationMode:s,children:(0,d.jsx)(u.div,{dir:y,"data-orientation":i,...v,ref:r})})});x.displayName=f;var w="TabsList",k=a.forwardRef((e,r)=>{let{__scopeTabs:t,loop:a=!0,...o}=e,n=g(w,t),l=m(t);return(0,d.jsx)(i.bL,{asChild:!0,...l,orientation:n.orientation,dir:n.dir,loop:a,children:(0,d.jsx)(u.div,{role:"tablist","aria-orientation":n.orientation,...o,ref:r})})});k.displayName=w;var A="TabsTrigger",C=a.forwardRef((e,r)=>{let{__scopeTabs:t,value:a,disabled:n=!1,...l}=e,s=g(A,t),c=m(t),p=R(s.baseId,a),h=M(s.baseId,a),f=a===s.value;return(0,d.jsx)(i.q7,{asChild:!0,...c,focusable:!n,active:f,children:(0,d.jsx)(u.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":h,"data-state":f?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:p,...l,ref:r,onMouseDown:(0,o.mK)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(a)}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(a)}),onFocus:(0,o.mK)(e.onFocus,()=>{let e="manual"!==s.activationMode;f||n||!e||s.onValueChange(a)})})})});C.displayName=A;var P="TabsContent",j=a.forwardRef((e,r)=>{let{__scopeTabs:t,value:o,forceMount:n,children:i,...s}=e,c=g(P,t),p=R(c.baseId,o),h=M(c.baseId,o),f=o===c.value,v=a.useRef(f);return a.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.jsx)(l.C,{present:n||f,children:({present:t})=>(0,d.jsx)(u.div,{"data-state":f?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":p,hidden:!t,id:h,tabIndex:0,...s,ref:r,style:{...e.style,animationDuration:v.current?"0s":void 0},children:t&&i})})});function R(e,r){return`${e}-trigger-${r}`}function M(e,r){return`${e}-content-${r}`}j.displayName=P;var N=x,D=k,F=C,O=j},61767:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]])},67635:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},73321:(e,r,t)=>{var a=t(74645);t.o(a,"useParams")&&t.d(r,{useParams:function(){return a.useParams}}),t.o(a,"usePathname")&&t.d(r,{usePathname:function(){return a.usePathname}}),t.o(a,"useRouter")&&t.d(r,{useRouter:function(){return a.useRouter}}),t.o(a,"useSearchParams")&&t.d(r,{useSearchParams:function(){return a.useSearchParams}})},82482:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},92289:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]])},94961:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(82240).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4319],{15161:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]])},21362:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},23096:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("scale",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"m19 8 3 8a5 5 0 0 1-6 0zV7",key:"zcdpyk"}],["path",{d:"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",key:"1yorad"}],["path",{d:"m5 8 3 8a5 5 0 0 1-6 0zV7",key:"eua70x"}],["path",{d:"M7 21h10",key:"1b0cd5"}]])},25344:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("circle-arrow-up",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]])},30971:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]])},31025:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},35756:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]])},41159:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("store",[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]])},41313:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]])},41437:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]])},48274:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]])},48368:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},52530:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]])},72230:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("coffee",[["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M14 2v2",key:"6buw04"}],["path",{d:"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1",key:"pwadti"}],["path",{d:"M6 2v2",key:"colzsn"}]])},73684:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]])},82240:(e,t,a)=>{a.d(t,{A:()=>y});var r=a(12115);let h=(...e)=>e.filter((e,t,a)=>!!e&&""!==e.trim()&&a.indexOf(e)===t).join(" ").trim(),d=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,a)=>a?a.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,r.createContext)({}),o=(0,r.forwardRef)(({color:e,size:t,strokeWidth:a,absoluteStrokeWidth:d,className:o="",children:y,iconNode:c,...k},p)=>{let{size:n=24,strokeWidth:s=2,absoluteStrokeWidth:A=!1,color:v="currentColor",className:u=""}=(0,r.useContext)(i)??{},m=d??A?24*Number(a??s)/Number(t??n):a??s;return(0,r.createElement)("svg",{ref:p,...l,width:t??n??l.width,height:t??n??l.height,stroke:e??v,strokeWidth:m,className:h("lucide",u,o),...!y&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...c.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(y)?y:[y]])}),y=(e,t)=>{let a=(0,r.forwardRef)(({className:a,...l},i)=>(0,r.createElement)(o,{ref:i,iconNode:t,className:h(`lucide-${d(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...l}));return a.displayName=d(e),a}},89363:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},89803:(e,t,a)=>{a.d(t,{b:()=>c});var r=a(12115);a(47650);var h=a(42442),d=a(95155),l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let a=(0,h.TL)(`Primitive.${t}`),l=r.forwardRef((e,r)=>{let{asChild:h,...l}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,d.jsx)(h?a:t,{...l,ref:r})});return l.displayName=`Primitive.${t}`,{...e,[t]:l}},{}),i="horizontal",o=["horizontal","vertical"],y=r.forwardRef((e,t)=>{var a;let{decorative:r,orientation:h=i,...y}=e,c=(a=h,o.includes(a))?h:i;return(0,d.jsx)(l.div,{"data-orientation":c,...r?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...y,ref:t})});y.displayName="Separator";var c=y},97810:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(82240).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4637],{5387:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("file-braces-corner",[["path",{d:"M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6",key:"14cnrg"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1",key:"sr0ebq"}],["path",{d:"M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1",key:"w793db"}]])},6296:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},6962:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},7810:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},9114:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]])},9199:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},10762:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},12651:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},20232:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},21975:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]])},23665:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("clock-4",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]])},25777:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},31025:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},41585:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},42129:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},48368:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},49387:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},61584:(e,a,t)=>{t.d(a,{UC:()=>q,B8:()=>V,bL:()=>P,l9:()=>R});var r=t(12115),d=t(70379),l=t(68599),n=t(41656),i=t(83935);t(47650);var h=t(42442),o=t(95155),y=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{let t=(0,h.TL)(`Primitive.${a}`),d=r.forwardRef((e,r)=>{let{asChild:d,...l}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(d?t:a,{...l,ref:r})});return d.displayName=`Primitive.${a}`,{...e,[a]:d}},{}),c=t(1933),s=t(98979),u=t(89971),p="Tabs",[k,m]=(0,l.A)(p,[n.RG]),A=(0,n.RG)(),[v,f]=k(p),M=r.forwardRef((e,a)=>{let{__scopeTabs:t,value:r,onValueChange:d,defaultValue:l,orientation:n="horizontal",dir:i,activationMode:h="automatic",...k}=e,m=(0,c.jH)(i),[A,f]=(0,s.i)({prop:r,onChange:d,defaultProp:l??"",caller:p});return(0,o.jsx)(v,{scope:t,baseId:(0,u.B)(),value:A,onValueChange:f,orientation:n,dir:m,activationMode:h,children:(0,o.jsx)(y.div,{dir:m,"data-orientation":n,...k,ref:a})})});M.displayName=p;var b="TabsList",x=r.forwardRef((e,a)=>{let{__scopeTabs:t,loop:r=!0,...d}=e,l=f(b,t),i=A(t);return(0,o.jsx)(n.bL,{asChild:!0,...i,orientation:l.orientation,dir:l.dir,loop:r,children:(0,o.jsx)(y.div,{role:"tablist","aria-orientation":l.orientation,...d,ref:a})})});x.displayName=b;var g="TabsTrigger",w=r.forwardRef((e,a)=>{let{__scopeTabs:t,value:r,disabled:l=!1,...i}=e,h=f(g,t),c=A(t),s=H(h.baseId,r),u=C(h.baseId,r),p=r===h.value;return(0,o.jsx)(n.q7,{asChild:!0,...c,focusable:!l,active:p,children:(0,o.jsx)(y.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":u,"data-state":p?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:s,...i,ref:a,onMouseDown:(0,d.mK)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():h.onValueChange(r)}),onKeyDown:(0,d.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&h.onValueChange(r)}),onFocus:(0,d.mK)(e.onFocus,()=>{let e="manual"!==h.activationMode;p||l||!e||h.onValueChange(r)})})})});w.displayName=g;var j="TabsContent",z=r.forwardRef((e,a)=>{let{__scopeTabs:t,value:d,forceMount:l,children:n,...h}=e,c=f(j,t),s=H(c.baseId,d),u=C(c.baseId,d),p=d===c.value,k=r.useRef(p);return r.useEffect(()=>{let e=requestAnimationFrame(()=>k.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,o.jsx)(i.C,{present:l||p,children:({present:t})=>(0,o.jsx)(y.div,{"data-state":p?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":s,hidden:!t,id:u,tabIndex:0,...h,ref:a,style:{...e.style,animationDuration:k.current?"0s":void 0},children:t&&n})})});function H(e,a){return`${e}-trigger-${a}`}function C(e,a){return`${e}-content-${a}`}z.displayName=j;var P=M,V=x,R=w,q=z},61878:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67635:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},73321:(e,a,t)=>{var r=t(74645);t.o(r,"useParams")&&t.d(a,{useParams:function(){return r.useParams}}),t.o(r,"usePathname")&&t.d(a,{usePathname:function(){return r.usePathname}}),t.o(r,"useRouter")&&t.d(a,{useRouter:function(){return r.useRouter}}),t.o(r,"useSearchParams")&&t.d(a,{useSearchParams:function(){return r.useSearchParams}})},94514:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},97233:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]])},97309:(e,a,t)=>{t.d(a,{A:()=>r});let r=(0,t(82240).A)("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4663],{11105:(e,t,a)=>{a.d(t,{Y:()=>r});let s={OWNERSHIP_REQUIRED:"rbacErrors.ownershipRequired",VISIBILITY_GATE:"rbacErrors.visibilityGate",CREDENTIAL_USE_DENIED:"rbacErrors.credentialUseDenied",CREDENTIAL_REVEAL_DENIED:"rbacErrors.credentialRevealDenied",FOLDER_DEPTH_EXCEEDED:"rbacErrors.folderDepthExceeded",FOLDER_VISIBILITY_INVALID:"rbacErrors.folderVisibilityInvalid",FOLDER_SHARE_DENIED:"rbacErrors.folderShareDenied",FOLDER_NOT_EMPTY:"rbacErrors.folderNotEmpty",INSTRUCTION_IN_USE:"rbacErrors.instructionInUse",CREDENTIAL_IN_USE:"rbacErrors.credentialInUse",NOT_FOUND:"serverErrors.notFound",UNAUTHORIZED:"serverErrors.unauthorized",FORBIDDEN:"serverErrors.forbidden",CONFLICT:"serverErrors.conflict",PRECONDITION_FAILED:"serverErrors.preconditionFailed",VALIDATION_ERROR:"validationErrors.generic",WORKSPACE_MISSING:"serverErrors.myWorkspaceMissing",MY_WORKSPACE_MISSING:"serverErrors.myWorkspaceMissing",VERSION_INACTIVE:"serverErrors.versionInactive",WORKFLOW_CREDENTIAL_SETUP_REQUIRED:"serverErrors.workflowCredentialSetupRequired"};function r(e,t,a){if(!e)return a;let r=e.code;if(r&&s[r]){let a={};if(e.details)for(let[t,s]of Object.entries(e.details))("string"==typeof s||"number"==typeof s)&&(a[t]=s);let n=t(s[r],a);if(n&&n!==s[r])return n}return e.message??a}},13276:(e,t,a)=>{a.d(t,{$v:()=>p,EO:()=>u,Lt:()=>l,Rx:()=>h,Zr:()=>b,ck:()=>f,r7:()=>x,tv:()=>o,wd:()=>m});var s=a(95155);a(12115);var r=a(86835),n=a(40980),i=a(89239);function l({...e}){return(0,s.jsx)(r.bL,{"data-slot":"alert-dialog",...e})}function o({...e}){return(0,s.jsx)(r.l9,{"data-slot":"alert-dialog-trigger",...e})}function d({...e}){return(0,s.jsx)(r.ZL,{"data-slot":"alert-dialog-portal",...e})}function c({className:e,...t}){return(0,s.jsx)(r.hJ,{"data-slot":"alert-dialog-overlay",className:(0,n.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function u({className:e,size:t="default",...a}){return(0,s.jsxs)(d,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.UC,{"data-slot":"alert-dialog-content","data-size":t,className:(0,n.cn)("group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-[28rem]",e),...a})]})}function m({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,n.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...t})}function f({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,n.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...t})}function x({className:e,...t}){return(0,s.jsx)(r.hE,{"data-slot":"alert-dialog-title",className:(0,n.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...t})}function p({className:e,...t}){return(0,s.jsx)(r.VY,{"data-slot":"alert-dialog-description",className:(0,n.cn)("text-sm text-muted-foreground",e),...t})}function h({className:e,variant:t="default",size:a="default",...l}){return(0,s.jsx)(i.$,{variant:t,size:a,asChild:!0,children:(0,s.jsx)(r.rc,{"data-slot":"alert-dialog-action",className:(0,n.cn)(e),...l})})}function b({className:e,variant:t="outline",size:a="default",...l}){return(0,s.jsx)(i.$,{variant:t,size:a,asChild:!0,children:(0,s.jsx)(r.ZD,{"data-slot":"alert-dialog-cancel",className:(0,n.cn)(e),...l})})}},21988:(e,t,a)=>{a.d(t,{U:()=>r});var s=a(12115);function r(e,t){let[a,r]=(0,s.useState)([]),[n,i]=(0,s.useState)(!0),l=(0,s.useCallback)(()=>"function"==typeof e?e():e,t),o=(0,s.useCallback)(async()=>{i(!0);let e=await fetch(l());r((await e.json()).data??[]),i(!1)},[l]);return(0,s.useEffect)(()=>{let e=!1;return(async()=>{i(!0);let t=await fetch(l()),a=await t.json();e||(r(a.data??[]),i(!1))})(),()=>{e=!0}},[l]),{data:a,loading:n,refetch:o}}},28367:(e,t,a)=>{a.d(t,{o:()=>i});var s=a(95155),r=a(13276),n=a(42360);function i({target:e,title:t,description:a,confirmLabel:l,cancelLabel:o,onCancel:d,onConfirm:c}){let{t:u}=(0,n.B)();return(0,s.jsx)(r.Lt,{open:null!==e,onOpenChange:e=>{e||d()},children:(0,s.jsxs)(r.EO,{children:[(0,s.jsxs)(r.wd,{children:[(0,s.jsx)(r.r7,{children:t}),(0,s.jsx)(r.$v,{children:a})]}),(0,s.jsxs)(r.ck,{children:[(0,s.jsx)(r.Zr,{children:o??u("common.cancel")}),(0,s.jsx)(r.Rx,{variant:"destructive",onClick:c,children:l??u("common.delete")})]})]})})}},29991:(e,t,a)=>{a.d(t,{bq:()=>u,eb:()=>f,gC:()=>m,l6:()=>d,yv:()=>c});var s=a(95155);a(12115);var r=a(66088),n=a(94514),i=a(9921),l=a(89064),o=a(40980);function d({...e}){return(0,s.jsx)(l.bL,{"data-slot":"select",...e})}function c({...e}){return(0,s.jsx)(l.WT,{"data-slot":"select-value",...e})}function u({className:e,size:t="default",children:a,...n}){return(0,s.jsxs)(l.l9,{"data-slot":"select-trigger","data-size":t,className:(0,o.cn)("flex w-fit items-center justify-between gap-2 rounded-2xl border border-input bg-transparent px-4 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-11 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n,children:[a,(0,s.jsx)(l.In,{asChild:!0,children:(0,s.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function m({className:e,children:t,position:a="item-aligned",align:r="center",...n}){return(0,s.jsx)(l.ZL,{children:(0,s.jsxs)(l.UC,{"data-slot":"select-content",className:(0,o.cn)("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[1.125rem] border border-border bg-popover text-popover-foreground shadow-card data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","popper"===a&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,align:r,...n,children:[(0,s.jsx)(x,{}),(0,s.jsx)(l.LM,{className:(0,o.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,s.jsx)(p,{})]})})}function f({className:e,children:t,...a}){return(0,s.jsxs)(l.q7,{"data-slot":"select-item",className:(0,o.cn)("relative flex w-full cursor-default items-center gap-2 rounded-xl py-2 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-brand-blue-100 focus:text-brand-blue-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...a,children:[(0,s.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,s.jsx)(l.VF,{children:(0,s.jsx)(n.A,{className:"size-4"})})}),(0,s.jsx)(l.p4,{children:t})]})}function x({className:e,...t}){return(0,s.jsx)(l.PP,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,s.jsx)(i.A,{className:"size-4"})})}function p({className:e,...t}){return(0,s.jsx)(l.wn,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,s.jsx)(r.A,{className:"size-4"})})}},37642:(e,t,a)=>{a.d(t,{w:()=>u});var s=a(95155),r=a(25777),n=a(7810),i=a(92451),l=a(42129),o=a(45160),d=a(70872),c=a(42360);function u({visibility:e,iconOnly:t}){let{t:a}=(0,c.B)(),{Icon:m,label:f}={personal:{Icon:r.A,label:a("folders.visibilityPersonal")},group:{Icon:n.A,label:a("folders.visibilityGroup")},public:{Icon:i.A,label:a("folders.visibilityPublic")},inherit:{Icon:l.A,label:a("folders.visibilityInherit")}}[e],x={personal:a("folders.visibilityPersonalDesc"),group:a("folders.visibilityGroupDesc"),public:a("folders.visibilityPublicDesc"),inherit:a("folders.visibilityInheritDesc")}[e];return(0,s.jsx)(d.Bc,{children:(0,s.jsxs)(d.m_,{children:[(0,s.jsx)(d.k$,{asChild:!0,children:(0,s.jsxs)(o.E,{variant:"neutral",className:"gap-1",children:[(0,s.jsx)(m,{className:"h-3 w-3"}),!t&&f]})}),(0,s.jsx)(d.ZI,{children:x})]})})}},59943:(e,t,a)=>{a.d(t,{p:()=>l});var s=a(95155),r=a(98500),n=a.n(r),i=a(89239);function l({icon:e,title:t,description:a,actionLabel:r,actionHref:o}){return(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[(0,s.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-muted",children:(0,s.jsx)(e,{className:"h-7 w-7 text-muted-foreground"})}),(0,s.jsx)("p",{className:"mt-4 text-sm font-medium",children:t}),(0,s.jsx)("p",{className:"mt-1 max-w-xs text-xs text-muted-foreground",children:a}),r&&o&&(0,s.jsx)(i.$,{asChild:!0,size:"sm",className:"mt-4",children:(0,s.jsx)(n(),{href:o,children:r})})]})}},70872:(e,t,a)=>{a.d(t,{Bc:()=>i,ZI:()=>d,k$:()=>o,m_:()=>l});var s=a(95155);a(12115);var r=a(28935),n=a(40980);function i({delayDuration:e=0,...t}){return(0,s.jsx)(r.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function l({...e}){return(0,s.jsx)(r.bL,{"data-slot":"tooltip",...e})}function o({...e}){return(0,s.jsx)(r.l9,{"data-slot":"tooltip-trigger",...e})}function d({className:e,sideOffset:t=0,children:a,...i}){return(0,s.jsx)(r.ZL,{children:(0,s.jsxs)(r.UC,{"data-slot":"tooltip-content",sideOffset:t,className:(0,n.cn)("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-xl bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...i,children:[a,(0,s.jsx)(r.i3,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}},72264:(e,t,a)=>{a.d(t,{SQ:()=>o,_2:()=>d,mB:()=>c,rI:()=>i,ty:()=>l});var s=a(95155);a(12115);var r=a(27050),n=a(40980);function i({...e}){return(0,s.jsx)(r.bL,{"data-slot":"dropdown-menu",...e})}function l({...e}){return(0,s.jsx)(r.l9,{"data-slot":"dropdown-menu-trigger",...e})}function o({className:e,sideOffset:t=4,...a}){return(0,s.jsx)(r.ZL,{children:(0,s.jsx)(r.UC,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,n.cn)("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[1.125rem] border border-border bg-popover p-2 text-popover-foreground shadow-card data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...a})})}function d({className:e,inset:t,variant:a="default",...i}){return(0,s.jsx)(r.q7,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":a,className:(0,n.cn)("relative flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-brand-blue-100 focus:text-brand-blue-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...i})}function c({className:e,...t}){return(0,s.jsx)(r.wv,{"data-slot":"dropdown-menu-separator",className:(0,n.cn)("-mx-1 my-1 h-px bg-border",e),...t})}},78619:(e,t,a)=>{a.d(t,{b:()=>l});var s=a(12115),r=a(66609),n=a(42360),i=a(11105);function l(e){let{t}=(0,n.B)(),[a,l]=(0,s.useState)(null),o=(0,s.useCallback)(async()=>{if(!a)return;let s=await fetch(e.endpoint(a),{method:"DELETE"});if(!s.ok){let a={};try{a=await s.json()}catch{}r.oR.error((0,i.Y)(a.error,t,e.fallbackMessage)),l(null);return}l(null),await e.onSuccess()},[a,e,t]);return{deleteTarget:a,setDeleteTarget:l,handleDelete:o}}},80167:(e,t,a)=>{a.d(t,{z:()=>z});var s=a(95155),r=a(12115),n=a(94514),i=a(33210),l=a(66088),o=a(21362),d=a(42129),c=a(50568),u=a(38798),m=a(63393),f=a(49387),x=a(89363),p=a(68459),h=a(70872),b=a(25777),g=a(7810),v=a(92451),j=a(51914),y=a(66609),w=a(42763),N=a(42360);let E=[{value:"personal",Icon:b.A,labelKey:"folders.visibilityPersonal"},{value:"group",Icon:g.A,labelKey:"folders.visibilityGroup"},{value:"public",Icon:v.A,labelKey:"folders.visibilityPublic"}],_={value:"inherit",Icon:d.A,labelKey:"folders.visibilityInherit"};function k({folder:e,open:t,onClose:a,onUpdate:n}){let{t:i}=(0,N.B)(),[l,o]=(0,r.useState)("personal"),[d,c]=(0,r.useState)([]),[u,m]=(0,r.useState)([]),[f,x]=(0,r.useState)(""),[h,b]=(0,r.useState)("reader"),[v,C]=(0,r.useState)(!1),I=(0,r.useCallback)(async()=>{if(!e)return;let t=await fetch(`/api/folders/${e.id}/shares`);t.ok&&c((await t.json()).data??[])},[e]),S=(0,r.useCallback)(async()=>{let e=await fetch("/api/settings/groups");e.ok&&m((await e.json()).data??[])},[]);(0,r.useEffect)(()=>{t&&e&&(o(e.visibility),x(""),I(),S())},[t,e,I,S]);let D=e?.parent_id!==null,z=D?[_,...E]:E,A=async t=>{if(!e||t===l||v)return;C(!0);let a=await fetch(`/api/folders/${e.id}/visibility`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({visibility:t})});if(C(!1),a.ok)o(t),n();else{let e=await a.json().catch(()=>({}));y.oR.error(e?.error?.message??i("visibility.changeFailed"))}},L=async()=>{if(!e||!f)return;let t=await fetch(`/api/folders/${e.id}/shares`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({group_id:f,access_level:h})});if(t.ok)x(""),await I();else{let e=await t.json().catch(()=>({}));y.oR.error(e?.error?.message??i("visibility.groupAddFailed"))}},R=async t=>{e&&((await fetch(`/api/folders/${e.id}/shares/${t}`,{method:"DELETE"})).ok?await I():y.oR.error(i("visibility.groupRemoveFailed")))};if(!e)return null;let O=e.is_system?i("folders.myWorkspace"):e.name,T=u.filter(e=>!d.some(t=>t.group_id===e.id));return(0,s.jsx)(w.lG,{open:t,onOpenChange:e=>!e&&a(),children:(0,s.jsxs)(w.Cf,{className:"sm:max-w-[400px]",children:[(0,s.jsx)(w.c7,{children:(0,s.jsxs)(w.L3,{className:"flex items-center gap-2 text-base",children:[O,(0,s.jsxs)("span",{className:"text-xs font-normal text-[var(--muted-foreground)]",children:["\xb7 ",i("folders.title")," ",i("folders.settingsLabel")]})]})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-2 text-[11px] font-medium uppercase tracking-wide text-[var(--muted-foreground)]",children:i("visibility.scope")}),(0,s.jsx)("div",{className:`grid gap-2 ${D?"grid-cols-4":"grid-cols-3"}`,children:z.map(({value:t,Icon:a,labelKey:r})=>{let n=l===t,o=v||e.is_system;return(0,s.jsxs)("button",{type:"button",disabled:o,onClick:()=>A(t),className:`flex flex-col items-center gap-1.5 rounded-[var(--radius-sm)] border px-2 py-2.5 text-xs transition-colors disabled:pointer-events-none disabled:opacity-50 ${n?"border-brand-blue-400 bg-brand-blue-50 text-brand-blue-700":"border-[var(--border)] text-[var(--muted-foreground)] hover:bg-surface-soft"}`,children:[(0,s.jsx)(a,{className:"h-4 w-4"}),i(r)]},t)})}),e.is_system&&(0,s.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--muted-foreground)]",children:i("folders.systemFolderReadonly")})]}),"group"===l&&(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-2 text-[11px] font-medium uppercase tracking-wide text-[var(--muted-foreground)]",children:i("visibility.groupSharing")}),0===d.length?(0,s.jsx)("p",{className:"px-1 text-xs text-[var(--muted-foreground)]",children:i("visibility.noSharedGroups")}):(0,s.jsx)("ul",{className:"mb-2 space-y-1",children:d.map(e=>(0,s.jsxs)("li",{className:"flex items-center gap-2 rounded-[var(--radius-sm)] bg-surface-soft px-2.5 py-1.5",children:[(0,s.jsx)(g.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--muted-foreground)]"}),(0,s.jsx)("span",{className:"flex-1 truncate text-sm",children:e.group_name}),(0,s.jsx)("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-medium ${"contributor"===e.access_level?"bg-brand-blue-100 text-brand-blue-700":"bg-[var(--border)]/40 text-[var(--muted-foreground)]"}`,children:"contributor"===e.access_level?i("folders.accessLevelEditor"):i("folders.accessLevelViewer")}),(0,s.jsx)("button",{type:"button",onClick:()=>R(e.group_id),className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] hover:bg-destructive/10 hover:text-[var(--destructive)]",children:(0,s.jsx)(p.A,{className:"h-3 w-3"})})]},e.group_id))}),0===u.length?(0,s.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:i("visibility.noGroupsHint")}):0===T.length?(0,s.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:i("visibility.allGroupsShared")}):(0,s.jsxs)("div",{className:"flex gap-1.5",children:[(0,s.jsxs)("select",{value:f,onChange:e=>x(Number(e.target.value)||""),className:"h-7 min-w-0 flex-1 rounded-[var(--radius-sm)] border border-[var(--border)] bg-[var(--background)] px-2 text-xs outline-none focus:border-brand-blue-400",children:[(0,s.jsx)("option",{value:"",children:i("visibility.selectGroup")}),T.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]}),(0,s.jsxs)("select",{value:h,onChange:e=>b(e.target.value),className:"h-7 w-20 rounded-[var(--radius-sm)] border border-[var(--border)] bg-[var(--background)] px-2 text-xs outline-none focus:border-brand-blue-400",children:[(0,s.jsx)("option",{value:"reader",children:i("folders.accessLevelViewer")}),(0,s.jsx)("option",{value:"contributor",children:i("folders.accessLevelEditor")})]}),(0,s.jsx)("button",{type:"button",disabled:!f,onClick:L,className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--radius-sm)] bg-brand-blue-600 text-white hover:bg-brand-blue-700 disabled:opacity-40",children:(0,s.jsx)(j.A,{className:"h-3.5 w-3.5"})})]})]})]})})}var C=a(37642),I=a(40980);let S="bluekiwi:folder-tree:expanded";function D({defaultValue:e="",placeholder:t,onConfirm:a,onCancel:l}){let[o,d]=(0,r.useState)(e),c=(0,r.useRef)(null),u=(0,r.useRef)(!1);(0,r.useEffect)(()=>{c.current?.focus(),c.current?.select()},[]);let m=()=>{if(u.current)return;u.current=!0;let e=o.trim();e?a(e):l()};return(0,s.jsxs)("div",{className:"flex items-center gap-1 pr-1",children:[(0,s.jsx)("input",{ref:c,value:o,onChange:e=>d(e.target.value),placeholder:t,onKeyDown:e=>{"Enter"===e.key&&m(),"Escape"===e.key&&m()},onBlur:m,className:"h-6 min-w-0 flex-1 rounded border border-brand-blue-400 bg-[var(--background)] px-1.5 text-sm outline-none ring-1 ring-brand-blue-400/30"}),(0,s.jsx)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onClick:m,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-kiwi-600 hover:bg-kiwi-100",children:(0,s.jsx)(n.A,{className:"h-3 w-3"})}),(0,s.jsx)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onClick:l,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] hover:bg-surface-soft",children:(0,s.jsx)(i.A,{className:"h-3 w-3"})})]})}function z({selectedId:e,onSelect:t,onFoldersChange:a,onWorkflowDrop:n,onInstructionDrop:i,refreshKey:b,onCreateRootRef:g}){let{t:v}=(0,N.B)(),[j,w]=(0,r.useState)([]),[E,_]=(0,r.useState)(()=>{try{let e=localStorage.getItem(S);return e?new Set(JSON.parse(e)):new Set}catch{return new Set}}),[A,L]=(0,r.useState)(null),[R,O]=(0,r.useState)(null),[T,P]=(0,r.useState)(null),[F,U]=(0,r.useState)(null),[$,B]=(0,r.useState)(null),V=(0,r.useCallback)(()=>{fetch("/api/folders").then(e=>e.json()).then(e=>{let t=e.data??[];w(t),a?.(t.map(e=>({id:e.id,name:e.name,is_system:e.is_system,visibility:e.visibility,parent_id:e.parent_id,is_mine:e.is_mine,owner_name:e.owner_name})))}).catch(()=>w([]))},[a]);(0,r.useEffect)(()=>{V()},[V,b]),(0,r.useEffect)(()=>{if(!F)return;let e=()=>U(null);return document.addEventListener("click",e),document.addEventListener("contextmenu",e),()=>{document.removeEventListener("click",e),document.removeEventListener("contextmenu",e)}},[F]),(0,r.useEffect)(()=>{g?.(()=>L({parentId:null}))},[g]),(0,r.useEffect)(()=>{try{localStorage.setItem(S,JSON.stringify([...E]))}catch{}},[E]);let G=(0,r.useCallback)(e=>{_(t=>{let a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a})},[]),M=(0,r.useCallback)(async(e,t)=>{L(null);let a=await fetch("/api/folders",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,parent_id:t,visibility:null!==t?"inherit":"personal"})});if(a.ok)null!==t&&_(e=>new Set([...e,t])),V();else{let e=await a.json().catch(()=>({}));y.oR.error(e?.error?.message??v("folders.createFailed"))}},[V,v]),W=(0,r.useCallback)(async(e,t)=>{O(null);let a=await fetch(`/api/folders/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})});if(a.ok)V();else{let e=await a.json().catch(()=>({}));y.oR.error(e?.error?.message??v("folders.renameFailed"))}},[V,v]),Z=(0,r.useCallback)(async a=>{let s=await fetch(`/api/folders/${a}`,{method:"DELETE"});if(s.ok)e===a&&t(null),V();else{let e=await s.json().catch(()=>({}));y.oR.error(e?.error?.message??v("folders.deleteFailed"))}},[V,e,t,v]),K=j.filter(e=>null===e.parent_id).sort((e,t)=>e.is_system&&!t.is_system?-1:!e.is_system&&t.is_system?1:e.is_mine&&!t.is_mine?-1:!e.is_mine&&t.is_mine?1:e.name.localeCompare(t.name)),Y=j.filter(e=>!e.is_mine),J=Y.filter(e=>null!==e.parent_id&&!Y.some(t=>t.id===e.parent_id)).sort((e,t)=>e.name.localeCompare(t.name)),q=(a,r=0)=>{let m,f=(m=a.id,j.filter(e=>e.parent_id===m)),x=E.has(a.id),p=a.id===e,b=R===a.id,g=null!==A&&A.parentId===a.id,y=T===a.id,w=a.is_mine&&!a.is_system;return(0,s.jsxs)("li",{children:[(0,s.jsxs)("div",{className:(0,I.cn)("group flex cursor-pointer items-center gap-1 rounded-[var(--radius-sm)] px-2 py-1.5 transition-colors",p?"bg-brand-blue-50 text-brand-blue-700":"hover:bg-surface-soft",y&&"ring-2 ring-brand-blue-400 ring-offset-1 bg-brand-blue-50/60"),onClick:()=>{b||(t(a.id),f.length>0&&!E.has(a.id)&&_(e=>new Set([...e,a.id])))},onDoubleClick:e=>{w&&(e.stopPropagation(),O(a.id))},onContextMenu:e=>{w&&(e.preventDefault(),e.stopPropagation(),U({x:e.clientX,y:e.clientY,folder:a}))},onDragOver:e=>{e.preventDefault(),P(a.id)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||P(null)},onDrop:e=>{e.preventDefault();let t=Number(e.dataTransfer.getData("workflowId"));t&&n?.(t,a.id);let s=Number(e.dataTransfer.getData("instructionId"));s&&i?.(s,a.id),P(null)},children:[f.length>0||g?(0,s.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),G(a.id)},className:"flex h-4 w-4 shrink-0 items-center justify-center",children:x||g?(0,s.jsx)(l.A,{className:"h-3 w-3"}):(0,s.jsx)(o.A,{className:"h-3 w-3"})}):(0,s.jsx)("span",{className:"w-4 shrink-0"}),a.is_mine?x||g?(0,s.jsx)(d.A,{className:"h-3.5 w-3.5 shrink-0 text-brand-blue-500"}):(0,s.jsx)(u.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--muted-foreground)]"}):(0,s.jsx)(h.Bc,{delayDuration:300,children:(0,s.jsxs)(h.m_,{children:[(0,s.jsx)(h.k$,{asChild:!0,children:(0,s.jsx)("span",{className:"flex shrink-0",children:x||g?(0,s.jsx)(d.A,{className:"h-3.5 w-3.5 text-kiwi-500"}):(0,s.jsx)(c.A,{className:"h-3.5 w-3.5 text-kiwi-500"})})}),(0,s.jsx)(h.ZI,{side:"right",className:"text-xs",children:a.owner_name})]})}),b?(0,s.jsx)("div",{className:"flex-1",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(D,{defaultValue:a.name,onConfirm:e=>W(a.id,e),onCancel:()=>O(null)})}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"flex-1 truncate text-sm",title:a.is_system?v("folders.myWorkspace"):a.name,children:a.is_system?v("folders.myWorkspace"):a.name}),a.is_mine&&(0,s.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),B(a)},className:"shrink-0 rounded opacity-60 hover:opacity-100",title:v("folders.visibilitySettings"),children:(0,s.jsx)(C.w,{visibility:a.visibility,iconOnly:!0})})]})]}),(x||g)&&(0,s.jsxs)("ul",{className:"mt-0.5 space-y-1",style:{paddingLeft:`${(r+1)*14+8}px`},children:[f.map(e=>q(e,r+1)),g&&(0,s.jsx)("li",{className:"py-0.5",children:(0,s.jsx)(D,{placeholder:v("folders.namePlaceholder"),onConfirm:e=>M(e,a.id),onCancel:()=>L(null)})})]})]},a.id)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("nav",{className:"text-sm",children:(0,s.jsxs)("ul",{className:"space-y-1",children:[K.map(e=>q(e,0)),J.map(e=>q(e,0)),A?.parentId===null?(0,s.jsx)("li",{className:"py-0.5 pl-5",children:(0,s.jsx)(D,{placeholder:v("folders.namePlaceholder"),onConfirm:e=>M(e,null),onCancel:()=>L(null)})}):(0,s.jsx)("li",{children:(0,s.jsxs)("button",{type:"button",onClick:()=>L({parentId:null}),className:"flex w-full cursor-pointer items-center gap-1 rounded-[var(--radius-sm)] px-2 py-1.5 text-sm text-[var(--muted-foreground)]/50 transition-colors hover:text-[var(--muted-foreground)] hover:bg-surface-soft",children:[(0,s.jsx)("span",{className:"w-4 shrink-0"}),(0,s.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("span",{children:v("folders.new")})]})})]})}),F&&(0,s.jsxs)("div",{className:"fixed z-50 min-w-[140px] overflow-hidden rounded-[var(--radius-sm)] border border-[var(--border)] bg-[var(--card)] py-1 shadow-[var(--shadow-card)]",style:{top:F.y,left:F.x},onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-surface-soft",onClick:()=>{_(e=>new Set([...e,F.folder.id])),L({parentId:F.folder.id}),U(null)},children:[(0,s.jsx)(m.A,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]"}),v("folders.addSubfolder")]}),(0,s.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-surface-soft",onClick:()=>{O(F.folder.id),U(null)},children:[(0,s.jsx)(f.A,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]"}),v("folders.rename")]}),(0,s.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-surface-soft",onClick:()=>{B(F.folder),U(null)},children:[(0,s.jsx)(x.A,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]"}),v("visibility.settings")]}),(0,s.jsx)("div",{className:"my-1 border-t border-[var(--border)]"}),(0,s.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm text-[var(--destructive)] hover:bg-destructive/10",onClick:()=>{Z(F.folder.id),U(null)},children:[(0,s.jsx)(p.A,{className:"h-3.5 w-3.5"}),v("common.delete")]})]}),(0,s.jsx)(k,{folder:$,open:null!==$,onClose:()=>B(null),onUpdate:()=>{V(),B(null)}})]})}}}]);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6073],{7810:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(82240).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},9921:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(82240).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},27209:(e,t,r)=>{r.d(t,{q:()=>n});function n(e,[t,r]){return Math.min(r,Math.max(t,e))}},66088:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(82240).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},68459:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(82240).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},86835:(e,t,r)=>{r.d(t,{UC:()=>L,VY:()=>_,ZD:()=>H,ZL:()=>I,bL:()=>P,hE:()=>B,hJ:()=>M,l9:()=>E,rc:()=>K});var n=r(12115),l=r(68599),o=r(47527),a=r(19324),i=r(70379),s=r(42442),d=r(95155),u="AlertDialog",[c,p]=(0,l.A)(u,[a.Hs]),f=(0,a.Hs)(),h=e=>{let{__scopeAlertDialog:t,...r}=e,n=f(t);return(0,d.jsx)(a.bL,{...n,...r,modal:!0})};h.displayName=u;var v=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,l=f(r);return(0,d.jsx)(a.l9,{...l,...n,ref:t})});v.displayName="AlertDialogTrigger";var m=e=>{let{__scopeAlertDialog:t,...r}=e,n=f(t);return(0,d.jsx)(a.ZL,{...n,...r})};m.displayName="AlertDialogPortal";var g=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,l=f(r);return(0,d.jsx)(a.hJ,{...l,...n,ref:t})});g.displayName="AlertDialogOverlay";var y="AlertDialogContent",[w,x]=c(y),b=(0,s.Dc)("AlertDialogContent"),S=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:l,...s}=e,u=f(r),c=n.useRef(null),p=(0,o.s)(t,c),h=n.useRef(null);return(0,d.jsx)(a.G$,{contentName:y,titleName:C,docsSlug:"alert-dialog",children:(0,d.jsx)(w,{scope:r,cancelRef:h,children:(0,d.jsxs)(a.UC,{role:"alertdialog",...u,...s,ref:p,onOpenAutoFocus:(0,i.mK)(s.onOpenAutoFocus,e=>{e.preventDefault(),h.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,d.jsx)(b,{children:l}),(0,d.jsx)(T,{contentRef:c})]})})})});S.displayName=y;var C="AlertDialogTitle",j=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,l=f(r);return(0,d.jsx)(a.hE,{...l,...n,ref:t})});j.displayName=C;var k="AlertDialogDescription",N=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,l=f(r);return(0,d.jsx)(a.VY,{...l,...n,ref:t})});N.displayName=k;var R=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,l=f(r);return(0,d.jsx)(a.bm,{...l,...n,ref:t})});R.displayName="AlertDialogAction";var A="AlertDialogCancel",D=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,{cancelRef:l}=x(A,r),i=f(r),s=(0,o.s)(t,l);return(0,d.jsx)(a.bm,{...i,...n,ref:s})});D.displayName=A;var T=({contentRef:e})=>{let t=`\`${y}\` requires a description for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
You can add a description to the \`${y}\` by passing a \`${k}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
4
|
-
|
|
5
|
-
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${y}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
6
|
-
|
|
7
|
-
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return n.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},P=h,E=v,I=m,M=g,L=S,K=R,H=D,B=j,_=N},89064:(e,t,r)=>{r.d(t,{UC:()=>eP,In:()=>eD,q7:()=>eI,VF:()=>eL,p4:()=>eM,ZL:()=>eT,bL:()=>eN,wn:()=>eH,PP:()=>eK,l9:()=>eR,WT:()=>eA,LM:()=>eE});var n=r(12115),l=r(47650),o=r(27209),a=r(70379),i=r(76094),s=r(47527),d=r(68599),u=r(1933),c=r(22138),p=r(32007),f=r(16313),h=r(89971),v=r(30945),m=r(5494),g=r(42442),y=r(95155),w=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,g.TL)(`Primitive.${t}`),l=n.forwardRef((e,n)=>{let{asChild:l,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,y.jsx)(l?r:t,{...o,ref:n})});return l.displayName=`Primitive.${t}`,{...e,[t]:l}},{}),x=r(17347),b=r(98979),S=r(66294),C=r(24356),j=r(22954),k=r(78919),N=[" ","Enter","ArrowUp","ArrowDown"],R=[" ","Enter"],A="Select",[D,T,P]=(0,i.N)(A),[E,I]=(0,d.A)(A,[P,v.Bk]),M=(0,v.Bk)(),[L,K]=E(A),[H,B]=E(A),_=e=>{let{__scopeSelect:t,children:r,open:l,defaultOpen:o,onOpenChange:a,value:i,defaultValue:s,onValueChange:d,dir:c,name:p,autoComplete:f,disabled:m,required:g,form:w}=e,x=M(t),[S,C]=n.useState(null),[j,k]=n.useState(null),[N,R]=n.useState(!1),T=(0,u.jH)(c),[P,E]=(0,b.i)({prop:l,defaultProp:o??!1,onChange:a,caller:A}),[I,K]=(0,b.i)({prop:i,defaultProp:s,onChange:d,caller:A}),B=n.useRef(null),_=!S||w||!!S.closest("form"),[V,O]=n.useState(new Set),F=Array.from(V).map(e=>e.props.value).join(";");return(0,y.jsx)(v.bL,{...x,children:(0,y.jsxs)(L,{required:g,scope:t,trigger:S,onTriggerChange:C,valueNode:j,onValueNodeChange:k,valueNodeHasChildren:N,onValueNodeHasChildrenChange:R,contentId:(0,h.B)(),value:I,onValueChange:K,open:P,onOpenChange:E,dir:T,triggerPointerDownPosRef:B,disabled:m,children:[(0,y.jsx)(D.Provider,{scope:t,children:(0,y.jsx)(H,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{O(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{O(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),_?(0,y.jsxs)(eS,{"aria-hidden":!0,required:g,tabIndex:-1,name:p,autoComplete:f,value:I,onChange:e=>K(e.target.value),disabled:m,form:w,children:[void 0===I?(0,y.jsx)("option",{value:""}):null,Array.from(V)]},F):null]})})};_.displayName=A;var V="SelectTrigger",O=n.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:l=!1,...o}=e,i=M(r),d=K(V,r),u=d.disabled||l,c=(0,s.s)(t,d.onTriggerChange),p=T(r),f=n.useRef("touch"),[h,m,g]=ej(e=>{let t=p().filter(e=>!e.disabled),r=t.find(e=>e.value===d.value),n=ek(t,e,r);void 0!==n&&d.onValueChange(n.value)}),x=e=>{u||(d.onOpenChange(!0),g()),e&&(d.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,y.jsx)(v.Mz,{asChild:!0,...i,children:(0,y.jsx)(w.button,{type:"button",role:"combobox","aria-controls":d.contentId,"aria-expanded":d.open,"aria-required":d.required,"aria-autocomplete":"none",dir:d.dir,"data-state":d.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":eC(d.value)?"":void 0,...o,ref:c,onClick:(0,a.mK)(o.onClick,e=>{e.currentTarget.focus(),"mouse"!==f.current&&x(e)}),onPointerDown:(0,a.mK)(o.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(x(e),e.preventDefault())}),onKeyDown:(0,a.mK)(o.onKeyDown,e=>{let t=""!==h.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&N.includes(e.key)&&(x(),e.preventDefault())})})})});O.displayName=V;var F="SelectValue",q=n.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:l,children:o,placeholder:a="",...i}=e,d=K(F,r),{onValueNodeHasChildrenChange:u}=d,c=void 0!==o,p=(0,s.s)(t,d.onValueNodeChange);return(0,S.N)(()=>{u(c)},[u,c]),(0,y.jsx)(w.span,{...i,ref:p,style:{pointerEvents:"none"},children:eC(d.value)?(0,y.jsx)(y.Fragment,{children:a}):o})});q.displayName=F;var U=n.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...l}=e;return(0,y.jsx)(w.span,{"aria-hidden":!0,...l,ref:t,children:n||"▼"})});U.displayName="SelectIcon";var W=e=>(0,y.jsx)(m.Z,{asChild:!0,...e});W.displayName="SelectPortal";var z="SelectContent",$=n.forwardRef((e,t)=>{let r=K(z,e.__scopeSelect),[o,a]=n.useState();return((0,S.N)(()=>{a(new DocumentFragment)},[]),r.open)?(0,y.jsx)(J,{...e,ref:t}):o?l.createPortal((0,y.jsx)(Z,{scope:e.__scopeSelect,children:(0,y.jsx)(D.Slot,{scope:e.__scopeSelect,children:(0,y.jsx)("div",{children:e.children})})}),o):null});$.displayName=z;var[Z,Y]=E(z),G=(0,g.TL)("SelectContent.RemoveScroll"),J=n.forwardRef((e,t)=>{let{__scopeSelect:r,position:l="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:i,onPointerDownOutside:d,side:u,sideOffset:h,align:v,alignOffset:m,arrowPadding:g,collisionBoundary:w,collisionPadding:x,sticky:b,hideWhenDetached:S,avoidCollisions:C,...N}=e,R=K(z,r),[A,D]=n.useState(null),[P,E]=n.useState(null),I=(0,s.s)(t,e=>D(e)),[M,L]=n.useState(null),[H,B]=n.useState(null),_=T(r),[V,O]=n.useState(!1),F=n.useRef(!1);n.useEffect(()=>{if(A)return(0,j.Eq)(A)},[A]),(0,p.Oh)();let q=n.useCallback(e=>{let[t,...r]=_().map(e=>e.ref.current),[n]=r.slice(-1),l=document.activeElement;for(let r of e)if(r===l||(r?.scrollIntoView({block:"nearest"}),r===t&&P&&(P.scrollTop=0),r===n&&P&&(P.scrollTop=P.scrollHeight),r?.focus(),document.activeElement!==l))return},[_,P]),U=n.useCallback(()=>q([M,A]),[q,M,A]);n.useEffect(()=>{V&&U()},[V,U]);let{onOpenChange:W,triggerPointerDownPosRef:$}=R;n.useEffect(()=>{if(A){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-($.current?.x??0)),y:Math.abs(Math.round(t.pageY)-($.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():A.contains(r.target)||W(!1),document.removeEventListener("pointermove",t),$.current=null};return null!==$.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[A,W,$]),n.useEffect(()=>{let e=()=>W(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[W]);let[Y,J]=ej(e=>{let t=_().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=ek(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),ee=n.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==R.value&&R.value===t||n)&&(L(e),n&&(F.current=!0))},[R.value]),et=n.useCallback(()=>A?.focus(),[A]),er=n.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==R.value&&R.value===t||n)&&B(e)},[R.value]),en="popper"===l?Q:X,el=en===Q?{side:u,sideOffset:h,align:v,alignOffset:m,arrowPadding:g,collisionBoundary:w,collisionPadding:x,sticky:b,hideWhenDetached:S,avoidCollisions:C}:{};return(0,y.jsx)(Z,{scope:r,content:A,viewport:P,onViewportChange:E,itemRefCallback:ee,selectedItem:M,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:U,selectedItemText:H,position:l,isPositioned:V,searchRef:Y,children:(0,y.jsx)(k.A,{as:G,allowPinchZoom:!0,children:(0,y.jsx)(f.n,{asChild:!0,trapped:R.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,a.mK)(o,e=>{R.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,y.jsx)(c.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>R.onOpenChange(!1),children:(0,y.jsx)(en,{role:"listbox",id:R.contentId,"data-state":R.open?"open":"closed",dir:R.dir,onContextMenu:e=>e.preventDefault(),...N,...el,onPlaced:()=>O(!0),ref:I,style:{display:"flex",flexDirection:"column",outline:"none",...N.style},onKeyDown:(0,a.mK)(N.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||J(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=_().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>q(t)),e.preventDefault()}})})})})})})});J.displayName="SelectContentImpl";var X=n.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:l,...a}=e,i=K(z,r),d=Y(z,r),[u,c]=n.useState(null),[p,f]=n.useState(null),h=(0,s.s)(t,e=>f(e)),v=T(r),m=n.useRef(!1),g=n.useRef(!0),{viewport:x,selectedItem:b,selectedItemText:C,focusSelectedItem:j}=d,k=n.useCallback(()=>{if(i.trigger&&i.valueNode&&u&&p&&x&&b&&C){let e=i.trigger.getBoundingClientRect(),t=p.getBoundingClientRect(),r=i.valueNode.getBoundingClientRect(),n=C.getBoundingClientRect();if("rtl"!==i.dir){let l=n.left-t.left,a=r.left-l,i=e.left-a,s=e.width+i,d=Math.max(s,t.width),c=window.innerWidth-10,p=(0,o.q)(a,[10,Math.max(10,c-d)]);u.style.minWidth=s+"px",u.style.left=p+"px"}else{let l=t.right-n.right,a=window.innerWidth-r.right-l,i=window.innerWidth-e.right-a,s=e.width+i,d=Math.max(s,t.width),c=window.innerWidth-10,p=(0,o.q)(a,[10,Math.max(10,c-d)]);u.style.minWidth=s+"px",u.style.right=p+"px"}let a=v(),s=window.innerHeight-20,d=x.scrollHeight,c=window.getComputedStyle(p),f=parseInt(c.borderTopWidth,10),h=parseInt(c.paddingTop,10),g=parseInt(c.borderBottomWidth,10),y=f+h+d+parseInt(c.paddingBottom,10)+g,w=Math.min(5*b.offsetHeight,y),S=window.getComputedStyle(x),j=parseInt(S.paddingTop,10),k=parseInt(S.paddingBottom,10),N=e.top+e.height/2-10,R=b.offsetHeight/2,A=f+h+(b.offsetTop+R);if(A<=N){let e=a.length>0&&b===a[a.length-1].ref.current;u.style.bottom="0px";let t=Math.max(s-N,R+(e?k:0)+(p.clientHeight-x.offsetTop-x.offsetHeight)+g);u.style.height=A+t+"px"}else{let e=a.length>0&&b===a[0].ref.current;u.style.top="0px";let t=Math.max(N,f+x.offsetTop+(e?j:0)+R);u.style.height=t+(y-A)+"px",x.scrollTop=A-N+x.offsetTop}u.style.margin="10px 0",u.style.minHeight=w+"px",u.style.maxHeight=s+"px",l?.(),requestAnimationFrame(()=>m.current=!0)}},[v,i.trigger,i.valueNode,u,p,x,b,C,i.dir,l]);(0,S.N)(()=>k(),[k]);let[N,R]=n.useState();(0,S.N)(()=>{p&&R(window.getComputedStyle(p).zIndex)},[p]);let A=n.useCallback(e=>{e&&!0===g.current&&(k(),j?.(),g.current=!1)},[k,j]);return(0,y.jsx)(ee,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:m,onScrollButtonChange:A,children:(0,y.jsx)("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:(0,y.jsx)(w.div,{...a,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});X.displayName="SelectItemAlignedPosition";var Q=n.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:l=10,...o}=e,a=M(r);return(0,y.jsx)(v.UC,{...a,...o,ref:t,align:n,collisionPadding:l,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Q.displayName="SelectPopperPosition";var[ee,et]=E(z,{}),er="SelectViewport",en=n.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:l,...o}=e,i=Y(er,r),d=et(er,r),u=(0,s.s)(t,i.onViewportChange),c=n.useRef(0);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,y.jsx)(D.Slot,{scope:r,children:(0,y.jsx)(w.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:(0,a.mK)(o.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=d;if(n?.current&&r){let e=Math.abs(c.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,l=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(l<n){let o=l+e,a=Math.min(n,o),i=o-a;r.style.height=a+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}c.current=t.scrollTop})})})]})});en.displayName=er;var el="SelectGroup",[eo,ea]=E(el);n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=(0,h.B)();return(0,y.jsx)(eo,{scope:r,id:l,children:(0,y.jsx)(w.div,{role:"group","aria-labelledby":l,...n,ref:t})})}).displayName=el;var ei="SelectLabel";n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=ea(ei,r);return(0,y.jsx)(w.div,{id:l.id,...n,ref:t})}).displayName=ei;var es="SelectItem",[ed,eu]=E(es),ec=n.forwardRef((e,t)=>{let{__scopeSelect:r,value:l,disabled:o=!1,textValue:i,...d}=e,u=K(es,r),c=Y(es,r),p=u.value===l,[f,v]=n.useState(i??""),[m,g]=n.useState(!1),x=(0,s.s)(t,e=>c.itemRefCallback?.(e,l,o)),b=(0,h.B)(),S=n.useRef("touch"),C=()=>{o||(u.onValueChange(l),u.onOpenChange(!1))};if(""===l)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,y.jsx)(ed,{scope:r,value:l,disabled:o,textId:b,isSelected:p,onItemTextChange:n.useCallback(e=>{v(t=>t||(e?.textContent??"").trim())},[]),children:(0,y.jsx)(D.ItemSlot,{scope:r,value:l,disabled:o,textValue:f,children:(0,y.jsx)(w.div,{role:"option","aria-labelledby":b,"data-highlighted":m?"":void 0,"aria-selected":p&&m,"data-state":p?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...d,ref:x,onFocus:(0,a.mK)(d.onFocus,()=>g(!0)),onBlur:(0,a.mK)(d.onBlur,()=>g(!1)),onClick:(0,a.mK)(d.onClick,()=>{"mouse"!==S.current&&C()}),onPointerUp:(0,a.mK)(d.onPointerUp,()=>{"mouse"===S.current&&C()}),onPointerDown:(0,a.mK)(d.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:(0,a.mK)(d.onPointerMove,e=>{S.current=e.pointerType,o?c.onItemLeave?.():"mouse"===S.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,a.mK)(d.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:(0,a.mK)(d.onKeyDown,e=>{(c.searchRef?.current===""||" "!==e.key)&&(R.includes(e.key)&&C()," "===e.key&&e.preventDefault())})})})})});ec.displayName=es;var ep="SelectItemText",ef=n.forwardRef((e,t)=>{let{__scopeSelect:r,className:o,style:a,...i}=e,d=K(ep,r),u=Y(ep,r),c=eu(ep,r),p=B(ep,r),[f,h]=n.useState(null),v=(0,s.s)(t,e=>h(e),c.onItemTextChange,e=>u.itemTextRefCallback?.(e,c.value,c.disabled)),m=f?.textContent,g=n.useMemo(()=>(0,y.jsx)("option",{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:x,onNativeOptionRemove:b}=p;return(0,S.N)(()=>(x(g),()=>b(g)),[x,b,g]),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(w.span,{id:c.textId,...i,ref:v}),c.isSelected&&d.valueNode&&!d.valueNodeHasChildren?l.createPortal(i.children,d.valueNode):null]})});ef.displayName=ep;var eh="SelectItemIndicator",ev=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return eu(eh,r).isSelected?(0,y.jsx)(w.span,{"aria-hidden":!0,...n,ref:t}):null});ev.displayName=eh;var em="SelectScrollUpButton",eg=n.forwardRef((e,t)=>{let r=Y(em,e.__scopeSelect),l=et(em,e.__scopeSelect),[o,a]=n.useState(!1),i=(0,s.s)(t,l.onScrollButtonChange);return(0,S.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){a(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,y.jsx)(ex,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});eg.displayName=em;var ey="SelectScrollDownButton",ew=n.forwardRef((e,t)=>{let r=Y(ey,e.__scopeSelect),l=et(ey,e.__scopeSelect),[o,a]=n.useState(!1),i=(0,s.s)(t,l.onScrollButtonChange);return(0,S.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,y.jsx)(ex,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ew.displayName=ey;var ex=n.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:l,...o}=e,i=Y("SelectScrollButton",r),s=n.useRef(null),d=T(r),u=n.useCallback(()=>{null!==s.current&&(window.clearInterval(s.current),s.current=null)},[]);return n.useEffect(()=>()=>u(),[u]),(0,S.N)(()=>{let e=d().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[d]),(0,y.jsx)(w.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:(0,a.mK)(o.onPointerDown,()=>{null===s.current&&(s.current=window.setInterval(l,50))}),onPointerMove:(0,a.mK)(o.onPointerMove,()=>{i.onItemLeave?.(),null===s.current&&(s.current=window.setInterval(l,50))}),onPointerLeave:(0,a.mK)(o.onPointerLeave,()=>{u()})})});n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,y.jsx)(w.div,{"aria-hidden":!0,...n,ref:t})}).displayName="SelectSeparator";var eb="SelectArrow";n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=M(r),o=K(eb,r),a=Y(eb,r);return o.open&&"popper"===a.position?(0,y.jsx)(v.i3,{...l,...n,ref:t}):null}).displayName=eb;var eS=n.forwardRef(({__scopeSelect:e,value:t,...r},l)=>{let o,a=n.useRef(null),i=(0,s.s)(l,a),d=(o=n.useRef({value:t,previous:t}),n.useMemo(()=>(o.current.value!==t&&(o.current.previous=o.current.value,o.current.value=t),o.current.previous),[t]));return n.useEffect(()=>{let e=a.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(d!==t&&r){let n=new Event("change",{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[d,t]),(0,y.jsx)(w.select,{...r,style:{...C.Qg,...r.style},ref:i,defaultValue:t})});function eC(e){return""===e||void 0===e}function ej(e){let t=(0,x.c)(e),r=n.useRef(""),l=n.useRef(0),o=n.useCallback(e=>{let n=r.current+e;t(n),function e(t){r.current=t,window.clearTimeout(l.current),""!==t&&(l.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),a=n.useCallback(()=>{r.current="",window.clearTimeout(l.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(l.current),[]),[r,o,a]}function ek(e,t,r){var n,l;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=r?e.indexOf(r):-1,i=(n=e,l=Math.max(a,0),n.map((e,t)=>n[(l+t)%n.length]));1===o.length&&(i=i.filter(e=>e!==r));let s=i.find(e=>e.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==r?s:void 0}eS.displayName="SelectBubbleInput";var eN=_,eR=O,eA=q,eD=U,eT=W,eP=$,eE=en,eI=ec,eM=ef,eL=ev,eK=eg,eH=ew},89363:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(82240).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},94514:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(82240).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7050],{27050:(e,r,n)=>{n.d(r,{UC:()=>eH,q7:()=>eW,ZL:()=>ez,bL:()=>e$,wv:()=>eY,l9:()=>eZ});var t=n(12115),o=n(70379),a=n(47527),u=n(68599),i=n(98979),l=n(47650),d=n(42442),s=n(95155),c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let n=(0,d.TL)(`Primitive.${r}`),o=t.forwardRef((e,t)=>{let{asChild:o,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,s.jsx)(o?n:r,{...a,ref:t})});return o.displayName=`Primitive.${r}`,{...e,[r]:o}},{}),p=n(76094),f=n(1933),m=n(22138),v=n(32007),h=n(16313),w=n(89971),g=n(30945),x=n(5494),y=n(83935),b=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let n=(0,d.TL)(`Primitive.${r}`),o=t.forwardRef((e,t)=>{let{asChild:o,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,s.jsx)(o?n:r,{...a,ref:t})});return o.displayName=`Primitive.${r}`,{...e,[r]:o}},{}),C=n(41656),M=n(17347),R=n(22954),j=n(78919),D=["Enter"," "],_=["ArrowUp","PageDown","End"],k=["ArrowDown","PageUp","Home",..._],K={ltr:[...D,"ArrowRight"],rtl:[...D,"ArrowLeft"]},P={ltr:["ArrowLeft"],rtl:["ArrowRight"]},E="Menu",[I,N,T]=(0,p.N)(E),[S,L]=(0,u.A)(E,[T,g.Bk,C.RG]),O=(0,g.Bk)(),A=(0,C.RG)(),[F,G]=S(E),[B,U]=S(E),V=e=>{let{__scopeMenu:r,open:n=!1,children:o,dir:a,onOpenChange:u,modal:i=!0}=e,l=O(r),[d,c]=t.useState(null),p=t.useRef(!1),m=(0,M.c)(u),v=(0,f.jH)(a);return t.useEffect(()=>{let e=()=>{p.current=!0,document.addEventListener("pointerdown",r,{capture:!0,once:!0}),document.addEventListener("pointermove",r,{capture:!0,once:!0})},r=()=>p.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",r,{capture:!0}),document.removeEventListener("pointermove",r,{capture:!0})}},[]),(0,s.jsx)(g.bL,{...l,children:(0,s.jsx)(F,{scope:r,open:n,onOpenChange:m,content:d,onContentChange:c,children:(0,s.jsx)(B,{scope:r,onClose:t.useCallback(()=>m(!1),[m]),isUsingKeyboardRef:p,dir:v,modal:i,children:o})})})};V.displayName=E;var X=t.forwardRef((e,r)=>{let{__scopeMenu:n,...t}=e,o=O(n);return(0,s.jsx)(g.Mz,{...o,...t,ref:r})});X.displayName="MenuAnchor";var q="MenuPortal",[$,Z]=S(q,{forceMount:void 0}),z=e=>{let{__scopeMenu:r,forceMount:n,children:t,container:o}=e,a=G(q,r);return(0,s.jsx)($,{scope:r,forceMount:n,children:(0,s.jsx)(y.C,{present:n||a.open,children:(0,s.jsx)(x.Z,{asChild:!0,container:o,children:t})})})};z.displayName=q;var H="MenuContent",[W,Y]=S(H),J=t.forwardRef((e,r)=>{let n=Z(H,e.__scopeMenu),{forceMount:t=n.forceMount,...o}=e,a=G(H,e.__scopeMenu),u=U(H,e.__scopeMenu);return(0,s.jsx)(I.Provider,{scope:e.__scopeMenu,children:(0,s.jsx)(y.C,{present:t||a.open,children:(0,s.jsx)(I.Slot,{scope:e.__scopeMenu,children:u.modal?(0,s.jsx)(Q,{...o,ref:r}):(0,s.jsx)(ee,{...o,ref:r})})})})}),Q=t.forwardRef((e,r)=>{let n=G(H,e.__scopeMenu),u=t.useRef(null),i=(0,a.s)(r,u);return t.useEffect(()=>{let e=u.current;if(e)return(0,R.Eq)(e)},[]),(0,s.jsx)(en,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),ee=t.forwardRef((e,r)=>{let n=G(H,e.__scopeMenu);return(0,s.jsx)(en,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),er=(0,d.TL)("MenuContent.ScrollLock"),en=t.forwardRef((e,r)=>{let{__scopeMenu:n,loop:u=!1,trapFocus:i,onOpenAutoFocus:l,onCloseAutoFocus:d,disableOutsidePointerEvents:c,onEntryFocus:p,onEscapeKeyDown:f,onPointerDownOutside:w,onFocusOutside:x,onInteractOutside:y,onDismiss:b,disableOutsideScroll:M,...R}=e,D=G(H,n),K=U(H,n),P=O(n),E=A(n),I=N(n),[T,S]=t.useState(null),L=t.useRef(null),F=(0,a.s)(r,L,D.onContentChange),B=t.useRef(0),V=t.useRef(""),X=t.useRef(0),q=t.useRef(null),$=t.useRef("right"),Z=t.useRef(0),z=M?j.A:t.Fragment;t.useEffect(()=>()=>window.clearTimeout(B.current),[]),(0,v.Oh)();let Y=t.useCallback(e=>{var r,n;return $.current===q.current?.side&&(r=e,!!(n=q.current?.area)&&function(e,r){let{x:n,y:t}=e,o=!1;for(let e=0,a=r.length-1;e<r.length;a=e++){let u=r[e],i=r[a],l=u.x,d=u.y,s=i.x,c=i.y;d>t!=c>t&&n<(s-l)*(t-d)/(c-d)+l&&(o=!o)}return o}({x:r.clientX,y:r.clientY},n))},[]);return(0,s.jsx)(W,{scope:n,searchRef:V,onItemEnter:t.useCallback(e=>{Y(e)&&e.preventDefault()},[Y]),onItemLeave:t.useCallback(e=>{Y(e)||(L.current?.focus(),S(null))},[Y]),onTriggerLeave:t.useCallback(e=>{Y(e)&&e.preventDefault()},[Y]),pointerGraceTimerRef:X,onPointerGraceIntentChange:t.useCallback(e=>{q.current=e},[]),children:(0,s.jsx)(z,{...M?{as:er,allowPinchZoom:!0}:void 0,children:(0,s.jsx)(h.n,{asChild:!0,trapped:i,onMountAutoFocus:(0,o.mK)(l,e=>{e.preventDefault(),L.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:(0,s.jsx)(m.qW,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:w,onFocusOutside:x,onInteractOutside:y,onDismiss:b,children:(0,s.jsx)(C.bL,{asChild:!0,...E,dir:K.dir,orientation:"vertical",loop:u,currentTabStopId:T,onCurrentTabStopIdChange:S,onEntryFocus:(0,o.mK)(p,e=>{K.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,s.jsx)(g.UC,{role:"menu","aria-orientation":"vertical","data-state":ek(D.open),"data-radix-menu-content":"",dir:K.dir,...P,...R,ref:F,style:{outline:"none",...R.style},onKeyDown:(0,o.mK)(R.onKeyDown,e=>{let r=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,t=1===e.key.length;if(r){var o;let r,a,u,i,l,d;"Tab"===e.key&&e.preventDefault(),!n&&t&&(o=e.key,r=V.current+o,a=I().filter(e=>!e.disabled),u=document.activeElement,i=a.find(e=>e.ref.current===u)?.textValue,l=function(e,r,n){var t;let o=r.length>1&&Array.from(r).every(e=>e===r[0])?r[0]:r,a=n?e.indexOf(n):-1,u=(t=Math.max(a,0),e.map((r,n)=>e[(t+n)%e.length]));1===o.length&&(u=u.filter(e=>e!==n));let i=u.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return i!==n?i:void 0}(a.map(e=>e.textValue),r,i),d=a.find(e=>e.textValue===l)?.ref.current,function e(r){V.current=r,window.clearTimeout(B.current),""!==r&&(B.current=window.setTimeout(()=>e(""),1e3))}(r),d&&setTimeout(()=>d.focus()))}let a=L.current;if(e.target!==a||!k.includes(e.key))return;e.preventDefault();let u=I().filter(e=>!e.disabled).map(e=>e.ref.current);_.includes(e.key)&&u.reverse(),function(e){let r=document.activeElement;for(let n of e)if(n===r||(n.focus(),document.activeElement!==r))return}(u)}),onBlur:(0,o.mK)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(B.current),V.current="")}),onPointerMove:(0,o.mK)(e.onPointerMove,eE(e=>{let r=e.target,n=Z.current!==e.clientX;e.currentTarget.contains(r)&&n&&($.current=e.clientX>Z.current?"right":"left",Z.current=e.clientX)}))})})})})})})});J.displayName=H;var et=t.forwardRef((e,r)=>{let{__scopeMenu:n,...t}=e;return(0,s.jsx)(b.div,{role:"group",...t,ref:r})});et.displayName="MenuGroup";var eo=t.forwardRef((e,r)=>{let{__scopeMenu:n,...t}=e;return(0,s.jsx)(b.div,{...t,ref:r})});eo.displayName="MenuLabel";var ea="MenuItem",eu="menu.itemSelect",ei=t.forwardRef((e,r)=>{let{disabled:n=!1,onSelect:u,...i}=e,d=t.useRef(null),c=U(ea,e.__scopeMenu),p=Y(ea,e.__scopeMenu),f=(0,a.s)(r,d),m=t.useRef(!1);return(0,s.jsx)(el,{...i,ref:f,disabled:n,onClick:(0,o.mK)(e.onClick,()=>{let e=d.current;if(!n&&e){let r=new CustomEvent(eu,{bubbles:!0,cancelable:!0});e.addEventListener(eu,e=>u?.(e),{once:!0}),e&&l.flushSync(()=>e.dispatchEvent(r)),r.defaultPrevented?m.current=!1:c.onClose()}}),onPointerDown:r=>{e.onPointerDown?.(r),m.current=!0},onPointerUp:(0,o.mK)(e.onPointerUp,e=>{m.current||e.currentTarget?.click()}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{let r=""!==p.searchRef.current;n||r&&" "===e.key||D.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});ei.displayName=ea;var el=t.forwardRef((e,r)=>{let{__scopeMenu:n,disabled:u=!1,textValue:i,...l}=e,d=Y(ea,n),c=A(n),p=t.useRef(null),f=(0,a.s)(r,p),[m,v]=t.useState(!1),[h,w]=t.useState("");return t.useEffect(()=>{let e=p.current;e&&w((e.textContent??"").trim())},[l.children]),(0,s.jsx)(I.ItemSlot,{scope:n,disabled:u,textValue:i??h,children:(0,s.jsx)(C.q7,{asChild:!0,...c,focusable:!u,children:(0,s.jsx)(b.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":u||void 0,"data-disabled":u?"":void 0,...l,ref:f,onPointerMove:(0,o.mK)(e.onPointerMove,eE(e=>{u?d.onItemLeave(e):(d.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,o.mK)(e.onPointerLeave,eE(e=>d.onItemLeave(e))),onFocus:(0,o.mK)(e.onFocus,()=>v(!0)),onBlur:(0,o.mK)(e.onBlur,()=>v(!1))})})})}),ed=t.forwardRef((e,r)=>{let{checked:n=!1,onCheckedChange:t,...a}=e;return(0,s.jsx)(ew,{scope:e.__scopeMenu,checked:n,children:(0,s.jsx)(ei,{role:"menuitemcheckbox","aria-checked":eK(n)?"mixed":n,...a,ref:r,"data-state":eP(n),onSelect:(0,o.mK)(a.onSelect,()=>t?.(!!eK(n)||!n),{checkForDefaultPrevented:!1})})})});ed.displayName="MenuCheckboxItem";var es="MenuRadioGroup",[ec,ep]=S(es,{value:void 0,onValueChange:()=>{}}),ef=t.forwardRef((e,r)=>{let{value:n,onValueChange:t,...o}=e,a=(0,M.c)(t);return(0,s.jsx)(ec,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,s.jsx)(et,{...o,ref:r})})});ef.displayName=es;var em="MenuRadioItem",ev=t.forwardRef((e,r)=>{let{value:n,...t}=e,a=ep(em,e.__scopeMenu),u=n===a.value;return(0,s.jsx)(ew,{scope:e.__scopeMenu,checked:u,children:(0,s.jsx)(ei,{role:"menuitemradio","aria-checked":u,...t,ref:r,"data-state":eP(u),onSelect:(0,o.mK)(t.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});ev.displayName=em;var eh="MenuItemIndicator",[ew,eg]=S(eh,{checked:!1}),ex=t.forwardRef((e,r)=>{let{__scopeMenu:n,forceMount:t,...o}=e,a=eg(eh,n);return(0,s.jsx)(y.C,{present:t||eK(a.checked)||!0===a.checked,children:(0,s.jsx)(b.span,{...o,ref:r,"data-state":eP(a.checked)})})});ex.displayName=eh;var ey=t.forwardRef((e,r)=>{let{__scopeMenu:n,...t}=e;return(0,s.jsx)(b.div,{role:"separator","aria-orientation":"horizontal",...t,ref:r})});ey.displayName="MenuSeparator";var eb=t.forwardRef((e,r)=>{let{__scopeMenu:n,...t}=e,o=O(n);return(0,s.jsx)(g.i3,{...o,...t,ref:r})});eb.displayName="MenuArrow";var[eC,eM]=S("MenuSub"),eR="MenuSubTrigger",ej=t.forwardRef((e,r)=>{let n=G(eR,e.__scopeMenu),u=U(eR,e.__scopeMenu),i=eM(eR,e.__scopeMenu),l=Y(eR,e.__scopeMenu),d=t.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:p}=l,f={__scopeMenu:e.__scopeMenu},m=t.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);return t.useEffect(()=>m,[m]),t.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),p(null)}},[c,p]),(0,s.jsx)(X,{asChild:!0,...f,children:(0,s.jsx)(el,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":i.contentId,"data-state":ek(n.open),...e,ref:(0,a.t)(r,i.onTriggerChange),onClick:r=>{e.onClick?.(r),e.disabled||r.defaultPrevented||(r.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:(0,o.mK)(e.onPointerMove,eE(r=>{l.onItemEnter(r),!r.defaultPrevented&&(e.disabled||n.open||d.current||(l.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{n.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,o.mK)(e.onPointerLeave,eE(e=>{m();let r=n.content?.getBoundingClientRect();if(r){let t=n.content?.dataset.side,o="right"===t,a=r[o?"left":"right"],u=r[o?"right":"left"];l.onPointerGraceIntentChange({area:[{x:e.clientX+(o?-5:5),y:e.clientY},{x:a,y:r.top},{x:u,y:r.top},{x:u,y:r.bottom},{x:a,y:r.bottom}],side:t}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(e),e.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:(0,o.mK)(e.onKeyDown,r=>{let t=""!==l.searchRef.current;e.disabled||t&&" "===r.key||K[u.dir].includes(r.key)&&(n.onOpenChange(!0),n.content?.focus(),r.preventDefault())})})})});ej.displayName=eR;var eD="MenuSubContent",e_=t.forwardRef((e,r)=>{let n=Z(H,e.__scopeMenu),{forceMount:u=n.forceMount,...i}=e,l=G(H,e.__scopeMenu),d=U(H,e.__scopeMenu),c=eM(eD,e.__scopeMenu),p=t.useRef(null),f=(0,a.s)(r,p);return(0,s.jsx)(I.Provider,{scope:e.__scopeMenu,children:(0,s.jsx)(y.C,{present:u||l.open,children:(0,s.jsx)(I.Slot,{scope:e.__scopeMenu,children:(0,s.jsx)(en,{id:c.contentId,"aria-labelledby":c.triggerId,...i,ref:f,align:"start",side:"rtl"===d.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{d.isUsingKeyboardRef.current&&p.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>{e.target!==c.trigger&&l.onOpenChange(!1)}),onEscapeKeyDown:(0,o.mK)(e.onEscapeKeyDown,e=>{d.onClose(),e.preventDefault()}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{let r=e.currentTarget.contains(e.target),n=P[d.dir].includes(e.key);r&&n&&(l.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function ek(e){return e?"open":"closed"}function eK(e){return"indeterminate"===e}function eP(e){return eK(e)?"indeterminate":e?"checked":"unchecked"}function eE(e){return r=>"mouse"===r.pointerType?e(r):void 0}e_.displayName=eD;var eI="DropdownMenu",[eN,eT]=(0,u.A)(eI,[L]),eS=L(),[eL,eO]=eN(eI),eA=e=>{let{__scopeDropdownMenu:r,children:n,dir:o,open:a,defaultOpen:u,onOpenChange:l,modal:d=!0}=e,c=eS(r),p=t.useRef(null),[f,m]=(0,i.i)({prop:a,defaultProp:u??!1,onChange:l,caller:eI});return(0,s.jsx)(eL,{scope:r,triggerId:(0,w.B)(),triggerRef:p,contentId:(0,w.B)(),open:f,onOpenChange:m,onOpenToggle:t.useCallback(()=>m(e=>!e),[m]),modal:d,children:(0,s.jsx)(V,{...c,open:f,onOpenChange:m,dir:o,modal:d,children:n})})};eA.displayName=eI;var eF="DropdownMenuTrigger",eG=t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,disabled:t=!1,...u}=e,i=eO(eF,n),l=eS(n);return(0,s.jsx)(X,{asChild:!0,...l,children:(0,s.jsx)(c.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":t?"":void 0,disabled:t,...u,ref:(0,a.t)(r,i.triggerRef),onPointerDown:(0,o.mK)(e.onPointerDown,e=>{!t&&0===e.button&&!1===e.ctrlKey&&(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{!t&&(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});eG.displayName=eF;var eB=e=>{let{__scopeDropdownMenu:r,...n}=e,t=eS(r);return(0,s.jsx)(z,{...t,...n})};eB.displayName="DropdownMenuPortal";var eU="DropdownMenuContent",eV=t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,u=eO(eU,n),i=eS(n),l=t.useRef(!1);return(0,s.jsx)(J,{id:u.contentId,"aria-labelledby":u.triggerId,...i,...a,ref:r,onCloseAutoFocus:(0,o.mK)(e.onCloseAutoFocus,e=>{l.current||u.triggerRef.current?.focus(),l.current=!1,e.preventDefault()}),onInteractOutside:(0,o.mK)(e.onInteractOutside,e=>{let r=e.detail.originalEvent,n=0===r.button&&!0===r.ctrlKey,t=2===r.button||n;(!u.modal||t)&&(l.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});eV.displayName=eU,t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(et,{...o,...t,ref:r})}).displayName="DropdownMenuGroup",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(eo,{...o,...t,ref:r})}).displayName="DropdownMenuLabel";var eX=t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(ei,{...o,...t,ref:r})});eX.displayName="DropdownMenuItem",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(ed,{...o,...t,ref:r})}).displayName="DropdownMenuCheckboxItem",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(ef,{...o,...t,ref:r})}).displayName="DropdownMenuRadioGroup",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(ev,{...o,...t,ref:r})}).displayName="DropdownMenuRadioItem",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(ex,{...o,...t,ref:r})}).displayName="DropdownMenuItemIndicator";var eq=t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(ey,{...o,...t,ref:r})});eq.displayName="DropdownMenuSeparator",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(eb,{...o,...t,ref:r})}).displayName="DropdownMenuArrow",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(ej,{...o,...t,ref:r})}).displayName="DropdownMenuSubTrigger",t.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...t}=e,o=eS(n);return(0,s.jsx)(e_,{...o,...t,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent";var e$=eA,eZ=eG,ez=eB,eH=eV,eW=eX,eY=eq}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7533],{24356:(e,t,r)=>{r.d(t,{bL:()=>u,Qg:()=>a});var n=r(12115);r(47650);var o=r(42442),i=r(95155),l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,o.TL)(`Primitive.${t}`),l=n.forwardRef((e,n)=>{let{asChild:o,...l}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,i.jsx)(o?r:t,{...l,ref:n})});return l.displayName=`Primitive.${t}`,{...e,[t]:l}},{}),a=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),s=n.forwardRef((e,t)=>(0,i.jsx)(l.span,{...e,ref:t,style:{...a,...e.style}}));s.displayName="VisuallyHidden";var u=s},28935:(e,t,r)=>{r.d(t,{i3:()=>Z,UC:()=>Y,ZL:()=>X,Kq:()=>q,bL:()=>U,l9:()=>W});var n=r(12115),o=r(70379),i=r(47527),l=r(68599),a=r(22138),s=r(89971),u=r(30945),c=r(5494),d=r(83935);r(47650);var p=r(42442),f=r(95155),h=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,p.TL)(`Primitive.${t}`),o=n.forwardRef((e,n)=>{let{asChild:o,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,f.jsx)(o?r:t,{...i,ref:n})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),x=r(98979),v=r(24356),[y,g]=(0,l.A)("Tooltip",[u.Bk]),m=(0,u.Bk)(),w="TooltipProvider",b="tooltip.open",[C,T]=y(w),E=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:l}=e,a=n.useRef(!0),s=n.useRef(!1),u=n.useRef(0);return n.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,f.jsx)(C,{scope:t,isOpenDelayedRef:a,delayDuration:r,onOpen:n.useCallback(()=>{window.clearTimeout(u.current),a.current=!1},[]),onClose:n.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:n.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:l})};E.displayName=w;var k="Tooltip",[L,j]=y(k),R=e=>{let{__scopeTooltip:t,children:r,open:o,defaultOpen:i,onOpenChange:l,disableHoverableContent:a,delayDuration:c}=e,d=T(k,e.__scopeTooltip),p=m(t),[h,v]=n.useState(null),y=(0,s.B)(),g=n.useRef(0),w=a??d.disableHoverableContent,C=c??d.delayDuration,E=n.useRef(!1),[j,R]=(0,x.i)({prop:o,defaultProp:i??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(b))):d.onClose(),l?.(e)},caller:k}),P=n.useMemo(()=>j?E.current?"delayed-open":"instant-open":"closed",[j]),_=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,E.current=!1,R(!0)},[R]),M=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,R(!1)},[R]),N=n.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{E.current=!0,R(!0),g.current=0},C)},[C,R]);return n.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),(0,f.jsx)(u.bL,{...p,children:(0,f.jsx)(L,{scope:t,contentId:y,open:j,stateAttribute:P,trigger:h,onTriggerChange:v,onTriggerEnter:n.useCallback(()=>{d.isOpenDelayedRef.current?N():_()},[d.isOpenDelayedRef,N,_]),onTriggerLeave:n.useCallback(()=>{w?M():(window.clearTimeout(g.current),g.current=0)},[M,w]),onOpen:_,onClose:M,disableHoverableContent:w,children:r})})};R.displayName=k;var P="TooltipTrigger",_=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...l}=e,a=j(P,r),s=T(P,r),c=m(r),d=n.useRef(null),p=(0,i.s)(t,d,a.onTriggerChange),x=n.useRef(!1),v=n.useRef(!1),y=n.useCallback(()=>x.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,f.jsx)(u.Mz,{asChild:!0,...c,children:(0,f.jsx)(h.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...l,ref:p,onPointerMove:(0,o.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(v.current||s.isPointerInTransitRef.current||(a.onTriggerEnter(),v.current=!0))}),onPointerLeave:(0,o.mK)(e.onPointerLeave,()=>{a.onTriggerLeave(),v.current=!1}),onPointerDown:(0,o.mK)(e.onPointerDown,()=>{a.open&&a.onClose(),x.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,o.mK)(e.onFocus,()=>{x.current||a.onOpen()}),onBlur:(0,o.mK)(e.onBlur,a.onClose),onClick:(0,o.mK)(e.onClick,a.onClose)})})});_.displayName=P;var M="TooltipPortal",[N,D]=y(M,{forceMount:void 0}),O=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,i=j(M,t);return(0,f.jsx)(N,{scope:t,forceMount:r,children:(0,f.jsx)(d.C,{present:r||i.open,children:(0,f.jsx)(c.Z,{asChild:!0,container:o,children:n})})})};O.displayName=M;var B="TooltipContent",I=n.forwardRef((e,t)=>{let r=D(B,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...i}=e,l=j(B,e.__scopeTooltip);return(0,f.jsx)(d.C,{present:n||l.open,children:l.disableHoverableContent?(0,f.jsx)($,{side:o,...i,ref:t}):(0,f.jsx)(K,{side:o,...i,ref:t})})}),K=n.forwardRef((e,t)=>{let r=j(B,e.__scopeTooltip),o=T(B,e.__scopeTooltip),l=n.useRef(null),a=(0,i.s)(t,l),[s,u]=n.useState(null),{trigger:c,onClose:d}=r,p=l.current,{onPointerInTransitChange:h}=o,x=n.useCallback(()=>{u(null),h(!1)},[h]),v=n.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());u(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,i),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),h(!0)},[h]);return n.useEffect(()=>()=>x(),[x]),n.useEffect(()=>{if(c&&p){let e=e=>v(e,p),t=e=>v(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,v,x]),n.useEffect(()=>{if(s){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=c?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,d=a.y;u>n!=d>n&&r<(c-s)*(n-u)/(d-u)+s&&(o=!o)}return o}(r,s);n?x():o&&(x(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,s,d,x]),(0,f.jsx)($,{...e,ref:a})}),[A,S]=y(k,{isInside:!1}),H=(0,p.Dc)("TooltipContent"),$=n.forwardRef((e,t)=>{let{__scopeTooltip:r,children:o,"aria-label":i,onEscapeKeyDown:l,onPointerDownOutside:s,...c}=e,d=j(B,r),p=m(r),{onClose:h}=d;return n.useEffect(()=>(document.addEventListener(b,h),()=>document.removeEventListener(b,h)),[h]),n.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&h()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,h]),(0,f.jsx)(a.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:h,children:(0,f.jsxs)(u.UC,{"data-state":d.stateAttribute,...p,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,f.jsx)(H,{children:o}),(0,f.jsx)(A,{scope:r,isInside:!0,children:(0,f.jsx)(v.bL,{id:d.contentId,role:"tooltip",children:i||o})})]})})});I.displayName=B;var z="TooltipArrow",F=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,o=m(r);return S(z,r).isInside?null:(0,f.jsx)(u.i3,{...o,...n,ref:t})});F.displayName=z;var q=E,U=R,W=_,X=O,Y=I,Z=F},92451:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(82240).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])}}]);
|