From 52875b5c7c433a3a0bbcd8aa06e08b61bbb53732 Mon Sep 17 00:00:00 2001 From: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com> Date: Wed, 8 Jul 2026 16:57:02 +0200 Subject: [PATCH] feat(ui): migrate from HeroUI to shadcn/ui (#11532) --- docs/security/software-security.mdx | 2 +- skills/prowler-ui/SKILL.md | 43 +- ...e901bc49347998108ddd603b413d594a3921f3.png | Bin 0 -> 80746 bytes ...f22611d8493abc2bfeaeb5808f35df7eabcb6d.png | Bin 0 -> 95658 bytes ui/AGENTS.md | 8 +- ui/README.md | 7 +- ui/app/(auth)/alerts/confirm/page.test.tsx | 3 +- .../(auth)/alerts/unsubscribe/page.test.tsx | 3 +- .../accept/accept-invitation-client.tsx | 16 +- ui/app/(auth)/layout.tsx | 7 +- .../findings-view/findings-view.ssr.tsx | 2 +- .../graphs-tabs/graphs-tabs-wrapper.tsx | 2 +- .../__tests__/alert-form-modal.test.tsx | 2 +- .../__tests__/alerts-manager.test.tsx | 6 +- .../__tests__/alerts-table.test.tsx | 4 +- .../seed-from-findings-button.test.tsx | 3 +- .../alerts/_components/alerts-manager.tsx | 2 +- .../alerts/_components/alerts-table.tsx | 6 +- .../_components/seed-from-findings-button.tsx | 2 +- ui/app/(prowler)/alerts/page.tsx | 2 +- .../(workflow)/_components/vertical-steps.tsx | 51 +- .../_components/workflow-attack-paths.tsx | 2 +- .../node-detail/node-detail-panel.test.tsx | 2 +- .../node-detail/node-detail-panel.tsx | 12 +- .../_components/node-detail/node-findings.tsx | 4 +- .../_components/node-detail/node-overview.tsx | 6 +- .../node-detail/node-remediation.tsx | 13 +- .../node-detail/node-resources.tsx | 2 +- .../_components/query-parameters-form.tsx | 6 +- .../_components/scan-list-table.test.tsx | 6 +- .../_components/scan-list-table.tsx | 6 +- .../attack-paths-page.browser.test.tsx | 25 + .../attack-paths-page.fixtures.ts | 35 + .../attack-paths-page.harness.ts | 16 + .../query-builder/attack-paths-page.tsx | 17 +- ui/app/(prowler)/attack-paths/layout.tsx | 2 +- .../compliance/[compliancetitle]/page.tsx | 5 +- ui/app/(prowler)/compliance/page.tsx | 4 +- .../(prowler)/demo-expandable-table/page.tsx | 6 +- ui/app/(prowler)/demo-tree-view/page.tsx | 2 +- ui/app/(prowler)/error.tsx | 2 +- ui/app/(prowler)/findings/page.tsx | 4 +- .../(prowler)/integrations/amazon-s3/page.tsx | 2 +- .../integrations/aws-security-hub/page.tsx | 2 +- ui/app/(prowler)/integrations/jira/page.tsx | 2 +- ui/app/(prowler)/integrations/page.tsx | 2 +- .../invitations/(send-invite)/layout.tsx | 5 +- ui/app/(prowler)/invitations/page.tsx | 19 +- ui/app/(prowler)/layout.tsx | 11 +- .../config/lighthouse-v2-config-page.test.tsx | 3 +- .../config/lighthouse-v2-config-page.tsx | 2 +- ui/app/(prowler)/lighthouse/page.tsx | 2 +- .../settings/(connect-llm)/layout.tsx | 7 +- ui/app/(prowler)/lighthouse/settings/page.tsx | 2 +- ui/app/(prowler)/manage-groups/layout.tsx | 2 +- .../_components/advanced-mutelist-form.tsx | 60 +- .../simple/mute-rule-edit-form.test.tsx | 14 +- .../simple/mute-rule-edit-form.tsx | 4 +- .../simple/mute-rule-enabled-toggle.tsx | 11 +- .../simple/mute-rule-targets-modal.test.tsx | 84 + .../simple/mute-rule-targets-modal.tsx | 10 +- .../simple/mute-rules-columns.test.tsx | 4 +- .../_components/simple/mute-rules-columns.tsx | 4 +- .../simple/mute-rules-table-client.test.tsx | 12 +- .../simple/mute-rules-table-client.tsx | 37 +- .../_components/simple/mute-rules-table.tsx | 8 +- ui/app/(prowler)/mutelist/page.tsx | 2 +- ui/app/(prowler)/page.tsx | 2 +- ui/app/(prowler)/profile/page.test.ts | 33 + ui/app/(prowler)/profile/page.tsx | 41 +- ui/app/(prowler)/providers/page.tsx | 2 +- .../providers/provider-groups-content.tsx | 2 +- ui/app/(prowler)/resources/page.tsx | 4 +- ui/app/(prowler)/roles/(add-role)/layout.tsx | 5 +- ui/app/(prowler)/roles/page.tsx | 19 +- .../_components/scan-configuration-editor.tsx | 14 +- .../scan-configurations-columns.tsx | 4 +- .../scan-configurations-manager.tsx | 12 +- ui/app/(prowler)/scans/config/page.tsx | 2 +- ui/app/(prowler)/scans/page.tsx | 2 +- ui/app/(prowler)/services/page.tsx | 8 +- ui/app/(prowler)/users/page.tsx | 14 +- ui/app/(prowler)/workloads/page.tsx | 2 +- ui/app/providers.tsx | 12 +- .../heroui-shadcn-migration.changed.md | 1 + ui/components/ThemeSwitch.tsx | 103 +- ui/components/auth/oss/auth-divider.tsx | 8 +- ui/components/auth/oss/auth-footer-link.tsx | 4 +- ui/components/auth/oss/auth-layout.tsx | 2 +- ui/components/auth/oss/sign-in-form.tsx | 10 +- ui/components/auth/oss/sign-up-form.tsx | 38 +- ui/components/auth/oss/social-buttons.tsx | 4 +- .../client-accordion-content.tsx | 8 +- .../client-accordion-wrapper.tsx | 4 +- ...compliance-accordion-requeriment-title.tsx | 4 +- .../compliance-accordion-title.tsx | 102 +- .../compliance/compliance-card.test.tsx | 5 - ui/components/compliance/compliance-card.tsx | 2 +- .../compliance-charts/heatmap-chart.tsx | 2 +- .../threatscore-breakdown-card.tsx | 25 +- .../asd-essential-eight-details.test.tsx | 2 +- .../asd-essential-eight-details.tsx | 2 +- .../aws-well-architected-details.tsx | 4 +- .../compliance-custom-details/cis-details.tsx | 2 +- .../mitre-details.tsx | 2 +- .../okta-idaas-stig-details.tsx | 2 +- .../compliance-download-container.test.tsx | 4 +- .../compliance-download-container.tsx | 2 +- .../compliance-header/compliance-header.tsx | 2 +- .../compliance-scan-info.tsx | 28 +- .../compliance/compliance-overview-grid.tsx | 2 +- .../skeletons/bar-chart-skeleton.tsx | 18 +- .../compliance-accordion-skeleton.tsx | 7 +- .../compliance-grid-skeleton.test.tsx | 17 - .../skeletons/heatmap-chart-skeleton.tsx | 13 +- .../skeletons/pie-chart-skeleton.tsx | 44 +- .../compliance/threatscore-badge.test.tsx | 7 - .../compliance/threatscore-badge.tsx | 2 +- .../filters/apply-filters-button.test.tsx | 3 +- ui/components/filters/custom-search-input.tsx | 70 +- ui/components/filters/filter-controls.tsx | 2 +- .../filters/filter-summary-strip.test.tsx | 3 +- ui/components/findings/findings-filters.tsx | 4 +- .../findings/mute-findings-modal.test.tsx | 12 +- .../findings/mute-findings-modal.tsx | 4 +- ui/components/findings/send-to-jira-modal.tsx | 8 +- .../table/column-finding-groups.test.tsx | 5 +- .../findings/table/column-finding-groups.tsx | 10 +- .../table/column-finding-resources.test.tsx | 15 +- .../table/column-finding-resources.tsx | 10 +- .../table/column-standalone-findings.test.tsx | 6 +- .../table/column-standalone-findings.tsx | 4 +- .../findings/table/delta-indicator.tsx | 4 +- .../table/finding-note-modal.test.tsx | 2 +- .../table/finding-triage-cells.test.tsx | 2 +- .../table/findings-group-drill-down.tsx | 6 +- .../table/findings-group-table.test.tsx | 2 +- .../findings/table/findings-group-table.tsx | 2 +- .../table/inline-resource-container.tsx | 2 +- .../table/notification-indicator.test.tsx | 3 +- .../findings/table/notification-indicator.tsx | 4 +- .../resource-detail-drawer-content.test.tsx | 18 +- .../resource-detail-drawer-content.tsx | 32 +- .../table/skeleton-table-findings.tsx | 2 +- ui/components/graphs/donut-chart.tsx | 2 +- ui/components/graphs/line-chart.tsx | 2 +- ui/components/graphs/map-region-filter.tsx | 2 +- ui/components/graphs/radar-chart.tsx | 2 +- ui/components/graphs/sankey-chart.tsx | 2 +- .../provider-type-icon.test.tsx | 3 +- ui/components/icons/prowler/ProwlerIcons.tsx | 4 +- .../jira/jira-integration-card.tsx | 2 +- .../jira/jira-integration-form.tsx | 12 +- .../jira/jira-integrations-manager.tsx | 4 +- .../integrations/s3/s3-integration-card.tsx | 2 +- .../integrations/s3/s3-integration-form.tsx | 18 +- .../s3/s3-integrations-manager.tsx | 4 +- .../integrations/saml/saml-config-form.tsx | 10 +- .../saml/saml-integration-card.test.tsx | 53 + .../saml/saml-integration-card.tsx | 63 +- .../security-hub-integration-card.tsx | 2 +- .../security-hub-integration-form.tsx | 116 +- .../security-hub-integrations-manager.tsx | 4 +- .../shared/integration-card-header.tsx | 2 +- .../shared/integration-skeleton.tsx | 20 +- .../integrations/shared/link-card.tsx | 4 +- .../invitations/forms/delete-form.tsx | 4 +- ui/components/invitations/forms/edit-form.tsx | 10 +- .../invitations/invitation-details.tsx | 7 +- .../invitations/table/column-invitations.tsx | 4 +- .../table/skeleton-table-invitations.tsx | 129 +- .../workflow/forms/send-invitation-form.tsx | 6 +- .../workflow/skeleton-invitation-info.tsx | 62 +- .../invitations/workflow/vertical-steps.tsx | 73 +- .../workflow/workflow-send-invite.tsx | 39 +- ui/components/layout/index.ts | 4 + ui/components/layout/main-layout/index.ts | 1 + .../main-layout/main-layout.test.tsx | 0 .../main-layout/main-layout.tsx | 0 ui/components/layout/nav-bar/index.ts | 2 + .../nav-bar/navbar-client.test.tsx | 3 +- .../{ui => layout}/nav-bar/navbar-client.tsx | 2 +- .../{ui => layout}/nav-bar/navbar.tsx | 0 .../sidebar/collapsible-menu.tsx | 12 +- ui/components/layout/sidebar/index.ts | 7 + .../{ui => layout}/sidebar/menu-item.tsx | 0 .../{ui => layout}/sidebar/menu.test.tsx | 0 ui/components/{ui => layout}/sidebar/menu.tsx | 10 +- .../{ui => layout}/sidebar/sheet-menu.tsx | 7 +- .../{ui => layout}/sidebar/sidebar-toggle.tsx | 0 .../{ui => layout}/sidebar/sidebar.tsx | 49 +- .../sidebar/submenu-item.test.tsx | 0 .../{ui => layout}/sidebar/submenu-item.tsx | 0 ui/components/layout/user-nav/index.ts | 1 + .../{ui => layout}/user-nav/user-nav.tsx | 12 +- .../lighthouse-v1/ai-elements/actions.tsx | 2 +- .../lighthouse-v1/ai-elements/input.tsx | 2 +- .../ai-elements/prompt-input.tsx | 2 +- .../lighthouse-v1/ai-elements/tooltip.tsx | 4 +- ui/components/lighthouse-v1/chat.tsx | 10 +- .../lighthouse-v1/connect-llm-provider.tsx | 2 +- .../forms/delete-llm-provider-form.tsx | 4 +- .../lighthouse-v1/lighthouse-settings.tsx | 6 +- .../select-bedrock-auth-method.tsx | 6 +- .../workflow/workflow-connect-llm.tsx | 51 +- .../manage-groups/forms/add-group-form.tsx | 13 +- .../manage-groups/forms/delete-group-form.tsx | 4 +- .../manage-groups/forms/edit-group-form.tsx | 13 +- .../manage-groups/skeleton-manage-groups.tsx | 62 +- .../manage-groups/table/column-groups.tsx | 6 +- .../table/skeleton-table-groups.tsx | 123 +- .../table/skeleton-table-new-findings.tsx | 2 +- ui/components/providers/forms/delete-form.tsx | 4 +- .../forms/delete-organization-form.tsx | 2 +- .../providers/forms/edit-name-form.tsx | 2 +- .../organizations/org-launch-scan.test.tsx | 3 +- .../organizations/org-launch-scan.tsx | 2 +- .../organizations/org-setup-form.tsx | 36 +- .../providers-accounts-table.test.tsx | 2 +- .../providers/providers-accounts-table.tsx | 2 +- .../providers/providers-filters.test.tsx | 2 +- ui/components/providers/providers-filters.tsx | 2 +- ui/components/providers/radio-card.tsx | 10 +- .../providers/radio-group-provider.tsx | 12 +- .../manage-scan-config-modal.test.tsx | 5 +- .../scan-config/manage-scan-config-modal.tsx | 8 +- .../providers/table/column-providers.test.tsx | 10 +- .../providers/table/column-providers.tsx | 10 +- .../table/data-table-row-actions.test.tsx | 3 +- .../table/data-table-row-actions.tsx | 2 +- .../table/skeleton-table-provider.tsx | 2 +- .../wizard/steps/launch-step.test.tsx | 3 +- .../providers/wizard/steps/launch-step.tsx | 4 +- .../workflow/credentials-role-helper.tsx | 4 +- .../workflow/forms/base-credentials-form.tsx | 2 +- .../workflow/forms/connect-account-form.tsx | 4 +- .../forms/fields/wizard-input-field.tsx | 4 +- .../forms/fields/wizard-radio-card.tsx | 2 +- .../forms/fields/wizard-textarea-field.tsx | 2 +- .../forms/provider-connection-info.tsx | 10 +- .../alibabacloud-role-credentials-form.tsx | 14 +- .../alibabacloud-static-credentials-form.tsx | 6 +- ...alibabacloud-via-credentials-type-form.tsx | 8 +- .../alibabacloud/select-via-alibabacloud.tsx | 2 +- .../aws-role-credentials-form.tsx | 14 +- .../aws-static-credentials-form.tsx | 4 +- ...io-group-aws-via-credentials-type-form.tsx | 10 +- .../aws/select-via-aws.tsx | 2 +- .../cloudflare-api-key-credentials-form.tsx | 6 +- .../cloudflare-api-token-credentials-form.tsx | 6 +- ...p-cloudflare-via-credentials-type-form.tsx | 4 +- .../cloudflare/select-via-cloudflare.tsx | 2 +- .../gcp-default-credentials-form.tsx | 4 +- .../gcp-service-account-key-form.tsx | 4 +- ...io-group-gcp-via-credentials-type-form.tsx | 6 +- .../gcp/select-via-gcp.tsx | 2 +- .../credentials-type/github-app-form.tsx | 4 +- .../github-oauth-app-form.tsx | 4 +- .../github-personal-access-token-form.tsx | 4 +- ...group-github-via-credentials-type-form.tsx | 12 +- .../github/select-via-github.tsx | 2 +- .../m365-certificate-credentials-form.tsx | 6 +- .../m365-client-secret-credentials-form.tsx | 4 +- ...o-group-m365-via-credentials-type-form.tsx | 4 +- .../m365/select-via-m365.tsx | 2 +- .../workflow/forms/test-connection-form.tsx | 10 +- .../azure-credentials-form.tsx | 4 +- .../googleworkspace-credentials-form.tsx | 6 +- .../via-credentials/iac-credentials-form.tsx | 4 +- .../image-credentials-form.tsx | 8 +- .../via-credentials/k8s-credentials-form.tsx | 4 +- .../mongodbatlas-credentials-form.tsx | 6 +- .../via-credentials/okta-credentials-form.tsx | 6 +- .../openstack-credentials-form.tsx | 4 +- .../oraclecloud-credentials-form.tsx | 6 +- .../vercel-credentials-form.tsx | 6 +- .../workflow/provider-title-docs.tsx | 4 +- ui/components/resources/resources-filters.tsx | 4 +- .../skeleton/skeleton-table-resources.tsx | 2 +- .../resources/table/column-resources.tsx | 4 +- .../table/resource-detail-content.tsx | 11 +- .../table/resource-findings-columns.test.tsx | 4 +- .../table/resource-findings-columns.tsx | 4 +- .../table/resources-table-with-selection.tsx | 2 +- ui/components/roles/table/column-roles.tsx | 4 +- .../roles/table/skeleton-table-roles.tsx | 129 +- .../workflow/forms/add-role-form.test.tsx | 3 +- .../roles/workflow/forms/add-role-form.tsx | 2 +- .../roles/workflow/forms/delete-role-form.tsx | 4 +- .../roles/workflow/forms/edit-role-form.tsx | 2 +- .../roles/workflow/forms/role-form.tsx | 28 +- .../roles/workflow/skeleton-role-form.tsx | 62 +- .../roles/workflow/vertical-steps.tsx | 73 +- .../roles/workflow/workflow-add-edit-role.tsx | 34 +- ui/components/scans/edit-alias-modal.test.tsx | 2 +- ui/components/scans/edit-alias-modal.tsx | 4 +- .../scans/launch-scan-modal.test.tsx | 4 +- ui/components/scans/launch-scan-modal.tsx | 4 +- .../scans/scan-error-details-modal.test.tsx | 2 +- .../scans/scan-error-details-view.test.tsx | 2 +- .../scans/scan-error-details-view.tsx | 2 +- ui/components/scans/scans-filter-bar.test.tsx | 3 +- .../edit-scan-schedule-modal.test.tsx | 4 +- .../schedule/edit-scan-schedule-modal.tsx | 6 +- .../table/__tests__/scan-jobs-table.test.tsx | 2 +- .../scans/table/cells/account-cell.tsx | 2 +- .../scans/table/cells/scan-info-cell.tsx | 2 +- .../scans/table/scan-jobs-columns.test.tsx | 9 +- .../scans/table/scan-jobs-columns.tsx | 4 +- .../table/scan-jobs-row-actions.test.tsx | 3 +- .../scans/table/scan-jobs-row-actions.tsx | 2 +- .../scans/table/scan-jobs-table.test.tsx | 2 +- ui/components/scans/table/scan-jobs-table.tsx | 2 +- .../scans/table/skeleton-table-scans.tsx | 2 +- ui/components/services/ServiceCard.tsx | 38 +- .../services/ServiceSkeletonGrid.tsx | 8 +- .../shadcn/accordion/Accordion.test.tsx | 193 + ui/components/shadcn/accordion/Accordion.tsx | 178 + ui/components/shadcn/accordion/index.ts | 1 + .../shadcn/action-card/ActionCard.tsx | 90 + ui/components/shadcn/action-card/index.ts | 1 + .../alert-dialog/AlertDialog.tsx | 3 +- ui/components/shadcn/alert-dialog/index.ts | 1 + .../{ui => shadcn}/avatar/avatar.tsx | 0 ui/components/shadcn/avatar/index.ts | 1 + ui/components/shadcn/badge/badge.tsx | 6 +- .../breadcrumb-navigation.test.tsx | 9 - .../breadcrumbs/breadcrumb-navigation.tsx | 249 ++ ui/components/shadcn/breadcrumbs/index.ts | 1 + ui/components/shadcn/card/card.test.tsx | 17 + ui/components/shadcn/card/card.tsx | 2 +- ui/components/{ui => shadcn}/chart/Chart.tsx | 0 ui/components/shadcn/chart/index.ts | 1 + .../shadcn/code-snippet/code-snippet.test.tsx | 82 + .../code-snippet/code-snippet.tsx | 30 +- ui/components/shadcn/code-snippet/index.ts | 1 + ui/components/shadcn/combobox/combobox.tsx | 2 +- ui/components/shadcn/command.tsx | 2 +- .../content-layout/content-layout.tsx | 5 +- ui/components/shadcn/content-layout/index.ts | 2 + .../skeleton-content-layout.tsx | 13 + .../{ui => shadcn}/custom/custom-banner.tsx | 3 +- .../shadcn/custom/custom-input.test.tsx | 101 + ui/components/shadcn/custom/custom-input.tsx | 149 + .../{ui => shadcn}/custom/custom-link.test.ts | 0 .../{ui => shadcn}/custom/custom-link.tsx | 2 +- .../custom/custom-modal-buttons.tsx | 2 +- ui/components/shadcn/custom/custom-radio.tsx | 25 + .../shadcn/custom/custom-server-input.tsx | 72 + .../custom/custom-table-link.tsx | 2 +- .../shadcn/custom/custom-textarea.tsx | 95 + ui/components/shadcn/custom/index.ts | 8 + ui/components/shadcn/dialog.tsx | 2 +- .../download-icon-button.tsx | 51 + .../shadcn/download-icon-button/index.ts | 1 + ui/components/shadcn/drawer.tsx | 4 +- .../dropdown-menu/dropdown-menu.tsx | 11 +- ui/components/shadcn/dropdown-menu/index.ts | 1 + .../entities/date-with-time.test.tsx | 0 .../entities/date-with-time.tsx | 0 .../{ui => shadcn}/entities/entity-info.tsx | 2 +- .../entities/get-provider-logo.tsx | 0 ui/components/shadcn/entities/index.ts | 4 + .../{ui => shadcn}/entities/scan-status.tsx | 0 ui/components/shadcn/expandable-section.tsx | 39 + .../feedback-banner/feedback-banner.tsx | 6 +- ui/components/shadcn/feedback-banner/index.ts | 1 + .../{ui => shadcn}/form/Form.test.tsx | 0 ui/components/{ui => shadcn}/form/Form.tsx | 0 ui/components/{ui => shadcn}/form/Label.tsx | 0 .../{ui => shadcn}/form/form-buttons.tsx | 2 +- ui/components/shadcn/form/index.ts | 3 + ui/components/shadcn/headers/index.ts | 1 + .../shadcn/headers/navigation-header.tsx | 39 + ui/components/shadcn/index.ts | 11 + ui/components/{ui => shadcn}/label/Label.tsx | 0 ui/components/shadcn/label/index.ts | 1 + ui/components/shadcn/modal/modal.tsx | 2 +- .../shadcn/navigation-progress/index.ts | 7 + .../navigation-progress.tsx | 2 +- .../use-navigation-progress.ts | 0 ui/components/shadcn/scroll-area/index.ts | 1 + .../scroll-area/scroll-area.tsx | 0 ui/components/shadcn/section/section.tsx | 4 +- ui/components/shadcn/sheet/index.ts | 2 + ui/components/{ui => shadcn}/sheet/sheet.tsx | 0 .../{ui => shadcn}/sheet/trigger-sheet.tsx | 0 ui/components/shadcn/switch/switch.tsx | 41 + .../table/data-table-animated-row.tsx | 0 .../table/data-table-column-header.tsx | 0 .../table/data-table-expand-all-toggle.tsx | 2 +- .../table/data-table-expand-toggle.tsx | 2 +- .../table/data-table-expandable-cell.tsx | 0 .../data-table-filter-custom-batch.test.tsx | 2 +- .../table/data-table-filter-custom.tsx | 2 +- .../table/data-table-pagination.test.tsx | 31 +- .../table/data-table-pagination.tsx | 2 + .../table/data-table-search.tsx | 2 +- .../{ui => shadcn}/table/data-table.test.tsx | 0 .../{ui => shadcn}/table/data-table.tsx | 12 +- ui/components/shadcn/table/index.ts | 9 + .../{ui => shadcn}/table/severity-badge.tsx | 0 .../table/status-badge.test.tsx | 0 .../{ui => shadcn}/table/status-badge.tsx | 2 +- .../shadcn/table/status-finding-badge.tsx | 57 + ui/components/{ui => shadcn}/table/table.tsx | 2 - ui/components/{ui => shadcn}/toast/Toast.tsx | 8 +- .../{ui => shadcn}/toast/Toaster.tsx | 2 +- ui/components/shadcn/toast/index.ts | 3 + .../{ui => shadcn}/toast/use-toast.ts | 5 +- ui/components/shadcn/tree-view/tree-leaf.tsx | 2 +- ui/components/shadcn/tree-view/tree-node.tsx | 4 +- ui/components/shared/cloud-feature-badge.tsx | 2 +- .../events-timeline/events-timeline.tsx | 2 +- ui/components/ui/accordion/Accordion.tsx | 167 - ui/components/ui/accordion/index.ts | 3 + ui/components/ui/action-card/ActionCard.tsx | 84 - ui/components/ui/action-card/index.ts | 3 + ui/components/ui/alert-dialog/index.ts | 3 + ui/components/ui/alert/Alert.tsx | 2 +- ui/components/ui/avatar/index.ts | 3 + .../ui/breadcrumbs/breadcrumb-navigation.tsx | 234 -- ui/components/ui/breadcrumbs/index.ts | 4 +- ui/components/ui/button/button.tsx | 6 +- ui/components/ui/chart/index.ts | 3 + ui/components/ui/code-snippet/index.ts | 3 + ui/components/ui/content-layout/index.ts | 3 + .../skeleton-content-layout.tsx | 17 - ui/components/ui/custom/custom-input.tsx | 124 - ui/components/ui/custom/custom-radio.tsx | 50 - .../ui/custom/custom-server-input.tsx | 58 - ui/components/ui/custom/custom-textarea.tsx | 71 - ui/components/ui/custom/index.ts | 11 +- .../download-icon-button.tsx | 44 - .../ui/download-icon-button/index.ts | 3 + ui/components/ui/dropdown-menu/index.ts | 3 + ui/components/ui/entities/index.ts | 7 +- ui/components/ui/expandable-section.tsx | 42 +- ui/components/ui/feedback-banner/index.ts | 3 + ui/components/ui/form/index.ts | 6 +- ui/components/ui/headers/index.ts | 3 + .../ui/headers/navigation-header.tsx | 37 - ui/components/ui/index.ts | 28 +- ui/components/ui/label/index.ts | 3 + ui/components/ui/main-layout/index.ts | 3 + ui/components/ui/nav-bar/index.ts | 3 + ui/components/ui/navigation-progress/index.ts | 10 +- ui/components/ui/scroll-area/index.ts | 3 + ui/components/ui/sheet/index.ts | 5 +- ui/components/ui/sidebar/index.ts | 10 +- ui/components/ui/skeleton/skeleton.tsx | 2 +- ui/components/ui/table/index.ts | 12 +- .../ui/table/status-finding-badge.tsx | 47 - ui/components/ui/toast/index.ts | 6 +- ui/components/ui/tooltip/tooltip.tsx | 2 +- ui/components/ui/user-nav/index.ts | 3 + .../users/forms/create-tenant-form.test.tsx | 3 +- .../users/forms/create-tenant-form.tsx | 6 +- ui/components/users/forms/delete-form.tsx | 4 +- .../users/forms/delete-tenant-form.test.tsx | 3 +- .../users/forms/delete-tenant-form.tsx | 4 +- ui/components/users/forms/edit-form.tsx | 10 +- .../users/forms/edit-tenant-form.tsx | 6 +- ui/components/users/forms/expel-user-form.tsx | 2 +- .../users/forms/switch-tenant-form.test.tsx | 3 +- .../users/forms/switch-tenant-form.tsx | 4 +- .../users/profile/api-key-success-modal.tsx | 9 +- .../users/profile/api-keys-card-client.tsx | 43 +- .../profile/api-keys/column-api-keys.tsx | 2 +- .../profile/api-keys/table-cells.test.tsx | 60 + .../users/profile/api-keys/table-cells.tsx | 39 +- .../users/profile/create-api-key-modal.tsx | 8 +- .../users/profile/edit-api-key-name-modal.tsx | 6 +- ui/components/users/profile/index.ts | 1 - .../users/profile/membership-item.test.tsx | 169 - .../users/profile/membership-item.tsx | 167 - .../profile/memberships-card-client.test.tsx | 157 + .../users/profile/memberships-card-client.tsx | 224 +- .../users/profile/revoke-api-key-modal.tsx | 20 +- .../users/profile/role-item.test.tsx | 28 + ui/components/users/profile/role-item.tsx | 55 +- ui/components/users/profile/roles-card.tsx | 12 +- .../users/profile/skeleton-user-info.tsx | 215 +- .../users/profile/user-basic-info-card.tsx | 12 +- ui/components/users/table/column-users.tsx | 4 +- .../users/table/skeleton-table-user.tsx | 129 +- ui/dependency-log.json | 28 +- ui/hooks/use-form-server-errors.ts | 2 +- ui/hooks/use-mute-rule-action.test.ts | 2 +- ui/hooks/use-mute-rule-action.ts | 2 +- ui/instrumentation-client.test.ts | 11 +- ui/instrumentation-client.ts | 2 +- ui/knip.config.ts | 3 - ui/lib/compliance/asd-essential-eight.tsx | 4 +- ui/lib/compliance/aws-well-architected.tsx | 4 +- ui/lib/compliance/c5.tsx | 4 +- ui/lib/compliance/ccc.tsx | 4 +- ui/lib/compliance/cis-controls.tsx | 4 +- ui/lib/compliance/cis.tsx | 4 +- ui/lib/compliance/compliance-mapper.ts | 2 +- ui/lib/compliance/csa.tsx | 4 +- ui/lib/compliance/dora.tsx | 4 +- ui/lib/compliance/ens.tsx | 4 +- ui/lib/compliance/generic.tsx | 4 +- ui/lib/compliance/iso.tsx | 4 +- ui/lib/compliance/kisa.tsx | 4 +- ui/lib/compliance/mitre.tsx | 4 +- ui/lib/compliance/okta-idaas-stig.tsx | 4 +- ui/lib/compliance/score-utils.ts | 6 +- ui/lib/compliance/threat.tsx | 4 +- ui/lib/helper.ts | 2 +- ui/lib/password-manager.ts | 45 + ui/package.json | 2 +- ui/pnpm-lock.yaml | 3582 +---------------- ui/pnpm-workspace.yaml | 6 - ui/styles/globals.css | 92 +- ui/tailwind.config.js | 196 - ui/vitest.config.ts | 13 +- ui/vitest.setup.ts | 10 + 519 files changed, 4814 insertions(+), 7013 deletions(-) create mode 100644 ui/.vitest-attachments/10e901bc49347998108ddd603b413d594a3921f3.png create mode 100644 ui/.vitest-attachments/e6f22611d8493abc2bfeaeb5808f35df7eabcb6d.png create mode 100644 ui/app/(prowler)/mutelist/_components/simple/mute-rule-targets-modal.test.tsx create mode 100644 ui/app/(prowler)/profile/page.test.ts create mode 100644 ui/changelog.d/heroui-shadcn-migration.changed.md delete mode 100644 ui/components/compliance/skeletons/compliance-grid-skeleton.test.tsx create mode 100644 ui/components/integrations/saml/saml-integration-card.test.tsx create mode 100644 ui/components/layout/index.ts create mode 100644 ui/components/layout/main-layout/index.ts rename ui/components/{ui => layout}/main-layout/main-layout.test.tsx (100%) rename ui/components/{ui => layout}/main-layout/main-layout.tsx (100%) create mode 100644 ui/components/layout/nav-bar/index.ts rename ui/components/{ui => layout}/nav-bar/navbar-client.test.tsx (98%) rename ui/components/{ui => layout}/nav-bar/navbar-client.tsx (98%) rename ui/components/{ui => layout}/nav-bar/navbar.tsx (100%) rename ui/components/{ui => layout}/sidebar/collapsible-menu.tsx (96%) create mode 100644 ui/components/layout/sidebar/index.ts rename ui/components/{ui => layout}/sidebar/menu-item.tsx (100%) rename ui/components/{ui => layout}/sidebar/menu.test.tsx (100%) rename ui/components/{ui => layout}/sidebar/menu.tsx (95%) rename ui/components/{ui => layout}/sidebar/sheet-menu.tsx (87%) rename ui/components/{ui => layout}/sidebar/sidebar-toggle.tsx (100%) rename ui/components/{ui => layout}/sidebar/sidebar.tsx (60%) rename ui/components/{ui => layout}/sidebar/submenu-item.test.tsx (100%) rename ui/components/{ui => layout}/sidebar/submenu-item.tsx (100%) create mode 100644 ui/components/layout/user-nav/index.ts rename ui/components/{ui => layout}/user-nav/user-nav.tsx (94%) create mode 100644 ui/components/shadcn/accordion/Accordion.test.tsx create mode 100644 ui/components/shadcn/accordion/Accordion.tsx create mode 100644 ui/components/shadcn/accordion/index.ts create mode 100644 ui/components/shadcn/action-card/ActionCard.tsx create mode 100644 ui/components/shadcn/action-card/index.ts rename ui/components/{ui => shadcn}/alert-dialog/AlertDialog.tsx (99%) create mode 100644 ui/components/shadcn/alert-dialog/index.ts rename ui/components/{ui => shadcn}/avatar/avatar.tsx (100%) create mode 100644 ui/components/shadcn/avatar/index.ts rename ui/components/{ui => shadcn}/breadcrumbs/breadcrumb-navigation.test.tsx (86%) create mode 100644 ui/components/shadcn/breadcrumbs/breadcrumb-navigation.tsx create mode 100644 ui/components/shadcn/breadcrumbs/index.ts create mode 100644 ui/components/shadcn/card/card.test.tsx rename ui/components/{ui => shadcn}/chart/Chart.tsx (100%) create mode 100644 ui/components/shadcn/chart/index.ts create mode 100644 ui/components/shadcn/code-snippet/code-snippet.test.tsx rename ui/components/{ui => shadcn}/code-snippet/code-snippet.tsx (87%) create mode 100644 ui/components/shadcn/code-snippet/index.ts rename ui/components/{ui => shadcn}/content-layout/content-layout.tsx (82%) create mode 100644 ui/components/shadcn/content-layout/index.ts create mode 100644 ui/components/shadcn/content-layout/skeleton-content-layout.tsx rename ui/components/{ui => shadcn}/custom/custom-banner.tsx (91%) create mode 100644 ui/components/shadcn/custom/custom-input.test.tsx create mode 100644 ui/components/shadcn/custom/custom-input.tsx rename ui/components/{ui => shadcn}/custom/custom-link.test.ts (100%) rename ui/components/{ui => shadcn}/custom/custom-link.tsx (98%) rename ui/components/{ui => shadcn}/custom/custom-modal-buttons.tsx (94%) create mode 100644 ui/components/shadcn/custom/custom-radio.tsx create mode 100644 ui/components/shadcn/custom/custom-server-input.tsx rename ui/components/{ui => shadcn}/custom/custom-table-link.tsx (91%) create mode 100644 ui/components/shadcn/custom/custom-textarea.tsx create mode 100644 ui/components/shadcn/custom/index.ts create mode 100644 ui/components/shadcn/download-icon-button/download-icon-button.tsx create mode 100644 ui/components/shadcn/download-icon-button/index.ts rename ui/components/{ui => shadcn}/dropdown-menu/dropdown-menu.tsx (88%) create mode 100644 ui/components/shadcn/dropdown-menu/index.ts rename ui/components/{ui => shadcn}/entities/date-with-time.test.tsx (100%) rename ui/components/{ui => shadcn}/entities/date-with-time.tsx (100%) rename ui/components/{ui => shadcn}/entities/entity-info.tsx (97%) rename ui/components/{ui => shadcn}/entities/get-provider-logo.tsx (100%) create mode 100644 ui/components/shadcn/entities/index.ts rename ui/components/{ui => shadcn}/entities/scan-status.tsx (100%) create mode 100644 ui/components/shadcn/expandable-section.tsx rename ui/components/{ui => shadcn}/feedback-banner/feedback-banner.tsx (91%) create mode 100644 ui/components/shadcn/feedback-banner/index.ts rename ui/components/{ui => shadcn}/form/Form.test.tsx (100%) rename ui/components/{ui => shadcn}/form/Form.tsx (100%) rename ui/components/{ui => shadcn}/form/Label.tsx (100%) rename ui/components/{ui => shadcn}/form/form-buttons.tsx (97%) create mode 100644 ui/components/shadcn/form/index.ts create mode 100644 ui/components/shadcn/headers/index.ts create mode 100644 ui/components/shadcn/headers/navigation-header.tsx rename ui/components/{ui => shadcn}/label/Label.tsx (100%) create mode 100644 ui/components/shadcn/label/index.ts create mode 100644 ui/components/shadcn/navigation-progress/index.ts rename ui/components/{ui => shadcn}/navigation-progress/navigation-progress.tsx (96%) rename ui/components/{ui => shadcn}/navigation-progress/use-navigation-progress.ts (100%) create mode 100644 ui/components/shadcn/scroll-area/index.ts rename ui/components/{ui => shadcn}/scroll-area/scroll-area.tsx (100%) create mode 100644 ui/components/shadcn/sheet/index.ts rename ui/components/{ui => shadcn}/sheet/sheet.tsx (100%) rename ui/components/{ui => shadcn}/sheet/trigger-sheet.tsx (100%) create mode 100644 ui/components/shadcn/switch/switch.tsx rename ui/components/{ui => shadcn}/table/data-table-animated-row.tsx (100%) rename ui/components/{ui => shadcn}/table/data-table-column-header.tsx (100%) rename ui/components/{ui => shadcn}/table/data-table-expand-all-toggle.tsx (98%) rename ui/components/{ui => shadcn}/table/data-table-expand-toggle.tsx (98%) rename ui/components/{ui => shadcn}/table/data-table-expandable-cell.tsx (100%) rename ui/components/{ui => shadcn}/table/data-table-filter-custom-batch.test.tsx (99%) rename ui/components/{ui => shadcn}/table/data-table-filter-custom.tsx (99%) rename ui/components/{ui => shadcn}/table/data-table-pagination.test.tsx (65%) rename ui/components/{ui => shadcn}/table/data-table-pagination.tsx (99%) rename ui/components/{ui => shadcn}/table/data-table-search.tsx (99%) rename ui/components/{ui => shadcn}/table/data-table.test.tsx (100%) rename ui/components/{ui => shadcn}/table/data-table.tsx (96%) create mode 100644 ui/components/shadcn/table/index.ts rename ui/components/{ui => shadcn}/table/severity-badge.tsx (100%) rename ui/components/{ui => shadcn}/table/status-badge.test.tsx (100%) rename ui/components/{ui => shadcn}/table/status-badge.tsx (96%) create mode 100644 ui/components/shadcn/table/status-finding-badge.tsx rename ui/components/{ui => shadcn}/table/table.tsx (94%) rename ui/components/{ui => shadcn}/toast/Toast.tsx (65%) rename ui/components/{ui => shadcn}/toast/Toaster.tsx (94%) create mode 100644 ui/components/shadcn/toast/index.ts rename ui/components/{ui => shadcn}/toast/use-toast.ts (97%) delete mode 100644 ui/components/ui/accordion/Accordion.tsx create mode 100644 ui/components/ui/accordion/index.ts delete mode 100644 ui/components/ui/action-card/ActionCard.tsx create mode 100644 ui/components/ui/action-card/index.ts create mode 100644 ui/components/ui/alert-dialog/index.ts create mode 100644 ui/components/ui/avatar/index.ts delete mode 100644 ui/components/ui/breadcrumbs/breadcrumb-navigation.tsx create mode 100644 ui/components/ui/chart/index.ts create mode 100644 ui/components/ui/code-snippet/index.ts create mode 100644 ui/components/ui/content-layout/index.ts delete mode 100644 ui/components/ui/content-layout/skeleton-content-layout.tsx delete mode 100644 ui/components/ui/custom/custom-input.tsx delete mode 100644 ui/components/ui/custom/custom-radio.tsx delete mode 100644 ui/components/ui/custom/custom-server-input.tsx delete mode 100644 ui/components/ui/custom/custom-textarea.tsx delete mode 100644 ui/components/ui/download-icon-button/download-icon-button.tsx create mode 100644 ui/components/ui/download-icon-button/index.ts create mode 100644 ui/components/ui/dropdown-menu/index.ts create mode 100644 ui/components/ui/feedback-banner/index.ts create mode 100644 ui/components/ui/headers/index.ts delete mode 100644 ui/components/ui/headers/navigation-header.tsx create mode 100644 ui/components/ui/label/index.ts create mode 100644 ui/components/ui/main-layout/index.ts create mode 100644 ui/components/ui/nav-bar/index.ts create mode 100644 ui/components/ui/scroll-area/index.ts delete mode 100644 ui/components/ui/table/status-finding-badge.tsx create mode 100644 ui/components/ui/user-nav/index.ts create mode 100644 ui/components/users/profile/api-keys/table-cells.test.tsx delete mode 100644 ui/components/users/profile/membership-item.test.tsx delete mode 100644 ui/components/users/profile/membership-item.tsx create mode 100644 ui/components/users/profile/memberships-card-client.test.tsx create mode 100644 ui/lib/password-manager.ts delete mode 100644 ui/tailwind.config.js diff --git a/docs/security/software-security.mdx b/docs/security/software-security.mdx index 3fee8d1251..64c2645d3f 100644 --- a/docs/security/software-security.mdx +++ b/docs/security/software-security.mdx @@ -158,7 +158,7 @@ The MCP Server has a small direct-dependency surface and does not yet declare a The UI uses [pnpm](https://pnpm.io) with supply-chain controls configured in [`ui/pnpm-workspace.yaml`](https://github.com/prowler-cloud/prowler/blob/master/ui/pnpm-workspace.yaml). - **Minimum release age** (`minimumReleaseAge: 1440`): packages must publish at least 24 hours before install. This reduces exposure during the window when a compromised release has not yet been detected and yanked. -- **Lifecycle script allow-list** (`strictDepBuilds: true` + `allowBuilds`): only explicitly approved packages may run `install` or `postinstall` scripts (currently `sharp`, `esbuild`, `@sentry/cli`, `@heroui/shared-utils`, `unrs-resolver`, `msw`). Any unlisted package with lifecycle scripts fails the install. +- **Lifecycle script allow-list** (`strictDepBuilds: true` + `allowBuilds`): only explicitly approved packages may run `install` or `postinstall` scripts (currently `sharp`, `esbuild`, `@sentry/cli`, `unrs-resolver`, `msw`). Any unlisted package with lifecycle scripts fails the install. - **Trust policy** (`trustPolicy: no-downgrade`): the install fails when a package's trust evidence drops, for example after a new publisher takes over. - **Block exotic subdeps** (`blockExoticSubdeps: true`): transitive dependencies cannot ship as git URLs or tarballs. Every package in the tree resolves from the configured registry. - **Transitive overrides** in [`ui/package.json`](https://github.com/prowler-cloud/prowler/blob/master/ui/package.json) force specific versions for transitive packages (`lodash`, `serialize-javascript`, `qs`, `rollup`, `minimatch`, `ajv`, and others). diff --git a/skills/prowler-ui/SKILL.md b/skills/prowler-ui/SKILL.md index 5846dd85d0..18d37a9cd2 100644 --- a/skills/prowler-ui/SKILL.md +++ b/skills/prowler-ui/SKILL.md @@ -2,11 +2,11 @@ name: prowler-ui description: > Prowler UI-specific patterns. For generic patterns, see: typescript, react-19, nextjs-16, tailwind-4. - Trigger: When working inside ui/ on Prowler-specific conventions (shadcn vs HeroUI legacy, folder placement, actions/adapters, shared types/hooks/lib). + Trigger: When working inside ui/ on Prowler-specific conventions (shadcn, folder placement, actions/adapters, shared types/hooks/lib). license: Apache-2.0 metadata: author: prowler-cloud - version: "1.0" + version: "1.1" scope: [root, ui] auto_invoke: - "Creating/modifying Prowler UI components" @@ -32,13 +32,12 @@ allowed-tools: Read, Edit, Write, Glob, Grep, Bash, WebFetch, WebSearch, Task Next.js 16.2.3 | React 19.2.5 | Tailwind 4.1.18 | shadcn/ui Zod 4.1.11 | React Hook Form 7.62.0 | Zustand 5.0.8 NextAuth 5.0.0-beta.30 | Recharts 2.15.4 -HeroUI 2.8.4 (LEGACY - do not add new components) ``` ## CRITICAL: Component Library Rule - **ALWAYS**: Use `shadcn/ui` + Tailwind (`components/shadcn/`) -- **NEVER**: Add new HeroUI components (`components/ui/` is legacy only) +- **NEVER**: Add components to `components/ui/` (temporary re-export shims for the prowler-cloud overlay only) ## Design System Discipline (REQUIRED) @@ -57,12 +56,11 @@ When reviewing UI PRs, flag: custom modals/primitives that duplicate shadcn, cal ### Component Placement ```text -New feature UI? → shadcn/ui + Tailwind -Existing HeroUI feature? → Keep HeroUI (don't mix) -Used 1 feature? → features/{feature}/components/ -Used 2+ features? → components/shared/ -Needs state/hooks? → "use client" -Server component? → No directive needed +New UI primitive? → components/shadcn/ (shadcn/ui + Tailwind) +Used by 1 domain? → components/{domain}/ +Used by 2+ domains? → components/shared/ +Needs state/hooks? → "use client" +Server component? → No directive needed ``` ### Code Location @@ -76,10 +74,16 @@ Utils (shared 2+) → lib/ Utils (local 1) → {feature}/utils/ Hooks (shared 2+) → hooks/ Hooks (local 1) → {feature}/hooks.ts -shadcn components → components/shadcn/ -HeroUI components → components/ui/ (LEGACY) +UI primitive → components/shadcn/ +Domain component → components/{domain}/ ``` +> **Deprecated:** `components/ui/` is a temporary re-export shim that maps +> legacy import paths to `components/shadcn/` for the prowler-cloud overlay. +> HeroUI is fully removed. Never add or import components here — use +> `@/components/shadcn` (primitives) or `@/components/{domain}` instead. +> Delete the shim once the cloud repo migrates to `@/components/shadcn`. + ### Styling Decision ```text @@ -110,8 +114,9 @@ ui/ │ ├── services/ │ └── integrations/ ├── components/ -│ ├── shadcn/ # shadcn/ui (USE THIS) -│ ├── ui/ # HeroUI (LEGACY) +│ ├── shadcn/ # shadcn/ui primitives (USE THIS) +│ ├── shared/ # Cross-domain composed components (2+ domains) +│ ├── ui/ # DEPRECATED shim → re-exports shadcn (do not use) │ ├── {domain}/ # Domain-specific (compliance, findings, providers, etc.) │ ├── filters/ # Filter components │ ├── graphs/ # Chart components @@ -324,16 +329,6 @@ Before requesting re-review from a reviewer: - [ ] If you disagreed: the reply explains why with clear reasoning — do not leave threads silently open - [ ] Re-request review only after all threads are in a clean state -## Migrations Reference - -| From | To | Key Changes | -|------|-----|-------------| -| React 18 | 19.1 | Async components, React Compiler (no useMemo/useCallback) | -| Next.js 14 | 15.5 | Improved App Router, better streaming | -| NextUI | HeroUI 2.8.4 | Package rename only, same API | -| Zod 3 | 4 | `z.email()` not `z.string().email()`, `error` not `message` | -| AI SDK 4 | 5 | `@ai-sdk/react`, `sendMessage` not `handleSubmit`, `parts` not `content` | - ## Resources - **Documentation**: See [references/](references/) for links to local developer guide diff --git a/ui/.vitest-attachments/10e901bc49347998108ddd603b413d594a3921f3.png b/ui/.vitest-attachments/10e901bc49347998108ddd603b413d594a3921f3.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf6ac5bd62ace12ef50b0648d7c51f9ce473156 GIT binary patch literal 80746 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%0DsJmNNku2>@EFejW#;$){Ez=zME+0AqLWvX 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 literal 0 HcmV?d00001 diff --git a/ui/.vitest-attachments/e6f22611d8493abc2bfeaeb5808f35df7eabcb6d.png b/ui/.vitest-attachments/e6f22611d8493abc2bfeaeb5808f35df7eabcb6d.png new file mode 100644 index 0000000000000000000000000000000000000000..54e4f258ce2ec604253443479b02411ff59ddcff GIT binary patch literal 95658 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®f`0W+D$A8&Bh9sW+HtS2hQE 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

%u%i*&yKMGMvawD0pLY}d@8B@4 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 H*T4P~_Q3Vo literal 0 HcmV?d00001 diff --git a/ui/AGENTS.md b/ui/AGENTS.md index 898d70dde4..5939d11394 100644 --- a/ui/AGENTS.md +++ b/ui/AGENTS.md @@ -97,8 +97,8 @@ When performing these actions, ALWAYS invoke the corresponding skill FIRST: ### Component Placement ```text -New/Existing UI? → shadcn/ui + Tailwind (NEVER HeroUI for new code) -Used 1 feature? → features/{feature}/components | Used 2+? → components/{domain}/ +New UI primitive? → components/shadcn/ (shadcn/ui + Tailwind) +Used by 1 domain? → components/{domain}/ | Used by 2+ domains? → components/shared/ Needs state/hooks? → "use client" | Server component? → No directive ``` @@ -194,7 +194,7 @@ test("action works", { tag: ["@critical", "@feature"] }, async ({ page }) => { Next.js 16.2.3 | React 19.2.5 | Tailwind 4.1.18 | shadcn/ui Zod 4.1.11 | React Hook Form 7.62.0 | Zustand 5.0.8 | NextAuth 5.0.0-beta.30 | Recharts 2.15.4 -> **Note**: HeroUI exists in `components/ui/` as legacy code. Do NOT add new components there. +> **Note**: `components/ui/` only holds temporary re-export shims for the prowler-cloud overlay. Do NOT add new components there. --- @@ -205,7 +205,7 @@ ui/ ├── app/(auth)/ # Auth pages ├── app/(prowler)/ # Main app: compliance, findings, providers, scans ├── components/shadcn/ # shadcn/ui components (USE THIS) -├── components/ui/ # HeroUI (LEGACY - do not add here) +├── components/ui/ # Cloud-overlay re-export shims (do not add here) ├── actions/ # Server actions ├── types/ # Shared types ├── hooks/ # Shared hooks diff --git a/ui/README.md b/ui/README.md index 998dc84a37..31b6ae3057 100644 --- a/ui/README.md +++ b/ui/README.md @@ -114,10 +114,9 @@ pnpm run dev ## Technologies Used -- [Next.js 14](https://nextjs.org/docs/getting-started) -- [NextUI v2](https://nextui.org/) -- [Tailwind CSS](https://tailwindcss.com/) -- [Tailwind Variants](https://tailwind-variants.org) +- [Next.js 16](https://nextjs.org/docs/getting-started) +- [shadcn/ui](https://ui.shadcn.com/) (built on [Radix UI](https://www.radix-ui.com/)) +- [Tailwind CSS 4](https://tailwindcss.com/) - [TypeScript](https://www.typescriptlang.org/) - [Framer Motion](https://www.framer.com/motion/) - [next-themes](https://github.com/pacocoursey/next-themes) diff --git a/ui/app/(auth)/alerts/confirm/page.test.tsx b/ui/app/(auth)/alerts/confirm/page.test.tsx index 8b6203c109..6885db86b3 100644 --- a/ui/app/(auth)/alerts/confirm/page.test.tsx +++ b/ui/app/(auth)/alerts/confirm/page.test.tsx @@ -16,7 +16,8 @@ vi.mock("@/components/auth/oss/auth-layout", () => ({ ), })); -vi.mock("@/components/shadcn", () => ({ +vi.mock("@/components/shadcn", async (importOriginal) => ({ + ...(await importOriginal>()), Button: ({ children }: { children: ReactNode }) =>

