@shepai/cli 1.58.0 → 1.60.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/dist/src/presentation/web/app/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/page.js +9 -0
- package/dist/src/presentation/web/app/skills/page.d.ts +2 -0
- package/dist/src/presentation/web/app/skills/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/skills/page.js +11 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.d.ts +5 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +14 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.d.ts +12 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.js +20 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/ci-status-badge/index.js +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +13 -2
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts +8 -0
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js +41 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +9 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.js +2 -12
- package/dist/src/presentation/web/components/features/skills/category-filter.d.ts +8 -0
- package/dist/src/presentation/web/components/features/skills/category-filter.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/category-filter.js +12 -0
- package/dist/src/presentation/web/components/features/skills/category-filter.stories.d.ts +9 -0
- package/dist/src/presentation/web/components/features/skills/category-filter.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/category-filter.stories.js +36 -0
- package/dist/src/presentation/web/components/features/skills/index.d.ts +6 -0
- package/dist/src/presentation/web/components/features/skills/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/index.js +5 -0
- package/dist/src/presentation/web/components/features/skills/skill-card.d.ts +7 -0
- package/dist/src/presentation/web/components/features/skills/skill-card.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skill-card.js +12 -0
- package/dist/src/presentation/web/components/features/skills/skill-card.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/features/skills/skill-card.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skill-card.stories.js +88 -0
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.d.ts +7 -0
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.js +13 -0
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.js +71 -0
- package/dist/src/presentation/web/components/features/skills/skill-list.d.ts +7 -0
- package/dist/src/presentation/web/components/features/skills/skill-list.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skill-list.js +21 -0
- package/dist/src/presentation/web/components/features/skills/skill-list.stories.d.ts +9 -0
- package/dist/src/presentation/web/components/features/skills/skill-list.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skill-list.stories.js +124 -0
- package/dist/src/presentation/web/components/features/skills/skills-page-client.d.ts +6 -0
- package/dist/src/presentation/web/components/features/skills/skills-page-client.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skills-page-client.js +52 -0
- package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts +16 -0
- package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.js +186 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +3 -2
- package/dist/src/presentation/web/lib/feature-flags.d.ts +10 -0
- package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -0
- package/dist/src/presentation/web/lib/feature-flags.js +12 -0
- package/dist/src/presentation/web/lib/skills.d.ts +30 -0
- package/dist/src/presentation/web/lib/skills.d.ts.map +1 -0
- package/dist/src/presentation/web/lib/skills.js +137 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +1 -0
- package/web/.next/build-manifest.json +4 -4
- package/web/.next/cache/.previewinfo +1 -1
- package/web/.next/cache/.rscinfo +1 -1
- package/web/.next/cache/.tsbuildinfo +1 -1
- package/web/.next/cache/config.json +3 -3
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/routes-manifest.json +6 -0
- package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
- package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
- package/web/.next/server/app/page/build-manifest.json +2 -2
- package/web/.next/server/app/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/page.js +1 -1
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/skills/page/build-manifest.json +17 -0
- package/web/.next/server/app/skills/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/skills/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/skills/page/server-reference-manifest.json +20 -0
- package/web/.next/server/app/skills/page.js +16 -0
- package/web/.next/server/app/skills/page.js.map +5 -0
- package/web/.next/server/app/skills/page.js.nft.json +1 -0
- package/web/.next/server/app/skills/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/tools/page/build-manifest.json +2 -2
- package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/build-manifest.json +2 -2
- package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__bb619083._.js → [root-of-the-server]__e926de65._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__86c7bba5._.js → [root-of-the-server]__b6839c3f._.js} +3 -3
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__86c7bba5._.js.map → [root-of-the-server]__b6839c3f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__edca9510._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__edca9510._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
- package/web/.next/server/chunks/ssr/_34627374._.js +6 -0
- package/web/.next/server/chunks/ssr/_34627374._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_380c6567._.js +6 -0
- package/web/.next/server/chunks/ssr/_380c6567._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_44cce4e0._.js +4 -0
- package/web/.next/server/chunks/ssr/_44cce4e0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_9915d2a7._.js +3 -0
- package/web/.next/server/chunks/ssr/_9915d2a7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a64b7b24._.js +3 -0
- package/web/.next/server/chunks/ssr/{_e242b954._.js.map → _a64b7b24._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_e7a4b0e4._.js +3 -0
- package/web/.next/server/chunks/ssr/_e7a4b0e4._.js.map +1 -0
- package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js → server/chunks/ssr/node_modules__pnpm_fe355030._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules__pnpm_fe355030._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_0286756b._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_0286756b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
- package/web/.next/server/middleware-build-manifest.js +2 -2
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +22 -15
- package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +1 -0
- package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +4 -4
- package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +6 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +14 -14
- package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/app-paths-manifest.json +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +17 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/next-font-manifest.json +6 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/react-loadable-manifest.json +1 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +20 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js +16 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.map +5 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +2 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +1 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/{[root-of-the-server]__bb619083._.js → [root-of-the-server]__e926de65._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__86c7bba5._.js → [root-of-the-server]__b6839c3f._.js} +3 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +4 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__edca9510._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_34627374._.js +6 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_380c6567._.js +6 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_44cce4e0._.js +4 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9915d2a7._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a64b7b24._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e7a4b0e4._.js +3 -0
- package/web/.next/{server/chunks/ssr/node_modules__pnpm_d26a7485._.js → standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_fe355030._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_0286756b._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +22 -15
- package/web/.next/standalone/src/presentation/web/app/page.tsx +9 -0
- package/web/.next/standalone/src/presentation/web/app/skills/page.tsx +12 -0
- package/web/.next/standalone/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.tsx +27 -0
- package/web/.next/standalone/src/presentation/web/components/common/ci-status-badge/ci-status-badge.tsx +29 -0
- package/web/.next/standalone/src/presentation/web/components/common/ci-status-badge/index.ts +1 -0
- package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.tsx +53 -0
- package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.tsx +61 -1
- package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node-state-config.ts +9 -0
- package/web/.next/standalone/src/presentation/web/components/common/merge-review/merge-review.tsx +1 -29
- package/web/.next/standalone/src/presentation/web/components/features/skills/category-filter.stories.tsx +57 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/category-filter.tsx +36 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/index.ts +5 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skill-card.stories.tsx +105 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skill-card.tsx +48 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skill-detail-drawer.stories.tsx +96 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skill-detail-drawer.tsx +100 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skill-list.stories.tsx +139 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skill-list.tsx +48 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skills-page-client.stories.tsx +199 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skills-page-client.tsx +112 -0
- package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +10 -1
- package/web/.next/standalone/src/presentation/web/lib/feature-flags.ts +14 -0
- package/web/.next/standalone/src/presentation/web/lib/skills.ts +188 -0
- package/web/.next/standalone/src/presentation/web/package.json +2 -0
- package/web/.next/standalone/src/presentation/web/server.js +1 -1
- package/web/.next/static/chunks/09d898be63c54f20.js +1 -0
- package/web/.next/static/chunks/{eb0e60434c992fc1.js → 1fe24572a810eafa.js} +5 -5
- package/web/.next/static/chunks/25f42652257ff43d.js +1 -0
- package/web/.next/static/chunks/2934854f0378f815.js +1 -0
- package/web/.next/static/chunks/7d3c5ae8f47e74cd.js +1 -0
- package/web/.next/static/chunks/8b2879f911a05b55.css +2 -0
- package/web/.next/static/chunks/acdb8af5a21f1ae9.js +1 -0
- package/web/.next/static/chunks/bac5122e95f5c7eb.js +1 -0
- package/web/.next/static/chunks/{3d4dcf0be654a331.js → cb1b27e4a21415d3.js} +2 -2
- package/web/.next/static/chunks/d4379644a6145352.js +1 -0
- package/web/.next/static/chunks/{turbopack-6a11f2f1634ff6e0.js → turbopack-eb24b869babb34b4.js} +2 -2
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/link.d.ts +1 -0
- package/web/.next/types/routes.d.ts +2 -1
- package/web/.next/types/validator.ts +9 -0
- package/web/package.json +2 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d21f0894._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d21f0894._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_027596cf._.js +0 -6
- package/web/.next/server/chunks/ssr/_027596cf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e242b954._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js.map +0 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d21f0894._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_027596cf._.js +0 -6
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e242b954._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +0 -3
- package/web/.next/static/chunks/0cd7c513169faee3.js +0 -1
- package/web/.next/static/chunks/3f5de337d3fc604f.js +0 -1
- package/web/.next/static/chunks/60bbbe7ff679eb4c.css +0 -2
- package/web/.next/static/chunks/67459433cc866344.js +0 -1
- package/web/.next/static/chunks/7138c478667158d0.js +0 -1
- package/web/.next/static/chunks/a9c2b889c8749a94.js +0 -1
- package/web/.next/static/chunks/cda11a2491d519fc.js +0 -1
- /package/web/.next/server/chunks/{[root-of-the-server]__bb619083._.js.map → [root-of-the-server]__e926de65._.js.map} +0 -0
- /package/web/.next/static/{e7Q45G0MI6cgci9Gn2J-i → enyZhg62FqP6oInxg1T3h}/_buildManifest.js +0 -0
- /package/web/.next/static/{e7Q45G0MI6cgci9Gn2J-i → enyZhg62FqP6oInxg1T3h}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{e7Q45G0MI6cgci9Gn2J-i → enyZhg62FqP6oInxg1T3h}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { readdir, readFile } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import yaml from 'js-yaml';
|
|
5
|
+
|
|
6
|
+
// ── Types ────────────────────────────────────────────────────────────────────
|
|
7
|
+
|
|
8
|
+
export type SkillCategory = 'Workflow' | 'Code Generation' | 'Analysis' | 'Reference';
|
|
9
|
+
export type SkillSource = 'project' | 'global';
|
|
10
|
+
|
|
11
|
+
export interface SkillResource {
|
|
12
|
+
name: string;
|
|
13
|
+
fileCount: number;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SkillData {
|
|
17
|
+
name: string;
|
|
18
|
+
displayName: string;
|
|
19
|
+
description: string;
|
|
20
|
+
context?: string;
|
|
21
|
+
allowedTools?: string;
|
|
22
|
+
category: SkillCategory;
|
|
23
|
+
source: SkillSource;
|
|
24
|
+
body: string;
|
|
25
|
+
resources: SkillResource[];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// ── Category Derivation ──────────────────────────────────────────────────────
|
|
29
|
+
|
|
30
|
+
const CATEGORY_RULES: { test: (name: string) => boolean; category: SkillCategory }[] = [
|
|
31
|
+
{ test: (name) => name.startsWith('shep-kit:'), category: 'Workflow' },
|
|
32
|
+
{ test: (name) => name.startsWith('shep:'), category: 'Code Generation' },
|
|
33
|
+
{ test: (name) => /(?:review|validate|cross-validate)/.test(name), category: 'Analysis' },
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
export function deriveCategory(name: string): SkillCategory {
|
|
37
|
+
for (const rule of CATEGORY_RULES) {
|
|
38
|
+
if (rule.test(name)) return rule.category;
|
|
39
|
+
}
|
|
40
|
+
return 'Reference';
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// ── Display Name ─────────────────────────────────────────────────────────────
|
|
44
|
+
|
|
45
|
+
const DISPLAY_NAME_PREFIXES = ['shep-kit:', 'shep:'];
|
|
46
|
+
|
|
47
|
+
export function getDisplayName(name: string): string {
|
|
48
|
+
for (const prefix of DISPLAY_NAME_PREFIXES) {
|
|
49
|
+
if (name.startsWith(prefix)) return name.slice(prefix.length);
|
|
50
|
+
}
|
|
51
|
+
return name;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// ── Frontmatter Parsing ─────────────────────────────────────────────────────
|
|
55
|
+
|
|
56
|
+
interface FrontmatterResult {
|
|
57
|
+
name: string;
|
|
58
|
+
description: string;
|
|
59
|
+
context?: string;
|
|
60
|
+
allowedTools?: string;
|
|
61
|
+
body: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function parseFrontmatter(content: string): FrontmatterResult | null {
|
|
65
|
+
const delimiterPattern = /^---\s*$/m;
|
|
66
|
+
const firstMatch = content.match(delimiterPattern);
|
|
67
|
+
if (firstMatch?.index === undefined) return null;
|
|
68
|
+
|
|
69
|
+
const afterFirst = firstMatch.index + firstMatch[0].length;
|
|
70
|
+
const rest = content.slice(afterFirst);
|
|
71
|
+
const secondMatch = rest.match(delimiterPattern);
|
|
72
|
+
if (secondMatch?.index === undefined) return null;
|
|
73
|
+
|
|
74
|
+
const yamlContent = rest.slice(0, secondMatch.index);
|
|
75
|
+
const body = rest.slice(secondMatch.index + secondMatch[0].length).trim();
|
|
76
|
+
|
|
77
|
+
let parsed: Record<string, unknown>;
|
|
78
|
+
try {
|
|
79
|
+
parsed = yaml.load(yamlContent) as Record<string, unknown>;
|
|
80
|
+
} catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (!parsed || typeof parsed !== 'object') return null;
|
|
85
|
+
|
|
86
|
+
const name = parsed['name'];
|
|
87
|
+
const description = parsed['description'];
|
|
88
|
+
if (typeof name !== 'string' || typeof description !== 'string') return null;
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
name,
|
|
92
|
+
description,
|
|
93
|
+
context: typeof parsed['context'] === 'string' ? parsed['context'] : undefined,
|
|
94
|
+
allowedTools: typeof parsed['allowed-tools'] === 'string' ? parsed['allowed-tools'] : undefined,
|
|
95
|
+
body,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// ── Resource Detection ───────────────────────────────────────────────────────
|
|
100
|
+
|
|
101
|
+
const KNOWN_RESOURCE_DIRS = [
|
|
102
|
+
'references',
|
|
103
|
+
'examples',
|
|
104
|
+
'templates',
|
|
105
|
+
'scripts',
|
|
106
|
+
'validation',
|
|
107
|
+
'rules',
|
|
108
|
+
];
|
|
109
|
+
|
|
110
|
+
async function detectResources(skillDir: string): Promise<SkillResource[]> {
|
|
111
|
+
const resources: SkillResource[] = [];
|
|
112
|
+
for (const dirName of KNOWN_RESOURCE_DIRS) {
|
|
113
|
+
try {
|
|
114
|
+
const entries = await readdir(join(skillDir, dirName));
|
|
115
|
+
resources.push({ name: dirName, fileCount: entries.length });
|
|
116
|
+
} catch {
|
|
117
|
+
// Directory doesn't exist — skip
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return resources;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// ── Skill Directory Reader ───────────────────────────────────────────────────
|
|
124
|
+
|
|
125
|
+
async function getSkillsFromDirectory(dirPath: string, source: SkillSource): Promise<SkillData[]> {
|
|
126
|
+
let entries: string[];
|
|
127
|
+
try {
|
|
128
|
+
const dirEntries = await readdir(dirPath, { withFileTypes: true });
|
|
129
|
+
entries = dirEntries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
130
|
+
} catch {
|
|
131
|
+
return [];
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const skills: SkillData[] = [];
|
|
135
|
+
for (const entry of entries) {
|
|
136
|
+
const skillDir = join(dirPath, entry);
|
|
137
|
+
const skillMdPath = join(skillDir, 'SKILL.md');
|
|
138
|
+
|
|
139
|
+
let content: string;
|
|
140
|
+
try {
|
|
141
|
+
content = await readFile(skillMdPath, 'utf-8');
|
|
142
|
+
} catch {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const frontmatter = parseFrontmatter(content);
|
|
147
|
+
if (!frontmatter) {
|
|
148
|
+
// eslint-disable-next-line no-console
|
|
149
|
+
console.warn(`Skipping skill "${entry}": invalid or missing frontmatter in SKILL.md`);
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const resources = await detectResources(skillDir);
|
|
154
|
+
|
|
155
|
+
skills.push({
|
|
156
|
+
name: frontmatter.name,
|
|
157
|
+
displayName: getDisplayName(frontmatter.name),
|
|
158
|
+
description: frontmatter.description,
|
|
159
|
+
context: frontmatter.context,
|
|
160
|
+
allowedTools: frontmatter.allowedTools,
|
|
161
|
+
category: deriveCategory(frontmatter.name),
|
|
162
|
+
source,
|
|
163
|
+
body: frontmatter.body,
|
|
164
|
+
resources,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return skills;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export async function getSkills(projectRoot?: string, homeDir?: string): Promise<SkillData[]> {
|
|
172
|
+
const root = projectRoot ?? process.cwd();
|
|
173
|
+
const home = homeDir ?? homedir();
|
|
174
|
+
|
|
175
|
+
const projectDir = join(root, '.claude', 'skills');
|
|
176
|
+
const globalDir = join(home, '.claude', 'skills');
|
|
177
|
+
|
|
178
|
+
const [projectSkills, globalSkills] = await Promise.all([
|
|
179
|
+
getSkillsFromDirectory(projectDir, 'project'),
|
|
180
|
+
getSkillsFromDirectory(globalDir, 'global'),
|
|
181
|
+
]);
|
|
182
|
+
|
|
183
|
+
// Deduplicate by name — project skills take precedence over global skills
|
|
184
|
+
const seen = new Set(projectSkills.map((s) => s.name));
|
|
185
|
+
const uniqueGlobalSkills = globalSkills.filter((s) => !seen.has(s.name));
|
|
186
|
+
|
|
187
|
+
return [...projectSkills, ...uniqueGlobalSkills].sort((a, b) => a.name.localeCompare(b.name));
|
|
188
|
+
}
|
|
@@ -29,11 +29,13 @@
|
|
|
29
29
|
"sonner": "^2.0.7",
|
|
30
30
|
"tailwind-merge": "^3.4.0",
|
|
31
31
|
"tw-animate-css": "^1.4.0",
|
|
32
|
+
"js-yaml": "^4.1.1",
|
|
32
33
|
"vaul": "^1.1.2"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@tailwindcss/postcss": "^4.1.18",
|
|
36
37
|
"@types/dagre": "^0.7.53",
|
|
38
|
+
"@types/js-yaml": "^4.0.9",
|
|
37
39
|
"@types/node": "^25.2.0",
|
|
38
40
|
"@types/react": "^19.2.10",
|
|
39
41
|
"@types/react-dom": "^19.2.3",
|
|
@@ -15,7 +15,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
15
15
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
16
16
|
|
|
17
17
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
18
|
-
const nextConfig = {"env":{"NEXT_PUBLIC_SHEP_VERSION":"1.
|
|
18
|
+
const nextConfig = {"env":{"NEXT_PUBLIC_SHEP_VERSION":"1.59.0","NEXT_PUBLIC_SHEP_PACKAGE_NAME":"@shepai/cli","NEXT_PUBLIC_SHEP_DESCRIPTION":"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":true,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/cli/cli","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/runner/work/cli/cli"},"serverExternalPackages":["tsyringe","reflect-metadata","better-sqlite3","node:os","node:child_process","node:fs"],"distDirRoot":".next"}
|
|
19
19
|
|
|
20
20
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
21
21
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,7284,e=>{"use strict";function r(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=function e(r){var t,o,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(t=0;t<l;t++)r[t]&&(o=e(r[t]))&&(n&&(n+=" "),n+=o)}else for(o in r)r[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=r);return o}e.s(["clsx",()=>r])},94237,e=>{"use strict";var r=e.i(7284);let t=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,o=r.clsx;e.s(["cva",0,(e,r)=>n=>{var l;if((null==r?void 0:r.variants)==null)return o(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:s,defaultVariants:a}=r,i=Object.keys(s).map(e=>{let r=null==n?void 0:n[e],o=null==a?void 0:a[e];if(null===r)return null;let l=t(r)||t(o);return s[e][l]}),c=n&&Object.entries(n).reduce((e,r)=>{let[t,o]=r;return void 0===o||(e[t]=o),e},{});return o(e,i,null==r||null==(l=r.compoundVariants)?void 0:l.reduce((e,r)=>{let{class:t,className:o,...n}=r;return Object.entries(n).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...a,...c}[r]):({...a,...c})[r]===t})?[...e,t,o]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},86874,5978,e=>{"use strict";var r=e.i(79054);function t(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}function o(...e){return r=>{let o=!1,n=e.map(e=>{let n=t(e,r);return o||"function"!=typeof n||(o=!0),n});if(o)return()=>{for(let r=0;r<n.length;r++){let o=n[r];"function"==typeof o?o():t(e[r],null)}}}}function n(...e){return r.useCallback(o(...e),e)}e.s(["composeRefs",()=>o,"useComposedRefs",()=>n],5978);var l=e.i(20314);function s(e){var t;let n,s=(t=e,(n=r.forwardRef((e,t)=>{let{children:n,...l}=e;if(r.isValidElement(n)){var s;let e,a,i=(s=n,(a=(e=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.ref:(a=(e=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.props.ref:s.props.ref||s.ref),c=function(e,r){let t={...r};for(let o in r){let n=e[o],l=r[o];/^on[A-Z]/.test(o)?n&&l?t[o]=(...e)=>{let r=l(...e);return n(...e),r}:n&&(t[o]=n):"style"===o?t[o]={...n,...l}:"className"===o&&(t[o]=[n,l].filter(Boolean).join(" "))}return{...e,...t}}(l,n.props);return n.type!==r.Fragment&&(c.ref=t?o(t,i):i),r.cloneElement(n,c)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${t}.SlotClone`,n),a=r.forwardRef((e,t)=>{let{children:o,...n}=e,a=r.Children.toArray(o),i=a.find(u);if(i){let e=i.props.children,o=a.map(t=>t!==i?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,l.jsx)(s,{...n,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,o):null})}return(0,l.jsx)(s,{...n,ref:t,children:o})});return a.displayName=`${e}.Slot`,a}var a=s("Slot"),i=Symbol("radix.slottable");function c(e){let r=({children:e})=>(0,l.jsx)(l.Fragment,{children:e});return r.displayName=`${e}.Slottable`,r.__radixId=i,r}var d=c("Slottable");function u(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===i}e.s(["Root",()=>a,"Slot",()=>a,"Slottable",()=>d,"createSlot",()=>s,"createSlottable",()=>c],86874)},31777,e=>{"use strict";var r=e.i(7284);let t=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),o=[],n=(e,r,t)=>{if(0==e.length-r)return t.classGroupId;let o=e[r],l=t.nextPart.get(o);if(l){let t=n(e,r+1,l);if(t)return t}let s=t.validators;if(null===s)return;let a=0===r?e.join("-"):e.slice(r).join("-"),i=s.length;for(let e=0;e<i;e++){let r=s[e];if(r.validator(a))return r.classGroupId}},l=(e,r)=>{let o=t();for(let t in e)s(e[t],o,t,r);return o},s=(e,r,t,o)=>{let n=e.length;for(let l=0;l<n;l++)a(e[l],r,t,o)},a=(e,r,t,o)=>{"string"==typeof e?i(e,r,t):"function"==typeof e?c(e,r,t,o):d(e,r,t,o)},i=(e,r,t)=>{(""===e?r:u(r,e)).classGroupId=t},c=(e,r,t,o)=>{m(e)?s(e(o),r,t,o):(null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:t,validator:e}))},d=(e,r,t,o)=>{let n=Object.entries(e),l=n.length;for(let e=0;e<l;e++){let[l,a]=n[e];s(a,u(r,l),t,o)}},u=(e,r)=>{let o=e,n=r.split("-"),l=n.length;for(let e=0;e<l;e++){let r=n[e],l=o.nextPart.get(r);l||(l=t(),o.nextPart.set(r,l)),o=l}return o},m=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,p=[],f=(e,r,t,o,n)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:o,isExternal:n}),b=/\s+/,g=e=>{let r;if("string"==typeof e)return e;let t="";for(let o=0;o<e.length;o++)e[o]&&(r=g(e[o]))&&(t&&(t+=" "),t+=r);return t},h=[],v=e=>{let r=r=>r[e]||h;return r.isThemeGetter=!0,r},x=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,y=/^\((?:(\w[\w-]*):)?(.+)\)$/i,w=/^\d+\/\d+$/,k=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,z=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,N=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,j=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,S=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,C=e=>w.test(e),E=e=>!!e&&!Number.isNaN(Number(e)),O=e=>!!e&&Number.isInteger(Number(e)),R=e=>e.endsWith("%")&&E(e.slice(0,-1)),M=e=>k.test(e),I=()=>!0,T=e=>z.test(e)&&!N.test(e),_=()=>!1,$=e=>j.test(e),P=e=>S.test(e),A=e=>!U(e)&&!B(e),W=e=>J(e,et,_),U=e=>x.test(e),D=e=>J(e,eo,T),G=e=>J(e,en,E),L=e=>J(e,ee,_),V=e=>J(e,er,P),F=e=>J(e,es,$),B=e=>y.test(e),q=e=>Q(e,eo),K=e=>Q(e,el),H=e=>Q(e,ee),X=e=>Q(e,et),Y=e=>Q(e,er),Z=e=>Q(e,es,!0),J=(e,r,t)=>{let o=x.exec(e);return!!o&&(o[1]?r(o[1]):t(o[2]))},Q=(e,r,t=!1)=>{let o=y.exec(e);return!!o&&(o[1]?r(o[1]):t)},ee=e=>"position"===e||"percentage"===e,er=e=>"image"===e||"url"===e,et=e=>"length"===e||"size"===e||"bg-size"===e,eo=e=>"length"===e,en=e=>"number"===e,el=e=>"family-name"===e,es=e=>"shadow"===e,ea=((e,...r)=>{let t,s,a,i,c=e=>{let r=s(e);if(r)return r;let o=((e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:l}=r,s=[],a=e.trim().split(b),i="";for(let e=a.length-1;e>=0;e-=1){let r=a[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:m,maybePostfixModifierPosition:p}=t(r);if(c){i=r+(i.length>0?" "+i:i);continue}let f=!!p,b=o(f?m.substring(0,p):m);if(!b){if(!f||!(b=o(m))){i=r+(i.length>0?" "+i:i);continue}f=!1}let g=0===d.length?"":1===d.length?d[0]:l(d).join(":"),h=u?g+"!":g,v=h+b;if(s.indexOf(v)>-1)continue;s.push(v);let x=n(b,f);for(let e=0;e<x.length;++e){let r=x[e];s.push(h+r)}i=r+(i.length>0?" "+i:i)}return i})(e,t);return a(e,o),o};return i=d=>{var u;let m;return s=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,t=Object.create(null),o=Object.create(null),n=(n,l)=>{t[n]=l,++r>e&&(r=0,o=t,t=Object.create(null))};return{get(e){let r=t[e];return void 0!==r?r:void 0!==(r=o[e])?(n(e,r),r):void 0},set(e,r){e in t?t[e]=r:n(e,r)}}})((u=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:t}=e,o=e=>{let r,t=[],o=0,n=0,l=0,s=e.length;for(let a=0;a<s;a++){let s=e[a];if(0===o&&0===n){if(":"===s){t.push(e.slice(l,a)),l=a+1;continue}if("/"===s){r=a;continue}}"["===s?o++:"]"===s?o--:"("===s?n++:")"===s&&n--}let a=0===t.length?e:e.slice(l),i=a,c=!1;return a.endsWith("!")?(i=a.slice(0,-1),c=!0):a.startsWith("!")&&(i=a.slice(1),c=!0),f(t,c,i,r&&r>l?r-l:void 0)};if(r){let e=r+":",t=o;o=r=>r.startsWith(e)?t(r.slice(e.length)):f(p,!1,r,void 0,!0)}if(t){let e=o;o=r=>t({className:r,parseClassName:e})}return o})(u),sortModifiers:(m=new Map,u.orderSensitiveModifiers.forEach((e,r)=>{m.set(e,1e6+r)}),e=>{let r=[],t=[];for(let o=0;o<e.length;o++){let n=e[o],l="["===n[0],s=m.has(n);l||s?(t.length>0&&(t.sort(),r.push(...t),t=[]),r.push(n)):t.push(n)}return t.length>0&&(t.sort(),r.push(...t)),r}),...(e=>{let r=(e=>{let{theme:r,classGroups:t}=e;return l(t,r)})(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var t;let r,o,n;return -1===(t=e).slice(1,-1).indexOf(":")?void 0:(o=(r=t.slice(1,-1)).indexOf(":"),(n=r.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),l=+(""===o[0]&&o.length>1);return n(o,l,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=s[e],n=t[e];if(r){if(n){let e=Array(n.length+r.length);for(let r=0;r<n.length;r++)e[r]=n[r];for(let t=0;t<r.length;t++)e[n.length+t]=r[t];return e}return r}return n||o}return t[e]||o}}})(u)}).cache.get,a=t.cache.set,i=c,c(d)},(...e)=>i(((...e)=>{let r,t,o=0,n="";for(;o<e.length;)(r=e[o++])&&(t=g(r))&&(n&&(n+=" "),n+=t);return n})(...e))})(()=>{let e=v("color"),r=v("font"),t=v("text"),o=v("font-weight"),n=v("tracking"),l=v("leading"),s=v("breakpoint"),a=v("container"),i=v("spacing"),c=v("radius"),d=v("shadow"),u=v("inset-shadow"),m=v("text-shadow"),p=v("drop-shadow"),f=v("blur"),b=v("perspective"),g=v("aspect"),h=v("ease"),x=v("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],w=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...w(),B,U],z=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],j=()=>[B,U,i],S=()=>[C,"full","auto",...j()],T=()=>[O,"none","subgrid",B,U],_=()=>["auto",{span:["full",O,B,U]},O,B,U],$=()=>[O,"auto",B,U],P=()=>["auto","min","max","fr",B,U],J=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Q=()=>["start","end","center","stretch","center-safe","end-safe"],ee=()=>["auto",...j()],er=()=>[C,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],et=()=>[e,B,U],eo=()=>[...w(),H,L,{position:[B,U]}],en=()=>["no-repeat",{repeat:["","x","y","space","round"]}],el=()=>["auto","cover","contain",X,W,{size:[B,U]}],es=()=>[R,q,D],ea=()=>["","none","full",c,B,U],ei=()=>["",E,q,D],ec=()=>["solid","dashed","dotted","double"],ed=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eu=()=>[E,R,H,L],em=()=>["","none",f,B,U],ep=()=>["none",E,B,U],ef=()=>["none",E,B,U],eb=()=>[E,B,U],eg=()=>[C,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[M],breakpoint:[M],color:[I],container:[M],"drop-shadow":[M],ease:["in","out","in-out"],font:[A],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[M],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[M],shadow:[M],spacing:["px",E],text:[M],"text-shadow":[M],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",C,U,B,g]}],container:["container"],columns:[{columns:[E,U,B,a]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{start:S()}],end:[{end:S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:["visible","invisible","collapse"],z:[{z:[O,"auto",B,U]}],basis:[{basis:[C,"full","auto",a,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[E,C,"auto","initial","none",U]}],grow:[{grow:["",E,B,U]}],shrink:[{shrink:["",E,B,U]}],order:[{order:[O,"first","last","none",B,U]}],"grid-cols":[{"grid-cols":T()}],"col-start-end":[{col:_()}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":T()}],"row-start-end":[{row:_()}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":P()}],"auto-rows":[{"auto-rows":P()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...J(),"normal"]}],"justify-items":[{"justify-items":[...Q(),"normal"]}],"justify-self":[{"justify-self":["auto",...Q()]}],"align-content":[{content:["normal",...J()]}],"align-items":[{items:[...Q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Q(),{baseline:["","last"]}]}],"place-content":[{"place-content":J()}],"place-items":[{"place-items":[...Q(),"baseline"]}],"place-self":[{"place-self":["auto",...Q()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:er()}],w:[{w:[a,"screen",...er()]}],"min-w":[{"min-w":[a,"screen","none",...er()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[s]},...er()]}],h:[{h:["screen","lh",...er()]}],"min-h":[{"min-h":["screen","lh","none",...er()]}],"max-h":[{"max-h":["screen","lh",...er()]}],"font-size":[{text:["base",t,q,D]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,B,G]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",R,U]}],"font-family":[{font:[K,U,r]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,B,U]}],"line-clamp":[{"line-clamp":[E,"none",B,G]}],leading:[{leading:[l,...j()]}],"list-image":[{"list-image":["none",B,U]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",B,U]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:et()}],"text-color":[{text:et()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ec(),"wavy"]}],"text-decoration-thickness":[{decoration:[E,"from-font","auto",B,D]}],"text-decoration-color":[{decoration:et()}],"underline-offset":[{"underline-offset":[E,"auto",B,U]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",B,U]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",B,U]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:eo()}],"bg-repeat":[{bg:en()}],"bg-size":[{bg:el()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},O,B,U],radial:["",B,U],conic:[O,B,U]},Y,V]}],"bg-color":[{bg:et()}],"gradient-from-pos":[{from:es()}],"gradient-via-pos":[{via:es()}],"gradient-to-pos":[{to:es()}],"gradient-from":[{from:et()}],"gradient-via":[{via:et()}],"gradient-to":[{to:et()}],rounded:[{rounded:ea()}],"rounded-s":[{"rounded-s":ea()}],"rounded-e":[{"rounded-e":ea()}],"rounded-t":[{"rounded-t":ea()}],"rounded-r":[{"rounded-r":ea()}],"rounded-b":[{"rounded-b":ea()}],"rounded-l":[{"rounded-l":ea()}],"rounded-ss":[{"rounded-ss":ea()}],"rounded-se":[{"rounded-se":ea()}],"rounded-ee":[{"rounded-ee":ea()}],"rounded-es":[{"rounded-es":ea()}],"rounded-tl":[{"rounded-tl":ea()}],"rounded-tr":[{"rounded-tr":ea()}],"rounded-br":[{"rounded-br":ea()}],"rounded-bl":[{"rounded-bl":ea()}],"border-w":[{border:ei()}],"border-w-x":[{"border-x":ei()}],"border-w-y":[{"border-y":ei()}],"border-w-s":[{"border-s":ei()}],"border-w-e":[{"border-e":ei()}],"border-w-t":[{"border-t":ei()}],"border-w-r":[{"border-r":ei()}],"border-w-b":[{"border-b":ei()}],"border-w-l":[{"border-l":ei()}],"divide-x":[{"divide-x":ei()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ei()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ec(),"hidden","none"]}],"divide-style":[{divide:[...ec(),"hidden","none"]}],"border-color":[{border:et()}],"border-color-x":[{"border-x":et()}],"border-color-y":[{"border-y":et()}],"border-color-s":[{"border-s":et()}],"border-color-e":[{"border-e":et()}],"border-color-t":[{"border-t":et()}],"border-color-r":[{"border-r":et()}],"border-color-b":[{"border-b":et()}],"border-color-l":[{"border-l":et()}],"divide-color":[{divide:et()}],"outline-style":[{outline:[...ec(),"none","hidden"]}],"outline-offset":[{"outline-offset":[E,B,U]}],"outline-w":[{outline:["",E,q,D]}],"outline-color":[{outline:et()}],shadow:[{shadow:["","none",d,Z,F]}],"shadow-color":[{shadow:et()}],"inset-shadow":[{"inset-shadow":["none",u,Z,F]}],"inset-shadow-color":[{"inset-shadow":et()}],"ring-w":[{ring:ei()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:et()}],"ring-offset-w":[{"ring-offset":[E,D]}],"ring-offset-color":[{"ring-offset":et()}],"inset-ring-w":[{"inset-ring":ei()}],"inset-ring-color":[{"inset-ring":et()}],"text-shadow":[{"text-shadow":["none",m,Z,F]}],"text-shadow-color":[{"text-shadow":et()}],opacity:[{opacity:[E,B,U]}],"mix-blend":[{"mix-blend":[...ed(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ed()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[E]}],"mask-image-linear-from-pos":[{"mask-linear-from":eu()}],"mask-image-linear-to-pos":[{"mask-linear-to":eu()}],"mask-image-linear-from-color":[{"mask-linear-from":et()}],"mask-image-linear-to-color":[{"mask-linear-to":et()}],"mask-image-t-from-pos":[{"mask-t-from":eu()}],"mask-image-t-to-pos":[{"mask-t-to":eu()}],"mask-image-t-from-color":[{"mask-t-from":et()}],"mask-image-t-to-color":[{"mask-t-to":et()}],"mask-image-r-from-pos":[{"mask-r-from":eu()}],"mask-image-r-to-pos":[{"mask-r-to":eu()}],"mask-image-r-from-color":[{"mask-r-from":et()}],"mask-image-r-to-color":[{"mask-r-to":et()}],"mask-image-b-from-pos":[{"mask-b-from":eu()}],"mask-image-b-to-pos":[{"mask-b-to":eu()}],"mask-image-b-from-color":[{"mask-b-from":et()}],"mask-image-b-to-color":[{"mask-b-to":et()}],"mask-image-l-from-pos":[{"mask-l-from":eu()}],"mask-image-l-to-pos":[{"mask-l-to":eu()}],"mask-image-l-from-color":[{"mask-l-from":et()}],"mask-image-l-to-color":[{"mask-l-to":et()}],"mask-image-x-from-pos":[{"mask-x-from":eu()}],"mask-image-x-to-pos":[{"mask-x-to":eu()}],"mask-image-x-from-color":[{"mask-x-from":et()}],"mask-image-x-to-color":[{"mask-x-to":et()}],"mask-image-y-from-pos":[{"mask-y-from":eu()}],"mask-image-y-to-pos":[{"mask-y-to":eu()}],"mask-image-y-from-color":[{"mask-y-from":et()}],"mask-image-y-to-color":[{"mask-y-to":et()}],"mask-image-radial":[{"mask-radial":[B,U]}],"mask-image-radial-from-pos":[{"mask-radial-from":eu()}],"mask-image-radial-to-pos":[{"mask-radial-to":eu()}],"mask-image-radial-from-color":[{"mask-radial-from":et()}],"mask-image-radial-to-color":[{"mask-radial-to":et()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":w()}],"mask-image-conic-pos":[{"mask-conic":[E]}],"mask-image-conic-from-pos":[{"mask-conic-from":eu()}],"mask-image-conic-to-pos":[{"mask-conic-to":eu()}],"mask-image-conic-from-color":[{"mask-conic-from":et()}],"mask-image-conic-to-color":[{"mask-conic-to":et()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:eo()}],"mask-repeat":[{mask:en()}],"mask-size":[{mask:el()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",B,U]}],filter:[{filter:["","none",B,U]}],blur:[{blur:em()}],brightness:[{brightness:[E,B,U]}],contrast:[{contrast:[E,B,U]}],"drop-shadow":[{"drop-shadow":["","none",p,Z,F]}],"drop-shadow-color":[{"drop-shadow":et()}],grayscale:[{grayscale:["",E,B,U]}],"hue-rotate":[{"hue-rotate":[E,B,U]}],invert:[{invert:["",E,B,U]}],saturate:[{saturate:[E,B,U]}],sepia:[{sepia:["",E,B,U]}],"backdrop-filter":[{"backdrop-filter":["","none",B,U]}],"backdrop-blur":[{"backdrop-blur":em()}],"backdrop-brightness":[{"backdrop-brightness":[E,B,U]}],"backdrop-contrast":[{"backdrop-contrast":[E,B,U]}],"backdrop-grayscale":[{"backdrop-grayscale":["",E,B,U]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[E,B,U]}],"backdrop-invert":[{"backdrop-invert":["",E,B,U]}],"backdrop-opacity":[{"backdrop-opacity":[E,B,U]}],"backdrop-saturate":[{"backdrop-saturate":[E,B,U]}],"backdrop-sepia":[{"backdrop-sepia":["",E,B,U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",B,U]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[E,"initial",B,U]}],ease:[{ease:["linear","initial",h,B,U]}],delay:[{delay:[E,B,U]}],animate:[{animate:["none",x,B,U]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,B,U]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ep()}],"rotate-x":[{"rotate-x":ep()}],"rotate-y":[{"rotate-y":ep()}],"rotate-z":[{"rotate-z":ep()}],scale:[{scale:ef()}],"scale-x":[{"scale-x":ef()}],"scale-y":[{"scale-y":ef()}],"scale-z":[{"scale-z":ef()}],"scale-3d":["scale-3d"],skew:[{skew:eb()}],"skew-x":[{"skew-x":eb()}],"skew-y":[{"skew-y":eb()}],transform:[{transform:[B,U,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eg()}],"translate-x":[{"translate-x":eg()}],"translate-y":[{"translate-y":eg()}],"translate-z":[{"translate-z":eg()}],"translate-none":["translate-none"],accent:[{accent:et()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:et()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",B,U]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",B,U]}],fill:[{fill:["none",...et()]}],"stroke-w":[{stroke:[E,q,D,G]}],stroke:[{stroke:["none",...et()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ei(...e){return ea((0,r.clsx)(e))}e.s(["cn",()=>ei],31777)},35364,5240,e=>{"use strict";var r=e.i(20314),t=e.i(94237),o=e.i(86874);e.s(["Slot",0,o],5240);var o=o,n=e.i(31777);let l=(0,t.cva)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function s({className:e,variant:t="default",size:s="default",asChild:a=!1,...i}){let c=a?o.Root:"button";return(0,r.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,n.cn)(l({variant:t,size:s,className:e})),...i})}e.s(["Button",()=>s],35364)},87620,e=>{"use strict";var r=e.i(79054),t=e.i(26036),o=e.i(86874),n=e.i(20314),l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let l=(0,o.createSlot)(`Primitive.${t}`),s=r.forwardRef((e,r)=>{let{asChild:o,...s}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(o?l:t,{...s,ref:r})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function s(e,r){e&&t.flushSync(()=>e.dispatchEvent(r))}e.s(["Primitive",()=>l,"dispatchDiscreteCustomEvent",()=>s])},91967,e=>{"use strict";function r(e,t,{checkForDefaultPrevented:o=!0}={}){return function(r){if(e?.(r),!1===o||!r.defaultPrevented)return t?.(r)}}"u">typeof window&&window.document&&window.document.createElement,e.s(["composeEventHandlers",()=>r])},22528,e=>{"use strict";var r=e.i(79054),t=e.i(20314);function o(e,o){let n=r.createContext(o),l=e=>{let{children:o,...l}=e,s=r.useMemo(()=>l,Object.values(l));return(0,t.jsx)(n.Provider,{value:s,children:o})};return l.displayName=e+"Provider",[l,function(t){let l=r.useContext(n);if(l)return l;if(void 0!==o)return o;throw Error(`\`${t}\` must be used within \`${e}\``)}]}function n(e,o=[]){let l=[],s=()=>{let t=l.map(e=>r.createContext(e));return function(o){let n=o?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...o,[e]:n}}),[o,n])}};return s.scopeName=e,[function(o,n){let s=r.createContext(n),a=l.length;l=[...l,n];let i=o=>{let{scope:n,children:l,...i}=o,c=n?.[e]?.[a]||s,d=r.useMemo(()=>i,Object.values(i));return(0,t.jsx)(c.Provider,{value:d,children:l})};return i.displayName=o+"Provider",[i,function(t,l){let i=l?.[e]?.[a]||s,c=r.useContext(i);if(c)return c;if(void 0!==n)return n;throw Error(`\`${t}\` must be used within \`${o}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let o=()=>{let o=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=o.reduce((r,{useScope:t,scopeName:o})=>{let n=t(e)[`__scope${o}`];return{...r,...n}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return o.scopeName=t.scopeName,o}(s,...o)]}e.s(["createContext",()=>o,"createContextScope",()=>n])},13123,5192,e=>{"use strict";var r=e.i(79054),t=globalThis?.document?r.useLayoutEffect:()=>{};e.s(["useLayoutEffect",()=>t],5192);var o=r[" useId ".trim().toString()]||(()=>void 0),n=0;function l(e){let[l,s]=r.useState(o());return t(()=>{e||s(e=>e??String(n++))},[e]),e||(l?`radix-${l}`:"")}e.s(["useId",()=>l],13123)},36589,e=>{"use strict";var r=e.i(79054),t=e.i(5192);r[" useEffectEvent ".trim().toString()],r[" useInsertionEffect ".trim().toString()];var o=r[" useInsertionEffect ".trim().toString()]||t.useLayoutEffect;function n({prop:e,defaultProp:t,onChange:n=()=>{},caller:l}){let[s,a,i]=function({defaultProp:e,onChange:t}){let[n,l]=r.useState(e),s=r.useRef(n),a=r.useRef(t);return o(()=>{a.current=t},[t]),r.useEffect(()=>{s.current!==n&&(a.current?.(n),s.current=n)},[n,s]),[n,l,a]}({defaultProp:t,onChange:n}),c=void 0!==e,d=c?e:s;{let t=r.useRef(void 0!==e);r.useEffect(()=>{let e=t.current;if(e!==c){let r=c?"controlled":"uncontrolled";console.warn(`${l} is changing from ${e?"controlled":"uncontrolled"} to ${r}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=c},[c,l])}return[d,r.useCallback(r=>{if(c){let t="function"==typeof r?r(e):r;t!==e&&i.current?.(t)}else a(r)},[c,e,a,i])]}Symbol("RADIX:SYNC_STATE"),e.s(["useControllableState",()=>n],36589)},29297,e=>{"use strict";var r=e.i(79054);function t(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}e.s(["useCallbackRef",()=>t])},85995,e=>{"use strict";var r=e.i(79054),t=e.i(5978),o=e.i(5192),n=e=>{var n;let s,a,{present:i,children:c}=e,d=function(e){var t,n;let[s,a]=r.useState(),i=r.useRef(null),c=r.useRef(e),d=r.useRef("none"),[u,m]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,r)=>n[e][r]??e,t));return r.useEffect(()=>{let e=l(i.current);d.current="mounted"===u?e:"none"},[u]),(0,o.useLayoutEffect)(()=>{let r=i.current,t=c.current;if(t!==e){let o=d.current,n=l(r);e?m("MOUNT"):"none"===n||r?.display==="none"?m("UNMOUNT"):t&&o!==n?m("ANIMATION_OUT"):m("UNMOUNT"),c.current=e}},[e,m]),(0,o.useLayoutEffect)(()=>{if(s){let e,r=s.ownerDocument.defaultView??window,t=t=>{let o=l(i.current).includes(CSS.escape(t.animationName));if(t.target===s&&o&&(m("ANIMATION_END"),!c.current)){let t=s.style.animationFillMode;s.style.animationFillMode="forwards",e=r.setTimeout(()=>{"forwards"===s.style.animationFillMode&&(s.style.animationFillMode=t)})}},o=e=>{e.target===s&&(d.current=l(i.current))};return s.addEventListener("animationstart",o),s.addEventListener("animationcancel",t),s.addEventListener("animationend",t),()=>{r.clearTimeout(e),s.removeEventListener("animationstart",o),s.removeEventListener("animationcancel",t),s.removeEventListener("animationend",t)}}m("ANIMATION_END")},[s,m]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:r.useCallback(e=>{i.current=e?getComputedStyle(e):null,a(e)},[])}}(i),u="function"==typeof c?c({present:d.isPresent}):r.Children.only(c),m=(0,t.useComposedRefs)(d.ref,(n=u,(a=(s=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?n.ref:(a=(s=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?n.props.ref:n.props.ref||n.ref));return"function"==typeof c||d.isPresent?r.cloneElement(u,{ref:m}):null};function l(e){return e?.animationName||"none"}n.displayName="Presence",e.s(["Presence",()=>n])},66033,e=>{"use strict";var r=e.i(79054);e.i(20314);var t=r.createContext(void 0);function o(e){let o=r.useContext(t);return e||o||"ltr"}e.s(["useDirection",()=>o])}]);
|