@shepai/cli 1.173.0 → 1.174.0-pr530.be90793
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/eslint.config.mjs +2 -0
- package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts +28 -0
- package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/i-browser-opener.js +13 -0
- package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts +29 -0
- package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.js +13 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +5 -0
- package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.js +2 -3
- package/dist/src/presentation/cli/commands/ui.command.js +1 -2
- package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts +7 -1
- package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/app/features/feature-tree-page-client.js +142 -3
- package/dist/src/presentation/web/app/features/get-feature-tree-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/features/get-feature-tree-data.js +4 -1
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts +21 -5
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.js +169 -87
- package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts +2 -2
- package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/feature-tree-table/index.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -2
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +4 -4
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- 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 +6 -6
- 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/features/page/build-manifest.json +2 -2
- package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/build-manifest.json +2 -2
- package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/build-manifest.json +2 -2
- package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/build-manifest.json +2 -2
- package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
- 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 +6 -6
- 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/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/ssr/403f9_next_dist_a53cb908._.js +1 -1
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0c5452c3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__851f6adb._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_02e01240._.js +1 -1
- package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_073183f4._.js +3 -0
- package/web/.next/server/chunks/ssr/_073183f4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1b7dae9a._.js +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_5119a3df._.js → _295fffde._.js} +2 -2
- package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_301ec9cd._.js +3 -0
- package/web/.next/server/chunks/ssr/_301ec9cd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_43ba79e7._.js +1 -1
- package/web/.next/server/chunks/ssr/{_6f35fb9a._.js → _49b8d085._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_6f35fb9a._.js.map → _49b8d085._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js +3 -0
- package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7476c702._.js +3 -0
- package/web/.next/server/chunks/ssr/_7476c702._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7cb0396e._.js +3 -0
- package/web/.next/server/chunks/ssr/_7cb0396e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a5a5901d._.js +1 -1
- package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ad09f271._.js +1 -1
- package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_bb09579b._.js +1 -1
- package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_0020fddd._.js → _d9c0a97a._.js} +3 -3
- package/web/.next/server/chunks/ssr/_d9c0a97a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e680c57c._.js +9 -0
- package/web/.next/server/chunks/ssr/_e680c57c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ea9e1556._.js +1 -1
- package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
- package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_cd92091d._.js → _fa2b5770._.js} +3 -3
- package/web/.next/server/chunks/ssr/{_cd92091d._.js.map → _fa2b5770._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_817ddf8a._.js → _fcb371cf._.js} +3 -3
- package/web/.next/server/chunks/ssr/{_817ddf8a._.js.map → _fcb371cf._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_global-chat-drawer-client_tsx_158c4b12._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_ef15a0bd._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_a5e6c910._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js +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 +50 -50
- package/web/.next/static/chunks/0344938d662a2440.js +7 -0
- package/web/.next/static/chunks/{bb5400da64270df6.js → 1fbf99c66f70876a.js} +1 -1
- package/web/.next/static/chunks/{96b63a24ad83be21.js → 32cc9598462bc529.js} +1 -1
- package/web/.next/static/chunks/{641583aadf11b219.js → 3e6abcc7898927c4.js} +1 -1
- package/web/.next/static/chunks/46e2693dbc9262fd.js +5 -0
- package/web/.next/static/chunks/{453ad57269a1004f.js → 4e96a041339b3eea.js} +1 -1
- package/web/.next/static/chunks/{51bb2fb93740d2cb.js → 6444b4dbb7fc67b8.js} +3 -3
- package/web/.next/static/chunks/{ab5970241b29b648.js → 75ca9c3bb1f35926.js} +2 -2
- package/web/.next/static/chunks/8492d8e0b5f9a4e8.js +1 -0
- package/web/.next/static/chunks/84b480808bd74fa9.css +1 -0
- package/web/.next/static/chunks/98e3a7cf58fc912a.js +1 -0
- package/web/.next/static/chunks/{e5c06df7f30a05b9.js → a58034fbc0a805f5.js} +1 -1
- package/web/.next/static/chunks/{a1f976e9c8b07306.js → aa0c7fb5373222c5.js} +1 -1
- package/web/.next/static/chunks/b49ab0b290e9342d.js +1 -0
- package/web/.next/static/chunks/bb479c31b5b53bac.js +8 -0
- package/web/.next/static/chunks/{0658f5f58d5b60c5.js → bb74b02014e90cc2.js} +1 -1
- package/web/.next/static/chunks/c10c0d6d458453bc.js +1 -0
- package/web/.next/static/chunks/c4c2b76688bd4b5e.js +3 -0
- package/web/.next/static/chunks/d792e9886fad3e32.js +1 -0
- package/web/.next/static/chunks/{819d8097ac0ca319.js → e75bee22d11e18e7.js} +1 -1
- package/web/.next/static/chunks/{185e4f36cb6efb24.js → eb1ca1b0a34166f5.js} +1 -1
- package/web/.next/static/chunks/{4161d4663009140f.js → fb5e34b3b0dc3091.js} +1 -1
- package/web/.next/static/chunks/fc0232384ec2b48d.js +1 -0
- package/web/.next/static/chunks/{turbopack-b38a68b1b1c41a87.js → turbopack-fa58b7ea4a4b26e7.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_068492bf._.js +0 -3
- package/web/.next/server/chunks/ssr/_068492bf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5119a3df._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_560f2971._.js +0 -3
- package/web/.next/server/chunks/ssr/_560f2971._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a963dd3c._.js +0 -3
- package/web/.next/server/chunks/ssr/_a963dd3c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_df737cce._.js +0 -3
- package/web/.next/server/chunks/ssr/_df737cce._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e3f14907._.js +0 -9
- package/web/.next/server/chunks/ssr/_e3f14907._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f535d854._.js +0 -3
- package/web/.next/server/chunks/ssr/_f535d854._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js.map +0 -1
- package/web/.next/static/chunks/3e393d6a78b2ade4.js +0 -1
- package/web/.next/static/chunks/4559a403ee40dd19.js +0 -7
- package/web/.next/static/chunks/4855528484f00bd6.js +0 -1
- package/web/.next/static/chunks/4bacc77e3952f063.js +0 -3
- package/web/.next/static/chunks/5ed47e998707b519.js +0 -8
- package/web/.next/static/chunks/9f59ea29d6034111.js +0 -1
- package/web/.next/static/chunks/cc5fe8d1d9e1e519.js +0 -5
- package/web/.next/static/chunks/d5366257d6b9f855.js +0 -1
- package/web/.next/static/chunks/dcf8bb4389557a76.css +0 -1
- package/web/.next/static/chunks/f37a5e031a5d0f75.js +0 -1
- package/web/.next/static/chunks/f998b42b5cddafd6.js +0 -1
- /package/web/.next/static/{1awQPFeGEuNwpeu1Kgpxd → tmilUpJw1jXFkR4KRhyc-}/_buildManifest.js +0 -0
- /package/web/.next/static/{1awQPFeGEuNwpeu1Kgpxd → tmilUpJw1jXFkR4KRhyc-}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{1awQPFeGEuNwpeu1Kgpxd → tmilUpJw1jXFkR4KRhyc-}/_ssgManifest.js +0 -0
package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.js
CHANGED
|
@@ -4,6 +4,7 @@ import { useEffect, useRef, useCallback } from 'react';
|
|
|
4
4
|
import { TabulatorFull as Tabulator } from 'tabulator-tables';
|
|
5
5
|
import { cn } from '../../../lib/utils.js';
|
|
6
6
|
import './feature-tree-table.css';
|
|
7
|
+
// ── Constants ────────────────────────────────────────────────
|
|
7
8
|
const STATUS_LABELS = {
|
|
8
9
|
'action-needed': 'Action Needed',
|
|
9
10
|
'in-progress': 'In Progress',
|
|
@@ -12,119 +13,155 @@ const STATUS_LABELS = {
|
|
|
12
13
|
error: 'Error',
|
|
13
14
|
done: 'Done',
|
|
14
15
|
};
|
|
15
|
-
/** SVG repo icon — lucide FolderGit2 */
|
|
16
|
-
const REPO_ICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="
|
|
16
|
+
/** SVG repo icon — lucide FolderGit2 (16px) */
|
|
17
|
+
const REPO_ICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/><circle cx="12" cy="13" r="2"/><path d="M14 13h3"/><path d="M7 13h3"/></svg>`;
|
|
18
|
+
/** SVG group icon — lucide Layers (16px) */
|
|
19
|
+
const GROUP_ICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/><path d="m22.54 12.43-1.42-.65-8.28 3.78a2 2 0 0 1-1.66 0l-8.28-3.78-1.42.65a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/></svg>`;
|
|
20
|
+
// ── Formatters ───────────────────────────────────────────────
|
|
21
|
+
function escapeHtml(text) {
|
|
22
|
+
const div = typeof document !== 'undefined' ? document.createElement('div') : null;
|
|
23
|
+
if (div) {
|
|
24
|
+
div.textContent = text;
|
|
25
|
+
return div.innerHTML;
|
|
26
|
+
}
|
|
27
|
+
return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
28
|
+
}
|
|
17
29
|
function statusFormatter(cell) {
|
|
18
30
|
const row = cell.getRow().getData();
|
|
19
|
-
if (row.
|
|
31
|
+
if (row._isGroupHeader)
|
|
20
32
|
return '';
|
|
21
33
|
const value = cell.getValue();
|
|
22
34
|
const label = STATUS_LABELS[value] ?? value;
|
|
23
35
|
return `<span class="status-pill status-pill--${value}"><span class="status-dot"></span>${label}</span>`;
|
|
24
36
|
}
|
|
25
|
-
function
|
|
37
|
+
function branchFormatter(cell) {
|
|
26
38
|
const row = cell.getRow().getData();
|
|
27
|
-
if (row.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
if (row._isGroupHeader)
|
|
40
|
+
return '';
|
|
41
|
+
const val = cell.getValue();
|
|
42
|
+
if (!val)
|
|
43
|
+
return '';
|
|
44
|
+
return `<code style="font-size:12px;color:var(--color-muted-foreground,#64748b);font-family:var(--font-mono)">${escapeHtml(val)}</code>`;
|
|
45
|
+
}
|
|
46
|
+
function lifecycleFormatter(cell) {
|
|
47
|
+
const row = cell.getRow().getData();
|
|
48
|
+
if (row._isGroupHeader)
|
|
49
|
+
return '';
|
|
35
50
|
return escapeHtml(cell.getValue());
|
|
36
51
|
}
|
|
37
|
-
function
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
52
|
+
function repoFormatter(cell) {
|
|
53
|
+
const row = cell.getRow().getData();
|
|
54
|
+
if (row._isGroupHeader)
|
|
55
|
+
return '';
|
|
56
|
+
const val = cell.getValue();
|
|
57
|
+
return `<span style="display:inline-flex;align-items:center;gap:6px">${REPO_ICON_SVG}<span>${escapeHtml(val)}</span></span>`;
|
|
58
|
+
}
|
|
59
|
+
function groupHeaderNameFormatter(groupBy) {
|
|
60
|
+
return (cell) => {
|
|
61
|
+
const row = cell.getRow().getData();
|
|
62
|
+
if (!row._isGroupHeader)
|
|
63
|
+
return escapeHtml(cell.getValue());
|
|
64
|
+
const icon = groupBy === 'repositoryName' ? REPO_ICON_SVG : GROUP_ICON_SVG;
|
|
65
|
+
const count = row._groupCount ?? 0;
|
|
66
|
+
const countLabel = count === 1 ? '1 feature' : `${count} features`;
|
|
67
|
+
return `<span style="display:inline-flex;align-items:center;gap:8px;font-weight:600">${icon}<span>${escapeHtml(row.name)}</span><span style="font-weight:400;color:var(--color-muted-foreground,#64748b);font-size:12px">${countLabel}</span></span>`;
|
|
68
|
+
};
|
|
44
69
|
}
|
|
45
|
-
|
|
46
|
-
|
|
70
|
+
/** All possible columns. We'll filter out the grouped-by column in tree mode. */
|
|
71
|
+
function buildColumns({ onFeatureClick, groupBy }) {
|
|
72
|
+
const clickProps = onFeatureClick
|
|
73
|
+
? {
|
|
74
|
+
cellClick: (_e, cell) => {
|
|
75
|
+
const data = cell.getRow().getData();
|
|
76
|
+
if (data._isGroupHeader)
|
|
77
|
+
return;
|
|
78
|
+
onFeatureClick(data.id);
|
|
79
|
+
},
|
|
80
|
+
cssClass: 'cursor-pointer',
|
|
81
|
+
}
|
|
82
|
+
: {};
|
|
83
|
+
const isGrouped = !!groupBy;
|
|
84
|
+
const cols = [
|
|
47
85
|
{
|
|
48
86
|
title: 'Name',
|
|
49
87
|
field: 'name',
|
|
50
88
|
widthGrow: 3,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return;
|
|
57
|
-
onFeatureClick(data.id);
|
|
58
|
-
},
|
|
59
|
-
cssClass: 'cursor-pointer',
|
|
60
|
-
}),
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
title: 'Status',
|
|
64
|
-
field: 'status',
|
|
65
|
-
widthGrow: 1.5,
|
|
66
|
-
formatter: statusFormatter,
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
title: 'Lifecycle',
|
|
70
|
-
field: 'lifecycle',
|
|
71
|
-
widthGrow: 1.5,
|
|
72
|
-
formatter: (cell) => {
|
|
73
|
-
const row = cell.getRow().getData();
|
|
74
|
-
if (row._isRepoGroup)
|
|
75
|
-
return '';
|
|
76
|
-
return cell.getValue();
|
|
77
|
-
},
|
|
89
|
+
headerSort: !isGrouped,
|
|
90
|
+
formatter: isGrouped
|
|
91
|
+
? groupHeaderNameFormatter(groupBy)
|
|
92
|
+
: (cell) => escapeHtml(cell.getValue()),
|
|
93
|
+
...clickProps,
|
|
78
94
|
},
|
|
95
|
+
groupBy !== 'repositoryName'
|
|
96
|
+
? {
|
|
97
|
+
title: 'Repository',
|
|
98
|
+
field: 'repositoryName',
|
|
99
|
+
widthGrow: 2,
|
|
100
|
+
headerSort: !isGrouped,
|
|
101
|
+
formatter: repoFormatter,
|
|
102
|
+
}
|
|
103
|
+
: null,
|
|
104
|
+
groupBy !== 'status'
|
|
105
|
+
? {
|
|
106
|
+
title: 'Status',
|
|
107
|
+
field: 'status',
|
|
108
|
+
widthGrow: 1.5,
|
|
109
|
+
headerSort: !isGrouped,
|
|
110
|
+
formatter: statusFormatter,
|
|
111
|
+
}
|
|
112
|
+
: null,
|
|
113
|
+
groupBy !== 'lifecycle'
|
|
114
|
+
? {
|
|
115
|
+
title: 'Lifecycle',
|
|
116
|
+
field: 'lifecycle',
|
|
117
|
+
widthGrow: 1.5,
|
|
118
|
+
headerSort: !isGrouped,
|
|
119
|
+
formatter: lifecycleFormatter,
|
|
120
|
+
}
|
|
121
|
+
: null,
|
|
79
122
|
{
|
|
80
123
|
title: 'Branch',
|
|
81
124
|
field: 'branch',
|
|
82
125
|
widthGrow: 2,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (row._isRepoGroup)
|
|
86
|
-
return '';
|
|
87
|
-
const val = cell.getValue();
|
|
88
|
-
if (!val)
|
|
89
|
-
return '';
|
|
90
|
-
return `<code style="font-size:12px;color:var(--color-muted-foreground,#64748b);font-family:var(--font-mono)">${escapeHtml(val)}</code>`;
|
|
91
|
-
},
|
|
126
|
+
headerSort: !isGrouped,
|
|
127
|
+
formatter: branchFormatter,
|
|
92
128
|
},
|
|
93
129
|
];
|
|
130
|
+
return cols.filter(Boolean);
|
|
131
|
+
}
|
|
132
|
+
// ── Tree builder ─────────────────────────────────────────────
|
|
133
|
+
export function displayLabel(groupBy, value) {
|
|
134
|
+
if (groupBy === 'status')
|
|
135
|
+
return STATUS_LABELS[value] ?? value;
|
|
136
|
+
return value;
|
|
94
137
|
}
|
|
95
138
|
/**
|
|
96
|
-
* Build tree-structured data grouped by repository.
|
|
139
|
+
* Build tree-structured data grouped by repository (legacy format).
|
|
97
140
|
* Each repository becomes a parent node with its features as children.
|
|
98
141
|
* Repos without features are included as empty groups.
|
|
99
142
|
*/
|
|
100
143
|
export function buildTreeData(flatData, repos) {
|
|
101
|
-
// Group features by repository
|
|
102
144
|
const byRepo = new Map();
|
|
103
145
|
for (const item of flatData) {
|
|
104
146
|
const repoName = item.repositoryName || 'Unknown';
|
|
105
|
-
if (!byRepo.has(repoName))
|
|
147
|
+
if (!byRepo.has(repoName))
|
|
106
148
|
byRepo.set(repoName, []);
|
|
107
|
-
}
|
|
108
149
|
byRepo.get(repoName).push(item);
|
|
109
150
|
}
|
|
110
|
-
// Ensure all known repos are represented (even without features)
|
|
111
151
|
const repoMeta = new Map();
|
|
112
152
|
if (repos) {
|
|
113
153
|
for (const repo of repos) {
|
|
114
154
|
repoMeta.set(repo.name, { remoteUrl: repo.remoteUrl });
|
|
115
|
-
if (!byRepo.has(repo.name))
|
|
155
|
+
if (!byRepo.has(repo.name))
|
|
116
156
|
byRepo.set(repo.name, []);
|
|
117
|
-
}
|
|
118
157
|
}
|
|
119
158
|
}
|
|
120
159
|
const roots = [];
|
|
121
160
|
for (const [repoName, features] of byRepo) {
|
|
122
|
-
// Build parent-child relationships within this repo group
|
|
123
161
|
const lookup = new Map();
|
|
124
162
|
const repoChildren = [];
|
|
125
|
-
for (const item of features)
|
|
163
|
+
for (const item of features)
|
|
126
164
|
lookup.set(item.id, { ...item, _children: [] });
|
|
127
|
-
}
|
|
128
165
|
for (const item of features) {
|
|
129
166
|
const node = lookup.get(item.id);
|
|
130
167
|
if (item.parentId && lookup.has(item.parentId)) {
|
|
@@ -134,14 +171,12 @@ export function buildTreeData(flatData, repos) {
|
|
|
134
171
|
repoChildren.push(node);
|
|
135
172
|
}
|
|
136
173
|
}
|
|
137
|
-
// Clean up empty _children arrays
|
|
138
174
|
for (const node of lookup.values()) {
|
|
139
|
-
if (node._children?.length === 0)
|
|
175
|
+
if (node._children?.length === 0)
|
|
140
176
|
delete node._children;
|
|
141
|
-
}
|
|
142
177
|
}
|
|
143
178
|
const remoteUrl = repoMeta.get(repoName)?.remoteUrl ?? features[0]?.remoteUrl;
|
|
144
|
-
|
|
179
|
+
roots.push({
|
|
145
180
|
id: `repo-${repoName}`,
|
|
146
181
|
name: repoName,
|
|
147
182
|
status: 'pending',
|
|
@@ -152,12 +187,51 @@ export function buildTreeData(flatData, repos) {
|
|
|
152
187
|
_isRepoGroup: true,
|
|
153
188
|
_featureCount: features.length,
|
|
154
189
|
...(repoChildren.length > 0 ? { _children: repoChildren } : {}),
|
|
155
|
-
};
|
|
156
|
-
roots.push(repoGroup);
|
|
190
|
+
});
|
|
157
191
|
}
|
|
158
192
|
return roots;
|
|
159
193
|
}
|
|
160
|
-
export function
|
|
194
|
+
export function buildGroupedTree(flatData, groupBy, groupSortDir, itemSortField, itemSortDir) {
|
|
195
|
+
// Group features by field value
|
|
196
|
+
const groups = new Map();
|
|
197
|
+
for (const item of flatData) {
|
|
198
|
+
const key = item[groupBy] || 'Unknown';
|
|
199
|
+
if (!groups.has(key))
|
|
200
|
+
groups.set(key, []);
|
|
201
|
+
groups.get(key).push(item);
|
|
202
|
+
}
|
|
203
|
+
// Sort items within each group
|
|
204
|
+
const sortItems = (items) => [...items].sort((a, b) => {
|
|
205
|
+
const aVal = String(a[itemSortField] ?? '').toLowerCase();
|
|
206
|
+
const bVal = String(b[itemSortField] ?? '').toLowerCase();
|
|
207
|
+
const cmp = aVal.localeCompare(bVal);
|
|
208
|
+
return itemSortDir === 'asc' ? cmp : -cmp;
|
|
209
|
+
});
|
|
210
|
+
// Build group header rows
|
|
211
|
+
const roots = [];
|
|
212
|
+
for (const [key, features] of groups) {
|
|
213
|
+
const sortedChildren = sortItems(features);
|
|
214
|
+
roots.push({
|
|
215
|
+
id: `group-${groupBy}-${key}`,
|
|
216
|
+
name: displayLabel(groupBy, key),
|
|
217
|
+
status: 'pending',
|
|
218
|
+
lifecycle: '',
|
|
219
|
+
branch: '',
|
|
220
|
+
repositoryName: '',
|
|
221
|
+
_isGroupHeader: true,
|
|
222
|
+
_groupCount: features.length,
|
|
223
|
+
_children: sortedChildren,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
// Sort groups
|
|
227
|
+
roots.sort((a, b) => {
|
|
228
|
+
const cmp = a.name.localeCompare(b.name);
|
|
229
|
+
return groupSortDir === 'asc' ? cmp : -cmp;
|
|
230
|
+
});
|
|
231
|
+
return roots;
|
|
232
|
+
}
|
|
233
|
+
// ── Component ────────────────────────────────────────────────
|
|
234
|
+
export function FeatureTreeTable({ data, className, onFeatureClick, groupBy = null, groupSortDir = 'asc', itemSortField = 'name', itemSortDir = 'asc', }) {
|
|
161
235
|
const containerRef = useRef(null);
|
|
162
236
|
const tabulatorRef = useRef(null);
|
|
163
237
|
const onFeatureClickRef = useRef(onFeatureClick);
|
|
@@ -168,29 +242,37 @@ export function FeatureTreeTable({ data, repos, className, onFeatureClick, }) {
|
|
|
168
242
|
useEffect(() => {
|
|
169
243
|
if (!containerRef.current)
|
|
170
244
|
return;
|
|
171
|
-
const
|
|
172
|
-
const columns = buildColumns(stableOnFeatureClick);
|
|
245
|
+
const isGrouped = !!groupBy;
|
|
246
|
+
const columns = buildColumns({ onFeatureClick: stableOnFeatureClick, groupBy });
|
|
247
|
+
const tableData = isGrouped
|
|
248
|
+
? buildGroupedTree(data, groupBy, groupSortDir, itemSortField, itemSortDir)
|
|
249
|
+
: data;
|
|
173
250
|
const table = new Tabulator(containerRef.current, {
|
|
174
|
-
data:
|
|
251
|
+
data: tableData,
|
|
175
252
|
columns,
|
|
176
|
-
dataTree: true,
|
|
177
|
-
dataTreeStartExpanded: true,
|
|
178
253
|
layout: 'fitColumns',
|
|
179
254
|
height: '100%',
|
|
180
|
-
placeholder: 'No
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
255
|
+
placeholder: 'No features found',
|
|
256
|
+
...(isGrouped
|
|
257
|
+
? {
|
|
258
|
+
dataTree: true,
|
|
259
|
+
dataTreeStartExpanded: true,
|
|
260
|
+
rowFormatter: (row) => {
|
|
261
|
+
const rowData = row.getData();
|
|
262
|
+
if (rowData._isGroupHeader) {
|
|
263
|
+
row.getElement().classList.add('tabulator-row-repo-group');
|
|
264
|
+
}
|
|
265
|
+
},
|
|
186
266
|
}
|
|
187
|
-
|
|
267
|
+
: {
|
|
268
|
+
initialSort: [{ column: 'repositoryName', dir: 'asc' }],
|
|
269
|
+
}),
|
|
188
270
|
});
|
|
189
271
|
tabulatorRef.current = table;
|
|
190
272
|
return () => {
|
|
191
273
|
table.destroy();
|
|
192
274
|
tabulatorRef.current = null;
|
|
193
275
|
};
|
|
194
|
-
}, [data,
|
|
276
|
+
}, [data, stableOnFeatureClick, groupBy, groupSortDir, itemSortField, itemSortDir]);
|
|
195
277
|
return (_jsx("div", { "data-testid": "feature-tree-table", className: cn('h-full w-full', className), ref: containerRef }));
|
|
196
278
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FeatureTreeTable, buildTreeData } from './feature-tree-table.js';
|
|
2
|
-
export type { FeatureTreeTableProps, FeatureTreeRow, InventoryRepo } from './feature-tree-table.js';
|
|
1
|
+
export { FeatureTreeTable, buildTreeData, buildGroupedTree, displayLabel, } from './feature-tree-table.js';
|
|
2
|
+
export type { FeatureTreeTableProps, FeatureTreeRow, InventoryRepo, GroupByField, SortDir, } from './feature-tree-table.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/feature-tree-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/feature-tree-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,OAAO,GACR,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { FeatureTreeTable, buildTreeData } from './feature-tree-table.js';
|
|
1
|
+
export { FeatureTreeTable, buildTreeData, buildGroupedTree, displayLabel, } from './feature-tree-table.js';
|