@atlashub/smartstack 3.11.0 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AiDocPage-CM7j_50_.cjs.map +1 -1
- package/dist/AiDocPage-rnKBvVof.js.map +1 -1
- package/dist/ArchitecturePage-Cn_XCDAo.cjs.map +1 -1
- package/dist/ArchitecturePage-DNwzHKk0.js.map +1 -1
- package/dist/{AuthCallbackPage-Cu74zAX1.js → AuthCallbackPage-CoJi12d0.js} +2 -2
- package/dist/AuthCallbackPage-CoJi12d0.js.map +1 -0
- package/dist/{AuthCallbackPage-Bv2Cyn80.cjs → AuthCallbackPage-D_g2VCjj.cjs} +2 -2
- package/dist/AuthCallbackPage-D_g2VCjj.cjs.map +1 -0
- package/dist/{BaIndexPage-Dkp_Eixx.js → BaIndexPage-B5scAEin.js} +2 -2
- package/dist/BaIndexPage-B5scAEin.js.map +1 -0
- package/dist/BaIndexPage-C3osYS_6.cjs +2 -0
- package/dist/BaIndexPage-C3osYS_6.cjs.map +1 -0
- package/dist/BaViewerPage-BPucPOSy.cjs +2 -0
- package/dist/BaViewerPage-BPucPOSy.cjs.map +1 -0
- package/dist/{BaViewerPage-DxD0eZm-.js → BaViewerPage-TL6IHeQx.js} +26 -26
- package/dist/BaViewerPage-TL6IHeQx.js.map +1 -0
- package/dist/{ConfirmEmailPage-su3Fvl0e.cjs → ConfirmEmailPage-B3mrPUvg.cjs} +2 -2
- package/dist/ConfirmEmailPage-B3mrPUvg.cjs.map +1 -0
- package/dist/{ConfirmEmailPage-BTp8J0pw.js → ConfirmEmailPage-DDp2IPE_.js} +2 -2
- package/dist/ConfirmEmailPage-DDp2IPE_.js.map +1 -0
- package/dist/CrossSchemaFkPage-BchJFOmH.js.map +1 -1
- package/dist/CrossSchemaFkPage-DqFNORYd.cjs.map +1 -1
- package/dist/{DatabasePage-DFIK8cSM.js → DatabasePage-BnaX9sis.js} +44 -48
- package/dist/DatabasePage-BnaX9sis.js.map +1 -0
- package/dist/DatabasePage-DAzb3FnS.cjs +2 -0
- package/dist/DatabasePage-DAzb3FnS.cjs.map +1 -0
- package/dist/DeveloperIndexPage-CtBfD2JI.cjs.map +1 -1
- package/dist/DeveloperIndexPage-D4zD_pop.js.map +1 -1
- package/dist/{DocRenderer-CcEn1iaa.js → DocRenderer-C5pM9SWP.js} +99 -94
- package/dist/DocRenderer-C5pM9SWP.js.map +1 -0
- package/dist/DocRenderer-D7hi9Oa-.cjs +2 -0
- package/dist/DocRenderer-D7hi9Oa-.cjs.map +1 -0
- package/dist/DocsIndexPage-BD6OOCak.js.map +1 -1
- package/dist/DocsIndexPage-BPfi0FQD.cjs.map +1 -1
- package/dist/{DualDbContextPage-BujD_coN.js → DualDbContextPage-CVBjCvGp.js} +2 -2
- package/dist/DualDbContextPage-CVBjCvGp.js.map +1 -0
- package/dist/{DualDbContextPage--Qk-qEgD.cjs → DualDbContextPage-Dz8NAewk.cjs} +2 -2
- package/dist/DualDbContextPage-Dz8NAewk.cjs.map +1 -0
- package/dist/{ForceChangePasswordPage-kEFsb5Aq.cjs → ForceChangePasswordPage-BqNyswSy.cjs} +2 -2
- package/dist/ForceChangePasswordPage-BqNyswSy.cjs.map +1 -0
- package/dist/{ForceChangePasswordPage-ClENqzCH.js → ForceChangePasswordPage-DkpGGEn7.js} +2 -2
- package/dist/ForceChangePasswordPage-DkpGGEn7.js.map +1 -0
- package/dist/{ForgotPasswordPage--Wl0Vxbv.cjs → ForgotPasswordPage-C7mySa8O.cjs} +2 -2
- package/dist/ForgotPasswordPage-C7mySa8O.cjs.map +1 -0
- package/dist/{ForgotPasswordPage-BEgvV5f-.js → ForgotPasswordPage-Dmi6wpMM.js} +2 -2
- package/dist/ForgotPasswordPage-Dmi6wpMM.js.map +1 -0
- package/dist/InfrastructurePage-D4ZjLzI_.cjs.map +1 -1
- package/dist/InfrastructurePage-q_y1z8T_.js.map +1 -1
- package/dist/InstallationPage-BJ-GBVPp.cjs.map +1 -1
- package/dist/InstallationPage-CXKmzZuN.js.map +1 -1
- package/dist/ModulesPage-B3p8e07v.js.map +1 -1
- package/dist/ModulesPage-lz8DUm3X.cjs.map +1 -1
- package/dist/{OnboardingWizardPage-Bx1UlTbr.js → OnboardingWizardPage-BeCNpdPL.js} +2 -2
- package/dist/OnboardingWizardPage-BeCNpdPL.js.map +1 -0
- package/dist/{OnboardingWizardPage-C7vendrq.cjs → OnboardingWizardPage-CgEpUx9X.cjs} +2 -2
- package/dist/OnboardingWizardPage-CgEpUx9X.cjs.map +1 -0
- package/dist/{RegisterPage-DKr8quRk.cjs → RegisterPage-BejbbAl9.cjs} +2 -2
- package/dist/RegisterPage-BejbbAl9.cjs.map +1 -0
- package/dist/{RegisterPage-BzV0sCTe.js → RegisterPage-CcuYYRBS.js} +2 -2
- package/dist/RegisterPage-CcuYYRBS.js.map +1 -0
- package/dist/{ResetPasswordPage-x4do1o-j.cjs → ResetPasswordPage-7brP8dT7.cjs} +2 -2
- package/dist/ResetPasswordPage-7brP8dT7.cjs.map +1 -0
- package/dist/{ResetPasswordPage-DphmJrcJ.js → ResetPasswordPage-BX3wnSSM.js} +2 -2
- package/dist/ResetPasswordPage-BX3wnSSM.js.map +1 -0
- package/dist/SettingsDocPage-DYXvb3M-.js.map +1 -1
- package/dist/SettingsDocPage-Dqj8KzOa.cjs.map +1 -1
- package/dist/SlaDocPage-D44QWNY8.cjs.map +1 -1
- package/dist/SlaDocPage-hLFLqLVa.js.map +1 -1
- package/dist/SmartStackPresentationPage-52Nb7F0X.cjs.map +1 -1
- package/dist/SmartStackPresentationPage-D3ku9GtQ.js.map +1 -1
- package/dist/{SupportDashboardDocPage-CLotzEwA.js → SupportDashboardDocPage-CG_Ahacx.js} +2 -2
- package/dist/SupportDashboardDocPage-CG_Ahacx.js.map +1 -0
- package/dist/{SupportDashboardDocPage-DpgGq5Mm.cjs → SupportDashboardDocPage-DfV-9_8r.cjs} +2 -2
- package/dist/SupportDashboardDocPage-DfV-9_8r.cjs.map +1 -0
- package/dist/{SupportEscalationDocPage-B-_ChfdN.js → SupportEscalationDocPage-C481D7pF.js} +2 -2
- package/dist/SupportEscalationDocPage-C481D7pF.js.map +1 -0
- package/dist/{SupportEscalationDocPage-WXkAQr8k.cjs → SupportEscalationDocPage-C65oCDZL.cjs} +2 -2
- package/dist/SupportEscalationDocPage-C65oCDZL.cjs.map +1 -0
- package/dist/SupportIndexPage-Bb0giRKn.js.map +1 -1
- package/dist/SupportIndexPage-CsDQ35Cu.cjs.map +1 -1
- package/dist/{SupportMyTicketsDocPage-DeRUdAIi.js → SupportMyTicketsDocPage-D2f6DaKb.js} +2 -2
- package/dist/SupportMyTicketsDocPage-D2f6DaKb.js.map +1 -0
- package/dist/{SupportMyTicketsDocPage-jE1UMaIY.cjs → SupportMyTicketsDocPage-Dbp6XBnH.cjs} +2 -2
- package/dist/SupportMyTicketsDocPage-Dbp6XBnH.cjs.map +1 -0
- package/dist/{SupportTemplatesDocPage-ajO-cHmK.cjs → SupportTemplatesDocPage-BkeDpR-8.cjs} +2 -2
- package/dist/SupportTemplatesDocPage-BkeDpR-8.cjs.map +1 -0
- package/dist/{SupportTemplatesDocPage-C8ZLzFJc.js → SupportTemplatesDocPage-sCKQlZFJ.js} +2 -2
- package/dist/SupportTemplatesDocPage-sCKQlZFJ.js.map +1 -0
- package/dist/{SupportTicketsDocPage-C_ybDTjC.cjs → SupportTicketsDocPage-B_603CpY.cjs} +2 -2
- package/dist/SupportTicketsDocPage-B_603CpY.cjs.map +1 -0
- package/dist/{SupportTicketsDocPage-DQhHfa6J.js → SupportTicketsDocPage-ClBa3qeY.js} +2 -2
- package/dist/SupportTicketsDocPage-ClBa3qeY.js.map +1 -0
- package/dist/TeamsIntegrationPage-BwhBcPAK.js.map +1 -1
- package/dist/TeamsIntegrationPage-DXj5MDRS.cjs.map +1 -1
- package/dist/ThemeDocPage-B6x55uSE.cjs.map +1 -1
- package/dist/ThemeDocPage-xkMbvMJG.js.map +1 -1
- package/dist/UserIndexPage-DSDfRWFx.js.map +1 -1
- package/dist/UserIndexPage-DahU6wzK.cjs.map +1 -1
- package/dist/components/ThemeSync.d.ts +2 -1
- package/dist/components/ThemeSync.d.ts.map +1 -1
- package/dist/components/auth/PermissionSyncHandler.d.ts +2 -1
- package/dist/components/auth/PermissionSyncHandler.d.ts.map +1 -1
- package/dist/components/dashboard/ApplicationActivityPieChart.d.ts +1 -1
- package/dist/components/dashboard/ApplicationActivityPieChart.d.ts.map +1 -1
- package/dist/components/dashboard/ApplicationUsageChart.d.ts +3 -2
- package/dist/components/dashboard/ApplicationUsageChart.d.ts.map +1 -1
- package/dist/components/dashboard/CurrentSessionCard.d.ts +3 -2
- package/dist/components/dashboard/CurrentSessionCard.d.ts.map +1 -1
- package/dist/components/dashboard/DeviceBreakdownChart.d.ts +1 -1
- package/dist/components/dashboard/DeviceBreakdownChart.d.ts.map +1 -1
- package/dist/components/dashboard/DeviceStatsCard.d.ts +3 -2
- package/dist/components/dashboard/DeviceStatsCard.d.ts.map +1 -1
- package/dist/components/dashboard/EngagementMetricsCard.d.ts +1 -1
- package/dist/components/dashboard/EngagementMetricsCard.d.ts.map +1 -1
- package/dist/components/dashboard/HierarchyDrillDownChart.d.ts +2 -2
- package/dist/components/dashboard/HierarchyDrillDownChart.d.ts.map +1 -1
- package/dist/components/dashboard/HourlyUsageChart.d.ts +3 -2
- package/dist/components/dashboard/HourlyUsageChart.d.ts.map +1 -1
- package/dist/components/dashboard/LoginErrorsTable.d.ts +3 -2
- package/dist/components/dashboard/LoginErrorsTable.d.ts.map +1 -1
- package/dist/components/dashboard/ModulePopularityChart.d.ts +2 -2
- package/dist/components/dashboard/ModulePopularityChart.d.ts.map +1 -1
- package/dist/components/dashboard/SessionAnalyticsChart.d.ts +3 -2
- package/dist/components/dashboard/SessionAnalyticsChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantActivityPieChart.d.ts +2 -2
- package/dist/components/dashboard/TenantActivityPieChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantPopularityChart.d.ts +2 -2
- package/dist/components/dashboard/TenantPopularityChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantUsageTrendChart.d.ts +2 -2
- package/dist/components/dashboard/TenantUsageTrendChart.d.ts.map +1 -1
- package/dist/components/dashboard/UsageTrendChart.d.ts +2 -2
- package/dist/components/dashboard/UsageTrendChart.d.ts.map +1 -1
- package/dist/components/dashboard/WeeklyUsageChart.d.ts +3 -2
- package/dist/components/dashboard/WeeklyUsageChart.d.ts.map +1 -1
- package/dist/components/docs/DocRenderer.d.ts +6 -5
- package/dist/components/docs/DocRenderer.d.ts.map +1 -1
- package/dist/components/docs/DocsSearch.d.ts +5 -4
- package/dist/components/docs/DocsSearch.d.ts.map +1 -1
- package/dist/components/email/EmailEditor.d.ts +7 -6
- package/dist/components/email/EmailEditor.d.ts.map +1 -1
- package/dist/components/errors/AccessDenied.d.ts +8 -7
- package/dist/components/errors/AccessDenied.d.ts.map +1 -1
- package/dist/components/errors/ErrorFallback.d.ts +4 -3
- package/dist/components/errors/ErrorFallback.d.ts.map +1 -1
- package/dist/components/errors/GlobalErrorBoundary.d.ts +3 -2
- package/dist/components/errors/GlobalErrorBoundary.d.ts.map +1 -1
- package/dist/components/errors/NoActiveWorkspace.d.ts +2 -1
- package/dist/components/errors/NoActiveWorkspace.d.ts.map +1 -1
- package/dist/components/errors/RouteErrorBoundary.d.ts +3 -2
- package/dist/components/errors/RouteErrorBoundary.d.ts.map +1 -1
- package/dist/components/favorites/FavoritesBar.d.ts +3 -2
- package/dist/components/favorites/FavoritesBar.d.ts.map +1 -1
- package/dist/components/favorites/FavoritesModal.d.ts +4 -3
- package/dist/components/favorites/FavoritesModal.d.ts.map +1 -1
- package/dist/components/layout/AdminHeader.d.ts +3 -2
- package/dist/components/layout/AdminHeader.d.ts.map +1 -1
- package/dist/components/layout/AdminSidebar.d.ts +4 -3
- package/dist/components/layout/AdminSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppHeader.d.ts +3 -2
- package/dist/components/layout/AppHeader.d.ts.map +1 -1
- package/dist/components/layout/BusinessHeader.d.ts +3 -2
- package/dist/components/layout/BusinessHeader.d.ts.map +1 -1
- package/dist/components/layout/Footer.d.ts +2 -1
- package/dist/components/layout/Footer.d.ts.map +1 -1
- package/dist/components/layout/Header.d.ts +2 -1
- package/dist/components/layout/Header.d.ts.map +1 -1
- package/dist/components/layout/ModuleSidebar.d.ts +4 -3
- package/dist/components/layout/ModuleSidebar.d.ts.map +1 -1
- package/dist/components/layout/ResizableMainContent.d.ts +3 -2
- package/dist/components/layout/ResizableMainContent.d.ts.map +1 -1
- package/dist/components/layout/UserHeader.d.ts +3 -2
- package/dist/components/layout/UserHeader.d.ts.map +1 -1
- package/dist/components/layout/UserSidebar.d.ts +4 -3
- package/dist/components/layout/UserSidebar.d.ts.map +1 -1
- package/dist/components/license/FeatureGate.d.ts +6 -6
- package/dist/components/license/FeatureGate.d.ts.map +1 -1
- package/dist/components/license/FeatureRouteGuard.d.ts +3 -2
- package/dist/components/license/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/components/license/LicenseActivationDialog.d.ts +4 -3
- package/dist/components/license/LicenseActivationDialog.d.ts.map +1 -1
- package/dist/components/license/LicenseAlertBanner.d.ts +2 -1
- package/dist/components/license/LicenseAlertBanner.d.ts.map +1 -1
- package/dist/components/license/LicenseBlockOverlay.d.ts +2 -1
- package/dist/components/license/LicenseBlockOverlay.d.ts.map +1 -1
- package/dist/components/license/LicenseContentBanner.d.ts +2 -1
- package/dist/components/license/LicenseContentBanner.d.ts.map +1 -1
- package/dist/components/license/LicenseGuard.d.ts +2 -1
- package/dist/components/license/LicenseGuard.d.ts.map +1 -1
- package/dist/components/license/LicenseStatusBadge.d.ts +3 -2
- package/dist/components/license/LicenseStatusBadge.d.ts.map +1 -1
- package/dist/components/notifications/NotificationBell.d.ts +2 -1
- package/dist/components/notifications/NotificationBell.d.ts.map +1 -1
- package/dist/components/platform/administration/ApplicationAccessCustomizeDrawer.d.ts +9 -8
- package/dist/components/platform/administration/ApplicationAccessCustomizeDrawer.d.ts.map +1 -1
- package/dist/components/platform/administration/ApplicationCard.d.ts +8 -8
- package/dist/components/platform/administration/ApplicationCard.d.ts.map +1 -1
- package/dist/components/platform/administration/ConflictDiffView.d.ts +4 -3
- package/dist/components/platform/administration/ConflictDiffView.d.ts.map +1 -1
- package/dist/components/platform/administration/EntraGroupRoleAssignment.d.ts +8 -7
- package/dist/components/platform/administration/EntraGroupRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupApplicationsTab.d.ts +4 -3
- package/dist/components/platform/administration/GroupApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupMembersTab.d.ts +5 -4
- package/dist/components/platform/administration/GroupMembersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupPermissionsView.d.ts +3 -2
- package/dist/components/platform/administration/GroupPermissionsView.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupRoleAssignment.d.ts +10 -9
- package/dist/components/platform/administration/GroupRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupTenantsTab.d.ts +4 -3
- package/dist/components/platform/administration/GroupTenantsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionDrillDownBar.d.ts +8 -7
- package/dist/components/platform/administration/PermissionDrillDownBar.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionMatrixFilters.d.ts +10 -9
- package/dist/components/platform/administration/PermissionMatrixFilters.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionMatrixTable.d.ts +15 -14
- package/dist/components/platform/administration/PermissionMatrixTable.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionPopover.d.ts +12 -11
- package/dist/components/platform/administration/PermissionPopover.d.ts.map +1 -1
- package/dist/components/platform/administration/TenantAccessCustomizeDrawer.d.ts +8 -7
- package/dist/components/platform/administration/TenantAccessCustomizeDrawer.d.ts.map +1 -1
- package/dist/components/platform/administration/TenantEntraTab.d.ts +5 -4
- package/dist/components/platform/administration/TenantEntraTab.d.ts.map +1 -1
- package/dist/components/platform/administration/UserGroupsTab.d.ts +4 -3
- package/dist/components/platform/administration/UserGroupsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/UserRoleAssignment.d.ts +13 -12
- package/dist/components/platform/administration/UserRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestApprovalModal.d.ts +8 -7
- package/dist/components/platform/administration/access-requests/AccessRequestApprovalModal.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestStatusBadge.d.ts +3 -2
- package/dist/components/platform/administration/access-requests/AccessRequestStatusBadge.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestsListTab.d.ts +6 -5
- package/dist/components/platform/administration/access-requests/AccessRequestsListTab.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/RequestAccessButton.d.ts +6 -5
- package/dist/components/platform/administration/access-requests/RequestAccessButton.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiModelsTab.d.ts +6 -5
- package/dist/components/platform/administration/ai/AiModelsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiProfilesTab.d.ts +18 -17
- package/dist/components/platform/administration/ai/AiProfilesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiProvidersTab.d.ts +3 -2
- package/dist/components/platform/administration/ai/AiProvidersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/PromptTestPanel.d.ts +4 -3
- package/dist/components/platform/administration/ai/PromptTestPanel.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationAccessTab.d.ts +4 -3
- package/dist/components/platform/administration/applications/ApplicationAccessTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationInfoTab.d.ts +16 -16
- package/dist/components/platform/administration/applications/ApplicationInfoTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationModulesTab.d.ts +30 -29
- package/dist/components/platform/administration/applications/ApplicationModulesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationPermissionsTab.d.ts +5 -4
- package/dist/components/platform/administration/applications/ApplicationPermissionsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationPublicationTab.d.ts +49 -49
- package/dist/components/platform/administration/applications/ApplicationPublicationTab.d.ts.map +1 -1
- package/dist/components/platform/administration/entra/ConflictCard.d.ts +5 -4
- package/dist/components/platform/administration/entra/ConflictCard.d.ts.map +1 -1
- package/dist/components/platform/administration/entra/ResolutionModal.d.ts +6 -5
- package/dist/components/platform/administration/entra/ResolutionModal.d.ts.map +1 -1
- package/dist/components/platform/administration/organisations/CreateOrganisationForm.d.ts +8 -7
- package/dist/components/platform/administration/organisations/CreateOrganisationForm.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/GroupPermissionMatrix.d.ts +6 -5
- package/dist/components/platform/administration/permissions/GroupPermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/PermissionStatusIndicator.d.ts +6 -5
- package/dist/components/platform/administration/permissions/PermissionStatusIndicator.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/RolePermissionMatrix.d.ts +3 -2
- package/dist/components/platform/administration/permissions/RolePermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/UserPermissionMatrix.d.ts +5 -4
- package/dist/components/platform/administration/permissions/UserPermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/settings/SettingsHistoryModal.d.ts +2 -1
- package/dist/components/platform/administration/settings/SettingsHistoryModal.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantApplicationsTab.d.ts +55 -54
- package/dist/components/platform/administration/tenants/TenantApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantGroupsTab.d.ts +8 -7
- package/dist/components/platform/administration/tenants/TenantGroupsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantMembersTab.d.ts +8 -7
- package/dist/components/platform/administration/tenants/TenantMembersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantOverviewTab.d.ts +12 -11
- package/dist/components/platform/administration/tenants/TenantOverviewTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantRolesTab.d.ts +2 -1
- package/dist/components/platform/administration/tenants/TenantRolesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantSupportSettingsTab.d.ts +4 -3
- package/dist/components/platform/administration/tenants/TenantSupportSettingsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserActivitySessionsTab.d.ts +8 -7
- package/dist/components/platform/administration/users/UserActivitySessionsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserApplicationsTab.d.ts +4 -3
- package/dist/components/platform/administration/users/UserApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserHistoryTab.d.ts +7 -6
- package/dist/components/platform/administration/users/UserHistoryTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserInfoTab.d.ts +15 -14
- package/dist/components/platform/administration/users/UserInfoTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserSecurityTab.d.ts +23 -22
- package/dist/components/platform/administration/users/UserSecurityTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserTenantsTab.d.ts +22 -21
- package/dist/components/platform/administration/users/UserTenantsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/workflows/WorkflowStepsEditor.d.ts +6 -5
- package/dist/components/platform/administration/workflows/WorkflowStepsEditor.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppAuditTab.d.ts +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppAuditTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppExportsTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppExportsTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppInfoTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppInfoTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppKeysTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppKeysTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppPromptTab.d.ts +3 -2
- package/dist/components/platform/api/external-apps/ExternalAppPromptTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppRolesTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppRolesTab.d.ts.map +1 -1
- package/dist/components/platform/support/ActivityTimeline.d.ts +5 -4
- package/dist/components/platform/support/ActivityTimeline.d.ts.map +1 -1
- package/dist/components/platform/support/AiClassificationBadge.d.ts +7 -6
- package/dist/components/platform/support/AiClassificationBadge.d.ts.map +1 -1
- package/dist/components/platform/support/AiRoutingSuggestionPanel.d.ts +9 -8
- package/dist/components/platform/support/AiRoutingSuggestionPanel.d.ts.map +1 -1
- package/dist/components/platform/support/AiTicketSummary.d.ts +8 -7
- package/dist/components/platform/support/AiTicketSummary.d.ts.map +1 -1
- package/dist/components/platform/support/FilePreviewModal.d.ts +6 -5
- package/dist/components/platform/support/FilePreviewModal.d.ts.map +1 -1
- package/dist/components/platform/support/ScreenshotAnnotator.d.ts +6 -5
- package/dist/components/platform/support/ScreenshotAnnotator.d.ts.map +1 -1
- package/dist/components/platform/support/SlaBadge.d.ts +12 -11
- package/dist/components/platform/support/SlaBadge.d.ts.map +1 -1
- package/dist/components/platform/support/TemplatePicker.d.ts +6 -5
- package/dist/components/platform/support/TemplatePicker.d.ts.map +1 -1
- package/dist/components/platform/support/TicketConversation.d.ts +31 -30
- package/dist/components/platform/support/TicketConversation.d.ts.map +1 -1
- package/dist/components/platform/support/TicketDetailView.d.ts +3 -2
- package/dist/components/platform/support/TicketDetailView.d.ts.map +1 -1
- package/dist/components/platform/support/TicketSidebar.d.ts +19 -18
- package/dist/components/platform/support/TicketSidebar.d.ts.map +1 -1
- package/dist/components/platform/support/TicketSolutionPanel.d.ts +10 -9
- package/dist/components/platform/support/TicketSolutionPanel.d.ts.map +1 -1
- package/dist/components/platform/support/TicketWorkflow.d.ts +10 -9
- package/dist/components/platform/support/TicketWorkflow.d.ts.map +1 -1
- package/dist/components/platform/support/TicketWorkflowHorizontal.d.ts +19 -18
- package/dist/components/platform/support/TicketWorkflowHorizontal.d.ts.map +1 -1
- package/dist/components/platform/support/TicketsListView.d.ts +8 -7
- package/dist/components/platform/support/TicketsListView.d.ts.map +1 -1
- package/dist/components/routing/DocRoutes.d.ts +1 -1
- package/dist/components/routing/DocRoutes.d.ts.map +1 -1
- package/dist/components/routing/DynamicRouter.d.ts +2 -1
- package/dist/components/routing/DynamicRouter.d.ts.map +1 -1
- package/dist/components/routing/ProtectedRoute.d.ts +2 -1
- package/dist/components/routing/ProtectedRoute.d.ts.map +1 -1
- package/dist/components/routing/TenantNavigate.d.ts +4 -3
- package/dist/components/routing/TenantNavigate.d.ts.map +1 -1
- package/dist/components/routing/TenantRouteWrapper.d.ts +2 -1
- package/dist/components/routing/TenantRouteWrapper.d.ts.map +1 -1
- package/dist/components/session/SessionProvider.d.ts +2 -1
- package/dist/components/session/SessionProvider.d.ts.map +1 -1
- package/dist/components/session/SessionWarningModal.d.ts +6 -5
- package/dist/components/session/SessionWarningModal.d.ts.map +1 -1
- package/dist/components/tenants/TenantCard.d.ts +13 -12
- package/dist/components/tenants/TenantCard.d.ts.map +1 -1
- package/dist/components/tickets/CreateTicketButton.d.ts +4 -3
- package/dist/components/tickets/CreateTicketButton.d.ts.map +1 -1
- package/dist/components/tracking/PageTracker.d.ts +2 -1
- package/dist/components/tracking/PageTracker.d.ts.map +1 -1
- package/dist/components/tracking/TenantTracker.d.ts +2 -1
- package/dist/components/tracking/TenantTracker.d.ts.map +1 -1
- package/dist/components/ui/AppSwitcher.d.ts +2 -1
- package/dist/components/ui/AppSwitcher.d.ts.map +1 -1
- package/dist/components/ui/AvatarMenu.d.ts +2 -1
- package/dist/components/ui/AvatarMenu.d.ts.map +1 -1
- package/dist/components/ui/Breadcrumb.d.ts +7 -6
- package/dist/components/ui/Breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/ConfirmModal.d.ts +11 -11
- package/dist/components/ui/ConfirmModal.d.ts.map +1 -1
- package/dist/components/ui/DataTable.d.ts +2 -1
- package/dist/components/ui/DataTable.d.ts.map +1 -1
- package/dist/components/ui/DataView.d.ts +54 -53
- package/dist/components/ui/DataView.d.ts.map +1 -1
- package/dist/components/ui/DocEdgeButton.d.ts +2 -1
- package/dist/components/ui/DocEdgeButton.d.ts.map +1 -1
- package/dist/components/ui/DocPanel.d.ts +2 -1
- package/dist/components/ui/DocPanel.d.ts.map +1 -1
- package/dist/components/ui/DocToggleButton.d.ts +4 -3
- package/dist/components/ui/DocToggleButton.d.ts.map +1 -1
- package/dist/components/ui/Drawer.d.ts +9 -8
- package/dist/components/ui/Drawer.d.ts.map +1 -1
- package/dist/components/ui/EntityCard.d.ts +75 -74
- package/dist/components/ui/EntityCard.d.ts.map +1 -1
- package/dist/components/ui/KanbanBoard.d.ts +23 -22
- package/dist/components/ui/KanbanBoard.d.ts.map +1 -1
- package/dist/components/ui/LanguageSwitcher.d.ts +2 -1
- package/dist/components/ui/LanguageSwitcher.d.ts.map +1 -1
- package/dist/components/ui/PageHeader.d.ts +6 -6
- package/dist/components/ui/PageHeader.d.ts.map +1 -1
- package/dist/components/ui/PageLoader.d.ts +2 -1
- package/dist/components/ui/PageLoader.d.ts.map +1 -1
- package/dist/components/ui/PermissionMatrix.d.ts +2 -1
- package/dist/components/ui/PermissionMatrix.d.ts.map +1 -1
- package/dist/components/ui/ProtectedButton.d.ts +9 -8
- package/dist/components/ui/ProtectedButton.d.ts.map +1 -1
- package/dist/components/ui/RestrictedModuleBanner.d.ts +2 -1
- package/dist/components/ui/RestrictedModuleBanner.d.ts.map +1 -1
- package/dist/components/ui/ScopeBanner.d.ts +5 -4
- package/dist/components/ui/ScopeBanner.d.ts.map +1 -1
- package/dist/components/ui/SelectWithOther.d.ts +10 -9
- package/dist/components/ui/SelectWithOther.d.ts.map +1 -1
- package/dist/components/ui/SortableList.d.ts +6 -5
- package/dist/components/ui/SortableList.d.ts.map +1 -1
- package/dist/components/ui/TenantScopeFilter.d.ts +8 -7
- package/dist/components/ui/TenantScopeFilter.d.ts.map +1 -1
- package/dist/components/ui/TenantScopeSelector.d.ts +8 -7
- package/dist/components/ui/TenantScopeSelector.d.ts.map +1 -1
- package/dist/components/ui/TenantSelector.d.ts +2 -1
- package/dist/components/ui/TenantSelector.d.ts.map +1 -1
- package/dist/components/ui/ThemeCustomizer.d.ts +5 -4
- package/dist/components/ui/ThemeCustomizer.d.ts.map +1 -1
- package/dist/components/ui/ThemeScopeSelector.d.ts +3 -2
- package/dist/components/ui/ThemeScopeSelector.d.ts.map +1 -1
- package/dist/components/ui/ThemeSwitcher.d.ts +2 -1
- package/dist/components/ui/ThemeSwitcher.d.ts.map +1 -1
- package/dist/components/ui/Tooltip.d.ts +14 -13
- package/dist/components/ui/Tooltip.d.ts.map +1 -1
- package/dist/components/ui/UnderDevelopment.d.ts +8 -7
- package/dist/components/ui/UnderDevelopment.d.ts.map +1 -1
- package/dist/components/ui/UnlockAccountModal.d.ts +6 -5
- package/dist/components/ui/UnlockAccountModal.d.ts.map +1 -1
- package/dist/components/ui/ViewModeToggle.d.ts +4 -3
- package/dist/components/ui/ViewModeToggle.d.ts.map +1 -1
- package/dist/contexts/AuthContext.d.ts +2 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/contexts/DocPanelContext.d.ts +2 -1
- package/dist/contexts/DocPanelContext.d.ts.map +1 -1
- package/dist/contexts/FavoritesContext.d.ts +2 -1
- package/dist/contexts/FavoritesContext.d.ts.map +1 -1
- package/dist/contexts/FeatureConfigContext.d.ts +3 -2
- package/dist/contexts/FeatureConfigContext.d.ts.map +1 -1
- package/dist/contexts/LicenseContext.d.ts +2 -1
- package/dist/contexts/LicenseContext.d.ts.map +1 -1
- package/dist/contexts/NavigationContext.d.ts +2 -1
- package/dist/contexts/NavigationContext.d.ts.map +1 -1
- package/dist/contexts/SidebarContext.d.ts +2 -1
- package/dist/contexts/SidebarContext.d.ts.map +1 -1
- package/dist/contexts/SignalRContext.d.ts +2 -1
- package/dist/contexts/SignalRContext.d.ts.map +1 -1
- package/dist/contexts/TenantContext.d.ts +2 -1
- package/dist/contexts/TenantContext.d.ts.map +1 -1
- package/dist/contexts/ThemeContext.d.ts +2 -1
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/extensions/ExtensionContext.d.ts +4 -3
- package/dist/extensions/ExtensionContext.d.ts.map +1 -1
- package/dist/extensions/PageRegistry.d.ts +6 -5
- package/dist/extensions/PageRegistry.d.ts.map +1 -1
- package/dist/extensions/SlotFill.d.ts +13 -13
- package/dist/extensions/SlotFill.d.ts.map +1 -1
- package/dist/extensions/types.d.ts +10 -10
- package/dist/extensions/types.d.ts.map +1 -1
- package/dist/hooks/useAccessRequestActions.d.ts.map +1 -1
- package/dist/hooks/useAccessRequests.d.ts.map +1 -1
- package/dist/hooks/useAdminTenants.d.ts.map +1 -1
- package/dist/hooks/useClientContext.d.ts.map +1 -1
- package/dist/hooks/useCollapsibleState.d.ts.map +1 -1
- package/dist/hooks/useCreateSupportTicket.d.ts +23 -21
- package/dist/hooks/useCreateSupportTicket.d.ts.map +1 -1
- package/dist/hooks/useLocale.d.ts.map +1 -1
- package/dist/hooks/useLoginForm.d.ts +5 -4
- package/dist/hooks/useLoginForm.d.ts.map +1 -1
- package/dist/hooks/useNotifications.d.ts.map +1 -1
- package/dist/hooks/usePageTracking.d.ts.map +1 -1
- package/dist/hooks/usePagination.d.ts +1 -1
- package/dist/hooks/usePagination.d.ts.map +1 -1
- package/dist/hooks/usePermissionSync.d.ts +2 -1
- package/dist/hooks/usePermissionSync.d.ts.map +1 -1
- package/dist/hooks/useRestrictedModuleCheck.d.ts.map +1 -1
- package/dist/hooks/useSessionMonitor.d.ts +7 -5
- package/dist/hooks/useSessionMonitor.d.ts.map +1 -1
- package/dist/hooks/useSettingsSection.d.ts.map +1 -1
- package/dist/hooks/useSignalR.d.ts.map +1 -1
- package/dist/hooks/useTenantCreateForm.d.ts +24 -22
- package/dist/hooks/useTenantCreateForm.d.ts.map +1 -1
- package/dist/hooks/useTenantFavorites.d.ts.map +1 -1
- package/dist/hooks/useTenantFilters.d.ts.map +1 -1
- package/dist/hooks/useTenantTracking.d.ts.map +1 -1
- package/dist/hooks/useTicketSignalR.d.ts.map +1 -1
- package/dist/hooks/useUserAccessRequests.d.ts.map +1 -1
- package/dist/i18n/config.d.ts +1 -1
- package/dist/i18n/config.d.ts.map +1 -1
- package/dist/{index-DGeNdATi.js → index-3lcyR754.js} +2 -2
- package/dist/{index-DGeNdATi.js.map → index-3lcyR754.js.map} +1 -1
- package/dist/{index-DJXny6rD.cjs → index-AM9K908G.cjs} +2 -2
- package/dist/{index-DJXny6rD.cjs.map → index-AM9K908G.cjs.map} +1 -1
- package/dist/{index-ASxPhrgZ.cjs → index-BASU1QDx.cjs} +2 -2
- package/dist/index-BASU1QDx.cjs.map +1 -0
- package/dist/{index-ChVCBF4t.js → index-BBFFDXgT.js} +2 -2
- package/dist/{index-ChVCBF4t.js.map → index-BBFFDXgT.js.map} +1 -1
- package/dist/{index-C54HbULX.cjs → index-BBQMnq4P.cjs} +2 -2
- package/dist/index-BBQMnq4P.cjs.map +1 -0
- package/dist/{index-CUISVUMx.js → index-BEOtfRxa.js} +16 -16
- package/dist/index-BEOtfRxa.js.map +1 -0
- package/dist/{index-D4u23zHI.js → index-BEeLN5ui.js} +24 -24
- package/dist/index-BEeLN5ui.js.map +1 -0
- package/dist/{index-Du4fQfix.cjs → index-BEpBEF5G.cjs} +2 -2
- package/dist/index-BEpBEF5G.cjs.map +1 -0
- package/dist/{index-BlHDI4zj.js → index-BIB3FxMF.js} +14 -14
- package/dist/index-BIB3FxMF.js.map +1 -0
- package/dist/{index-Txfokhn3.cjs → index-BVUCDL0k.cjs} +2 -2
- package/dist/index-BVUCDL0k.cjs.map +1 -0
- package/dist/{index-jpSTOjXU.js → index-BYYgvEcO.js} +17 -17
- package/dist/index-BYYgvEcO.js.map +1 -0
- package/dist/{index-CU66n-zU.js → index-B_lFRwmY.js} +13 -13
- package/dist/index-B_lFRwmY.js.map +1 -0
- package/dist/{index-Blfc9wKG.js → index-Bbd3D6A4.js} +8 -8
- package/dist/index-Bbd3D6A4.js.map +1 -0
- package/dist/index-BfMaHuWh.cjs +48 -0
- package/dist/index-BfMaHuWh.cjs.map +1 -0
- package/dist/index-C0AgM8YN.cjs.map +1 -1
- package/dist/index-C0rFTzxZ.cjs +2 -0
- package/dist/index-C0rFTzxZ.cjs.map +1 -0
- package/dist/{index-By0u9UFY.js → index-CCS0saZk.js} +10 -10
- package/dist/index-CCS0saZk.js.map +1 -0
- package/dist/{index-C40Dlolq.js → index-CID51vRa.js} +28 -28
- package/dist/index-CID51vRa.js.map +1 -0
- package/dist/index-CO5QP9C1.cjs +2 -0
- package/dist/index-CO5QP9C1.cjs.map +1 -0
- package/dist/{index-CI1DJrFE.js → index-CaI6ZbEo.js} +12 -12
- package/dist/index-CaI6ZbEo.js.map +1 -0
- package/dist/{index-DKRiN1hJ.cjs → index-CaLDUVLs.cjs} +2 -2
- package/dist/{index-DKRiN1hJ.cjs.map → index-CaLDUVLs.cjs.map} +1 -1
- package/dist/index-CdORB0b4.cjs.map +1 -1
- package/dist/{index-Dxau-XnQ.cjs → index-Cdu0fSs8.cjs} +2 -2
- package/dist/index-Cdu0fSs8.cjs.map +1 -0
- package/dist/{index-Bup-dL1l.cjs → index-CiAIT31Y.cjs} +2 -2
- package/dist/{index-Bup-dL1l.cjs.map → index-CiAIT31Y.cjs.map} +1 -1
- package/dist/{index-ClIOix1g.js → index-ClrwWu9J.js} +2 -2
- package/dist/{index-ClIOix1g.js.map → index-ClrwWu9J.js.map} +1 -1
- package/dist/{index-DdsLBKHV.cjs → index-CtcTcQqt.cjs} +2 -2
- package/dist/{index-DdsLBKHV.cjs.map → index-CtcTcQqt.cjs.map} +1 -1
- package/dist/{index-DM5ogbum.js → index-CzCt3Aan.js} +2 -2
- package/dist/{index-DM5ogbum.js.map → index-CzCt3Aan.js.map} +1 -1
- package/dist/index-D1WPBG1_.cjs +2 -0
- package/dist/index-D1WPBG1_.cjs.map +1 -0
- package/dist/{index-Dsbkiw3B.js → index-DA3kbmS5.js} +2 -2
- package/dist/{index-Dsbkiw3B.js.map → index-DA3kbmS5.js.map} +1 -1
- package/dist/{index-D6zlXbv_.js → index-DE40yc39.js} +2 -2
- package/dist/{index-D6zlXbv_.js.map → index-DE40yc39.js.map} +1 -1
- package/dist/{index-DmuVa7Ye.cjs → index-DIuoVYFu.cjs} +2 -2
- package/dist/index-DIuoVYFu.cjs.map +1 -0
- package/dist/{index-DDJTWztK.cjs → index-DLSMVKFE.cjs} +2 -2
- package/dist/{index-DDJTWztK.cjs.map → index-DLSMVKFE.cjs.map} +1 -1
- package/dist/index-DQBVnnd6.cjs +2 -0
- package/dist/index-DQBVnnd6.cjs.map +1 -0
- package/dist/{index-BYhFG50Z.cjs → index-DRT2wvEs.cjs} +2 -2
- package/dist/index-DRT2wvEs.cjs.map +1 -0
- package/dist/{index-Cv7iWoG8.js → index-DRc5qb2I.js} +15 -15
- package/dist/index-DRc5qb2I.js.map +1 -0
- package/dist/index-DTAZtzQ6.js.map +1 -1
- package/dist/{index-BnWMDCRU.cjs → index-DYJbiXHU.cjs} +2 -2
- package/dist/index-DYJbiXHU.cjs.map +1 -0
- package/dist/{index-D8xuGyjU.js → index-DhVauF9E.js} +16 -16
- package/dist/index-DhVauF9E.js.map +1 -0
- package/dist/index-DiQ2SDvl.js.map +1 -1
- package/dist/{index-BcO3pBlL.js → index-Dm5ZLB9x.js} +14 -14
- package/dist/index-Dm5ZLB9x.js.map +1 -0
- package/dist/{index-CBOLnJkG.cjs → index-HWG-CG1i.cjs} +2 -2
- package/dist/index-HWG-CG1i.cjs.map +1 -0
- package/dist/{index-0Jhdcj59.js → index-Kn_ynW2m.js} +3298 -3200
- package/dist/index-Kn_ynW2m.js.map +1 -0
- package/dist/{index-B2rKKVDN.js → index-L994YeGJ.js} +7 -7
- package/dist/index-L994YeGJ.js.map +1 -0
- package/dist/{index-1tvWzIw0.cjs → index-OhzFdH9N.cjs} +2 -2
- package/dist/{index-1tvWzIw0.cjs.map → index-OhzFdH9N.cjs.map} +1 -1
- package/dist/{index-CnmIX2MY.js → index-Z6aHkjiA.js} +23 -20
- package/dist/index-Z6aHkjiA.js.map +1 -0
- package/dist/index-p2jNjCTo.cjs +2 -0
- package/dist/index-p2jNjCTo.cjs.map +1 -0
- package/dist/{index-DwATtWun.js → index-vUb_gIjC.js} +11 -11
- package/dist/index-vUb_gIjC.js.map +1 -0
- package/dist/{index-eAHjmtzn.cjs → index-xCGnOlox.cjs} +2 -2
- package/dist/index-xCGnOlox.cjs.map +1 -0
- package/dist/layouts/AdminLayout.d.ts +2 -1
- package/dist/layouts/AdminLayout.d.ts.map +1 -1
- package/dist/layouts/AppLayout.d.ts +2 -1
- package/dist/layouts/AppLayout.d.ts.map +1 -1
- package/dist/layouts/AuthLayout.d.ts +2 -1
- package/dist/layouts/AuthLayout.d.ts.map +1 -1
- package/dist/layouts/BusinessLayout.d.ts +2 -1
- package/dist/layouts/BusinessLayout.d.ts.map +1 -1
- package/dist/layouts/DocsLayout.d.ts +2 -1
- package/dist/layouts/DocsLayout.d.ts.map +1 -1
- package/dist/layouts/PublicLayout.d.ts +2 -1
- package/dist/layouts/PublicLayout.d.ts.map +1 -1
- package/dist/layouts/UserLayout.d.ts +2 -1
- package/dist/layouts/UserLayout.d.ts.map +1 -1
- package/dist/pages/ApplicationsPage.d.ts +2 -1
- package/dist/pages/ApplicationsPage.d.ts.map +1 -1
- package/dist/pages/HomePage.d.ts +2 -1
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/LoginPage.d.ts +2 -1
- package/dist/pages/LoginPage.d.ts.map +1 -1
- package/dist/pages/NotFoundPage.d.ts +2 -1
- package/dist/pages/NotFoundPage.d.ts.map +1 -1
- package/dist/pages/auth/AuthCallbackPage.d.ts +2 -1
- package/dist/pages/auth/AuthCallbackPage.d.ts.map +1 -1
- package/dist/pages/auth/ConfirmEmailPage.d.ts +2 -1
- package/dist/pages/auth/ConfirmEmailPage.d.ts.map +1 -1
- package/dist/pages/auth/ForceChangePasswordPage.d.ts +2 -1
- package/dist/pages/auth/ForceChangePasswordPage.d.ts.map +1 -1
- package/dist/pages/auth/ForgotPasswordPage.d.ts +2 -1
- package/dist/pages/auth/ForgotPasswordPage.d.ts.map +1 -1
- package/dist/pages/auth/OnboardingWizardPage.d.ts +2 -1
- package/dist/pages/auth/OnboardingWizardPage.d.ts.map +1 -1
- package/dist/pages/auth/RegisterPage.d.ts +2 -1
- package/dist/pages/auth/RegisterPage.d.ts.map +1 -1
- package/dist/pages/auth/ResetPasswordPage.d.ts +2 -1
- package/dist/pages/auth/ResetPasswordPage.d.ts.map +1 -1
- package/dist/pages/business/BusinessApplicationsGridPage.d.ts +2 -1
- package/dist/pages/business/BusinessApplicationsGridPage.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/ai/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/ai/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/applications/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/applications/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/configuration/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/configuration/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/configuration/license/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/configuration/license/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/entra/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/entra/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/permissions/assignments/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/permissions/assignments/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/permissions/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/permissions/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/access-requests/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/access-requests/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/applications/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/applications/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/business/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/business/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/organisations/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/organisations/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/other/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/other/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/personal/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/personal/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/template/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/template/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/dashboard/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/dashboard/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/groups/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/groups/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/references/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/references/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/workflows/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/workflows/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/support/tickets/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/support/tickets/index.d.ts.map +1 -1
- package/dist/pages/notifications/NotificationsPage.d.ts +2 -1
- package/dist/pages/notifications/NotificationsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/MyAccessRequestsPage.d.ts +2 -1
- package/dist/pages/personal/myspace/MyAccessRequestsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/MyTenantsPage.d.ts +2 -1
- package/dist/pages/personal/myspace/MyTenantsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/PortalDashboardPage.d.ts +2 -1
- package/dist/pages/personal/myspace/PortalDashboardPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/PreferencesPage.d.ts +2 -1
- package/dist/pages/personal/myspace/PreferencesPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/ProfilePage.d.ts +2 -1
- package/dist/pages/personal/myspace/ProfilePage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/UserDashboardPage.d.ts +2 -1
- package/dist/pages/personal/myspace/UserDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/DashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/DashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiMonitoringPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiMonitoringPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiPromptsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiPromptsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiPromptsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiPromptsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSkillsDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSkillsDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSkillsEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSkillsEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/ApplicationDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationsGridPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/ApplicationsGridPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/NavigationAppsPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/NavigationAppsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/AppSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/AppSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/AuthenticationSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/AuthenticationSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/EmailSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/EmailSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/EntraSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/EntraSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/InfrastructureSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/InfrastructureSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/LoggingSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/LoggingSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/license/LicenseManagementPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/license/LicenseManagementPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/FileUploadSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/FileUploadSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/GeneralSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/GeneralSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/LegalFileSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/LegalFileSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/SettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/SettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/StorageInfoSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/StorageInfoSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraConflictsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraConflictsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraGroupsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraGroupsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraUsersPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraUsersPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/AssignmentsPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/AssignmentsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/PermissionDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/PermissionDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/PermissionsPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/PermissionsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/RoleDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/RoleDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/RolesPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/RolesPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantAccessRequestsPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantAccessRequestsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsBusinessPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsBusinessPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsOtherPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsOtherPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsPage.d.ts +4 -3
- package/dist/pages/platform/administration/tenants/TenantsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsPersonalPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsPersonalPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsSystemPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsSystemPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsTemplatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsTemplatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/GroupDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/GroupDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/ReferencesManagementPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/ReferencesManagementPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/ReferencesPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/ReferencesPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UserDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UserDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UsersGroupsPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UsersGroupsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UsersPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UsersPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplatesListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplatesListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/SmsTemplatesListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/SmsTemplatesListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowHistoryPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowHistoryPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowsTriggersPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowsTriggersPage.d.ts.map +1 -1
- package/dist/pages/platform/api/apis/ApiCatalogDetailPage.d.ts +2 -1
- package/dist/pages/platform/api/apis/ApiCatalogDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/api/apis/ApiCatalogPage.d.ts +2 -1
- package/dist/pages/platform/api/apis/ApiCatalogPage.d.ts.map +1 -1
- package/dist/pages/platform/api/external-apps/ExternalAppDetailPage.d.ts +2 -1
- package/dist/pages/platform/api/external-apps/ExternalAppDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/api/external-apps/ExternalAppsListPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AgentSkillsPage.d.ts +2 -1
- package/dist/pages/platform/support/AgentSkillsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AgentWorkloadPage.d.ts +2 -1
- package/dist/pages/platform/support/AgentWorkloadPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AssignmentRulesPage.d.ts +2 -1
- package/dist/pages/platform/support/AssignmentRulesPage.d.ts.map +1 -1
- package/dist/pages/platform/support/CreateSupportTicketPage.d.ts +2 -1
- package/dist/pages/platform/support/CreateSupportTicketPage.d.ts.map +1 -1
- package/dist/pages/platform/support/DashboardPage.d.ts +2 -1
- package/dist/pages/platform/support/DashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/support/EscalationConfigPage.d.ts +2 -1
- package/dist/pages/platform/support/EscalationConfigPage.d.ts.map +1 -1
- package/dist/pages/platform/support/MyAgentTicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/MyAgentTicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/MyTicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/MyTicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/SlaConfigPage.d.ts +2 -1
- package/dist/pages/platform/support/SlaConfigPage.d.ts.map +1 -1
- package/dist/pages/platform/support/SupportPermissionsPage.d.ts +2 -1
- package/dist/pages/platform/support/SupportPermissionsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TemplatesPage.d.ts +2 -1
- package/dist/pages/platform/support/TemplatesPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TestBugPage.d.ts +2 -1
- package/dist/pages/platform/support/TestBugPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TicketDetailPage.d.ts +2 -1
- package/dist/pages/platform/support/TicketDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/TicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/UserCreateTicketPage.d.ts +2 -1
- package/dist/pages/platform/support/UserCreateTicketPage.d.ts.map +1 -1
- package/dist/pages/platform/support/UserTicketDetailPage.d.ts +2 -1
- package/dist/pages/platform/support/UserTicketDetailPage.d.ts.map +1 -1
- package/dist/pages/system/docs/DocsIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/DocsIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/SmartStackPresentationPage.d.ts +2 -1
- package/dist/pages/system/docs/SmartStackPresentationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/BaIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/ba/BaIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/BaViewerPage.d.ts +2 -1
- package/dist/pages/system/docs/ba/BaViewerPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/CadrageTab.d.ts +3 -2
- package/dist/pages/system/docs/ba/components/CadrageTab.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/SpecificationTab.d.ts +4 -3
- package/dist/pages/system/docs/ba/components/SpecificationTab.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/SyntheseTab.d.ts +3 -2
- package/dist/pages/system/docs/ba/components/SyntheseTab.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/CrossSchemaFkPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/CrossSchemaFkPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DatabasePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DatabasePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DeveloperIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DeveloperIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DualDbContextPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DualDbContextPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/InfrastructurePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/InfrastructurePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/InstallationPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/InstallationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/TeamsIntegrationPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/TeamsIntegrationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/MultiTenantModePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/MultiTenantModePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/TenantB2CPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/TenantB2CPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/TenantIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/TenantIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/testing/SecurityTestingPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/testing/SecurityTestingPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/AiDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/AiDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ArchitecturePage.d.ts +2 -1
- package/dist/pages/system/docs/user/ArchitecturePage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ModulesPage.d.ts +2 -1
- package/dist/pages/system/docs/user/ModulesPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SettingsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SettingsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SlaDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SlaDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportDashboardDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportDashboardDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportEscalationDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportEscalationDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportMyTicketsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportMyTicketsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportTemplatesDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportTemplatesDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportTicketsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportTicketsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ThemeDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/ThemeDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/UserIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/user/UserIndexPage.d.ts.map +1 -1
- package/dist/provider/SmartStackProvider.d.ts +4 -3
- package/dist/provider/SmartStackProvider.d.ts.map +1 -1
- package/dist/services/api/adminApi/applications.d.ts +4 -1
- package/dist/services/api/adminApi/applications.d.ts.map +1 -1
- package/dist/services/api/adminApi/dashboard.d.ts +4 -1
- package/dist/services/api/adminApi/dashboard.d.ts.map +1 -1
- package/dist/services/api/adminApi/externalApps.d.ts +7 -2
- package/dist/services/api/adminApi/externalApps.d.ts.map +1 -1
- package/dist/services/api/adminApi/index.d.ts.map +1 -1
- package/dist/services/api/adminApi/roles.d.ts +7 -2
- package/dist/services/api/adminApi/roles.d.ts.map +1 -1
- package/dist/services/api/adminApi/settings.d.ts +7 -2
- package/dist/services/api/adminApi/settings.d.ts.map +1 -1
- package/dist/services/api/adminApi/tenants.d.ts +13 -4
- package/dist/services/api/adminApi/tenants.d.ts.map +1 -1
- package/dist/services/api/adminApi/users.d.ts +3 -1
- package/dist/services/api/adminApi/users.d.ts.map +1 -1
- package/dist/services/api/groupsApi.d.ts +4 -1
- package/dist/services/api/groupsApi.d.ts.map +1 -1
- package/dist/services/api/referencesApi.d.ts +4 -1
- package/dist/services/api/referencesApi.d.ts.map +1 -1
- package/dist/services/logging/logService.d.ts.map +1 -1
- package/dist/smartstack.cjs +1 -1
- package/dist/smartstack.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/deviceDetection.d.ts.map +1 -1
- package/dist/utils/renderLucideIcon.d.ts +2 -1
- package/dist/utils/renderLucideIcon.d.ts.map +1 -1
- package/dist/utils/tenantUrl.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/AuthCallbackPage-Bv2Cyn80.cjs.map +0 -1
- package/dist/AuthCallbackPage-Cu74zAX1.js.map +0 -1
- package/dist/BaIndexPage-BhdOX87v.cjs +0 -2
- package/dist/BaIndexPage-BhdOX87v.cjs.map +0 -1
- package/dist/BaIndexPage-Dkp_Eixx.js.map +0 -1
- package/dist/BaViewerPage-DxD0eZm-.js.map +0 -1
- package/dist/BaViewerPage-SYgjCF7x.cjs +0 -2
- package/dist/BaViewerPage-SYgjCF7x.cjs.map +0 -1
- package/dist/ConfirmEmailPage-BTp8J0pw.js.map +0 -1
- package/dist/ConfirmEmailPage-su3Fvl0e.cjs.map +0 -1
- package/dist/DatabasePage-CRq_-Yo2.cjs +0 -2
- package/dist/DatabasePage-CRq_-Yo2.cjs.map +0 -1
- package/dist/DatabasePage-DFIK8cSM.js.map +0 -1
- package/dist/DocRenderer-B-1NdDfC.cjs +0 -2
- package/dist/DocRenderer-B-1NdDfC.cjs.map +0 -1
- package/dist/DocRenderer-CcEn1iaa.js.map +0 -1
- package/dist/DualDbContextPage--Qk-qEgD.cjs.map +0 -1
- package/dist/DualDbContextPage-BujD_coN.js.map +0 -1
- package/dist/ForceChangePasswordPage-ClENqzCH.js.map +0 -1
- package/dist/ForceChangePasswordPage-kEFsb5Aq.cjs.map +0 -1
- package/dist/ForgotPasswordPage--Wl0Vxbv.cjs.map +0 -1
- package/dist/ForgotPasswordPage-BEgvV5f-.js.map +0 -1
- package/dist/OnboardingWizardPage-Bx1UlTbr.js.map +0 -1
- package/dist/OnboardingWizardPage-C7vendrq.cjs.map +0 -1
- package/dist/RegisterPage-BzV0sCTe.js.map +0 -1
- package/dist/RegisterPage-DKr8quRk.cjs.map +0 -1
- package/dist/ResetPasswordPage-DphmJrcJ.js.map +0 -1
- package/dist/ResetPasswordPage-x4do1o-j.cjs.map +0 -1
- package/dist/SupportDashboardDocPage-CLotzEwA.js.map +0 -1
- package/dist/SupportDashboardDocPage-DpgGq5Mm.cjs.map +0 -1
- package/dist/SupportEscalationDocPage-B-_ChfdN.js.map +0 -1
- package/dist/SupportEscalationDocPage-WXkAQr8k.cjs.map +0 -1
- package/dist/SupportMyTicketsDocPage-DeRUdAIi.js.map +0 -1
- package/dist/SupportMyTicketsDocPage-jE1UMaIY.cjs.map +0 -1
- package/dist/SupportTemplatesDocPage-C8ZLzFJc.js.map +0 -1
- package/dist/SupportTemplatesDocPage-ajO-cHmK.cjs.map +0 -1
- package/dist/SupportTicketsDocPage-C_ybDTjC.cjs.map +0 -1
- package/dist/SupportTicketsDocPage-DQhHfa6J.js.map +0 -1
- package/dist/index-0Jhdcj59.js.map +0 -1
- package/dist/index-ASxPhrgZ.cjs.map +0 -1
- package/dist/index-B2rKKVDN.js.map +0 -1
- package/dist/index-BP5i2CQo.cjs +0 -2
- package/dist/index-BP5i2CQo.cjs.map +0 -1
- package/dist/index-BYhFG50Z.cjs.map +0 -1
- package/dist/index-BcO3pBlL.js.map +0 -1
- package/dist/index-BlHDI4zj.js.map +0 -1
- package/dist/index-Blfc9wKG.js.map +0 -1
- package/dist/index-BnWMDCRU.cjs.map +0 -1
- package/dist/index-By0u9UFY.js.map +0 -1
- package/dist/index-C40Dlolq.js.map +0 -1
- package/dist/index-C54HbULX.cjs.map +0 -1
- package/dist/index-C6C5XmVj.cjs +0 -48
- package/dist/index-C6C5XmVj.cjs.map +0 -1
- package/dist/index-C9BaizLE.cjs +0 -2
- package/dist/index-C9BaizLE.cjs.map +0 -1
- package/dist/index-CBOLnJkG.cjs.map +0 -1
- package/dist/index-CI1DJrFE.js.map +0 -1
- package/dist/index-CU66n-zU.js.map +0 -1
- package/dist/index-CUISVUMx.js.map +0 -1
- package/dist/index-CnmIX2MY.js.map +0 -1
- package/dist/index-CtcdHE_9.cjs +0 -2
- package/dist/index-CtcdHE_9.cjs.map +0 -1
- package/dist/index-Cv7iWoG8.js.map +0 -1
- package/dist/index-D4u23zHI.js.map +0 -1
- package/dist/index-D8xuGyjU.js.map +0 -1
- package/dist/index-DKK07NF1.cjs +0 -2
- package/dist/index-DKK07NF1.cjs.map +0 -1
- package/dist/index-DmuVa7Ye.cjs.map +0 -1
- package/dist/index-Du4fQfix.cjs.map +0 -1
- package/dist/index-DwATtWun.js.map +0 -1
- package/dist/index-Dxau-XnQ.cjs.map +0 -1
- package/dist/index-Txfokhn3.cjs.map +0 -1
- package/dist/index-ZVUUUZmv.cjs +0 -2
- package/dist/index-ZVUUUZmv.cjs.map +0 -1
- package/dist/index-eAHjmtzn.cjs.map +0 -1
- package/dist/index-jpSTOjXU.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BEeLN5ui.js","sources":["../src/pages/docs/business/platform/administration/users/dashboard/index.tsx"],"sourcesContent":["import { useState} from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n ArrowLeft,\r\n ArrowRight,\r\n Users,\r\n UserCheck,\r\n UserX,\r\n UserPlus,\r\n Activity,\r\n AlertTriangle,\r\n Key,\r\n Shield,\r\n TrendingUp,\r\n RefreshCw,\r\n Clock,\r\n Globe,\r\n Monitor,\r\n Info,\r\n Code2,\r\n ChevronRight,\r\n HelpCircle,\r\n Zap,\r\n Target,\r\n Lightbulb,\r\n} from 'lucide-react';\r\n\r\n// ── Mock data matching actual AdminDashboardPage ───────────────────────────────\r\n\r\nconst mockOverview = {\r\n totalUsers: 248,\r\n activeUsers: 211,\r\n inactiveUsers: 37,\r\n newUsers: 18,\r\n totalSessions: 1_342,\r\n failedLogins: 7,\r\n totalRoles: 6,\r\n totalPermissions: 42,\r\n usersLoggedInRecently: 94,\r\n};\r\n\r\nconst mockStatusData = [\r\n { status: 'Active', count: 211 },\r\n { status: 'Inactive', count: 37 },\r\n];\r\n\r\nconst mockRoleData = [\r\n { roleName: 'Administrator', count: 12 },\r\n { roleName: 'Support Agent', count: 78 },\r\n { roleName: 'Manager', count: 31 },\r\n { roleName: 'Viewer', count: 90 },\r\n { roleName: 'Developer', count: 37 },\r\n];\r\n\r\nconst mockSecurityAlerts = [\r\n { userId: '1', fullName: 'Thomas Müller', email: 'thomas.muller@example.com', failedAttempts: 8, ipAddresses: ['192.168.1.1', '10.0.0.5', '172.16.0.2'] },\r\n { userId: '2', fullName: 'Sarah Connor', email: 'sarah.c@example.com', failedAttempts: 5, ipAddresses: ['203.0.113.42'] },\r\n];\r\n\r\nconst mockLatestSessions = [\r\n { userId: '3', fullName: 'Alice Martin', duration: '2h 14m' },\r\n { userId: '4', fullName: 'Jean Dupont', duration: '47m' },\r\n { userId: '5', fullName: 'Maria Rossi', duration: '1h 32m' },\r\n { userId: '6', fullName: 'Hans Scherer', duration: '23m' },\r\n { userId: '7', fullName: 'Emma Wilson', duration: '3h 05m' },\r\n];\r\n\r\nconst mockSessionStats = {\r\n totalActiveSessions: 23,\r\n byBrowser: [\r\n { browser: 'Chrome', count: 14 },\r\n { browser: 'Firefox', count: 5 },\r\n { browser: 'Edge', count: 3 },\r\n { browser: 'Safari', count: 1 },\r\n ],\r\n byCountry: [\r\n { country: 'Switzerland', count: 11 },\r\n { country: 'France', count: 7 },\r\n { country: 'Germany', count: 4 },\r\n { country: 'Italy', count: 1 },\r\n ],\r\n};\r\n\r\nconst mockTrends = Array.from({ length: 14 }, (_, i) => ({\r\n date: new Date(Date.now() - (13 - i) * 86400000).toISOString(),\r\n newUsers: Math.floor(Math.random() * 5),\r\n logins: Math.floor(Math.random() * 40 + 20),\r\n}));\r\n\r\nconst mockDeviceData = [\r\n { label: 'Desktop', value: 67, color: '#3b82f6' },\r\n { label: 'Mobile', value: 24, color: '#22c55e' },\r\n { label: 'Tablet', value: 9, color: '#f59e0b' },\r\n];\r\n\r\nconst apiEndpoints = [\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/overview', handler: 'GetOverview', permission: 'administration.users.read', params: '?days=30' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/by-status', handler: 'GetByStatus', permission: 'administration.users.read', params: '' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/by-role', handler: 'GetByRole', permission: 'administration.users.read', params: '' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/by-type', handler: 'GetByType', permission: 'administration.users.read', params: '' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/login-activity', handler: 'GetLoginActivity', permission: 'administration.users.read', params: '?days=30' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/trends', handler: 'GetTrends', permission: 'administration.users.read', params: '?days=30' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/recent-users', handler: 'GetRecentUsers', permission: 'administration.users.read', params: '?limit=10' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/security-alerts', handler: 'GetSecurityAlerts', permission: 'administration.users.read', params: '?threshold=3&hours=24' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/active-sessions', handler: 'GetActiveSessionsStats', permission: 'administration.users.read', params: '' },\r\n { method: 'GET' as const, path: '/api/administration/users/dashboard/latest-active-sessions', handler: 'GetLatestActiveSessions', permission: 'administration.users.read', params: '?limit=5' },\r\n];\r\n\r\nconst businessRules = [\r\n { id: 'BR-001', category: 'Sécurité', key: 'techRef.rules.br001' },\r\n { id: 'BR-002', category: 'UI / UX', key: 'techRef.rules.br002' },\r\n { id: 'BR-003', category: 'Période', key: 'techRef.rules.br003' },\r\n { id: 'BR-004', category: 'Navigation', key: 'techRef.rules.br004' },\r\n { id: 'BR-005', category: 'Performance', key: 'techRef.rules.br005' },\r\n { id: 'BR-006', category: 'Accès', key: 'techRef.rules.br006' },\r\n];\r\n\r\nconst methodColors: Record<string, string> = {\r\n GET: 'bg-blue-500/10 text-blue-700 border-blue-500/20',\r\n POST: 'bg-green-500/10 text-green-700 border-green-500/20',\r\n PUT: 'bg-orange-500/10 text-orange-700 border-orange-500/20',\r\n DELETE: 'bg-red-500/10 text-red-700 border-red-500/20',\r\n};\r\n\r\nconst statusColors: Record<string, string> = {\r\n Active: '#22c55e',\r\n Inactive: '#ef4444',\r\n};\r\n\r\nconst roleBarColors = ['#3b82f6', '#8b5cf6', '#22c55e', '#f59e0b', '#ef4444'];\r\n\r\n// ── Annotation helper ──────────────────────────────────────────────────────────\r\n\r\nfunction Annotation({ children }: { children: React.ReactNode }) {\r\n return (\r\n <div className=\"mt-3 flex items-start gap-2 px-3 py-2 rounded-md bg-blue-50 border border-blue-200 text-xs text-blue-800 dark:bg-blue-950/30 dark:border-blue-800 dark:text-blue-300\">\r\n <Info className=\"h-3.5 w-3.5 flex-shrink-0 mt-0.5\" />\r\n <span>{children}</span>\r\n </div>\r\n );\r\n}\r\n\r\n// ── Component ──────────────────────────────────────────────────────────────────\r\n\r\nexport default function UsersDashboardDocPage(): ReactElement {\r\n const { t } = useTranslation('docsAdministrationUsersDashboard');\r\n const [showTechRef, setShowTechRef] = useState(false);\r\n\r\n const totalStatus = mockStatusData.reduce((s, d) => s + d.count, 0);\r\n const maxRoleCount = Math.max(...mockRoleData.map((r) => r.count), 1);\r\n const maxTrend = Math.max(...mockTrends.flatMap((d) => [d.newUsers, d.logins]), 1);\r\n\r\n return (\r\n <div className=\"space-y-8 max-w-5xl mx-auto px-4 py-6\">\r\n\r\n {/* Back link */}\r\n <Link\r\n to=\"/docs/business/administration/users\"\r\n className=\"inline-flex items-center gap-1.5 text-sm text-[var(--color-accent-500)] hover:text-[var(--color-accent-600)] transition-colors\"\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n {t('nav.backToAdmin')}\r\n </Link>\r\n\r\n {/* Header */}\r\n <div>\r\n <div className=\"flex items-center gap-3 mb-3\">\r\n <div className=\"p-2 rounded-lg bg-[var(--color-primary-600)]/10\">\r\n <Users className=\"h-6 w-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">{t('title')}</h1>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-0.5\">{t('subtitle')}</p>\r\n </div>\r\n </div>\r\n <div className=\"flex flex-wrap gap-3 text-sm text-[var(--text-secondary)]\">\r\n <span>6 {t('header.businessRules')}</span>\r\n <span>·</span>\r\n <span>10 {t('header.apiEndpoints')}</span>\r\n <span>·</span>\r\n <span>5 {t('header.statuses')}</span>\r\n </div>\r\n </div>\r\n\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n {/* SECTION 1: BUSINESS VALUE */}\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-3 flex items-center gap-2\">\r\n <span className=\"w-7 h-7 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-xs font-bold\">1</span>\r\n {t('sections.businessValue')}\r\n </h2>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"p-4 rounded-lg bg-red-50 border border-red-200 dark:bg-red-950/20 dark:border-red-800\">\r\n <div className=\"flex items-center gap-2 mb-2\">\r\n <Target className=\"h-4 w-4 text-red-600\" />\r\n <h3 className=\"text-sm font-semibold text-red-800 dark:text-red-300\">{t('value.problemTitle')}</h3>\r\n </div>\r\n <p className=\"text-xs text-red-700 dark:text-red-400\">{t('value.problem')}</p>\r\n </div>\r\n <div className=\"p-4 rounded-lg bg-green-50 border border-green-200 dark:bg-green-950/20 dark:border-green-800\">\r\n <div className=\"flex items-center gap-2 mb-2\">\r\n <Lightbulb className=\"h-4 w-4 text-green-600\" />\r\n <h3 className=\"text-sm font-semibold text-green-800 dark:text-green-300\">{t('value.solutionTitle')}</h3>\r\n </div>\r\n <p className=\"text-xs text-green-700 dark:text-green-400\">{t('value.solution')}</p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n {/* SECTION 2: ACCESS */}\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-3 flex items-center gap-2\">\r\n <span className=\"w-7 h-7 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-xs font-bold\">2</span>\r\n {t('sections.access')}\r\n </h2>\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)] space-y-3\">\r\n <div>\r\n <div className=\"text-xs font-medium text-[var(--text-secondary)] mb-2\">{t('access.navigation')}</div>\r\n <div className=\"flex flex-wrap items-center gap-2 text-sm\">\r\n <span className=\"px-2 py-0.5 rounded bg-purple-500/10 text-purple-700 font-medium\">Platform</span>\r\n <ChevronRight className=\"h-3.5 w-3.5 text-[var(--text-muted)]\" />\r\n <span className=\"px-2 py-0.5 rounded bg-blue-500/10 text-blue-700 font-medium\">Administration</span>\r\n <ChevronRight className=\"h-3.5 w-3.5 text-[var(--text-muted)]\" />\r\n <span className=\"px-2 py-0.5 rounded bg-green-500/10 text-green-700 font-medium\">Users</span>\r\n <ChevronRight className=\"h-3.5 w-3.5 text-[var(--text-muted)]\" />\r\n <span className=\"px-2 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)] font-medium\">{t('access.module')}</span>\r\n </div>\r\n </div>\r\n <div className=\"flex flex-wrap gap-3 text-xs\">\r\n <div className=\"px-3 py-1.5 rounded-full bg-[var(--bg-secondary)] border border-[var(--border-color)] font-mono text-[var(--text-secondary)]\">\r\n /administration/users/dashboard\r\n </div>\r\n <div className=\"px-3 py-1.5 rounded-full bg-blue-500/10 border border-blue-500/20 text-blue-700 font-mono\">\r\n administration.users.read\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n {/* SECTION 3: DASHBOARD MOCK UI */}\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-3 flex items-center gap-2\">\r\n <span className=\"w-7 h-7 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-xs font-bold\">3</span>\r\n {t('sections.dashboard')}\r\n </h2>\r\n\r\n <div className=\"border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm\">\r\n\r\n {/* ── Dashboard Header ─────────────────────────────────────────────── */}\r\n <div className=\"px-4 py-3 border-b border-[var(--border-color)] bg-[var(--bg-secondary)] flex items-center justify-between\">\r\n <div>\r\n <h3 className=\"text-sm font-bold flex items-center gap-2 text-[var(--text-primary)]\">\r\n <Users className=\"h-4 w-4\" />\r\n {t('dashboard.pageTitle')}\r\n </h3>\r\n <p className=\"text-xs text-[var(--text-secondary)] mt-0.5\">{t('dashboard.pageSubtitle')}</p>\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <select className=\"px-2 py-1 text-xs border border-[var(--border-color)] bg-[var(--bg-primary)] rounded-lg text-[var(--text-secondary)]\">\r\n <option>{t('dashboard.days7')}</option>\r\n <option selected>{t('dashboard.days30')}</option>\r\n <option>{t('dashboard.days90')}</option>\r\n </select>\r\n <button className=\"flex items-center gap-1 px-2.5 py-1 text-xs border border-[var(--border-color)] bg-[var(--bg-primary)] rounded-lg text-[var(--text-secondary)]\">\r\n <RefreshCw className=\"w-3 h-3\" />\r\n {t('dashboard.refresh')}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n {/* ── KPI Cards ────────────────────────────────────────────────────── */}\r\n <div className=\"p-4\">\r\n <div className=\"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-3\">\r\n <div className=\"p-3 rounded-lg border bg-[var(--info-bg)] border-[var(--info-border)]\">\r\n <div className=\"flex items-center justify-between mb-1\">\r\n <span className=\"text-xs text-[var(--info-text)] opacity-80\">{t('dashboard.kpi.totalUsers')}</span>\r\n <Users className=\"h-4 w-4 text-[var(--info-text)]\" />\r\n </div>\r\n <div className=\"text-2xl font-bold text-[var(--info-text)]\">{mockOverview.totalUsers}</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--success-bg)] border-[var(--success-border)]\">\r\n <div className=\"flex items-center justify-between mb-1\">\r\n <span className=\"text-xs text-[var(--success-text)] opacity-80\">{t('dashboard.kpi.active')}</span>\r\n <UserCheck className=\"h-4 w-4 text-[var(--success-text)]\" />\r\n </div>\r\n <div className=\"text-2xl font-bold text-[var(--success-text)]\">{mockOverview.activeUsers}</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--error-bg)] border-[var(--error-border)]\">\r\n <div className=\"flex items-center justify-between mb-1\">\r\n <span className=\"text-xs text-[var(--error-text)] opacity-80\">{t('dashboard.kpi.inactive')}</span>\r\n <UserX className=\"h-4 w-4 text-[var(--error-text)]\" />\r\n </div>\r\n <div className=\"text-2xl font-bold text-[var(--error-text)]\">{mockOverview.inactiveUsers}</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--info-bg)] border-[var(--info-border)]\">\r\n <div className=\"flex items-center justify-between mb-1\">\r\n <span className=\"text-xs text-[var(--info-text)] opacity-80\">{t('dashboard.kpi.newUsers')}</span>\r\n <UserPlus className=\"h-4 w-4 text-[var(--info-text)]\" />\r\n </div>\r\n <div className=\"text-2xl font-bold text-[var(--info-text)]\">{mockOverview.newUsers}</div>\r\n <div className=\"text-xs text-[var(--info-text)] opacity-60 mt-0.5\">{t('dashboard.kpiPeriod')}</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--success-bg)] border-[var(--success-border)]\">\r\n <div className=\"flex items-center justify-between mb-1\">\r\n <span className=\"text-xs text-[var(--success-text)] opacity-80\">{t('dashboard.kpi.sessions')}</span>\r\n <Activity className=\"h-4 w-4 text-[var(--success-text)]\" />\r\n </div>\r\n <div className=\"text-2xl font-bold text-[var(--success-text)]\">{mockOverview.totalSessions.toLocaleString()}</div>\r\n <div className=\"text-xs text-[var(--success-text)] opacity-60 mt-0.5\">{t('dashboard.kpiPeriod')}</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--warning-bg)] border-[var(--warning-border)]\">\r\n <div className=\"flex items-center justify-between mb-1\">\r\n <span className=\"text-xs text-[var(--warning-text)] opacity-80\">{t('dashboard.kpi.failedLogins')}</span>\r\n <AlertTriangle className=\"h-4 w-4 text-[var(--warning-text)]\" />\r\n </div>\r\n <div className=\"text-2xl font-bold text-[var(--warning-text)]\">{mockOverview.failedLogins}</div>\r\n <div className=\"text-xs text-[var(--warning-text)] opacity-60 mt-0.5\">{t('dashboard.kpiPeriod')}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* ── Security Alerts ──────────────────────────────────────────────── */}\r\n <div className=\"px-4 pb-4\">\r\n <div className=\"p-3 border-l-4 border-red-500 bg-red-50 dark:bg-red-900/20 rounded-lg\">\r\n <h4 className=\"font-semibold text-red-600 flex items-center gap-2 mb-2 text-sm\">\r\n <AlertTriangle className=\"w-4 h-4\" />\r\n {t('dashboard.securityAlerts.title')} ({mockSecurityAlerts.length})\r\n </h4>\r\n <div className=\"space-y-2\">\r\n {mockSecurityAlerts.map((alert) => (\r\n <div key={alert.userId} className=\"flex items-center justify-between p-2 bg-red-50/80 dark:bg-red-900/30 rounded border border-red-200/50 cursor-pointer\">\r\n <div>\r\n <span className=\"text-xs font-medium text-[var(--text-primary)]\">{alert.fullName}</span>\r\n <span className=\"ml-2 text-xs text-[var(--text-secondary)]\">{alert.email}</span>\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"text-xs text-red-600 font-medium\">{alert.failedAttempts} {t('dashboard.securityAlerts.failedAttempts')}</span>\r\n <span className=\"text-xs text-[var(--text-secondary)]\">{alert.ipAddresses.length} {t('dashboard.securityAlerts.ips')}</span>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* ── Status + Role Charts ─────────────────────────────────────────── */}\r\n <div className=\"px-4 pb-4 grid grid-cols-1 lg:grid-cols-2 gap-4\">\r\n {/* Status Distribution */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-3\">\r\n <h4 className=\"text-sm font-semibold mb-3 flex items-center gap-2 text-[var(--text-primary)]\">\r\n <UserCheck className=\"h-4 w-4\" />\r\n {t('dashboard.statusChart.title')}\r\n </h4>\r\n <div className=\"space-y-2\">\r\n {mockStatusData.map((item) => {\r\n const pct = totalStatus > 0 ? (item.count / totalStatus) * 100 : 0;\r\n return (\r\n <div key={item.status} className=\"flex items-center gap-2\">\r\n <div className=\"w-20 text-xs text-[var(--text-secondary)]\">\r\n {item.status === 'Active' ? t('dashboard.statusChart.active') : t('dashboard.statusChart.inactive')}\r\n </div>\r\n <div className=\"flex-1 h-5 bg-[var(--bg-secondary)] rounded-full overflow-hidden\">\r\n <div\r\n className=\"h-full rounded-full\"\r\n style={{ width: `${pct}%`, backgroundColor: statusColors[item.status] }}\r\n />\r\n </div>\r\n <div className=\"w-16 text-right text-xs\">\r\n <span className=\"font-medium text-[var(--text-primary)]\">{item.count}</span>\r\n <span className=\"text-[var(--text-muted)] ml-1\">({pct.toFixed(0)}%)</span>\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n\r\n {/* Role Distribution */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-3\">\r\n <h4 className=\"text-sm font-semibold mb-3 flex items-center gap-2 text-[var(--text-primary)]\">\r\n <Key className=\"h-4 w-4\" />\r\n {t('dashboard.roleChart.title')}\r\n </h4>\r\n <div className=\"space-y-2\">\r\n {mockRoleData.map((item, idx) => {\r\n const pct = (item.count / maxRoleCount) * 100;\r\n return (\r\n <div key={item.roleName} className=\"flex items-center gap-2\">\r\n <div className=\"w-24 text-xs text-[var(--text-secondary)] truncate\">{item.roleName}</div>\r\n <div className=\"flex-1 h-5 bg-[var(--bg-secondary)] rounded-full overflow-hidden\">\r\n <div\r\n className=\"h-full rounded-full\"\r\n style={{ width: `${pct}%`, backgroundColor: roleBarColors[idx % roleBarColors.length] }}\r\n />\r\n </div>\r\n <div className=\"w-8 text-right text-xs font-medium text-[var(--text-primary)]\">{item.count}</div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* ── System Config + Active Sessions ─────────────────────────────── */}\r\n <div className=\"px-4 pb-4 grid grid-cols-1 lg:grid-cols-2 gap-4\">\r\n {/* System Config */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-3\">\r\n <h4 className=\"text-sm font-semibold mb-3 flex items-center gap-2 text-[var(--text-primary)]\">\r\n <Shield className=\"h-4 w-4\" />\r\n {t('dashboard.systemConfig.title')}\r\n </h4>\r\n <div className=\"grid grid-cols-2 gap-3\">\r\n <div className=\"text-center p-3 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"text-2xl font-bold text-purple-600\">{mockOverview.totalRoles}</div>\r\n <div className=\"text-xs text-[var(--text-secondary)]\">{t('dashboard.systemConfig.roles')}</div>\r\n </div>\r\n <div className=\"text-center p-3 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"text-2xl font-bold text-green-600\">{mockOverview.totalPermissions}</div>\r\n <div className=\"text-xs text-[var(--text-secondary)]\">{t('dashboard.systemConfig.permissions')}</div>\r\n </div>\r\n <div className=\"text-center p-3 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"text-2xl font-bold text-blue-600\">{mockOverview.usersLoggedInRecently}</div>\r\n <div className=\"text-xs text-[var(--text-secondary)]\">{t('dashboard.systemConfig.recentLogins')}</div>\r\n </div>\r\n <div className=\"text-center p-3 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"text-2xl font-bold text-orange-600\">{mockSessionStats.totalActiveSessions}</div>\r\n <div className=\"text-xs text-[var(--text-secondary)]\">{t('dashboard.systemConfig.activeSessions')}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Active Sessions by Browser/Country */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-3\">\r\n <h4 className=\"text-sm font-semibold mb-3 flex items-center gap-2 text-[var(--text-primary)]\">\r\n <Monitor className=\"h-4 w-4\" />\r\n {t('dashboard.activeSessions.title')}\r\n </h4>\r\n <div className=\"grid grid-cols-2 gap-4\">\r\n <div>\r\n <h5 className=\"text-xs font-medium text-[var(--text-secondary)] mb-2\">{t('dashboard.activeSessions.byBrowser')}</h5>\r\n <div className=\"space-y-1.5\">\r\n {mockSessionStats.byBrowser.map((item) => (\r\n <div key={item.browser} className=\"flex items-center justify-between text-xs\">\r\n <span className=\"text-[var(--text-primary)]\">{item.browser}</span>\r\n <span className=\"font-medium text-[var(--text-primary)]\">{item.count}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n <div>\r\n <h5 className=\"text-xs font-medium text-[var(--text-secondary)] mb-2 flex items-center gap-1\">\r\n <Globe className=\"w-3 h-3\" />\r\n {t('dashboard.activeSessions.byCountry')}\r\n </h5>\r\n <div className=\"space-y-1.5\">\r\n {mockSessionStats.byCountry.map((item) => (\r\n <div key={item.country} className=\"flex items-center justify-between text-xs\">\r\n <span className=\"text-[var(--text-primary)]\">{item.country}</span>\r\n <span className=\"font-medium text-[var(--text-primary)]\">{item.count}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* ── Device & Engagement ──────────────────────────────────────────── */}\r\n <div className=\"px-4 pb-4 grid grid-cols-1 lg:grid-cols-2 gap-4\">\r\n {/* Device Breakdown (simplified mock) */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-3\">\r\n <h4 className=\"text-sm font-semibold mb-3 flex items-center gap-2 text-[var(--text-primary)]\">\r\n <Monitor className=\"h-4 w-4\" />\r\n {t('dashboard.device.title')}\r\n </h4>\r\n <div className=\"space-y-2\">\r\n {mockDeviceData.map((item) => (\r\n <div key={item.label} className=\"flex items-center gap-2\">\r\n <div className=\"w-14 text-xs text-[var(--text-secondary)]\">{item.label}</div>\r\n <div className=\"flex-1 h-5 bg-[var(--bg-secondary)] rounded-full overflow-hidden\">\r\n <div className=\"h-full rounded-full\" style={{ width: `${item.value}%`, backgroundColor: item.color }} />\r\n </div>\r\n <div className=\"w-8 text-right text-xs font-medium text-[var(--text-primary)]\">{item.value}%</div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n {/* Engagement Metrics (simplified mock) */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-3\">\r\n <h4 className=\"text-sm font-semibold mb-3 flex items-center gap-2 text-[var(--text-primary)]\">\r\n <Activity className=\"h-4 w-4\" />\r\n {t('dashboard.engagement.title')}\r\n </h4>\r\n <div className=\"grid grid-cols-2 gap-3\">\r\n {[\r\n { label: 'Durée moy.', value: '18m 32s', color: 'text-blue-600' },\r\n { label: 'Rétention', value: '73%', color: 'text-green-600' },\r\n { label: 'Fréquence', value: '4.2×/sem', color: 'text-purple-600' },\r\n { label: 'Rebond', value: '12%', color: 'text-orange-600' },\r\n ].map((metric) => (\r\n <div key={metric.label} className=\"text-center p-2 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className={`text-lg font-bold ${metric.color}`}>{metric.value}</div>\r\n <div className=\"text-xs text-[var(--text-secondary)]\">{metric.label}</div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* ── Trends Chart ─────────────────────────────────────────────────── */}\r\n <div className=\"px-4 pb-4\">\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-3\">\r\n <h4 className=\"text-sm font-semibold mb-3 flex items-center gap-2 text-[var(--text-primary)]\">\r\n <TrendingUp className=\"h-4 w-4\" />\r\n {t('dashboard.trends.title')} ({t('dashboard.trends.period')})\r\n </h4>\r\n <div className=\"flex items-center gap-4 mb-3\">\r\n <div className=\"flex items-center gap-1.5 text-xs\">\r\n <div className=\"w-3 h-3 rounded bg-blue-500\" />\r\n <span className=\"text-[var(--text-secondary)]\">{t('dashboard.trends.newUsers')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-1.5 text-xs\">\r\n <div className=\"w-3 h-3 rounded bg-green-500\" />\r\n <span className=\"text-[var(--text-secondary)]\">{t('dashboard.trends.logins')}</span>\r\n </div>\r\n </div>\r\n <div className=\"h-24 flex items-end gap-0.5\">\r\n {mockTrends.map((item, i) => (\r\n <div key={`trend-${i}`} className=\"flex-1 min-w-[8px] flex gap-px\">\r\n <div\r\n className=\"flex-1 bg-blue-500 rounded-t opacity-80\"\r\n style={{ height: `${(item.newUsers / maxTrend) * 100}%`, minHeight: item.newUsers > 0 ? '3px' : '0' }}\r\n />\r\n <div\r\n className=\"flex-1 bg-green-500 rounded-t opacity-80\"\r\n style={{ height: `${(item.logins / maxTrend) * 100}%`, minHeight: '3px' }}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n <div className=\"flex justify-between text-xs text-[var(--text-muted)] mt-1\">\r\n <span>{new Date(mockTrends[0].date).toLocaleDateString('fr-FR')}</span>\r\n <span>{new Date(mockTrends.at(-1)!.date).toLocaleDateString('fr-FR')}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* ── Latest Active Sessions ───────────────────────────────────────── */}\r\n <div className=\"px-4 pb-4\">\r\n <div className=\"border border-[var(--border-color)] rounded-lg overflow-hidden\">\r\n <div className=\"px-3 py-2.5 border-b border-[var(--border-color)] bg-[var(--bg-secondary)] flex items-center gap-2\">\r\n <Clock className=\"h-4 w-4 text-[var(--text-secondary)]\" />\r\n <h4 className=\"text-sm font-semibold text-[var(--text-primary)]\">{t('dashboard.latestSessions.title')}</h4>\r\n </div>\r\n <table className=\"w-full text-xs\">\r\n <thead className=\"bg-[var(--bg-secondary)]\">\r\n <tr>\r\n <th className=\"text-left px-3 py-2 font-medium text-[var(--text-muted)]\">{t('dashboard.latestSessions.user')}</th>\r\n <th className=\"text-right px-3 py-2 font-medium text-[var(--text-muted)]\">{t('dashboard.latestSessions.duration')}</th>\r\n </tr>\r\n </thead>\r\n <tbody className=\"divide-y divide-[var(--border-color)]\">\r\n {mockLatestSessions.map((session) => (\r\n <tr key={session.userId} className=\"hover:bg-[var(--bg-secondary)] cursor-pointer transition-colors\">\r\n <td className=\"px-3 py-2 font-medium text-[var(--text-primary)]\">{session.fullName}</td>\r\n <td className=\"px-3 py-2 text-right\">\r\n <span className=\"px-2 py-0.5 rounded text-xs font-medium bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400\">\r\n {session.duration}\r\n </span>\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <Annotation>{t('dashboard.annotations.header')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.kpis')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.securityAlerts')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.statusChart')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.roleChart')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.systemConfig')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.activeSessions')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.device')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.engagement')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.trends')}</Annotation>\r\n <Annotation>{t('dashboard.annotations.latestSessions')}</Annotation>\r\n </section>\r\n\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n {/* SECTION 4: USE CASES */}\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2\">\r\n <span className=\"w-7 h-7 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-xs font-bold\">4</span>\r\n {t('sections.useCases')}\r\n </h2>\r\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\r\n {[1, 2, 3].map((i) => (\r\n <div key={`usecase-${i}`} className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]\">\r\n <div className=\"text-xs font-semibold text-[var(--color-primary-600)] uppercase tracking-wide mb-1\">\r\n {t(`useCases.${i}.persona`)}\r\n </div>\r\n <p className=\"text-sm font-medium mb-2\">{t(`useCases.${i}.situation`)}</p>\r\n <div className=\"pt-2 border-t border-[var(--border-color)]\">\r\n <p className=\"text-xs text-[var(--text-muted)]\">\r\n <span className=\"font-medium text-green-600\">{t('useCases.withLabel')} </span>\r\n {t(`useCases.${i}.outcome`)}\r\n </p>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n {/* SECTION 5: FEATURES */}\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2\">\r\n <span className=\"w-7 h-7 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-xs font-bold\">5</span>\r\n {t('sections.features')}\r\n </h2>\r\n <div className=\"space-y-3\">\r\n {[1, 2, 3, 4, 5].map((i) => (\r\n <div key={`feature-${i}`} className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)] flex gap-4\">\r\n <div className=\"p-2 rounded-lg bg-[var(--color-primary-600)]/10 flex-shrink-0 h-fit\">\r\n <Zap className=\"h-4 w-4 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div>\r\n <h3 className=\"text-sm font-semibold mb-1\">{t(`features.${i}.title`)}</h3>\r\n <p className=\"text-xs text-[var(--text-muted)] mb-2\">{t(`features.${i}.desc`)}</p>\r\n <div className=\"px-3 py-1.5 rounded-md bg-[var(--bg-secondary)] text-xs\">\r\n <span className=\"font-medium text-[var(--color-primary-600)]\">Ex. </span>\r\n {t(`features.${i}.example`)}\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n {/* SECTION 6: FAQ */}\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4 flex items-center gap-2\">\r\n <span className=\"w-7 h-7 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-xs font-bold\">6</span>\r\n {t('sections.faq')}\r\n </h2>\r\n <div className=\"space-y-3\">\r\n {[1, 2, 3, 4, 5].map((i) => (\r\n <div key={`faq-${i}`} className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]\">\r\n <div className=\"flex items-start gap-2 mb-2\">\r\n <HelpCircle className=\"h-4 w-4 text-[var(--color-primary-600)] flex-shrink-0 mt-0.5\" />\r\n <h3 className=\"text-sm font-medium\">{t(`faq.${i}.question`)}</h3>\r\n </div>\r\n <p className=\"text-xs text-[var(--text-muted)] pl-6\">{t(`faq.${i}.answer`)}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n {/* SECTION 7: TECHNICAL REFERENCE (collapsible) */}\r\n {/* ══════════════════════════════════════════════════════════════════════ */}\r\n <section>\r\n <button\r\n onClick={() => setShowTechRef(!showTechRef)}\r\n className=\"w-full flex items-center justify-between p-4 rounded-lg border border-[var(--border-color)] bg-[var(--bg-card)] hover:bg-[var(--bg-secondary)] transition-colors\"\r\n >\r\n <div className=\"flex items-center gap-2\">\r\n <Code2 className=\"h-4 w-4 text-[var(--text-muted)]\" />\r\n <span className=\"text-sm font-semibold\">{t('sections.techRef')}</span>\r\n </div>\r\n <ChevronRight className={`h-4 w-4 text-[var(--text-muted)] transition-transform ${showTechRef ? 'rotate-90' : ''}`} />\r\n </button>\r\n\r\n {showTechRef && (\r\n <div className=\"mt-2 border border-[var(--border-color)] rounded-lg bg-[var(--bg-card)] divide-y divide-[var(--border-color)]\">\r\n\r\n {/* Business Rules */}\r\n <div className=\"p-4\">\r\n <h3 className=\"text-sm font-semibold mb-3\">{t('techRef.rulesTitle')}</h3>\r\n <div className=\"space-y-2\">\r\n {businessRules.map((rule) => (\r\n <div key={rule.id} className=\"p-3 rounded-lg bg-[var(--bg-secondary)] text-xs\">\r\n <div className=\"flex items-center gap-2 mb-1\">\r\n <span className=\"font-mono text-[var(--color-primary-600)]\">{rule.id}</span>\r\n <span className=\"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]\">{rule.category}</span>\r\n </div>\r\n <p className=\"text-[var(--text-muted)]\">{t(rule.key)}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n {/* Permissions */}\r\n <div className=\"p-4\">\r\n <h3 className=\"text-sm font-semibold mb-3\">{t('techRef.permissionsTitle')}</h3>\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full text-xs\">\r\n <thead>\r\n <tr className=\"border-b border-[var(--border-color)]\">\r\n <th className=\"text-left py-2 px-2 text-[var(--text-muted)] font-medium\">Permission</th>\r\n <th className=\"text-left py-2 px-2 text-[var(--text-muted)] font-medium\">Description</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr className=\"border-b border-[var(--border-color)]\">\r\n <td className=\"py-2 px-2 font-mono text-[var(--color-primary-600)]\">administration.users.read</td>\r\n <td className=\"py-2 px-2 text-[var(--text-muted)]\">{t('techRef.perms.read')}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n {/* API Endpoints */}\r\n <div className=\"p-4\">\r\n <h3 className=\"text-sm font-semibold mb-3\">{t('techRef.endpointsTitle')}</h3>\r\n <div className=\"space-y-2\">\r\n {apiEndpoints.map((ep, i) => (\r\n <div key={`ep-${ep.method}-${i}`} className=\"p-2.5 rounded-lg bg-[var(--bg-secondary)] text-xs\">\r\n <div className=\"flex items-center gap-2 mb-0.5\">\r\n <span className={`font-bold px-1.5 py-0.5 rounded border text-xs ${methodColors[ep.method]}`}>\r\n {ep.method}\r\n </span>\r\n <code className=\"text-[var(--text-primary)]\">{ep.path}{ep.params}</code>\r\n </div>\r\n <div className=\"text-[var(--text-muted)] pl-1\">\r\n {ep.handler} · <span className=\"font-mono\">{ep.permission}</span>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n )}\r\n </section>\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/docs/business/administration/users\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)] transition-colors text-sm\"\r\n >\r\n <ArrowLeft className=\"w-4 h-4\" />\r\n {t('nav.backToAdmin')}\r\n </Link>\r\n <Link\r\n to=\"/docs/business/administration/permissions\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline text-sm\"\r\n >\r\n {t('nav.toUsersList')}\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n\r\n </div>\r\n );\r\n}\r\n"],"names":["mockOverview","mockStatusData","mockRoleData","mockSecurityAlerts","mockLatestSessions","mockSessionStats","mockTrends","_","mockDeviceData","apiEndpoints","businessRules","methodColors","statusColors","roleBarColors","Annotation","children","jsxs","jsx","Info","UsersDashboardDocPage","useTranslation","showTechRef","setShowTechRef","useState","totalStatus","s","maxRoleCount","r","maxTrend","d","Link","ArrowLeft","Users","Target","Lightbulb","ChevronRight","RefreshCw","UserCheck","UserX","UserPlus","Activity","AlertTriangle","alert","item","pct","Key","idx","Shield","Monitor","Globe","metric","TrendingUp","i","Clock","session","Zap","HelpCircle","Code2","rule","ep","ArrowRight"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),o=require("react-router-dom"),m=require("react-i18next"),r=require("lucide-react");function t({children:s}){return e.jsxs("div",{className:"mt-3 flex items-start gap-2 px-3 py-2 rounded-md bg-blue-50 border border-blue-200 text-xs text-blue-800 dark:bg-blue-950/30 dark:border-blue-800 dark:text-blue-300",children:[e.jsx(r.Info,{className:"h-3.5 w-3.5 flex-shrink-0 mt-0.5"}),e.jsx("span",{children:s})]})}const x=[{method:"GET",path:"/api/administration/license",handler:"GetLicenseInfo",permission:"anonymous"},{method:"POST",path:"/api/administration/license/activate",handler:"ActivateLicense",permission:"administration.license.update"},{method:"GET",path:"/api/administration/license/features/{featureName}",handler:"IsFeatureEnabled",permission:"anonymous"},{method:"GET",path:"/api/administration/license/limits",handler:"GetLicenseLimits",permission:"anonymous"},{method:"GET",path:"/api/administration/license/limits/{limitKey}/check",handler:"CheckLimitExceeded",permission:"anonymous"},{method:"GET",path:"/api/administration/license/readonly-status",handler:"GetReadOnlyStatus",permission:"anonymous"},{method:"GET",path:"/api/administration/license/usage",handler:"GetUsage",permission:"anonymous"},{method:"POST",path:"/api/administration/license/validate-server",handler:"ValidateOnServer",permission:"administration.license.update"}],b={GET:"bg-blue-500/10 text-blue-700 border-blue-500/20",POST:"bg-green-500/10 text-green-700 border-green-500/20"},h=[{id:"BR-001",name:"JWT RSA-2048",category:"Sécurité",key:"tech.rules.br001"},{id:"BR-002",name:"Essai automatique",category:"Business Logic",key:"tech.rules.br002"},{id:"BR-003",name:"Mode lecture seule",category:"Business Logic",key:"tech.rules.br003"},{id:"BR-004",name:"Période de grâce",category:"Business Logic",key:"tech.rules.br004"},{id:"BR-005",name:"Empreinte machine",category:"Sécurité",key:"tech.rules.br005"},{id:"BR-006",name:"Tolérance utilisateurs",category:"Validation",key:"tech.rules.br006"},{id:"BR-007",name:"Tolérance tenants",category:"Validation",key:"tech.rules.br007"},{id:"BR-008",name:"Heartbeat serveur",category:"Business Logic",key:"tech.rules.br008"}],p=[{label:"AI",enabled:!0},{label:"Workflows",enabled:!0},{label:"Entra ID",enabled:!1},{label:"Branding",enabled:!1}],u=[{label:"Support",enabled:!0},{label:"Communications",enabled:!0},{label:"Reporting",enabled:!1}],v=[{label:"API Access",enabled:!0},{label:"Multi-Tenant",enabled:!0},{label:"Audit Logs",enabled:!1}];function j(){const{t:s}=m.useTranslation("docsAdministrationConfigurationLicense"),[i,c]=n.useState(!1);return e.jsxs("div",{className:"space-y-8 max-w-5xl mx-auto px-4 py-6",children:[e.jsxs(o.Link,{to:"/docs/business/administration/configuration",className:"inline-flex items-center gap-1.5 text-sm text-[var(--color-accent-500)] hover:text-[var(--color-accent-600)] transition-colors",children:[e.jsx(r.ArrowLeft,{className:"h-4 w-4"}),s("nav.backToConfiguration")]}),e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"p-2 rounded-lg bg-[var(--color-accent-100)]",children:e.jsx(r.Shield,{className:"h-6 w-6 text-[var(--color-accent-600)]"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-[var(--text-primary)]",children:s("title")}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-0.5",children:s("subtitle")})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 rounded-lg bg-red-50 border border-red-200 dark:bg-red-950/20 dark:border-red-800",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(r.Target,{className:"h-4 w-4 text-red-600"}),e.jsx("h3",{className:"text-sm font-semibold text-red-800 dark:text-red-300",children:s("value.problemTitle")})]}),e.jsx("p",{className:"text-xs text-red-700 dark:text-red-400",children:s("value.problem")})]}),e.jsxs("div",{className:"p-4 rounded-lg bg-green-50 border border-green-200 dark:bg-green-950/20 dark:border-green-800",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(r.ShieldCheck,{className:"h-4 w-4 text-green-600"}),e.jsx("h3",{className:"text-sm font-semibold text-green-800 dark:text-green-300",children:s("value.solutionTitle")})]}),e.jsx("p",{className:"text-xs text-green-700 dark:text-green-400",children:s("value.solution")})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-3",children:s("access.title")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm mb-3",children:[e.jsx("span",{className:"px-2 py-0.5 rounded bg-[var(--bg-tertiary)] text-[var(--text-muted)]",children:"Administration"}),e.jsx(r.ChevronRight,{className:"h-3.5 w-3.5 text-[var(--text-muted)]"}),e.jsx("span",{className:"px-2 py-0.5 rounded bg-[var(--bg-tertiary)] text-[var(--text-muted)]",children:"Configuration"}),e.jsx(r.ChevronRight,{className:"h-3.5 w-3.5 text-[var(--text-muted)]"}),e.jsx("span",{className:"px-2 py-0.5 rounded bg-[var(--color-accent-100)] text-[var(--color-accent-700)] font-medium",children:s("access.page")})]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-xs",children:[e.jsx("div",{className:"px-3 py-1.5 rounded-full bg-[var(--bg-secondary)] border border-[var(--border-color)] font-mono text-[var(--text-secondary)]",children:"/administration/configuration/license"}),e.jsx("div",{className:"px-3 py-1.5 rounded-full bg-blue-500/10 border border-blue-500/20 text-blue-700 font-mono",children:"administration.license.read"}),e.jsx("div",{className:"px-3 py-1.5 rounded-full bg-green-500/10 border border-green-500/20 text-green-700 font-mono",children:"administration.license.update"})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-3",children:s("interface.title")}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-[var(--border-color)] flex items-center justify-between bg-[var(--bg-secondary)]",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-bold text-[var(--text-primary)]",children:s("mock.header")}),e.jsx("div",{className:"text-xs text-[var(--text-muted)]",children:s("mock.headerSub")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs rounded-full bg-green-500/10 border border-green-500/20 text-green-700",children:[e.jsx(r.CheckCircle,{className:"h-3 w-3"}),"Professional · Active"]}),e.jsxs("button",{className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs border border-[var(--border-color)] rounded-md bg-[var(--bg-card)] text-[var(--text-secondary)]",children:[e.jsx(r.ShieldCheck,{className:"h-3.5 w-3.5"}),s("mock.btnValidate")]}),e.jsxs("button",{className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md bg-[var(--color-primary-600)] text-white",children:[e.jsx(r.Key,{className:"h-3.5 w-3.5"}),s("mock.btnActivate")]})]})]}),e.jsx("div",{className:"p-4",children:e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--info-bg)] text-[var(--info-text)] border-[var(--info-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.Shield,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.edition")})]}),e.jsx("div",{className:"text-xl font-bold",children:"Professional"})]}),e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.CheckCircle,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.status")})]}),e.jsx("div",{className:"text-xl font-bold",children:"Active"})]}),e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.Clock,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.days")})]}),e.jsx("div",{className:"text-xl font-bold",children:"142"})]}),e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--info-bg)] text-[var(--info-text)] border-[var(--info-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.Users,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.maxUsers")})]}),e.jsx("div",{className:"text-xl font-bold",children:"100"})]})]})})]}),e.jsx(t,{children:s("annotation.kpis")}),e.jsxs("div",{className:"mt-4 border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-[var(--border-color)] flex items-center gap-2 bg-[var(--bg-secondary)]",children:[e.jsx(r.Zap,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.limits.title")})]}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-2 gap-8 max-w-sm mx-auto",children:[e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsxs("div",{className:"relative w-28 h-28",children:[e.jsxs("svg",{viewBox:"0 0 100 100",className:"w-full h-full -rotate-[135deg]",children:[e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"var(--bg-tertiary)",strokeWidth:"10",strokeDasharray:"240 360",strokeLinecap:"round"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#f59e0b",strokeWidth:"10",strokeDasharray:"36 360",strokeLinecap:"round",strokeDashoffset:"-204",opacity:"0.35"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#3b82f6",strokeWidth:"10",strokeDasharray:"168 360",strokeLinecap:"round"})]}),e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[e.jsx(r.Users,{className:"h-4 w-4 text-blue-500 mb-0.5"}),e.jsx("span",{className:"text-base font-bold",children:"70%"}),e.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"35 / 50"})]})]}),e.jsx("span",{className:"text-sm font-medium",children:s("mock.limits.users")}),e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:["+10 ",s("mock.limits.tolerance")]})]}),e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsxs("div",{className:"relative w-28 h-28",children:[e.jsxs("svg",{viewBox:"0 0 100 100",className:"w-full h-full -rotate-[135deg]",children:[e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"var(--bg-tertiary)",strokeWidth:"10",strokeDasharray:"240 360",strokeLinecap:"round"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#f59e0b",strokeWidth:"10",strokeDasharray:"12 360",strokeLinecap:"round",strokeDashoffset:"-228",opacity:"0.35"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#3b82f6",strokeWidth:"10",strokeDasharray:"60 360",strokeLinecap:"round"})]}),e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[e.jsx(r.Building,{className:"h-4 w-4 text-blue-500 mb-0.5"}),e.jsx("span",{className:"text-base font-bold",children:"25%"}),e.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"5 / 20"})]})]}),e.jsx("span",{className:"text-sm font-medium",children:s("mock.limits.tenants")}),e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:["+2 ",s("mock.limits.tolerance")]})]})]})})]}),e.jsx(t,{children:s("annotation.limits")}),e.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Calendar,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.details.title")})]}),e.jsx("div",{className:"space-y-2 text-xs",children:[{label:s("mock.details.product"),value:"SmartStack"},{label:s("mock.details.company"),value:"Atlas SA"},{label:s("mock.details.edition"),value:"Professional"},{label:s("mock.details.status"),value:"Active"},{label:s("mock.details.activatedAt"),value:"15 jan. 2026"},{label:s("mock.details.expiresAt"),value:"14 jan. 2027"}].map(a=>e.jsxs("div",{className:"flex justify-between border-b border-[var(--border-color)] pb-1.5",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:a.label}),e.jsx("span",{className:"font-medium",children:a.value})]},a.label))})]}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Server,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.sub.title")})]}),e.jsx("div",{className:"space-y-2 text-xs",children:[{label:s("mock.sub.type"),value:"Subscription"},{label:s("mock.sub.maxUsers"),value:"100"},{label:s("mock.sub.grace"),value:"30 j"},{label:s("mock.sub.mode"),value:"Licensed"}].map(a=>e.jsxs("div",{className:"flex justify-between border-b border-[var(--border-color)] pb-1.5",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:a.label}),e.jsx("span",{className:"font-medium",children:a.value})]},a.label))})]}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Monitor,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.machine.title")})]}),e.jsx("div",{className:"space-y-2 text-xs",children:[{label:s("mock.machine.name"),value:"PROD-SRV-01"},{label:s("mock.machine.instanceId"),value:"a3f7-4d8e-..."},{label:s("mock.machine.licenseId"),value:"sls-29f1-..."}].map(a=>e.jsxs("div",{className:"flex flex-col border-b border-[var(--border-color)] pb-1.5 gap-0.5",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:a.label}),e.jsx("span",{className:"font-mono text-[var(--text-primary)] break-all",children:a.value})]},a.label))})]})]}),e.jsx(t,{children:s("annotation.details")}),e.jsxs("div",{className:"mt-4 border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-[var(--border-color)] flex items-center gap-2 bg-[var(--bg-secondary)]",children:[e.jsx(r.Layers,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.features.title")})]}),e.jsx("div",{className:"p-4",children:e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{groupKey:"mock.features.adminGroup",items:p},{groupKey:"mock.features.businessGroup",items:u},{groupKey:"mock.features.platformGroup",items:v}].map(({groupKey:a,items:d})=>e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--text-muted)] mb-2",children:s(a)}),e.jsx("div",{className:"space-y-1.5",children:d.map(l=>e.jsxs("div",{className:`flex items-center gap-2 px-2.5 py-1.5 rounded-md border text-xs ${l.enabled?"bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]":"bg-[var(--bg-secondary)] text-[var(--text-muted)] border-[var(--border-color)] opacity-60"}`,children:[l.enabled?e.jsx(r.Unlock,{className:"h-3 w-3 flex-shrink-0"}):e.jsx(r.Lock,{className:"h-3 w-3 flex-shrink-0"}),e.jsx("span",{className:"font-medium",children:l.label})]},l.label))})]},a))})})]}),e.jsx(t,{children:s("annotation.features")})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-3",children:s("dialog.sectionTitle")}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-5 bg-[var(--bg-card)] max-w-sm shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Key,{className:"h-5 w-5 text-[var(--color-primary-600)]"}),e.jsx("h3",{className:"font-semibold text-sm",children:s("dialog.title")})]}),e.jsx("p",{className:"text-xs text-[var(--text-muted)] mb-4",children:s("dialog.description")}),e.jsx("label",{className:"block text-xs font-medium mb-1.5",children:s("dialog.label")}),e.jsx("textarea",{disabled:!0,className:"w-full h-20 px-3 py-2 text-xs font-mono rounded-md border border-[var(--border-color)] bg-[var(--bg-secondary)] text-[var(--text-muted)] resize-none",placeholder:s("dialog.placeholder")}),e.jsx("button",{disabled:!0,className:"mt-3 w-full px-4 py-2 rounded-md bg-[var(--color-primary-600)] text-white text-sm font-medium opacity-80",children:s("dialog.btnActivate")})]}),e.jsx(t,{children:s("annotation.dialog")})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4",children:s("usecases.title")}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[1,2,3].map(a=>e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsx("div",{className:"text-xs font-semibold text-[var(--color-primary-600)] uppercase tracking-wide mb-1",children:s(`usecases.uc${a}.role`)}),e.jsx("p",{className:"text-sm font-medium mb-2",children:s(`usecases.uc${a}.action`)}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:s(`usecases.uc${a}.result`)})]},a))})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4",children:s("features.title")}),e.jsx("div",{className:"space-y-3",children:[1,2,3,4,5].map(a=>e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)] flex gap-4",children:[e.jsx("div",{className:"p-2 rounded-lg bg-[var(--color-primary-600)]/10 flex-shrink-0 h-fit",children:e.jsx(r.Zap,{className:"h-4 w-4 text-[var(--color-primary-600)]"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-1",children:s(`features.f${a}.title`)}),e.jsx("p",{className:"text-xs text-[var(--text-muted)] mb-2",children:s(`features.f${a}.desc`)}),e.jsxs("div",{className:"px-3 py-1.5 rounded-md bg-[var(--bg-secondary)] text-xs",children:[e.jsx("span",{className:"font-medium text-[var(--color-primary-600)]",children:"Ex. "}),s(`features.f${a}.example`)]})]})]},a))})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4",children:s("faq.title")}),e.jsx("div",{className:"space-y-3",children:[1,2,3,4,5].map(a=>e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-start gap-2 mb-2",children:[e.jsx(r.HelpCircle,{className:"h-4 w-4 text-[var(--color-primary-600)] flex-shrink-0 mt-0.5"}),e.jsx("h3",{className:"text-sm font-medium",children:s(`faq.q${a}`)})]}),e.jsx("p",{className:"text-xs text-[var(--text-muted)] pl-6",children:s(`faq.a${a}`)})]},a))})]}),e.jsxs("section",{children:[e.jsxs("button",{onClick:()=>c(!i),className:"w-full flex items-center justify-between p-4 rounded-lg border border-[var(--border-color)] bg-[var(--bg-card)] hover:bg-[var(--bg-secondary)] transition-colors",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r.Code2,{className:"h-4 w-4 text-[var(--text-muted)]"}),e.jsx("span",{className:"text-sm font-semibold",children:s("tech.title")})]}),e.jsx(r.ChevronRight,{className:`h-4 w-4 text-[var(--text-muted)] transition-transform ${i?"rotate-90":""}`})]}),i&&e.jsxs("div",{className:"mt-2 border border-[var(--border-color)] rounded-lg bg-[var(--bg-card)] divide-y divide-[var(--border-color)]",children:[e.jsxs("div",{className:"p-4",children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:s("tech.rules.title")}),e.jsx("div",{className:"space-y-2",children:h.map(a=>e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--bg-secondary)] text-xs",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"font-mono text-[var(--color-primary-600)]",children:a.id}),e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:a.category})]}),e.jsx("div",{className:"font-medium mb-0.5",children:a.name}),e.jsx("p",{className:"text-[var(--text-muted)]",children:s(a.key)})]},a.id))})]}),e.jsxs("div",{className:"p-4",children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:s("tech.permissions.title")}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border-color)]",children:[e.jsx("th",{className:"text-left py-2 px-2 text-[var(--text-muted)] font-medium",children:"Permission"}),e.jsx("th",{className:"text-left py-2 px-2 text-[var(--text-muted)] font-medium",children:"Description"}),e.jsx("th",{className:"text-left py-2 px-2 text-[var(--text-muted)] font-medium",children:"Rôles"})]})}),e.jsxs("tbody",{children:[e.jsxs("tr",{className:"border-b border-[var(--border-color)]",children:[e.jsx("td",{className:"py-2 px-2 font-mono",children:"administration.license.read"}),e.jsx("td",{className:"py-2 px-2",children:s("tech.perm.read")}),e.jsx("td",{className:"py-2 px-2",children:e.jsxs("div",{className:"flex gap-1",children:[e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:"Admin"}),e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:"Manager"})]})})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"py-2 px-2 font-mono",children:"administration.license.update"}),e.jsx("td",{className:"py-2 px-2",children:s("tech.perm.update")}),e.jsx("td",{className:"py-2 px-2",children:e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:"Admin"})})]})]})]})})]}),e.jsxs("div",{className:"p-4",children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:s("tech.endpoints.title")}),e.jsx("div",{className:"space-y-2",children:x.map((a,d)=>e.jsxs("div",{className:"p-2.5 rounded-lg bg-[var(--bg-secondary)] text-xs",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:`font-bold px-1.5 py-0.5 rounded border text-xs ${b[a.method]}`,children:a.method}),e.jsx("code",{children:a.path})]}),e.jsxs("div",{className:"text-[var(--text-muted)]",children:["Handler: ",a.handler," · ",e.jsx("span",{className:"font-mono",children:a.permission})]})]},d))})]})]})]})]})}exports.default=j;
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),o=require("react-router-dom"),m=require("react-i18next"),r=require("lucide-react");function t({children:s}){return e.jsxs("div",{className:"mt-3 flex items-start gap-2 px-3 py-2 rounded-md bg-blue-50 border border-blue-200 text-xs text-blue-800 dark:bg-blue-950/30 dark:border-blue-800 dark:text-blue-300",children:[e.jsx(r.Info,{className:"h-3.5 w-3.5 flex-shrink-0 mt-0.5"}),e.jsx("span",{children:s})]})}const x=[{method:"GET",path:"/api/administration/license",handler:"GetLicenseInfo",permission:"anonymous"},{method:"POST",path:"/api/administration/license/activate",handler:"ActivateLicense",permission:"administration.license.update"},{method:"GET",path:"/api/administration/license/features/{featureName}",handler:"IsFeatureEnabled",permission:"anonymous"},{method:"GET",path:"/api/administration/license/limits",handler:"GetLicenseLimits",permission:"anonymous"},{method:"GET",path:"/api/administration/license/limits/{limitKey}/check",handler:"CheckLimitExceeded",permission:"anonymous"},{method:"GET",path:"/api/administration/license/readonly-status",handler:"GetReadOnlyStatus",permission:"anonymous"},{method:"GET",path:"/api/administration/license/usage",handler:"GetUsage",permission:"anonymous"},{method:"POST",path:"/api/administration/license/validate-server",handler:"ValidateOnServer",permission:"administration.license.update"}],b={GET:"bg-blue-500/10 text-blue-700 border-blue-500/20",POST:"bg-green-500/10 text-green-700 border-green-500/20"},h=[{id:"BR-001",name:"JWT RSA-2048",category:"Sécurité",key:"tech.rules.br001"},{id:"BR-002",name:"Essai automatique",category:"Business Logic",key:"tech.rules.br002"},{id:"BR-003",name:"Mode lecture seule",category:"Business Logic",key:"tech.rules.br003"},{id:"BR-004",name:"Période de grâce",category:"Business Logic",key:"tech.rules.br004"},{id:"BR-005",name:"Empreinte machine",category:"Sécurité",key:"tech.rules.br005"},{id:"BR-006",name:"Tolérance utilisateurs",category:"Validation",key:"tech.rules.br006"},{id:"BR-007",name:"Tolérance tenants",category:"Validation",key:"tech.rules.br007"},{id:"BR-008",name:"Heartbeat serveur",category:"Business Logic",key:"tech.rules.br008"}],p=[{label:"AI",enabled:!0},{label:"Workflows",enabled:!0},{label:"Entra ID",enabled:!1},{label:"Branding",enabled:!1}],u=[{label:"Support",enabled:!0},{label:"Communications",enabled:!0},{label:"Reporting",enabled:!1}],v=[{label:"API Access",enabled:!0},{label:"Multi-Tenant",enabled:!0},{label:"Audit Logs",enabled:!1}];function j(){const{t:s}=m.useTranslation("docsAdministrationConfigurationLicense"),[d,c]=n.useState(!1);return e.jsxs("div",{className:"space-y-8 max-w-5xl mx-auto px-4 py-6",children:[e.jsxs(o.Link,{to:"/docs/business/administration/configuration",className:"inline-flex items-center gap-1.5 text-sm text-[var(--color-accent-500)] hover:text-[var(--color-accent-600)] transition-colors",children:[e.jsx(r.ArrowLeft,{className:"h-4 w-4"}),s("nav.backToConfiguration")]}),e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"p-2 rounded-lg bg-[var(--color-accent-100)]",children:e.jsx(r.Shield,{className:"h-6 w-6 text-[var(--color-accent-600)]"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-[var(--text-primary)]",children:s("title")}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-0.5",children:s("subtitle")})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 rounded-lg bg-red-50 border border-red-200 dark:bg-red-950/20 dark:border-red-800",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(r.Target,{className:"h-4 w-4 text-red-600"}),e.jsx("h3",{className:"text-sm font-semibold text-red-800 dark:text-red-300",children:s("value.problemTitle")})]}),e.jsx("p",{className:"text-xs text-red-700 dark:text-red-400",children:s("value.problem")})]}),e.jsxs("div",{className:"p-4 rounded-lg bg-green-50 border border-green-200 dark:bg-green-950/20 dark:border-green-800",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(r.ShieldCheck,{className:"h-4 w-4 text-green-600"}),e.jsx("h3",{className:"text-sm font-semibold text-green-800 dark:text-green-300",children:s("value.solutionTitle")})]}),e.jsx("p",{className:"text-xs text-green-700 dark:text-green-400",children:s("value.solution")})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-3",children:s("access.title")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm mb-3",children:[e.jsx("span",{className:"px-2 py-0.5 rounded bg-[var(--bg-tertiary)] text-[var(--text-muted)]",children:"Administration"}),e.jsx(r.ChevronRight,{className:"h-3.5 w-3.5 text-[var(--text-muted)]"}),e.jsx("span",{className:"px-2 py-0.5 rounded bg-[var(--bg-tertiary)] text-[var(--text-muted)]",children:"Configuration"}),e.jsx(r.ChevronRight,{className:"h-3.5 w-3.5 text-[var(--text-muted)]"}),e.jsx("span",{className:"px-2 py-0.5 rounded bg-[var(--color-accent-100)] text-[var(--color-accent-700)] font-medium",children:s("access.page")})]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-xs",children:[e.jsx("div",{className:"px-3 py-1.5 rounded-full bg-[var(--bg-secondary)] border border-[var(--border-color)] font-mono text-[var(--text-secondary)]",children:"/administration/configuration/license"}),e.jsx("div",{className:"px-3 py-1.5 rounded-full bg-blue-500/10 border border-blue-500/20 text-blue-700 font-mono",children:"administration.license.read"}),e.jsx("div",{className:"px-3 py-1.5 rounded-full bg-green-500/10 border border-green-500/20 text-green-700 font-mono",children:"administration.license.update"})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-3",children:s("interface.title")}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-[var(--border-color)] flex items-center justify-between bg-[var(--bg-secondary)]",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-bold text-[var(--text-primary)]",children:s("mock.header")}),e.jsx("div",{className:"text-xs text-[var(--text-muted)]",children:s("mock.headerSub")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs rounded-full bg-green-500/10 border border-green-500/20 text-green-700",children:[e.jsx(r.CheckCircle,{className:"h-3 w-3"}),"Professional · Active"]}),e.jsxs("button",{className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs border border-[var(--border-color)] rounded-md bg-[var(--bg-card)] text-[var(--text-secondary)]",children:[e.jsx(r.ShieldCheck,{className:"h-3.5 w-3.5"}),s("mock.btnValidate")]}),e.jsxs("button",{className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md bg-[var(--color-primary-600)] text-white",children:[e.jsx(r.Key,{className:"h-3.5 w-3.5"}),s("mock.btnActivate")]})]})]}),e.jsx("div",{className:"p-4",children:e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--info-bg)] text-[var(--info-text)] border-[var(--info-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.Shield,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.edition")})]}),e.jsx("div",{className:"text-xl font-bold",children:"Professional"})]}),e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.CheckCircle,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.status")})]}),e.jsx("div",{className:"text-xl font-bold",children:"Active"})]}),e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.Clock,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.days")})]}),e.jsx("div",{className:"text-xl font-bold",children:"142"})]}),e.jsxs("div",{className:"p-3 rounded-lg border bg-[var(--info-bg)] text-[var(--info-text)] border-[var(--info-border)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(r.Users,{className:"h-4 w-4 opacity-80"}),e.jsx("span",{className:"text-xs opacity-80",children:s("mock.kpi.maxUsers")})]}),e.jsx("div",{className:"text-xl font-bold",children:"100"})]})]})})]}),e.jsx(t,{children:s("annotation.kpis")}),e.jsxs("div",{className:"mt-4 border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-[var(--border-color)] flex items-center gap-2 bg-[var(--bg-secondary)]",children:[e.jsx(r.Zap,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.limits.title")})]}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-2 gap-8 max-w-sm mx-auto",children:[e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsxs("div",{className:"relative w-28 h-28",children:[e.jsxs("svg",{viewBox:"0 0 100 100",className:"w-full h-full -rotate-[135deg]",children:[e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"var(--bg-tertiary)",strokeWidth:"10",strokeDasharray:"240 360",strokeLinecap:"round"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#f59e0b",strokeWidth:"10",strokeDasharray:"36 360",strokeLinecap:"round",strokeDashoffset:"-204",opacity:"0.35"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#3b82f6",strokeWidth:"10",strokeDasharray:"168 360",strokeLinecap:"round"})]}),e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[e.jsx(r.Users,{className:"h-4 w-4 text-blue-500 mb-0.5"}),e.jsx("span",{className:"text-base font-bold",children:"70%"}),e.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"35 / 50"})]})]}),e.jsx("span",{className:"text-sm font-medium",children:s("mock.limits.users")}),e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:["+10 ",s("mock.limits.tolerance")]})]}),e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsxs("div",{className:"relative w-28 h-28",children:[e.jsxs("svg",{viewBox:"0 0 100 100",className:"w-full h-full -rotate-[135deg]",children:[e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"var(--bg-tertiary)",strokeWidth:"10",strokeDasharray:"240 360",strokeLinecap:"round"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#f59e0b",strokeWidth:"10",strokeDasharray:"12 360",strokeLinecap:"round",strokeDashoffset:"-228",opacity:"0.35"}),e.jsx("circle",{cx:"50",cy:"50",r:"38",fill:"none",stroke:"#3b82f6",strokeWidth:"10",strokeDasharray:"60 360",strokeLinecap:"round"})]}),e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[e.jsx(r.Building,{className:"h-4 w-4 text-blue-500 mb-0.5"}),e.jsx("span",{className:"text-base font-bold",children:"25%"}),e.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"5 / 20"})]})]}),e.jsx("span",{className:"text-sm font-medium",children:s("mock.limits.tenants")}),e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:["+2 ",s("mock.limits.tolerance")]})]})]})})]}),e.jsx(t,{children:s("annotation.limits")}),e.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Calendar,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.details.title")})]}),e.jsx("div",{className:"space-y-2 text-xs",children:[{label:s("mock.details.product"),value:"SmartStack"},{label:s("mock.details.company"),value:"Atlas SA"},{label:s("mock.details.edition"),value:"Professional"},{label:s("mock.details.status"),value:"Active"},{label:s("mock.details.activatedAt"),value:"15 jan. 2026"},{label:s("mock.details.expiresAt"),value:"14 jan. 2027"}].map(a=>e.jsxs("div",{className:"flex justify-between border-b border-[var(--border-color)] pb-1.5",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:a.label}),e.jsx("span",{className:"font-medium",children:a.value})]},a.label))})]}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Server,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.sub.title")})]}),e.jsx("div",{className:"space-y-2 text-xs",children:[{label:s("mock.sub.type"),value:"Subscription"},{label:s("mock.sub.maxUsers"),value:"100"},{label:s("mock.sub.grace"),value:"30 j"},{label:s("mock.sub.mode"),value:"Licensed"}].map(a=>e.jsxs("div",{className:"flex justify-between border-b border-[var(--border-color)] pb-1.5",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:a.label}),e.jsx("span",{className:"font-medium",children:a.value})]},a.label))})]}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Monitor,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.machine.title")})]}),e.jsx("div",{className:"space-y-2 text-xs",children:[{label:s("mock.machine.name"),value:"PROD-SRV-01"},{label:s("mock.machine.instanceId"),value:"a3f7-4d8e-..."},{label:s("mock.machine.licenseId"),value:"sls-29f1-..."}].map(a=>e.jsxs("div",{className:"flex flex-col border-b border-[var(--border-color)] pb-1.5 gap-0.5",children:[e.jsx("span",{className:"text-[var(--text-muted)]",children:a.label}),e.jsx("span",{className:"font-mono text-[var(--text-primary)] break-all",children:a.value})]},a.label))})]})]}),e.jsx(t,{children:s("annotation.details")}),e.jsxs("div",{className:"mt-4 border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-[var(--border-color)] flex items-center gap-2 bg-[var(--bg-secondary)]",children:[e.jsx(r.Layers,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm font-semibold",children:s("mock.features.title")})]}),e.jsx("div",{className:"p-4",children:e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{groupKey:"mock.features.adminGroup",items:p},{groupKey:"mock.features.businessGroup",items:u},{groupKey:"mock.features.platformGroup",items:v}].map(({groupKey:a,items:i})=>e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--text-muted)] mb-2",children:s(a)}),e.jsx("div",{className:"space-y-1.5",children:i.map(l=>e.jsxs("div",{className:`flex items-center gap-2 px-2.5 py-1.5 rounded-md border text-xs ${l.enabled?"bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]":"bg-[var(--bg-secondary)] text-[var(--text-muted)] border-[var(--border-color)] opacity-60"}`,children:[l.enabled?e.jsx(r.Unlock,{className:"h-3 w-3 flex-shrink-0"}):e.jsx(r.Lock,{className:"h-3 w-3 flex-shrink-0"}),e.jsx("span",{className:"font-medium",children:l.label})]},l.label))})]},a))})})]}),e.jsx(t,{children:s("annotation.features")})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-3",children:s("dialog.sectionTitle")}),e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-5 bg-[var(--bg-card)] max-w-sm shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(r.Key,{className:"h-5 w-5 text-[var(--color-primary-600)]"}),e.jsx("h3",{className:"font-semibold text-sm",children:s("dialog.title")})]}),e.jsx("p",{className:"text-xs text-[var(--text-muted)] mb-4",children:s("dialog.description")}),e.jsx("label",{className:"block text-xs font-medium mb-1.5",children:s("dialog.label")}),e.jsx("textarea",{disabled:!0,className:"w-full h-20 px-3 py-2 text-xs font-mono rounded-md border border-[var(--border-color)] bg-[var(--bg-secondary)] text-[var(--text-muted)] resize-none",placeholder:s("dialog.placeholder")}),e.jsx("button",{disabled:!0,className:"mt-3 w-full px-4 py-2 rounded-md bg-[var(--color-primary-600)] text-white text-sm font-medium opacity-80",children:s("dialog.btnActivate")})]}),e.jsx(t,{children:s("annotation.dialog")})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4",children:s("usecases.title")}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[1,2,3].map(a=>e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsx("div",{className:"text-xs font-semibold text-[var(--color-primary-600)] uppercase tracking-wide mb-1",children:s(`usecases.uc${a}.role`)}),e.jsx("p",{className:"text-sm font-medium mb-2",children:s(`usecases.uc${a}.action`)}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:s(`usecases.uc${a}.result`)})]},a))})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4",children:s("features.title")}),e.jsx("div",{className:"space-y-3",children:[1,2,3,4,5].map(a=>e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)] flex gap-4",children:[e.jsx("div",{className:"p-2 rounded-lg bg-[var(--color-primary-600)]/10 flex-shrink-0 h-fit",children:e.jsx(r.Zap,{className:"h-4 w-4 text-[var(--color-primary-600)]"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold mb-1",children:s(`features.f${a}.title`)}),e.jsx("p",{className:"text-xs text-[var(--text-muted)] mb-2",children:s(`features.f${a}.desc`)}),e.jsxs("div",{className:"px-3 py-1.5 rounded-md bg-[var(--bg-secondary)] text-xs",children:[e.jsx("span",{className:"font-medium text-[var(--color-primary-600)]",children:"Ex. "}),s(`features.f${a}.example`)]})]})]},a))})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)] mb-4",children:s("faq.title")}),e.jsx("div",{className:"space-y-3",children:[1,2,3,4,5].map(a=>e.jsxs("div",{className:"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"flex items-start gap-2 mb-2",children:[e.jsx(r.HelpCircle,{className:"h-4 w-4 text-[var(--color-primary-600)] flex-shrink-0 mt-0.5"}),e.jsx("h3",{className:"text-sm font-medium",children:s(`faq.q${a}`)})]}),e.jsx("p",{className:"text-xs text-[var(--text-muted)] pl-6",children:s(`faq.a${a}`)})]},a))})]}),e.jsxs("section",{children:[e.jsxs("button",{onClick:()=>c(!d),className:"w-full flex items-center justify-between p-4 rounded-lg border border-[var(--border-color)] bg-[var(--bg-card)] hover:bg-[var(--bg-secondary)] transition-colors",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r.Code2,{className:"h-4 w-4 text-[var(--text-muted)]"}),e.jsx("span",{className:"text-sm font-semibold",children:s("tech.title")})]}),e.jsx(r.ChevronRight,{className:`h-4 w-4 text-[var(--text-muted)] transition-transform ${d?"rotate-90":""}`})]}),d&&e.jsxs("div",{className:"mt-2 border border-[var(--border-color)] rounded-lg bg-[var(--bg-card)] divide-y divide-[var(--border-color)]",children:[e.jsxs("div",{className:"p-4",children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:s("tech.rules.title")}),e.jsx("div",{className:"space-y-2",children:h.map(a=>e.jsxs("div",{className:"p-3 rounded-lg bg-[var(--bg-secondary)] text-xs",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"font-mono text-[var(--color-primary-600)]",children:a.id}),e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:a.category})]}),e.jsx("div",{className:"font-medium mb-0.5",children:a.name}),e.jsx("p",{className:"text-[var(--text-muted)]",children:s(a.key)})]},a.id))})]}),e.jsxs("div",{className:"p-4",children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:s("tech.permissions.title")}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border-color)]",children:[e.jsx("th",{className:"text-left py-2 px-2 text-[var(--text-muted)] font-medium",children:"Permission"}),e.jsx("th",{className:"text-left py-2 px-2 text-[var(--text-muted)] font-medium",children:"Description"}),e.jsx("th",{className:"text-left py-2 px-2 text-[var(--text-muted)] font-medium",children:"Rôles"})]})}),e.jsxs("tbody",{children:[e.jsxs("tr",{className:"border-b border-[var(--border-color)]",children:[e.jsx("td",{className:"py-2 px-2 font-mono",children:"administration.license.read"}),e.jsx("td",{className:"py-2 px-2",children:s("tech.perm.read")}),e.jsx("td",{className:"py-2 px-2",children:e.jsxs("div",{className:"flex gap-1",children:[e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:"Admin"}),e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:"Manager"})]})})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"py-2 px-2 font-mono",children:"administration.license.update"}),e.jsx("td",{className:"py-2 px-2",children:s("tech.perm.update")}),e.jsx("td",{className:"py-2 px-2",children:e.jsx("span",{className:"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]",children:"Admin"})})]})]})]})})]}),e.jsxs("div",{className:"p-4",children:[e.jsx("h3",{className:"text-sm font-semibold mb-3",children:s("tech.endpoints.title")}),e.jsx("div",{className:"space-y-2",children:x.map((a,i)=>e.jsxs("div",{className:"p-2.5 rounded-lg bg-[var(--bg-secondary)] text-xs",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:`font-bold px-1.5 py-0.5 rounded border text-xs ${b[a.method]}`,children:a.method}),e.jsx("code",{children:a.path})]}),e.jsxs("div",{className:"text-[var(--text-muted)]",children:["Handler: ",a.handler," · ",e.jsx("span",{className:"font-mono",children:a.permission})]})]},`ep-${a.method}-${i}`))})]})]})]})]})}exports.default=j;
|
|
2
|
+
//# sourceMappingURL=index-BEpBEF5G.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BEpBEF5G.cjs","sources":["../src/pages/docs/business/platform/administration/configuration/license/index.tsx"],"sourcesContent":["import { useState} from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n ArrowLeft, Shield, Calendar, Key, Layers, Users, Building, CheckCircle,\r\n Clock, Lock, Unlock, ShieldCheck, Monitor, Server,\r\n ChevronRight, Info, HelpCircle, Code2, Zap, Target,\r\n} from 'lucide-react';\r\n\r\n// ── Annotation helper ─────────────────────────────────────────────────────────\r\n\r\nfunction Annotation({ children }: { children: React.ReactNode }) {\r\n return (\r\n <div className=\"mt-3 flex items-start gap-2 px-3 py-2 rounded-md bg-blue-50 border border-blue-200 text-xs text-blue-800 dark:bg-blue-950/30 dark:border-blue-800 dark:text-blue-300\">\r\n <Info className=\"h-3.5 w-3.5 flex-shrink-0 mt-0.5\" />\r\n <span>{children}</span>\r\n </div>\r\n );\r\n}\r\n\r\n// ── Mock data ─────────────────────────────────────────────────────────────────\r\n\r\nconst apiEndpoints = [\r\n { method: 'GET' as const, path: '/api/administration/license', handler: 'GetLicenseInfo', permission: 'anonymous' },\r\n { method: 'POST' as const, path: '/api/administration/license/activate', handler: 'ActivateLicense', permission: 'administration.license.update' },\r\n { method: 'GET' as const, path: '/api/administration/license/features/{featureName}', handler: 'IsFeatureEnabled', permission: 'anonymous' },\r\n { method: 'GET' as const, path: '/api/administration/license/limits', handler: 'GetLicenseLimits', permission: 'anonymous' },\r\n { method: 'GET' as const, path: '/api/administration/license/limits/{limitKey}/check', handler: 'CheckLimitExceeded', permission: 'anonymous' },\r\n { method: 'GET' as const, path: '/api/administration/license/readonly-status', handler: 'GetReadOnlyStatus', permission: 'anonymous' },\r\n { method: 'GET' as const, path: '/api/administration/license/usage', handler: 'GetUsage', permission: 'anonymous' },\r\n { method: 'POST' as const, path: '/api/administration/license/validate-server', handler: 'ValidateOnServer', permission: 'administration.license.update' },\r\n];\r\n\r\nconst methodColors: Record<string, string> = {\r\n GET: 'bg-blue-500/10 text-blue-700 border-blue-500/20',\r\n POST: 'bg-green-500/10 text-green-700 border-green-500/20',\r\n};\r\n\r\nconst businessRules = [\r\n { id: 'BR-001', name: 'JWT RSA-2048', category: 'Sécurité', key: 'tech.rules.br001' },\r\n { id: 'BR-002', name: 'Essai automatique', category: 'Business Logic', key: 'tech.rules.br002' },\r\n { id: 'BR-003', name: 'Mode lecture seule', category: 'Business Logic', key: 'tech.rules.br003' },\r\n { id: 'BR-004', name: 'Période de grâce', category: 'Business Logic', key: 'tech.rules.br004' },\r\n { id: 'BR-005', name: 'Empreinte machine', category: 'Sécurité', key: 'tech.rules.br005' },\r\n { id: 'BR-006', name: 'Tolérance utilisateurs', category: 'Validation', key: 'tech.rules.br006' },\r\n { id: 'BR-007', name: 'Tolérance tenants', category: 'Validation', key: 'tech.rules.br007' },\r\n { id: 'BR-008', name: 'Heartbeat serveur', category: 'Business Logic', key: 'tech.rules.br008' },\r\n];\r\n\r\nconst adminFeatures = [\r\n { label: 'AI', enabled: true },\r\n { label: 'Workflows', enabled: true },\r\n { label: 'Entra ID', enabled: false },\r\n { label: 'Branding', enabled: false },\r\n];\r\nconst businessFeatures = [\r\n { label: 'Support', enabled: true },\r\n { label: 'Communications', enabled: true },\r\n { label: 'Reporting', enabled: false },\r\n];\r\nconst platformFeatures = [\r\n { label: 'API Access', enabled: true },\r\n { label: 'Multi-Tenant', enabled: true },\r\n { label: 'Audit Logs', enabled: false },\r\n];\r\n\r\n// ── Component ─────────────────────────────────────────────────────────────────\r\n\r\nexport default function LicenseDocPage(): ReactElement {\r\n const { t } = useTranslation('docsAdministrationConfigurationLicense');\r\n const [showTechRef, setShowTechRef] = useState(false);\r\n\r\n return (\r\n <div className=\"space-y-8 max-w-5xl mx-auto px-4 py-6\">\r\n\r\n {/* Back link */}\r\n <Link\r\n to=\"/docs/business/administration/configuration\"\r\n className=\"inline-flex items-center gap-1.5 text-sm text-[var(--color-accent-500)] hover:text-[var(--color-accent-600)] transition-colors\"\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n {t('nav.backToConfiguration')}\r\n </Link>\r\n\r\n {/* ── Section 1: Business Value ──────────────────────────────────────── */}\r\n <section>\r\n <div className=\"flex items-center gap-3 mb-4\">\r\n <div className=\"p-2 rounded-lg bg-[var(--color-accent-100)]\">\r\n <Shield className=\"h-6 w-6 text-[var(--color-accent-600)]\" />\r\n </div>\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">{t('title')}</h1>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-0.5\">{t('subtitle')}</p>\r\n </div>\r\n </div>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"p-4 rounded-lg bg-red-50 border border-red-200 dark:bg-red-950/20 dark:border-red-800\">\r\n <div className=\"flex items-center gap-2 mb-2\">\r\n <Target className=\"h-4 w-4 text-red-600\" />\r\n <h3 className=\"text-sm font-semibold text-red-800 dark:text-red-300\">{t('value.problemTitle')}</h3>\r\n </div>\r\n <p className=\"text-xs text-red-700 dark:text-red-400\">{t('value.problem')}</p>\r\n </div>\r\n <div className=\"p-4 rounded-lg bg-green-50 border border-green-200 dark:bg-green-950/20 dark:border-green-800\">\r\n <div className=\"flex items-center gap-2 mb-2\">\r\n <ShieldCheck className=\"h-4 w-4 text-green-600\" />\r\n <h3 className=\"text-sm font-semibold text-green-800 dark:text-green-300\">{t('value.solutionTitle')}</h3>\r\n </div>\r\n <p className=\"text-xs text-green-700 dark:text-green-400\">{t('value.solution')}</p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* ── Section 2: Access ─────────────────────────────────────────────── */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-3\">{t('access.title')}</h2>\r\n <div className=\"flex flex-wrap items-center gap-2 text-sm mb-3\">\r\n <span className=\"px-2 py-0.5 rounded bg-[var(--bg-tertiary)] text-[var(--text-muted)]\">Administration</span>\r\n <ChevronRight className=\"h-3.5 w-3.5 text-[var(--text-muted)]\" />\r\n <span className=\"px-2 py-0.5 rounded bg-[var(--bg-tertiary)] text-[var(--text-muted)]\">Configuration</span>\r\n <ChevronRight className=\"h-3.5 w-3.5 text-[var(--text-muted)]\" />\r\n <span className=\"px-2 py-0.5 rounded bg-[var(--color-accent-100)] text-[var(--color-accent-700)] font-medium\">{t('access.page')}</span>\r\n </div>\r\n <div className=\"flex flex-wrap gap-3 text-xs\">\r\n <div className=\"px-3 py-1.5 rounded-full bg-[var(--bg-secondary)] border border-[var(--border-color)] font-mono text-[var(--text-secondary)]\">\r\n /administration/configuration/license\r\n </div>\r\n <div className=\"px-3 py-1.5 rounded-full bg-blue-500/10 border border-blue-500/20 text-blue-700 font-mono\">\r\n administration.license.read\r\n </div>\r\n <div className=\"px-3 py-1.5 rounded-full bg-green-500/10 border border-green-500/20 text-green-700 font-mono\">\r\n administration.license.update\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* ── Section 3: Interface Overview ─────────────────────────────────── */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-3\">{t('interface.title')}</h2>\r\n\r\n {/* Mock page header */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm\">\r\n <div className=\"px-4 py-3 border-b border-[var(--border-color)] flex items-center justify-between bg-[var(--bg-secondary)]\">\r\n <div>\r\n <div className=\"text-sm font-bold text-[var(--text-primary)]\">{t('mock.header')}</div>\r\n <div className=\"text-xs text-[var(--text-muted)]\">{t('mock.headerSub')}</div>\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs rounded-full bg-green-500/10 border border-green-500/20 text-green-700\">\r\n <CheckCircle className=\"h-3 w-3\" />\r\n Professional · Active\r\n </span>\r\n <button className=\"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs border border-[var(--border-color)] rounded-md bg-[var(--bg-card)] text-[var(--text-secondary)]\">\r\n <ShieldCheck className=\"h-3.5 w-3.5\" />\r\n {t('mock.btnValidate')}\r\n </button>\r\n <button className=\"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md bg-[var(--color-primary-600)] text-white\">\r\n <Key className=\"h-3.5 w-3.5\" />\r\n {t('mock.btnActivate')}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n {/* KPI Cards */}\r\n <div className=\"p-4\">\r\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-3\">\r\n <div className=\"p-3 rounded-lg border bg-[var(--info-bg)] text-[var(--info-text)] border-[var(--info-border)]\">\r\n <div className=\"flex items-center gap-1.5 mb-1.5\">\r\n <Shield className=\"h-4 w-4 opacity-80\" />\r\n <span className=\"text-xs opacity-80\">{t('mock.kpi.edition')}</span>\r\n </div>\r\n <div className=\"text-xl font-bold\">Professional</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]\">\r\n <div className=\"flex items-center gap-1.5 mb-1.5\">\r\n <CheckCircle className=\"h-4 w-4 opacity-80\" />\r\n <span className=\"text-xs opacity-80\">{t('mock.kpi.status')}</span>\r\n </div>\r\n <div className=\"text-xl font-bold\">Active</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]\">\r\n <div className=\"flex items-center gap-1.5 mb-1.5\">\r\n <Clock className=\"h-4 w-4 opacity-80\" />\r\n <span className=\"text-xs opacity-80\">{t('mock.kpi.days')}</span>\r\n </div>\r\n <div className=\"text-xl font-bold\">142</div>\r\n </div>\r\n <div className=\"p-3 rounded-lg border bg-[var(--info-bg)] text-[var(--info-text)] border-[var(--info-border)]\">\r\n <div className=\"flex items-center gap-1.5 mb-1.5\">\r\n <Users className=\"h-4 w-4 opacity-80\" />\r\n <span className=\"text-xs opacity-80\">{t('mock.kpi.maxUsers')}</span>\r\n </div>\r\n <div className=\"text-xl font-bold\">100</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Annotation>{t('annotation.kpis')}</Annotation>\r\n\r\n {/* Mock Limits */}\r\n <div className=\"mt-4 border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm\">\r\n <div className=\"px-4 py-3 border-b border-[var(--border-color)] flex items-center gap-2 bg-[var(--bg-secondary)]\">\r\n <Zap className=\"h-4 w-4\" />\r\n <span className=\"text-sm font-semibold\">{t('mock.limits.title')}</span>\r\n </div>\r\n <div className=\"p-6\">\r\n <div className=\"grid grid-cols-2 gap-8 max-w-sm mx-auto\">\r\n {/* Users gauge */}\r\n <div className=\"flex flex-col items-center gap-2\">\r\n <div className=\"relative w-28 h-28\">\r\n <svg viewBox=\"0 0 100 100\" className=\"w-full h-full -rotate-[135deg]\">\r\n <circle cx=\"50\" cy=\"50\" r=\"38\" fill=\"none\" stroke=\"var(--bg-tertiary)\" strokeWidth=\"10\"\r\n strokeDasharray=\"240 360\" strokeLinecap=\"round\" />\r\n <circle cx=\"50\" cy=\"50\" r=\"38\" fill=\"none\" stroke=\"#f59e0b\" strokeWidth=\"10\"\r\n strokeDasharray=\"36 360\" strokeLinecap=\"round\" strokeDashoffset=\"-204\" opacity=\"0.35\" />\r\n <circle cx=\"50\" cy=\"50\" r=\"38\" fill=\"none\" stroke=\"#3b82f6\" strokeWidth=\"10\"\r\n strokeDasharray=\"168 360\" strokeLinecap=\"round\" />\r\n </svg>\r\n <div className=\"absolute inset-0 flex flex-col items-center justify-center\">\r\n <Users className=\"h-4 w-4 text-blue-500 mb-0.5\" />\r\n <span className=\"text-base font-bold\">70%</span>\r\n <span className=\"text-xs text-[var(--text-muted)]\">35 / 50</span>\r\n </div>\r\n </div>\r\n <span className=\"text-sm font-medium\">{t('mock.limits.users')}</span>\r\n <span className=\"text-xs text-[var(--text-muted)]\">+10 {t('mock.limits.tolerance')}</span>\r\n </div>\r\n {/* Tenants gauge */}\r\n <div className=\"flex flex-col items-center gap-2\">\r\n <div className=\"relative w-28 h-28\">\r\n <svg viewBox=\"0 0 100 100\" className=\"w-full h-full -rotate-[135deg]\">\r\n <circle cx=\"50\" cy=\"50\" r=\"38\" fill=\"none\" stroke=\"var(--bg-tertiary)\" strokeWidth=\"10\"\r\n strokeDasharray=\"240 360\" strokeLinecap=\"round\" />\r\n <circle cx=\"50\" cy=\"50\" r=\"38\" fill=\"none\" stroke=\"#f59e0b\" strokeWidth=\"10\"\r\n strokeDasharray=\"12 360\" strokeLinecap=\"round\" strokeDashoffset=\"-228\" opacity=\"0.35\" />\r\n <circle cx=\"50\" cy=\"50\" r=\"38\" fill=\"none\" stroke=\"#3b82f6\" strokeWidth=\"10\"\r\n strokeDasharray=\"60 360\" strokeLinecap=\"round\" />\r\n </svg>\r\n <div className=\"absolute inset-0 flex flex-col items-center justify-center\">\r\n <Building className=\"h-4 w-4 text-blue-500 mb-0.5\" />\r\n <span className=\"text-base font-bold\">25%</span>\r\n <span className=\"text-xs text-[var(--text-muted)]\">5 / 20</span>\r\n </div>\r\n </div>\r\n <span className=\"text-sm font-medium\">{t('mock.limits.tenants')}</span>\r\n <span className=\"text-xs text-[var(--text-muted)]\">+2 {t('mock.limits.tolerance')}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Annotation>{t('annotation.limits')}</Annotation>\r\n\r\n {/* Mock 3-col grid */}\r\n <div className=\"mt-4 grid grid-cols-1 md:grid-cols-3 gap-4\">\r\n {/* License Details */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]\">\r\n <div className=\"flex items-center gap-2 mb-3\">\r\n <Calendar className=\"h-4 w-4\" />\r\n <span className=\"text-sm font-semibold\">{t('mock.details.title')}</span>\r\n </div>\r\n <div className=\"space-y-2 text-xs\">\r\n {[\r\n { label: t('mock.details.product'), value: 'SmartStack' },\r\n { label: t('mock.details.company'), value: 'Atlas SA' },\r\n { label: t('mock.details.edition'), value: 'Professional' },\r\n { label: t('mock.details.status'), value: 'Active' },\r\n { label: t('mock.details.activatedAt'), value: '15 jan. 2026' },\r\n { label: t('mock.details.expiresAt'), value: '14 jan. 2027' },\r\n ].map(row => (\r\n <div key={row.label} className=\"flex justify-between border-b border-[var(--border-color)] pb-1.5\">\r\n <span className=\"text-[var(--text-muted)]\">{row.label}</span>\r\n <span className=\"font-medium\">{row.value}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n {/* Subscription */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]\">\r\n <div className=\"flex items-center gap-2 mb-3\">\r\n <Server className=\"h-4 w-4\" />\r\n <span className=\"text-sm font-semibold\">{t('mock.sub.title')}</span>\r\n </div>\r\n <div className=\"space-y-2 text-xs\">\r\n {[\r\n { label: t('mock.sub.type'), value: 'Subscription' },\r\n { label: t('mock.sub.maxUsers'), value: '100' },\r\n { label: t('mock.sub.grace'), value: '30 j' },\r\n { label: t('mock.sub.mode'), value: 'Licensed' },\r\n ].map(row => (\r\n <div key={row.label} className=\"flex justify-between border-b border-[var(--border-color)] pb-1.5\">\r\n <span className=\"text-[var(--text-muted)]\">{row.label}</span>\r\n <span className=\"font-medium\">{row.value}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n {/* Machine */}\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]\">\r\n <div className=\"flex items-center gap-2 mb-3\">\r\n <Monitor className=\"h-4 w-4\" />\r\n <span className=\"text-sm font-semibold\">{t('mock.machine.title')}</span>\r\n </div>\r\n <div className=\"space-y-2 text-xs\">\r\n {[\r\n { label: t('mock.machine.name'), value: 'PROD-SRV-01' },\r\n { label: t('mock.machine.instanceId'), value: 'a3f7-4d8e-...' },\r\n { label: t('mock.machine.licenseId'), value: 'sls-29f1-...' },\r\n ].map(row => (\r\n <div key={row.label} className=\"flex flex-col border-b border-[var(--border-color)] pb-1.5 gap-0.5\">\r\n <span className=\"text-[var(--text-muted)]\">{row.label}</span>\r\n <span className=\"font-mono text-[var(--text-primary)] break-all\">{row.value}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Annotation>{t('annotation.details')}</Annotation>\r\n\r\n {/* Mock Features Matrix */}\r\n <div className=\"mt-4 border border-[var(--border-color)] rounded-lg overflow-hidden bg-[var(--bg-card)] shadow-sm\">\r\n <div className=\"px-4 py-3 border-b border-[var(--border-color)] flex items-center gap-2 bg-[var(--bg-secondary)]\">\r\n <Layers className=\"h-4 w-4\" />\r\n <span className=\"text-sm font-semibold\">{t('mock.features.title')}</span>\r\n </div>\r\n <div className=\"p-4\">\r\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-6\">\r\n {[\r\n { groupKey: 'mock.features.adminGroup', items: adminFeatures },\r\n { groupKey: 'mock.features.businessGroup', items: businessFeatures },\r\n { groupKey: 'mock.features.platformGroup', items: platformFeatures },\r\n ].map(({ groupKey, items }) => (\r\n <div key={groupKey}>\r\n <h4 className=\"text-xs font-semibold uppercase tracking-wider text-[var(--text-muted)] mb-2\">\r\n {t(groupKey)}\r\n </h4>\r\n <div className=\"space-y-1.5\">\r\n {items.map(f => (\r\n <div\r\n key={f.label}\r\n className={`flex items-center gap-2 px-2.5 py-1.5 rounded-md border text-xs ${\r\n f.enabled\r\n ? 'bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]'\r\n : 'bg-[var(--bg-secondary)] text-[var(--text-muted)] border-[var(--border-color)] opacity-60'\r\n }`}\r\n >\r\n {f.enabled\r\n ? <Unlock className=\"h-3 w-3 flex-shrink-0\" />\r\n : <Lock className=\"h-3 w-3 flex-shrink-0\" />\r\n }\r\n <span className=\"font-medium\">{f.label}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Annotation>{t('annotation.features')}</Annotation>\r\n </section>\r\n\r\n {/* ── Section 4: Activation Dialog ──────────────────────────────────── */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-3\">{t('dialog.sectionTitle')}</h2>\r\n <div className=\"border border-[var(--border-color)] rounded-lg p-5 bg-[var(--bg-card)] max-w-sm shadow-sm\">\r\n <div className=\"flex items-center gap-2 mb-3\">\r\n <Key className=\"h-5 w-5 text-[var(--color-primary-600)]\" />\r\n <h3 className=\"font-semibold text-sm\">{t('dialog.title')}</h3>\r\n </div>\r\n <p className=\"text-xs text-[var(--text-muted)] mb-4\">{t('dialog.description')}</p>\r\n <label className=\"block text-xs font-medium mb-1.5\">{t('dialog.label')}</label>\r\n <textarea\r\n disabled\r\n className=\"w-full h-20 px-3 py-2 text-xs font-mono rounded-md border border-[var(--border-color)] bg-[var(--bg-secondary)] text-[var(--text-muted)] resize-none\"\r\n placeholder={t('dialog.placeholder')}\r\n />\r\n <button\r\n disabled\r\n className=\"mt-3 w-full px-4 py-2 rounded-md bg-[var(--color-primary-600)] text-white text-sm font-medium opacity-80\"\r\n >\r\n {t('dialog.btnActivate')}\r\n </button>\r\n </div>\r\n <Annotation>{t('annotation.dialog')}</Annotation>\r\n </section>\r\n\r\n {/* ── Section 5: Use Cases ───────────────────────────────────────────── */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4\">{t('usecases.title')}</h2>\r\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\r\n {[1, 2, 3].map(n => (\r\n <div key={n} className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]\">\r\n <div className=\"text-xs font-semibold text-[var(--color-primary-600)] uppercase tracking-wide mb-1\">\r\n {t(`usecases.uc${n}.role`)}\r\n </div>\r\n <p className=\"text-sm font-medium mb-2\">{t(`usecases.uc${n}.action`)}</p>\r\n <p className=\"text-xs text-[var(--text-muted)]\">{t(`usecases.uc${n}.result`)}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* ── Section 6: Features ────────────────────────────────────────────── */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4\">{t('features.title')}</h2>\r\n <div className=\"space-y-3\">\r\n {[1, 2, 3, 4, 5].map(n => (\r\n <div key={n} className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)] flex gap-4\">\r\n <div className=\"p-2 rounded-lg bg-[var(--color-primary-600)]/10 flex-shrink-0 h-fit\">\r\n <Zap className=\"h-4 w-4 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div>\r\n <h3 className=\"text-sm font-semibold mb-1\">{t(`features.f${n}.title`)}</h3>\r\n <p className=\"text-xs text-[var(--text-muted)] mb-2\">{t(`features.f${n}.desc`)}</p>\r\n <div className=\"px-3 py-1.5 rounded-md bg-[var(--bg-secondary)] text-xs\">\r\n <span className=\"font-medium text-[var(--color-primary-600)]\">Ex. </span>\r\n {t(`features.f${n}.example`)}\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* ── Section 7: FAQ ─────────────────────────────────────────────────── */}\r\n <section>\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4\">{t('faq.title')}</h2>\r\n <div className=\"space-y-3\">\r\n {[1, 2, 3, 4, 5].map(n => (\r\n <div key={n} className=\"border border-[var(--border-color)] rounded-lg p-4 bg-[var(--bg-card)]\">\r\n <div className=\"flex items-start gap-2 mb-2\">\r\n <HelpCircle className=\"h-4 w-4 text-[var(--color-primary-600)] flex-shrink-0 mt-0.5\" />\r\n <h3 className=\"text-sm font-medium\">{t(`faq.q${n}`)}</h3>\r\n </div>\r\n <p className=\"text-xs text-[var(--text-muted)] pl-6\">{t(`faq.a${n}`)}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* ── Section 8: Technical Reference ────────────────────────────────── */}\r\n <section>\r\n <button\r\n onClick={() => setShowTechRef(!showTechRef)}\r\n className=\"w-full flex items-center justify-between p-4 rounded-lg border border-[var(--border-color)] bg-[var(--bg-card)] hover:bg-[var(--bg-secondary)] transition-colors\"\r\n >\r\n <div className=\"flex items-center gap-2\">\r\n <Code2 className=\"h-4 w-4 text-[var(--text-muted)]\" />\r\n <span className=\"text-sm font-semibold\">{t('tech.title')}</span>\r\n </div>\r\n <ChevronRight className={`h-4 w-4 text-[var(--text-muted)] transition-transform ${showTechRef ? 'rotate-90' : ''}`} />\r\n </button>\r\n\r\n {showTechRef && (\r\n <div className=\"mt-2 border border-[var(--border-color)] rounded-lg bg-[var(--bg-card)] divide-y divide-[var(--border-color)]\">\r\n\r\n {/* Business Rules */}\r\n <div className=\"p-4\">\r\n <h3 className=\"text-sm font-semibold mb-3\">{t('tech.rules.title')}</h3>\r\n <div className=\"space-y-2\">\r\n {businessRules.map(rule => (\r\n <div key={rule.id} className=\"p-3 rounded-lg bg-[var(--bg-secondary)] text-xs\">\r\n <div className=\"flex items-center gap-2 mb-1\">\r\n <span className=\"font-mono text-[var(--color-primary-600)]\">{rule.id}</span>\r\n <span className=\"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]\">\r\n {rule.category}\r\n </span>\r\n </div>\r\n <div className=\"font-medium mb-0.5\">{rule.name}</div>\r\n <p className=\"text-[var(--text-muted)]\">{t(rule.key)}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n {/* Permissions */}\r\n <div className=\"p-4\">\r\n <h3 className=\"text-sm font-semibold mb-3\">{t('tech.permissions.title')}</h3>\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full text-xs\">\r\n <thead>\r\n <tr className=\"border-b border-[var(--border-color)]\">\r\n <th className=\"text-left py-2 px-2 text-[var(--text-muted)] font-medium\">Permission</th>\r\n <th className=\"text-left py-2 px-2 text-[var(--text-muted)] font-medium\">Description</th>\r\n <th className=\"text-left py-2 px-2 text-[var(--text-muted)] font-medium\">Rôles</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr className=\"border-b border-[var(--border-color)]\">\r\n <td className=\"py-2 px-2 font-mono\">administration.license.read</td>\r\n <td className=\"py-2 px-2\">{t('tech.perm.read')}</td>\r\n <td className=\"py-2 px-2\">\r\n <div className=\"flex gap-1\">\r\n <span className=\"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]\">Admin</span>\r\n <span className=\"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]\">Manager</span>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td className=\"py-2 px-2 font-mono\">administration.license.update</td>\r\n <td className=\"py-2 px-2\">{t('tech.perm.update')}</td>\r\n <td className=\"py-2 px-2\">\r\n <span className=\"px-1.5 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-700)]\">Admin</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n {/* API Endpoints */}\r\n <div className=\"p-4\">\r\n <h3 className=\"text-sm font-semibold mb-3\">{t('tech.endpoints.title')}</h3>\r\n <div className=\"space-y-2\">\r\n {apiEndpoints.map((ep, i) => (\r\n <div key={`ep-${ep.method}-${i}`} className=\"p-2.5 rounded-lg bg-[var(--bg-secondary)] text-xs\">\r\n <div className=\"flex items-center gap-2 mb-1\">\r\n <span className={`font-bold px-1.5 py-0.5 rounded border text-xs ${methodColors[ep.method]}`}>\r\n {ep.method}\r\n </span>\r\n <code>{ep.path}</code>\r\n </div>\r\n <div className=\"text-[var(--text-muted)]\">\r\n Handler: {ep.handler} · <span className=\"font-mono\">{ep.permission}</span>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n )}\r\n </section>\r\n\r\n </div>\r\n );\r\n}\r\n"],"names":["Annotation","children","jsxs","jsx","Info","apiEndpoints","methodColors","businessRules","adminFeatures","businessFeatures","platformFeatures","LicenseDocPage","t","useTranslation","showTechRef","setShowTechRef","useState","Link","ArrowLeft","Shield","Target","ShieldCheck","ChevronRight","CheckCircle","Key","Clock","Users","Zap","Building","Calendar","row","Server","Monitor","Layers","groupKey","items","f","Unlock","Lock","n","HelpCircle","Code2","rule","ep"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Link as m } from "react-router-dom";
|
|
3
3
|
import { useTranslation as g } from "react-i18next";
|
|
4
|
-
import { ArrowLeft as i, Server as n, Target as N, Lightbulb as f, PauseCircle as x, Users as p, Clock as h, Search as b, Filter as y, Layers as o, MoreHorizontal as w, ShieldAlert as T, PlayCircle as d, Archive as v, RefreshCw as
|
|
5
|
-
const
|
|
4
|
+
import { ArrowLeft as i, Server as n, Target as N, Lightbulb as f, PauseCircle as x, Users as p, Clock as h, Search as b, Filter as y, Layers as o, MoreHorizontal as w, ShieldAlert as T, PlayCircle as d, Archive as v, RefreshCw as $, Zap as S, Info as C } from "lucide-react";
|
|
5
|
+
const k = [
|
|
6
6
|
{ name: "SmartStack System", slug: "smartstack-system", status: "Active", template: "", members: 0, requests: 0 },
|
|
7
7
|
{ name: "Notification Engine", slug: "notification-engine", status: "Active", template: "", members: 0, requests: 0 },
|
|
8
8
|
{ name: "Audit Platform", slug: "audit-platform", status: "Active", template: "system-default", members: 2, requests: 0 },
|
|
@@ -13,7 +13,7 @@ const A = [
|
|
|
13
13
|
suspended: 1,
|
|
14
14
|
members: 3,
|
|
15
15
|
pendingRequests: 1
|
|
16
|
-
},
|
|
16
|
+
}, A = ["overview", "members", "groups", "roles", "applications", "entra", "requests"], q = [
|
|
17
17
|
{ method: "GET", path: "/api/administration/tenants", handler: "GetAllTenants", permission: "administration.tenants.read" },
|
|
18
18
|
{ method: "GET", path: "/api/administration/tenants/{id}", handler: "GetTenant", permission: "authenticated" },
|
|
19
19
|
{ method: "GET", path: "/api/administration/tenants/by-slug/{slug}", handler: "GetTenantBySlug", permission: "authenticated" },
|
|
@@ -32,7 +32,7 @@ const A = [
|
|
|
32
32
|
}, E = ({ status: a }) => a === "Active" ? /* @__PURE__ */ e(d, { className: "w-3 h-3" }) : a === "Suspended" ? /* @__PURE__ */ e(x, { className: "w-3 h-3" }) : a === "Archived" ? /* @__PURE__ */ e(v, { className: "w-3 h-3" }) : /* @__PURE__ */ e(h, { className: "w-3 h-3" });
|
|
33
33
|
function r({ text: a }) {
|
|
34
34
|
return /* @__PURE__ */ t("div", { className: "flex items-start gap-2 p-2.5 rounded-lg bg-blue-500/5 border border-blue-500/15 text-sm text-blue-700 dark:text-blue-400", children: [
|
|
35
|
-
/* @__PURE__ */ e(
|
|
35
|
+
/* @__PURE__ */ e(C, { className: "w-4 h-4 mt-0.5 flex-shrink-0" }),
|
|
36
36
|
/* @__PURE__ */ e("span", { children: a })
|
|
37
37
|
] });
|
|
38
38
|
}
|
|
@@ -204,7 +204,7 @@ function D() {
|
|
|
204
204
|
/* @__PURE__ */ e("th", { className: "text-center px-4 py-3 text-xs font-semibold text-[var(--text-tertiary)] uppercase tracking-wider hidden lg:table-cell", children: a("interface.columns.requests") }),
|
|
205
205
|
/* @__PURE__ */ e("th", { className: "w-12 px-4 py-3" })
|
|
206
206
|
] }) }),
|
|
207
|
-
/* @__PURE__ */ e("tbody", { className: "divide-y divide-[var(--border-color)]", children:
|
|
207
|
+
/* @__PURE__ */ e("tbody", { className: "divide-y divide-[var(--border-color)]", children: k.map((s) => {
|
|
208
208
|
const l = j[s.status];
|
|
209
209
|
return /* @__PURE__ */ t("tr", { className: "hover:bg-[var(--bg-hover)] transition-colors", children: [
|
|
210
210
|
/* @__PURE__ */ e("td", { className: "px-4 py-3", children: /* @__PURE__ */ t("div", { className: "flex items-center gap-3", children: [
|
|
@@ -311,10 +311,10 @@ function D() {
|
|
|
311
311
|
a("detail.statusActive")
|
|
312
312
|
] }),
|
|
313
313
|
/* @__PURE__ */ e("span", { className: "px-2.5 py-1 rounded-full text-sm bg-slate-500/10 text-slate-700", children: "System" }),
|
|
314
|
-
/* @__PURE__ */ e("button", { className: "p-2 rounded-lg hover:bg-[var(--bg-hover)]", children: /* @__PURE__ */ e(
|
|
314
|
+
/* @__PURE__ */ e("button", { className: "p-2 rounded-lg hover:bg-[var(--bg-hover)]", children: /* @__PURE__ */ e($, { className: "w-4 h-4 text-[var(--text-secondary)]" }) })
|
|
315
315
|
] })
|
|
316
316
|
] }),
|
|
317
|
-
/* @__PURE__ */ e("div", { className: "border-b border-[var(--border-color)] flex overflow-x-auto", children:
|
|
317
|
+
/* @__PURE__ */ e("div", { className: "border-b border-[var(--border-color)] flex overflow-x-auto", children: A.map((s, l) => /* @__PURE__ */ e(
|
|
318
318
|
"button",
|
|
319
319
|
{
|
|
320
320
|
className: `px-4 py-3 text-sm font-medium border-b-2 whitespace-nowrap ${l === 0 ? "border-[var(--color-primary-600)] text-[var(--color-primary-600)]" : "border-transparent text-[var(--text-secondary)]"}`,
|
|
@@ -356,7 +356,7 @@ function D() {
|
|
|
356
356
|
] }),
|
|
357
357
|
/* @__PURE__ */ e("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [1, 2, 3].map((s) => /* @__PURE__ */ t("div", { className: "card p-6", children: [
|
|
358
358
|
/* @__PURE__ */ t("div", { className: "flex items-center gap-3 mb-4", children: [
|
|
359
|
-
/* @__PURE__ */ e("div", { className: `w-12 h-12 rounded-full flex items-center justify-center ${
|
|
359
|
+
/* @__PURE__ */ e("div", { className: `w-12 h-12 rounded-full flex items-center justify-center ${{ 1: "bg-blue-500/10", 2: "bg-amber-500/10", 3: "bg-purple-500/10" }[s]}`, children: /* @__PURE__ */ e(p, { className: `w-6 h-6 ${{ 1: "text-blue-600", 2: "text-amber-600", 3: "text-purple-600" }[s]}` }) }),
|
|
360
360
|
/* @__PURE__ */ t("div", { children: [
|
|
361
361
|
/* @__PURE__ */ e("div", { className: "font-semibold", children: a(`useCases.${s}.persona`) }),
|
|
362
362
|
/* @__PURE__ */ e("div", { className: "text-sm text-[var(--text-secondary)]", children: a(`useCases.${s}.role`) })
|
|
@@ -378,7 +378,7 @@ function D() {
|
|
|
378
378
|
/* @__PURE__ */ e("span", { children: a(`useCases.${s}.withFeature`) })
|
|
379
379
|
] })
|
|
380
380
|
] })
|
|
381
|
-
] }, s)) })
|
|
381
|
+
] }, `usecase-${s}`)) })
|
|
382
382
|
] }),
|
|
383
383
|
/* @__PURE__ */ t("section", { id: "fonctionnalites", className: "scroll-mt-4", children: [
|
|
384
384
|
/* @__PURE__ */ t("h2", { className: "text-2xl font-bold mb-4 flex items-center gap-2", children: [
|
|
@@ -386,7 +386,7 @@ function D() {
|
|
|
386
386
|
a("sections.features")
|
|
387
387
|
] }),
|
|
388
388
|
/* @__PURE__ */ e("div", { className: "space-y-4", children: [1, 2, 3, 4, 5].map((s) => {
|
|
389
|
-
const u = [b, d, n, o,
|
|
389
|
+
const u = [b, d, n, o, S][s - 1];
|
|
390
390
|
return /* @__PURE__ */ e("div", { className: "card p-6", children: /* @__PURE__ */ t("div", { className: "flex items-start gap-4", children: [
|
|
391
391
|
/* @__PURE__ */ e("div", { className: "w-12 h-12 rounded-lg bg-[var(--color-primary-600)]/10 flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ e(u, { className: "w-6 h-6 text-[var(--color-primary-600)]" }) }),
|
|
392
392
|
/* @__PURE__ */ t("div", { className: "flex-1", children: [
|
|
@@ -400,7 +400,7 @@ function D() {
|
|
|
400
400
|
a(`features.${s}.example`)
|
|
401
401
|
] })
|
|
402
402
|
] })
|
|
403
|
-
] }) }, s);
|
|
403
|
+
] }) }, `feature-${s}`);
|
|
404
404
|
}) })
|
|
405
405
|
] }),
|
|
406
406
|
/* @__PURE__ */ t("section", { id: "faq", className: "scroll-mt-4", children: [
|
|
@@ -411,7 +411,7 @@ function D() {
|
|
|
411
411
|
/* @__PURE__ */ e("div", { className: "space-y-4", children: [1, 2, 3, 4, 5].map((s) => /* @__PURE__ */ t("div", { className: "card p-4", children: [
|
|
412
412
|
/* @__PURE__ */ e("h3", { className: "font-medium mb-2", children: a(`faq.${s}.question`) }),
|
|
413
413
|
/* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)]", children: a(`faq.${s}.answer`) })
|
|
414
|
-
] }, s)) })
|
|
414
|
+
] }, `faq-${s}`)) })
|
|
415
415
|
] }),
|
|
416
416
|
/* @__PURE__ */ e("section", { id: "reference", className: "scroll-mt-4", children: /* @__PURE__ */ t("details", { className: "card", children: [
|
|
417
417
|
/* @__PURE__ */ t("summary", { className: "p-4 cursor-pointer hover:bg-[var(--bg-secondary)] rounded-lg font-semibold flex items-center gap-2", children: [
|
|
@@ -447,7 +447,7 @@ function D() {
|
|
|
447
447
|
/* @__PURE__ */ e("td", { className: "py-2 px-3", children: /* @__PURE__ */ e("span", { className: `px-2 py-0.5 rounded text-xs font-medium ${s.method === "GET" ? "bg-blue-500/10 text-blue-600" : s.method === "POST" ? "bg-green-500/10 text-green-600" : s.method === "PUT" ? "bg-orange-500/10 text-orange-600" : "bg-red-500/10 text-red-600"}`, children: s.method }) }),
|
|
448
448
|
/* @__PURE__ */ e("td", { className: "py-2 px-3 font-mono text-xs", children: s.path }),
|
|
449
449
|
/* @__PURE__ */ e("td", { className: "py-2 px-3 text-[var(--text-secondary)]", children: s.handler })
|
|
450
|
-
] }, l)) })
|
|
450
|
+
] }, `${s.method}-${s.path}-${l}`)) })
|
|
451
451
|
] }) })
|
|
452
452
|
] })
|
|
453
453
|
] })
|
|
@@ -481,4 +481,4 @@ function D() {
|
|
|
481
481
|
export {
|
|
482
482
|
D as default
|
|
483
483
|
};
|
|
484
|
-
//# sourceMappingURL=index-
|
|
484
|
+
//# sourceMappingURL=index-BIB3FxMF.js.map
|