, })); diff --git a/ui/app/(auth)/alerts/unsubscribe/page.test.tsx b/ui/app/(auth)/alerts/unsubscribe/page.test.tsx index 4ffeb548b0..560a5ad010 100644 --- a/ui/app/(auth)/alerts/unsubscribe/page.test.tsx +++ b/ui/app/(auth)/alerts/unsubscribe/page.test.tsx @@ -16,7 +16,8 @@ vi.mock("@/components/auth/oss/auth-layout", () => ({ ), })); -vi.mock("@/components/shadcn", () => ({ +vi.mock("@/components/shadcn", async (importOriginal) => ({ + ...(await importOriginal>()), Button: ({ children }: { children: ReactNode }) =>
{children}
, })); diff --git a/ui/app/(auth)/invitation/accept/accept-invitation-client.tsx b/ui/app/(auth)/invitation/accept/accept-invitation-client.tsx index 0ed6346de7..cec9c8fc55 100644 --- a/ui/app/(auth)/invitation/accept/accept-invitation-client.tsx +++ b/ui/app/(auth)/invitation/accept/accept-invitation-client.tsx @@ -74,11 +74,11 @@ export function AcceptInvitationClient({

Invalid Invitation Link

-

+

No invitation token was provided. Please check the link you received.

@@ -93,11 +93,11 @@ export function AcceptInvitationClient({

Accepting Invitation...

-

+

Please wait while we process your invitation.

@@ -108,13 +108,13 @@ export function AcceptInvitationClient({

Could Not Accept Invitation

-

{state.message}

+

{state.message}

{state.canRetry && }
@@ -124,6 +120,7 @@ const SSRDataTable = async ({ columns={ColumnsInvitation} data={expandedResponse?.data || []} metadata={invitationsData?.meta} + showSearch /> ); }; diff --git a/ui/app/(prowler)/layout.tsx b/ui/app/(prowler)/layout.tsx index 2554ab02b9..ed63f95026 100644 --- a/ui/app/(prowler)/layout.tsx +++ b/ui/app/(prowler)/layout.tsx @@ -6,16 +6,16 @@ import { ReactNode, Suspense } from "react"; import { getProviders } from "@/actions/providers"; import { getScansByState } from "@/actions/scans/scans"; +import MainLayout from "@/components/layout/main-layout/main-layout"; import { OnboardingCheckpointWatcher, OnboardingGate, OnboardingSequenceBanner, } from "@/components/onboarding"; import { RuntimePublicConfig } from "@/components/runtime-config/runtime-public-config"; -import MainLayout from "@/components/ui/main-layout/main-layout"; -import { NavigationProgress } from "@/components/ui/navigation-progress"; -import { Toaster } from "@/components/ui/toast"; -import { fontSans } from "@/config/fonts"; +import { NavigationProgress } from "@/components/shadcn/navigation-progress"; +import { Toaster } from "@/components/shadcn/toast"; +import { fontMono, fontSans } from "@/config/fonts"; import { siteConfig } from "@/config/site"; import { isCloud } from "@/lib/shared/env"; import { cn } from "@/lib/utils"; @@ -83,8 +83,9 @@ export default async function RootLayout({ diff --git a/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.test.tsx b/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.test.tsx index a1f8d1a5ab..84a13ee741 100644 --- a/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.test.tsx +++ b/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.test.tsx @@ -29,7 +29,8 @@ vi.mock("next/navigation", () => ({ // Action feedback is delivered through toasts (rendered by the layout Toaster), // so we assert the dispatched toast rather than in-page banner text. -vi.mock("@/components/ui", () => ({ +vi.mock("@/components/shadcn", async (importOriginal) => ({ + ...(await importOriginal>()), useToast: () => ({ toast: toastMock, dismiss: vi.fn() }), })); diff --git a/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.tsx b/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.tsx index c5e3711c7a..07dd1ff255 100644 --- a/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.tsx +++ b/ui/app/(prowler)/lighthouse/_components/config/lighthouse-v2-config-page.tsx @@ -11,8 +11,8 @@ import { type LighthouseV2ProviderType, type LighthouseV2SupportedProvider, } from "@/app/(prowler)/lighthouse/_types"; +import { useToast } from "@/components/shadcn"; import { Card } from "@/components/shadcn/card/card"; -import { useToast } from "@/components/ui"; import { useMountEffect } from "@/hooks/use-mount-effect"; import { LighthouseV2BusinessContextForm } from "./business-context-form"; diff --git a/ui/app/(prowler)/lighthouse/page.tsx b/ui/app/(prowler)/lighthouse/page.tsx index 7b7d6703db..c313a86794 100644 --- a/ui/app/(prowler)/lighthouse/page.tsx +++ b/ui/app/(prowler)/lighthouse/page.tsx @@ -15,7 +15,7 @@ import { LighthouseV2NavigationModeSync } from "@/app/(prowler)/lighthouse/_comp import { loadLighthouseV2ConnectedModels } from "@/app/(prowler)/lighthouse/_lib/model-loading"; import { LighthouseIcon } from "@/components/icons/Icons"; import { Chat } from "@/components/lighthouse-v1"; -import { ContentLayout } from "@/components/ui"; +import { ContentLayout } from "@/components/shadcn/content-layout"; import { LIGHTHOUSE_ROUTE } from "@/lib/lighthouse-routes"; import { isCloud } from "@/lib/shared/env"; diff --git a/ui/app/(prowler)/lighthouse/settings/(connect-llm)/layout.tsx b/ui/app/(prowler)/lighthouse/settings/(connect-llm)/layout.tsx index ae94cd635f..8c8db3f7c7 100644 --- a/ui/app/(prowler)/lighthouse/settings/(connect-llm)/layout.tsx +++ b/ui/app/(prowler)/lighthouse/settings/(connect-llm)/layout.tsx @@ -2,7 +2,6 @@ import "@/styles/globals.css"; -import { Spacer } from "@heroui/spacer"; import { Icon } from "@iconify/react"; import { useRouter, useSearchParams } from "next/navigation"; import React, { useEffect, useState } from "react"; @@ -14,8 +13,8 @@ import { import { DeleteLLMProviderForm } from "@/components/lighthouse-v1/forms/delete-llm-provider-form"; import { WorkflowConnectLLM } from "@/components/lighthouse-v1/workflow"; import { Button } from "@/components/shadcn"; +import { NavigationHeader } from "@/components/shadcn"; import { Modal } from "@/components/shadcn/modal"; -import { NavigationHeader } from "@/components/ui"; import { LIGHTHOUSE_ROUTE } from "@/lib/lighthouse-routes"; import type { LighthouseProvider } from "@/types/lighthouse-v1"; @@ -81,7 +80,7 @@ export default function ConnectLLMLayout({ children }: ConnectLLMLayoutProps) { icon="icon-park-outline:close-small" href={LIGHTHOUSE_ROUTE.SETTINGS} /> - +
@@ -114,7 +113,7 @@ export default function ConnectLLMLayout({ children }: ConnectLLMLayoutProps) { Delete Provider
- +
)} {children} diff --git a/ui/app/(prowler)/lighthouse/settings/page.tsx b/ui/app/(prowler)/lighthouse/settings/page.tsx index 057161bc10..c2d267e404 100644 --- a/ui/app/(prowler)/lighthouse/settings/page.tsx +++ b/ui/app/(prowler)/lighthouse/settings/page.tsx @@ -7,7 +7,7 @@ import { LighthouseSettings, LLMProvidersTable, } from "@/components/lighthouse-v1"; -import { ContentLayout } from "@/components/ui"; +import { ContentLayout } from "@/components/shadcn/content-layout"; import { isCloud } from "@/lib/shared/env"; export const dynamic = "force-dynamic"; diff --git a/ui/app/(prowler)/manage-groups/layout.tsx b/ui/app/(prowler)/manage-groups/layout.tsx index 8e8487934e..224c4b4018 100644 --- a/ui/app/(prowler)/manage-groups/layout.tsx +++ b/ui/app/(prowler)/manage-groups/layout.tsx @@ -2,7 +2,7 @@ import "@/styles/globals.css"; import React from "react"; -import { ContentLayout } from "@/components/ui"; +import { ContentLayout } from "@/components/shadcn/content-layout"; interface ProviderLayoutProps { children: React.ReactNode; diff --git a/ui/app/(prowler)/mutelist/_components/advanced-mutelist-form.tsx b/ui/app/(prowler)/mutelist/_components/advanced-mutelist-form.tsx index d6992d6fb5..5d30308ee3 100644 --- a/ui/app/(prowler)/mutelist/_components/advanced-mutelist-form.tsx +++ b/ui/app/(prowler)/mutelist/_components/advanced-mutelist-form.tsx @@ -1,6 +1,5 @@ "use client"; -import { Textarea } from "@heroui/input"; import { Trash2 } from "lucide-react"; import { useActionState, useEffect, useState } from "react"; @@ -10,11 +9,18 @@ import { getMutedFindingsConfig, updateMutedFindingsConfig, } from "@/actions/processors"; -import { Button, Card, Skeleton } from "@/components/shadcn"; +import { + Button, + Card, + FieldError, + Skeleton, + Textarea, +} from "@/components/shadcn"; +import { useToast } from "@/components/shadcn"; +import { CustomLink } from "@/components/shadcn/custom/custom-link"; import { Modal } from "@/components/shadcn/modal"; -import { useToast } from "@/components/ui"; -import { CustomLink } from "@/components/ui/custom/custom-link"; import { fontMono } from "@/config/fonts"; +import { cn } from "@/lib/utils"; import { convertToYaml, defaultMutedFindingsConfig, @@ -132,6 +138,13 @@ export function AdvancedMutelistForm() { } }; + const isConfigInvalid = + (!hasUserStartedTyping && !!state?.errors?.configuration) || + !yamlValidation.isValid; + const configErrorMessage = + (!hasUserStartedTyping && state?.errors?.configuration) || + (!yamlValidation.isValid ? yamlValidation.error : ""); + if (isLoading) { return ( @@ -159,7 +172,7 @@ export function AdvancedMutelistForm() { size="md" >
-

+

Are you sure you want to delete this configuration? This action cannot be undone.

@@ -193,10 +206,10 @@ export function AdvancedMutelistForm() {
-

+

Advanced Mutelist Configuration

-