@iblai/iblai-js 1.26.5 → 1.26.6
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.
|
@@ -3,7 +3,7 @@ import React__default, { useRef, useEffect, useState, useCallback, useLayoutEffe
|
|
|
3
3
|
import { useDispatch, useSelector } from 'react-redux';
|
|
4
4
|
import { selectSessionId, selectActiveChatMessages, useCachedSessionId, chatActions, LOCAL_STORAGE_KEYS, TimeTracker, getInitials, useTenantMetadata, WithPermissions, useStripeUpgrade, openExternalUrl, CHAT_AREA_SIZE, isAlphaNumeric32, checkRbacPermission, getTimeAgo, REQUIRED_ACTIONS_FOR_GROUPS, formatRelativeTime as formatRelativeTime$2, ANONYMOUS_USERNAME, combineCSVData, redirectToAuthSpaJoinTenant, redirectToAuthSpa, getAuthSpaJoinUrl, useOS, selectNumberOfActiveChatMessages, useUsername, selectStreaming, isLoggedIn, TOOLS, isSafariBrowser, useShowAttachment, useShowVoiceCall, useShowVoiceRecorder, useMentorSettings, selectShowingSharedChat, selectRbacPermissions, useShowFreeTrialDialog, useEmbedMode, chatInputSliceSelectors, useResponsive, useAccessingPublicRoute, useVisitingTenant, useModelFileUploadCapabilities, useChatFileUpload, useVoiceChat, selectAttachedFiles, MENTOR_CHAT_DOCUMENTS_EXTENSIONS, removeFile, chatInputSliceActions, WithFormPermissions, MENTOR_VISIBILITY } from '@iblai/web-utils';
|
|
5
5
|
import * as dataLayer from '@iblai/data-layer';
|
|
6
|
-
import { useCreateSessionIdMutation, useTimeTrackingMutation, useGetUserMetadataQuery, useGetUserMetadataEdxQuery, useUpdateUserMetadataMutation, useUpdateUserMetadataEdxMutation, useUploadProfileImageMutation, useResetPasswordMutation, useSelfRetireMutation, useCreateUserInstitutionMutation, useGetUserInstitutionsQuery, useCreateUserEducationMutation, useUpdateUserEducationMutation, useDeleteUserEducationMutation, useGetUserEducationQuery, useCreateUserCompanyMutation, useGetUserCompaniesQuery, useCreateUserExperienceMutation, useUpdateUserExperienceMutation, useDeleteUserExperienceMutation, useGetUserExperienceQuery, useGetUserResumeQuery, useCreateUserResumeMutation, useGetMySubscriptionsQuery, useGetItemSubscriptionQuery, useCancelSubscriptionMutation, useGetLearnerDetailsQuery, useGetUserEnrolledCoursesQuery, useGetUserEnrolledProgramsQuery, useGetUserCatalogPathwaysQuery, useGetUsersAsAssertionsQuery, useGetUserEarnedSkillsQuery, useGetUserReportedSkillsQuery, useGetUserDesiredSkillsQuery, useCreateGlobalMemoryMutation, useGetMemsearchStatusQuery, useGetUserMemorySettingsQuery, useUpdateUserMemorySettingsMutation, useGetGlobalMemoriesQuery, useDeleteGlobalMemoryMutation, useInviteUserMutation, usePlatformInvitationsQuery, useCreateCatalogInvitationCourseBulkMutation, useGetCatalogInvitationsCourseQuery, useLazyPlatformUsersQuery, useLazyPlatformUserGroupsQuery, useGetPersonnalizedSearchQuery, useCreateCatalogInvitationProgramBulkMutation, useGetCatalogInvitationsProgramQuery, useUpdateUserRoleMutation, useUpdateUserStatusMutation, useUpdatePlatformUserRoleWithPoliciesMutation, usePlatformUsersQuery, isPoliciesResponse, platformApiSlice, featureTags, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation, useGetRbacGroupsQuery, usePlatformUserGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useCreatePlatformUserGroupMutation, useUpdatePlatformUserGroupMutation, useDeletePlatformUserGroupMutation, useGetRbacGroupDetailsQuery, useGetPlatformUserGroupDetailsQuery, useGetRbacPermissionsMutation, useGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetRbacActionsDefinitionQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetWatchedGroupsQuery, useCreateWatchedGroupMutation, useUpdateWatchedGroupMutation, useDeleteWatchedGroupMutation, useAddWatchedUserMutation, useRemoveWatchedUserMutation, useAddWatcherMutation, useUpdateWatcherMutation, useDeleteWatcherMutation, useGetWatchedUsersQuery, useGetWatchersQuery, WATCHER_NOTIFICATION_EVENTS, WATCHER_NOTIFICATION_EVENT_LABELS, useDeleteApiKeyMutation, useGetApiKeysQuery, useCreateApiKeyMutation, useCreateLLMCredentialMutation, useGetCredentialsSchemaQuery, useGetMaskedLLMCredentialsQuery, useGetLlmsQuery, useDeleteIntegrationCredentialMutation, useDeleteCredentialMutation, useCreateIntegrationCredentialMutation, useGetIntegrationCredentialsSchemaQuery, useGetMaskedIntegrationCredentialsQuery, useGetAccountBillingInfoQuery, useUpdateAutoRechargeInfoMutation, useTriggerAutoRechargeMutation, useCreateStripeCustomerPortalMutation, useSetPlatformConfigurationsMutation, useGetPlatformConfigurationsQuery, useUpdatePlatformMembershipMutation, useGetPlatformMembershipQuery, useGetCustomDomainsQuery, useCreateCustomDomainMutation, useDeleteCustomDomainMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, coreApiSlice, recommendationPromptTypeEnum, useGetRecommendedPromptsListQuery, useCreateRecommendedPromptMutation, useUpdateRecommendedPromptMutation, useDeleteRecommendedPromptMutation, useLazyGetPublicPlatformImageAssetFileUrlQuery, useUpdateTenantMetadataMutation, useCreatePlatformImageAssetMutation, useGetProviderConfigQuery, useCreateProviderConfigMutation, useDeleteProviderConfigMutation, useGetExternalMappingQuery, useGetCredentialsListQuery, useCreateExternalMappingMutation, useDeleteExternalMappingMutation, useGetMemsearchConfigQuery, useUpdateMemsearchConfigMutation, useGetCustomMentorsQuery, useGetStripeConnectStatusQuery, useStartStripeConnectOnboardingMutation, useLazyGetStripeConnectDashboardQuery, useGetAiSearchMentorsQuery, useListPaywallsQuery, useListPricesQuery, useCreatePriceMutation, useUpdatePriceMutation, useDeletePriceMutation, useGetPaywallConfigQuery, useEnablePaywallMutation, useUpdatePaywallMutation, useGetNotificationsCountQuery, useLazyGetNotificationsQuery, useMarkAllAsReadMutation, useCreateNotificationPreviewMutation, useSendNotificationMutation, useGetMentorsQuery, useUpdateTemplateMutation, useGetTemplateDetailsQuery, useGetTemplatesQuery, useLazyGetTemplateDetailsQuery, useToggleTemplateMutation, useGetTopicsStatsQuery, useGetUsersStatsQuery, useGetSessionStatsQuery, useGetTopicsDetailsStatsQuery, useGetAccessTimeHeatmapQuery, useGetUserDetailsStatsQuery, useGetTranscriptsConversationHeadlineQuery, useGetAverageRatingQuery, useGetFinancialStatsQuery, useGetDetailedFinancialStatsQuery, useGetTranscriptsMessagesDetailsQuery, useGetTranscriptsMessagesQuery, useGetReportDetailQuery, useLazyGetDownloadReportFromURLQuery, useGetMentorPublicSettingsQuery, useGetReportsQuery, useCreateReportMutation, useGetContentAnalyticsQuery, useGetContentAnalyticsDetailsQuery, useGetRevenueQuery, useListSubscribersQuery, useGetAuditLogsQuery, useLazyGetCourseMetaDataQuery, useLazyGetCourseCompletionOutlinesQuery, useLazyGetCourseEligibilityQuery, useLazyGetUserEnrolledCoursesQuery, useLazyGetUserAssignedCoursesQuery, useLazyGetUserCredentialsQuery, useLazyGetOverTimeActivityQuery, useLazyGetCatalogSearchQuery, useCreateOrUpdateUserReportedSkillMutation, useCreateOrUpdateUserDesiredSkillMutation, useLazyGetPathwayListQuery, useLazyGetUserAssignedPathwaysQuery, useLazyGetUserEnrolledPathwaysQuery, useLazyGetPathwayCompletionQuery, useLazyGetProgramListQuery, useLazyGetProgramCompletionQuery, useLazyGetUserEnrolledProgramsQuery, useLazyGetAssignedProgramsQuery, useLazyGetUserSkillsPointsQuery, useLazyGetUserReportedSkillsQuery, useLazyGetUserDesiredSkillsQuery, useLazyGetUserCatalogPathwaysQuery, useLazyGetPerLearnerInfoQuery, useLazyGetEdxSSOTokenQuery, useCreateCourseEnrollmentMutation, useCreateStripeCheckoutSessionMutation, useLazyGetCourseProgressQuery, useLazyGetCourseCompletionQuery, useLazyGetPersonnalizedSearchQuery, useUpdateExamAttemptMutation, useStartExamMutation, useLazyGetExamInfoQuery, useGetClawMentorConfigQuery, useGetClawInstancesQuery, useGetAgentConfigQuery, useUpdateClawMentorConfigMutation, useCreateClawMentorConfigMutation, useDeleteClawMentorConfigMutation, usePushClawConfigMutation, useCreateClawInstanceMutation, useDeleteClawInstanceMutation, useUpdateAgentConfigMutation, useHealthCheckClawInstanceMutation, useTestConnectivityClawInstanceMutation, useUpdateClawInstanceMutation, useGetAgentSkillsQuery, useGetMentorSkillAssignmentsQuery, useCreateMentorSkillAssignmentMutation, useUpdateMentorSkillAssignmentMutation, useDeleteMentorSkillAssignmentMutation, useCreateAgentSkillMutation, useUpdateAgentSkillMutation, useDeleteAgentSkillMutation, useCreateCheckoutMutation, useGetUserProjectsQuery, useUpdateUserProjectMutation, useGetTrainingDocumentsQuery, useGetVectorDocumentsQuery, useGetMentorMemoriesListQuery, useGetMemoryCategoriesAdminQuery, useDeleteMentorMemoryMutation, useUpdateMentorMemoryMutation, useCreateMentorMemoryMutation, useLazyGetConnectedServiceAuthUrlQuery, useCreateUserProjectMutation, useDeleteUserProjectMutation, useGetUserProjectDetailsQuery, useEditTrainingDocumentMutation, useAddTrainingDocumentMutation, useLazyGetCredentialsQuery, useGetMentorSettingsQuery, useEditMentorMutation, useGetMentorCategoriesQuery, useCreateMentorMutation, useUpdateUserPlatformMetadataMutation, useGetPromptCategoriesQuery, useCreatePromptMutation, useDeletePromptMutation, useGetPromptsSearchQuery, useUpdatePromptMutation, useDeleteTrainingDocumentMutation, useGetTrainingDocumentRetrainScheduleQuery, useCreateTrainingDocumentRetrainScheduleMutation } from '@iblai/data-layer';
|
|
6
|
+
import { useCreateSessionIdMutation, useTimeTrackingMutation, useGetUserMetadataQuery, useGetUserMetadataEdxQuery, useUpdateUserMetadataMutation, useUpdateUserMetadataEdxMutation, useUploadProfileImageMutation, useResetPasswordMutation, useSelfRetireMutation, useCreateUserInstitutionMutation, useGetUserInstitutionsQuery, useCreateUserEducationMutation, useUpdateUserEducationMutation, useDeleteUserEducationMutation, useGetUserEducationQuery, useCreateUserCompanyMutation, useGetUserCompaniesQuery, useCreateUserExperienceMutation, useUpdateUserExperienceMutation, useDeleteUserExperienceMutation, useGetUserExperienceQuery, useGetUserResumeQuery, useCreateUserResumeMutation, useGetMySubscriptionsQuery, useGetItemSubscriptionQuery, useCancelSubscriptionMutation, useGetLearnerDetailsQuery, useGetUserEnrolledCoursesQuery, useGetUserEnrolledProgramsQuery, useGetUserCatalogPathwaysQuery, useGetUsersAsAssertionsQuery, useGetUserEarnedSkillsQuery, useGetUserReportedSkillsQuery, useGetUserDesiredSkillsQuery, useCreateGlobalMemoryMutation, useGetMemsearchStatusQuery, useGetUserMemorySettingsQuery, useUpdateUserMemorySettingsMutation, useGetGlobalMemoriesQuery, useDeleteGlobalMemoryMutation, useInviteUserMutation, usePlatformInvitationsQuery, useCreateCatalogInvitationCourseBulkMutation, useGetCatalogInvitationsCourseQuery, useLazyPlatformUsersQuery, useLazyPlatformUserGroupsQuery, useGetPersonnalizedSearchQuery, useCreateCatalogInvitationProgramBulkMutation, useGetCatalogInvitationsProgramQuery, useUpdateUserRoleMutation, useUpdateUserStatusMutation, useUpdatePlatformUserRoleWithPoliciesMutation, usePlatformUsersQuery, isPoliciesResponse, platformApiSlice, featureTags, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation, useGetRbacGroupsQuery, usePlatformUserGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useCreatePlatformUserGroupMutation, useUpdatePlatformUserGroupMutation, useDeletePlatformUserGroupMutation, useGetRbacGroupDetailsQuery, useGetPlatformUserGroupDetailsQuery, useGetRbacPermissionsMutation, useGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetRbacActionsDefinitionQuery, useGetRbacResourceDiscoveryQuery, useGetRbacResourceListQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetWatchedGroupsQuery, useCreateWatchedGroupMutation, useUpdateWatchedGroupMutation, useDeleteWatchedGroupMutation, useAddWatchedUserMutation, useRemoveWatchedUserMutation, useAddWatcherMutation, useUpdateWatcherMutation, useDeleteWatcherMutation, useGetWatchedUsersQuery, useGetWatchersQuery, WATCHER_NOTIFICATION_EVENTS, WATCHER_NOTIFICATION_EVENT_LABELS, useDeleteApiKeyMutation, useGetApiKeysQuery, useCreateApiKeyMutation, useCreateLLMCredentialMutation, useGetCredentialsSchemaQuery, useGetMaskedLLMCredentialsQuery, useGetLlmsQuery, useDeleteIntegrationCredentialMutation, useDeleteCredentialMutation, useCreateIntegrationCredentialMutation, useGetIntegrationCredentialsSchemaQuery, useGetMaskedIntegrationCredentialsQuery, useGetAccountBillingInfoQuery, useUpdateAutoRechargeInfoMutation, useTriggerAutoRechargeMutation, useCreateStripeCustomerPortalMutation, useSetPlatformConfigurationsMutation, useGetPlatformConfigurationsQuery, useUpdatePlatformMembershipMutation, useGetPlatformMembershipQuery, useGetCustomDomainsQuery, useCreateCustomDomainMutation, useDeleteCustomDomainMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, coreApiSlice, recommendationPromptTypeEnum, useGetRecommendedPromptsListQuery, useCreateRecommendedPromptMutation, useUpdateRecommendedPromptMutation, useDeleteRecommendedPromptMutation, useLazyGetPublicPlatformImageAssetFileUrlQuery, useUpdateTenantMetadataMutation, useCreatePlatformImageAssetMutation, useGetProviderConfigQuery, useCreateProviderConfigMutation, useDeleteProviderConfigMutation, useGetExternalMappingQuery, useGetCredentialsListQuery, useCreateExternalMappingMutation, useDeleteExternalMappingMutation, useGetMemsearchConfigQuery, useUpdateMemsearchConfigMutation, useGetCustomMentorsQuery, useGetStripeConnectStatusQuery, useStartStripeConnectOnboardingMutation, useLazyGetStripeConnectDashboardQuery, useGetAiSearchMentorsQuery, useListPaywallsQuery, useListPricesQuery, useCreatePriceMutation, useUpdatePriceMutation, useDeletePriceMutation, useGetPaywallConfigQuery, useEnablePaywallMutation, useUpdatePaywallMutation, useGetNotificationsCountQuery, useLazyGetNotificationsQuery, useMarkAllAsReadMutation, useCreateNotificationPreviewMutation, useSendNotificationMutation, useGetMentorsQuery, useUpdateTemplateMutation, useGetTemplateDetailsQuery, useGetTemplatesQuery, useLazyGetTemplateDetailsQuery, useToggleTemplateMutation, useGetTopicsStatsQuery, useGetUsersStatsQuery, useGetSessionStatsQuery, useGetTopicsDetailsStatsQuery, useGetAccessTimeHeatmapQuery, useGetUserDetailsStatsQuery, useGetTranscriptsConversationHeadlineQuery, useGetAverageRatingQuery, useGetFinancialStatsQuery, useGetDetailedFinancialStatsQuery, useGetTranscriptsMessagesDetailsQuery, useGetTranscriptsMessagesQuery, useGetReportDetailQuery, useLazyGetDownloadReportFromURLQuery, useGetMentorPublicSettingsQuery, useGetReportsQuery, useCreateReportMutation, useGetContentAnalyticsQuery, useGetContentAnalyticsDetailsQuery, useGetRevenueQuery, useListSubscribersQuery, useGetAuditLogsQuery, useLazyGetCourseMetaDataQuery, useLazyGetCourseCompletionOutlinesQuery, useLazyGetCourseEligibilityQuery, useLazyGetUserEnrolledCoursesQuery, useLazyGetUserAssignedCoursesQuery, useLazyGetUserCredentialsQuery, useLazyGetOverTimeActivityQuery, useLazyGetCatalogSearchQuery, useCreateOrUpdateUserReportedSkillMutation, useCreateOrUpdateUserDesiredSkillMutation, useLazyGetPathwayListQuery, useLazyGetUserAssignedPathwaysQuery, useLazyGetUserEnrolledPathwaysQuery, useLazyGetPathwayCompletionQuery, useLazyGetProgramListQuery, useLazyGetProgramCompletionQuery, useLazyGetUserEnrolledProgramsQuery, useLazyGetAssignedProgramsQuery, useLazyGetUserSkillsPointsQuery, useLazyGetUserReportedSkillsQuery, useLazyGetUserDesiredSkillsQuery, useLazyGetUserCatalogPathwaysQuery, useLazyGetPerLearnerInfoQuery, useLazyGetEdxSSOTokenQuery, useCreateCourseEnrollmentMutation, useCreateStripeCheckoutSessionMutation, useLazyGetCourseProgressQuery, useLazyGetCourseCompletionQuery, useLazyGetPersonnalizedSearchQuery, useUpdateExamAttemptMutation, useStartExamMutation, useLazyGetExamInfoQuery, useGetClawMentorConfigQuery, useGetClawInstancesQuery, useGetAgentConfigQuery, useUpdateClawMentorConfigMutation, useCreateClawMentorConfigMutation, useDeleteClawMentorConfigMutation, usePushClawConfigMutation, useCreateClawInstanceMutation, useDeleteClawInstanceMutation, useUpdateAgentConfigMutation, useHealthCheckClawInstanceMutation, useTestConnectivityClawInstanceMutation, useUpdateClawInstanceMutation, useGetAgentSkillsQuery, useGetMentorSkillAssignmentsQuery, useCreateMentorSkillAssignmentMutation, useUpdateMentorSkillAssignmentMutation, useDeleteMentorSkillAssignmentMutation, useCreateAgentSkillMutation, useUpdateAgentSkillMutation, useDeleteAgentSkillMutation, useCreateCheckoutMutation, useGetUserProjectsQuery, useUpdateUserProjectMutation, useGetTrainingDocumentsQuery, useGetVectorDocumentsQuery, useGetMentorMemoriesListQuery, useGetMemoryCategoriesAdminQuery, useDeleteMentorMemoryMutation, useUpdateMentorMemoryMutation, useCreateMentorMemoryMutation, useLazyGetConnectedServiceAuthUrlQuery, useCreateUserProjectMutation, useDeleteUserProjectMutation, useGetUserProjectDetailsQuery, useEditTrainingDocumentMutation, useAddTrainingDocumentMutation, useLazyGetCredentialsQuery, useGetMentorSettingsQuery, useEditMentorMutation, useGetMentorCategoriesQuery, useCreateMentorMutation, useUpdateUserPlatformMetadataMutation, useGetPromptCategoriesQuery, useCreatePromptMutation, useDeletePromptMutation, useGetPromptsSearchQuery, useUpdatePromptMutation, useDeleteTrainingDocumentMutation, useGetTrainingDocumentRetrainScheduleQuery, useCreateTrainingDocumentRetrainScheduleMutation } from '@iblai/data-layer';
|
|
7
7
|
import { toast } from 'sonner';
|
|
8
8
|
import { jsx, Fragment as Fragment$1, jsxs } from 'react/jsx-runtime';
|
|
9
9
|
import * as ReactDOM from 'react-dom';
|
|
@@ -54758,7 +54758,7 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
54758
54758
|
*/
|
|
54759
54759
|
|
|
54760
54760
|
|
|
54761
|
-
const __iconNode$
|
|
54761
|
+
const __iconNode$2c = [
|
|
54762
54762
|
[
|
|
54763
54763
|
"path",
|
|
54764
54764
|
{
|
|
@@ -54767,7 +54767,7 @@ const __iconNode$2b = [
|
|
|
54767
54767
|
}
|
|
54768
54768
|
]
|
|
54769
54769
|
];
|
|
54770
|
-
const Activity = createLucideIcon("activity", __iconNode$
|
|
54770
|
+
const Activity = createLucideIcon("activity", __iconNode$2c);
|
|
54771
54771
|
|
|
54772
54772
|
/**
|
|
54773
54773
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54777,12 +54777,12 @@ const Activity = createLucideIcon("activity", __iconNode$2b);
|
|
|
54777
54777
|
*/
|
|
54778
54778
|
|
|
54779
54779
|
|
|
54780
|
-
const __iconNode$
|
|
54780
|
+
const __iconNode$2b = [
|
|
54781
54781
|
["path", { d: "M17 12H7", key: "16if0g" }],
|
|
54782
54782
|
["path", { d: "M19 18H5", key: "18s9l3" }],
|
|
54783
54783
|
["path", { d: "M21 6H3", key: "1jwq7v" }]
|
|
54784
54784
|
];
|
|
54785
|
-
const AlignCenter = createLucideIcon("align-center", __iconNode$
|
|
54785
|
+
const AlignCenter = createLucideIcon("align-center", __iconNode$2b);
|
|
54786
54786
|
|
|
54787
54787
|
/**
|
|
54788
54788
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54792,12 +54792,12 @@ const AlignCenter = createLucideIcon("align-center", __iconNode$2a);
|
|
|
54792
54792
|
*/
|
|
54793
54793
|
|
|
54794
54794
|
|
|
54795
|
-
const __iconNode$
|
|
54795
|
+
const __iconNode$2a = [
|
|
54796
54796
|
["path", { d: "M15 12H3", key: "6jk70r" }],
|
|
54797
54797
|
["path", { d: "M17 18H3", key: "1amg6g" }],
|
|
54798
54798
|
["path", { d: "M21 6H3", key: "1jwq7v" }]
|
|
54799
54799
|
];
|
|
54800
|
-
const AlignLeft = createLucideIcon("align-left", __iconNode$
|
|
54800
|
+
const AlignLeft = createLucideIcon("align-left", __iconNode$2a);
|
|
54801
54801
|
|
|
54802
54802
|
/**
|
|
54803
54803
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54807,12 +54807,12 @@ const AlignLeft = createLucideIcon("align-left", __iconNode$29);
|
|
|
54807
54807
|
*/
|
|
54808
54808
|
|
|
54809
54809
|
|
|
54810
|
-
const __iconNode$
|
|
54810
|
+
const __iconNode$29 = [
|
|
54811
54811
|
["path", { d: "M21 12H9", key: "dn1m92" }],
|
|
54812
54812
|
["path", { d: "M21 18H7", key: "1ygte8" }],
|
|
54813
54813
|
["path", { d: "M21 6H3", key: "1jwq7v" }]
|
|
54814
54814
|
];
|
|
54815
|
-
const AlignRight = createLucideIcon("align-right", __iconNode$
|
|
54815
|
+
const AlignRight = createLucideIcon("align-right", __iconNode$29);
|
|
54816
54816
|
|
|
54817
54817
|
/**
|
|
54818
54818
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54822,12 +54822,12 @@ const AlignRight = createLucideIcon("align-right", __iconNode$28);
|
|
|
54822
54822
|
*/
|
|
54823
54823
|
|
|
54824
54824
|
|
|
54825
|
-
const __iconNode$
|
|
54825
|
+
const __iconNode$28 = [
|
|
54826
54826
|
["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
|
|
54827
54827
|
["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
|
|
54828
54828
|
["path", { d: "M10 12h4", key: "a56b0p" }]
|
|
54829
54829
|
];
|
|
54830
|
-
const Archive = createLucideIcon("archive", __iconNode$
|
|
54830
|
+
const Archive = createLucideIcon("archive", __iconNode$28);
|
|
54831
54831
|
|
|
54832
54832
|
/**
|
|
54833
54833
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54837,11 +54837,11 @@ const Archive = createLucideIcon("archive", __iconNode$27);
|
|
|
54837
54837
|
*/
|
|
54838
54838
|
|
|
54839
54839
|
|
|
54840
|
-
const __iconNode$
|
|
54840
|
+
const __iconNode$27 = [
|
|
54841
54841
|
["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
|
|
54842
54842
|
["path", { d: "M19 12H5", key: "x3x0zl" }]
|
|
54843
54843
|
];
|
|
54844
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
54844
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$27);
|
|
54845
54845
|
|
|
54846
54846
|
/**
|
|
54847
54847
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54851,11 +54851,11 @@ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$26);
|
|
|
54851
54851
|
*/
|
|
54852
54852
|
|
|
54853
54853
|
|
|
54854
|
-
const __iconNode$
|
|
54854
|
+
const __iconNode$26 = [
|
|
54855
54855
|
["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
|
|
54856
54856
|
["path", { d: "M12 19V5", key: "x0mq9r" }]
|
|
54857
54857
|
];
|
|
54858
|
-
const ArrowUp = createLucideIcon("arrow-up", __iconNode$
|
|
54858
|
+
const ArrowUp = createLucideIcon("arrow-up", __iconNode$26);
|
|
54859
54859
|
|
|
54860
54860
|
/**
|
|
54861
54861
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54865,7 +54865,7 @@ const ArrowUp = createLucideIcon("arrow-up", __iconNode$25);
|
|
|
54865
54865
|
*/
|
|
54866
54866
|
|
|
54867
54867
|
|
|
54868
|
-
const __iconNode$
|
|
54868
|
+
const __iconNode$25 = [
|
|
54869
54869
|
[
|
|
54870
54870
|
"path",
|
|
54871
54871
|
{
|
|
@@ -54875,7 +54875,7 @@ const __iconNode$24 = [
|
|
|
54875
54875
|
],
|
|
54876
54876
|
["circle", { cx: "12", cy: "8", r: "6", key: "1vp47v" }]
|
|
54877
54877
|
];
|
|
54878
|
-
const Award = createLucideIcon("award", __iconNode$
|
|
54878
|
+
const Award = createLucideIcon("award", __iconNode$25);
|
|
54879
54879
|
|
|
54880
54880
|
/**
|
|
54881
54881
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54885,11 +54885,11 @@ const Award = createLucideIcon("award", __iconNode$24);
|
|
|
54885
54885
|
*/
|
|
54886
54886
|
|
|
54887
54887
|
|
|
54888
|
-
const __iconNode$
|
|
54888
|
+
const __iconNode$24 = [
|
|
54889
54889
|
["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }],
|
|
54890
54890
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
|
|
54891
54891
|
];
|
|
54892
|
-
const Ban = createLucideIcon("ban", __iconNode$
|
|
54892
|
+
const Ban = createLucideIcon("ban", __iconNode$24);
|
|
54893
54893
|
|
|
54894
54894
|
/**
|
|
54895
54895
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54899,12 +54899,12 @@ const Ban = createLucideIcon("ban", __iconNode$23);
|
|
|
54899
54899
|
*/
|
|
54900
54900
|
|
|
54901
54901
|
|
|
54902
|
-
const __iconNode$
|
|
54902
|
+
const __iconNode$23 = [
|
|
54903
54903
|
["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }],
|
|
54904
54904
|
["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }],
|
|
54905
54905
|
["path", { d: "M6 12h.01M18 12h.01", key: "113zkx" }]
|
|
54906
54906
|
];
|
|
54907
|
-
const Banknote = createLucideIcon("banknote", __iconNode$
|
|
54907
|
+
const Banknote = createLucideIcon("banknote", __iconNode$23);
|
|
54908
54908
|
|
|
54909
54909
|
/**
|
|
54910
54910
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54914,7 +54914,7 @@ const Banknote = createLucideIcon("banknote", __iconNode$22);
|
|
|
54914
54914
|
*/
|
|
54915
54915
|
|
|
54916
54916
|
|
|
54917
|
-
const __iconNode$
|
|
54917
|
+
const __iconNode$22 = [
|
|
54918
54918
|
["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
|
|
54919
54919
|
["path", { d: "M22 8c0-2.3-.8-4.3-2-6", key: "5bb3ad" }],
|
|
54920
54920
|
[
|
|
@@ -54926,7 +54926,7 @@ const __iconNode$21 = [
|
|
|
54926
54926
|
],
|
|
54927
54927
|
["path", { d: "M4 2C2.8 3.7 2 5.7 2 8", key: "tap9e0" }]
|
|
54928
54928
|
];
|
|
54929
|
-
const BellRing = createLucideIcon("bell-ring", __iconNode$
|
|
54929
|
+
const BellRing = createLucideIcon("bell-ring", __iconNode$22);
|
|
54930
54930
|
|
|
54931
54931
|
/**
|
|
54932
54932
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54936,7 +54936,7 @@ const BellRing = createLucideIcon("bell-ring", __iconNode$21);
|
|
|
54936
54936
|
*/
|
|
54937
54937
|
|
|
54938
54938
|
|
|
54939
|
-
const __iconNode$
|
|
54939
|
+
const __iconNode$21 = [
|
|
54940
54940
|
["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
|
|
54941
54941
|
[
|
|
54942
54942
|
"path",
|
|
@@ -54946,7 +54946,7 @@ const __iconNode$20 = [
|
|
|
54946
54946
|
}
|
|
54947
54947
|
]
|
|
54948
54948
|
];
|
|
54949
|
-
const Bell = createLucideIcon("bell", __iconNode$
|
|
54949
|
+
const Bell = createLucideIcon("bell", __iconNode$21);
|
|
54950
54950
|
|
|
54951
54951
|
/**
|
|
54952
54952
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54956,13 +54956,13 @@ const Bell = createLucideIcon("bell", __iconNode$20);
|
|
|
54956
54956
|
*/
|
|
54957
54957
|
|
|
54958
54958
|
|
|
54959
|
-
const __iconNode$
|
|
54959
|
+
const __iconNode$20 = [
|
|
54960
54960
|
[
|
|
54961
54961
|
"path",
|
|
54962
54962
|
{ d: "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8", key: "mg9rjx" }
|
|
54963
54963
|
]
|
|
54964
54964
|
];
|
|
54965
|
-
const Bold$1 = createLucideIcon("bold", __iconNode$
|
|
54965
|
+
const Bold$1 = createLucideIcon("bold", __iconNode$20);
|
|
54966
54966
|
|
|
54967
54967
|
/**
|
|
54968
54968
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54972,7 +54972,7 @@ const Bold$1 = createLucideIcon("bold", __iconNode$1$);
|
|
|
54972
54972
|
*/
|
|
54973
54973
|
|
|
54974
54974
|
|
|
54975
|
-
const __iconNode$
|
|
54975
|
+
const __iconNode$1$ = [
|
|
54976
54976
|
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
54977
54977
|
[
|
|
54978
54978
|
"path",
|
|
@@ -54982,7 +54982,7 @@ const __iconNode$1_ = [
|
|
|
54982
54982
|
}
|
|
54983
54983
|
]
|
|
54984
54984
|
];
|
|
54985
|
-
const BookOpen = createLucideIcon("book-open", __iconNode$
|
|
54985
|
+
const BookOpen = createLucideIcon("book-open", __iconNode$1$);
|
|
54986
54986
|
|
|
54987
54987
|
/**
|
|
54988
54988
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -54992,7 +54992,7 @@ const BookOpen = createLucideIcon("book-open", __iconNode$1_);
|
|
|
54992
54992
|
*/
|
|
54993
54993
|
|
|
54994
54994
|
|
|
54995
|
-
const __iconNode$
|
|
54995
|
+
const __iconNode$1_ = [
|
|
54996
54996
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
54997
54997
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
54998
54998
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -55000,7 +55000,7 @@ const __iconNode$1Z = [
|
|
|
55000
55000
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
55001
55001
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
55002
55002
|
];
|
|
55003
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
55003
|
+
const Bot = createLucideIcon("bot", __iconNode$1_);
|
|
55004
55004
|
|
|
55005
55005
|
/**
|
|
55006
55006
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55010,11 +55010,11 @@ const Bot = createLucideIcon("bot", __iconNode$1Z);
|
|
|
55010
55010
|
*/
|
|
55011
55011
|
|
|
55012
55012
|
|
|
55013
|
-
const __iconNode$
|
|
55013
|
+
const __iconNode$1Z = [
|
|
55014
55014
|
["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
|
|
55015
55015
|
["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
|
|
55016
55016
|
];
|
|
55017
|
-
const Briefcase = createLucideIcon("briefcase", __iconNode$
|
|
55017
|
+
const Briefcase = createLucideIcon("briefcase", __iconNode$1Z);
|
|
55018
55018
|
|
|
55019
55019
|
/**
|
|
55020
55020
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55024,7 +55024,7 @@ const Briefcase = createLucideIcon("briefcase", __iconNode$1Y);
|
|
|
55024
55024
|
*/
|
|
55025
55025
|
|
|
55026
55026
|
|
|
55027
|
-
const __iconNode$
|
|
55027
|
+
const __iconNode$1Y = [
|
|
55028
55028
|
["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }],
|
|
55029
55029
|
["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }],
|
|
55030
55030
|
["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }],
|
|
@@ -55033,7 +55033,7 @@ const __iconNode$1X = [
|
|
|
55033
55033
|
["path", { d: "M10 14h4", key: "kelpxr" }],
|
|
55034
55034
|
["path", { d: "M10 18h4", key: "1ulq68" }]
|
|
55035
55035
|
];
|
|
55036
|
-
const Building2 = createLucideIcon("building-2", __iconNode$
|
|
55036
|
+
const Building2 = createLucideIcon("building-2", __iconNode$1Y);
|
|
55037
55037
|
|
|
55038
55038
|
/**
|
|
55039
55039
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55043,13 +55043,13 @@ const Building2 = createLucideIcon("building-2", __iconNode$1X);
|
|
|
55043
55043
|
*/
|
|
55044
55044
|
|
|
55045
55045
|
|
|
55046
|
-
const __iconNode$
|
|
55046
|
+
const __iconNode$1X = [
|
|
55047
55047
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
55048
55048
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
55049
55049
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
55050
55050
|
["path", { d: "M3 10h18", key: "8toen8" }]
|
|
55051
55051
|
];
|
|
55052
|
-
const Calendar$1 = createLucideIcon("calendar", __iconNode$
|
|
55052
|
+
const Calendar$1 = createLucideIcon("calendar", __iconNode$1X);
|
|
55053
55053
|
|
|
55054
55054
|
/**
|
|
55055
55055
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55059,11 +55059,11 @@ const Calendar$1 = createLucideIcon("calendar", __iconNode$1W);
|
|
|
55059
55059
|
*/
|
|
55060
55060
|
|
|
55061
55061
|
|
|
55062
|
-
const __iconNode$
|
|
55062
|
+
const __iconNode$1W = [
|
|
55063
55063
|
["path", { d: "M18 6 7 17l-5-5", key: "116fxf" }],
|
|
55064
55064
|
["path", { d: "m22 10-7.5 7.5L13 16", key: "ke71qq" }]
|
|
55065
55065
|
];
|
|
55066
|
-
const CheckCheck = createLucideIcon("check-check", __iconNode$
|
|
55066
|
+
const CheckCheck = createLucideIcon("check-check", __iconNode$1W);
|
|
55067
55067
|
|
|
55068
55068
|
/**
|
|
55069
55069
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55073,8 +55073,8 @@ const CheckCheck = createLucideIcon("check-check", __iconNode$1V);
|
|
|
55073
55073
|
*/
|
|
55074
55074
|
|
|
55075
55075
|
|
|
55076
|
-
const __iconNode$
|
|
55077
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
55076
|
+
const __iconNode$1V = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
55077
|
+
const Check = createLucideIcon("check", __iconNode$1V);
|
|
55078
55078
|
|
|
55079
55079
|
/**
|
|
55080
55080
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55084,8 +55084,8 @@ const Check = createLucideIcon("check", __iconNode$1U);
|
|
|
55084
55084
|
*/
|
|
55085
55085
|
|
|
55086
55086
|
|
|
55087
|
-
const __iconNode$
|
|
55088
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
55087
|
+
const __iconNode$1U = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
55088
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$1U);
|
|
55089
55089
|
|
|
55090
55090
|
/**
|
|
55091
55091
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55095,11 +55095,11 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1T);
|
|
|
55095
55095
|
*/
|
|
55096
55096
|
|
|
55097
55097
|
|
|
55098
|
-
const __iconNode$
|
|
55098
|
+
const __iconNode$1T = [
|
|
55099
55099
|
["path", { d: "m17 18-6-6 6-6", key: "1yerx2" }],
|
|
55100
55100
|
["path", { d: "M7 6v12", key: "1p53r6" }]
|
|
55101
55101
|
];
|
|
55102
|
-
const ChevronFirst = createLucideIcon("chevron-first", __iconNode$
|
|
55102
|
+
const ChevronFirst = createLucideIcon("chevron-first", __iconNode$1T);
|
|
55103
55103
|
|
|
55104
55104
|
/**
|
|
55105
55105
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55109,11 +55109,11 @@ const ChevronFirst = createLucideIcon("chevron-first", __iconNode$1S);
|
|
|
55109
55109
|
*/
|
|
55110
55110
|
|
|
55111
55111
|
|
|
55112
|
-
const __iconNode$
|
|
55112
|
+
const __iconNode$1S = [
|
|
55113
55113
|
["path", { d: "m7 18 6-6-6-6", key: "lwmzdw" }],
|
|
55114
55114
|
["path", { d: "M17 6v12", key: "1o0aio" }]
|
|
55115
55115
|
];
|
|
55116
|
-
const ChevronLast = createLucideIcon("chevron-last", __iconNode$
|
|
55116
|
+
const ChevronLast = createLucideIcon("chevron-last", __iconNode$1S);
|
|
55117
55117
|
|
|
55118
55118
|
/**
|
|
55119
55119
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55123,8 +55123,8 @@ const ChevronLast = createLucideIcon("chevron-last", __iconNode$1R);
|
|
|
55123
55123
|
*/
|
|
55124
55124
|
|
|
55125
55125
|
|
|
55126
|
-
const __iconNode$
|
|
55127
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
55126
|
+
const __iconNode$1R = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
55127
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1R);
|
|
55128
55128
|
|
|
55129
55129
|
/**
|
|
55130
55130
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55134,8 +55134,8 @@ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1Q);
|
|
|
55134
55134
|
*/
|
|
55135
55135
|
|
|
55136
55136
|
|
|
55137
|
-
const __iconNode$
|
|
55138
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
55137
|
+
const __iconNode$1Q = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
55138
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$1Q);
|
|
55139
55139
|
|
|
55140
55140
|
/**
|
|
55141
55141
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55145,8 +55145,8 @@ const ChevronRight = createLucideIcon("chevron-right", __iconNode$1P);
|
|
|
55145
55145
|
*/
|
|
55146
55146
|
|
|
55147
55147
|
|
|
55148
|
-
const __iconNode$
|
|
55149
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
55148
|
+
const __iconNode$1P = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
55149
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$1P);
|
|
55150
55150
|
|
|
55151
55151
|
/**
|
|
55152
55152
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55156,11 +55156,11 @@ const ChevronUp = createLucideIcon("chevron-up", __iconNode$1O);
|
|
|
55156
55156
|
*/
|
|
55157
55157
|
|
|
55158
55158
|
|
|
55159
|
-
const __iconNode$
|
|
55159
|
+
const __iconNode$1O = [
|
|
55160
55160
|
["path", { d: "m11 17-5-5 5-5", key: "13zhaf" }],
|
|
55161
55161
|
["path", { d: "m18 17-5-5 5-5", key: "h8a8et" }]
|
|
55162
55162
|
];
|
|
55163
|
-
const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$
|
|
55163
|
+
const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$1O);
|
|
55164
55164
|
|
|
55165
55165
|
/**
|
|
55166
55166
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55170,11 +55170,11 @@ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$1N);
|
|
|
55170
55170
|
*/
|
|
55171
55171
|
|
|
55172
55172
|
|
|
55173
|
-
const __iconNode$
|
|
55173
|
+
const __iconNode$1N = [
|
|
55174
55174
|
["path", { d: "m6 17 5-5-5-5", key: "xnjwq" }],
|
|
55175
55175
|
["path", { d: "m13 17 5-5-5-5", key: "17xmmf" }]
|
|
55176
55176
|
];
|
|
55177
|
-
const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$
|
|
55177
|
+
const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$1N);
|
|
55178
55178
|
|
|
55179
55179
|
/**
|
|
55180
55180
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55184,11 +55184,11 @@ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$1M);
|
|
|
55184
55184
|
*/
|
|
55185
55185
|
|
|
55186
55186
|
|
|
55187
|
-
const __iconNode$
|
|
55187
|
+
const __iconNode$1M = [
|
|
55188
55188
|
["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
|
|
55189
55189
|
["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
|
|
55190
55190
|
];
|
|
55191
|
-
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$
|
|
55191
|
+
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1M);
|
|
55192
55192
|
|
|
55193
55193
|
/**
|
|
55194
55194
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55198,12 +55198,12 @@ const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1L);
|
|
|
55198
55198
|
*/
|
|
55199
55199
|
|
|
55200
55200
|
|
|
55201
|
-
const __iconNode$
|
|
55201
|
+
const __iconNode$1L = [
|
|
55202
55202
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
55203
55203
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
55204
55204
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
55205
55205
|
];
|
|
55206
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
55206
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$1L);
|
|
55207
55207
|
|
|
55208
55208
|
/**
|
|
55209
55209
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55213,12 +55213,12 @@ const CircleAlert = createLucideIcon("circle-alert", __iconNode$1K);
|
|
|
55213
55213
|
*/
|
|
55214
55214
|
|
|
55215
55215
|
|
|
55216
|
-
const __iconNode$
|
|
55216
|
+
const __iconNode$1K = [
|
|
55217
55217
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
55218
55218
|
["path", { d: "m16 12-4-4-4 4", key: "177agl" }],
|
|
55219
55219
|
["path", { d: "M12 16V8", key: "1sbj14" }]
|
|
55220
55220
|
];
|
|
55221
|
-
const CircleArrowUp = createLucideIcon("circle-arrow-up", __iconNode$
|
|
55221
|
+
const CircleArrowUp = createLucideIcon("circle-arrow-up", __iconNode$1K);
|
|
55222
55222
|
|
|
55223
55223
|
/**
|
|
55224
55224
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55228,11 +55228,11 @@ const CircleArrowUp = createLucideIcon("circle-arrow-up", __iconNode$1J);
|
|
|
55228
55228
|
*/
|
|
55229
55229
|
|
|
55230
55230
|
|
|
55231
|
-
const __iconNode$
|
|
55231
|
+
const __iconNode$1J = [
|
|
55232
55232
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
55233
55233
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
55234
55234
|
];
|
|
55235
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
55235
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1J);
|
|
55236
55236
|
|
|
55237
55237
|
/**
|
|
55238
55238
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55242,11 +55242,11 @@ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1I);
|
|
|
55242
55242
|
*/
|
|
55243
55243
|
|
|
55244
55244
|
|
|
55245
|
-
const __iconNode$
|
|
55245
|
+
const __iconNode$1I = [
|
|
55246
55246
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
55247
55247
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
55248
55248
|
];
|
|
55249
|
-
const CircleCheck = createLucideIcon("circle-check", __iconNode$
|
|
55249
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$1I);
|
|
55250
55250
|
|
|
55251
55251
|
/**
|
|
55252
55252
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55256,11 +55256,11 @@ const CircleCheck = createLucideIcon("circle-check", __iconNode$1H);
|
|
|
55256
55256
|
*/
|
|
55257
55257
|
|
|
55258
55258
|
|
|
55259
|
-
const __iconNode$
|
|
55259
|
+
const __iconNode$1H = [
|
|
55260
55260
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
55261
55261
|
["rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", key: "1ssd4o" }]
|
|
55262
55262
|
];
|
|
55263
|
-
const CircleStop = createLucideIcon("circle-stop", __iconNode$
|
|
55263
|
+
const CircleStop = createLucideIcon("circle-stop", __iconNode$1H);
|
|
55264
55264
|
|
|
55265
55265
|
/**
|
|
55266
55266
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55270,12 +55270,12 @@ const CircleStop = createLucideIcon("circle-stop", __iconNode$1G);
|
|
|
55270
55270
|
*/
|
|
55271
55271
|
|
|
55272
55272
|
|
|
55273
|
-
const __iconNode$
|
|
55273
|
+
const __iconNode$1G = [
|
|
55274
55274
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
55275
55275
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
55276
55276
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
55277
55277
|
];
|
|
55278
|
-
const CircleX = createLucideIcon("circle-x", __iconNode$
|
|
55278
|
+
const CircleX = createLucideIcon("circle-x", __iconNode$1G);
|
|
55279
55279
|
|
|
55280
55280
|
/**
|
|
55281
55281
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55285,8 +55285,8 @@ const CircleX = createLucideIcon("circle-x", __iconNode$1F);
|
|
|
55285
55285
|
*/
|
|
55286
55286
|
|
|
55287
55287
|
|
|
55288
|
-
const __iconNode$
|
|
55289
|
-
const Circle = createLucideIcon("circle", __iconNode$
|
|
55288
|
+
const __iconNode$1F = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
55289
|
+
const Circle = createLucideIcon("circle", __iconNode$1F);
|
|
55290
55290
|
|
|
55291
55291
|
/**
|
|
55292
55292
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55296,11 +55296,11 @@ const Circle = createLucideIcon("circle", __iconNode$1E);
|
|
|
55296
55296
|
*/
|
|
55297
55297
|
|
|
55298
55298
|
|
|
55299
|
-
const __iconNode$
|
|
55299
|
+
const __iconNode$1E = [
|
|
55300
55300
|
["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
|
|
55301
55301
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
|
|
55302
55302
|
];
|
|
55303
|
-
const Clock = createLucideIcon("clock", __iconNode$
|
|
55303
|
+
const Clock = createLucideIcon("clock", __iconNode$1E);
|
|
55304
55304
|
|
|
55305
55305
|
/**
|
|
55306
55306
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55310,10 +55310,10 @@ const Clock = createLucideIcon("clock", __iconNode$1D);
|
|
|
55310
55310
|
*/
|
|
55311
55311
|
|
|
55312
55312
|
|
|
55313
|
-
const __iconNode$
|
|
55313
|
+
const __iconNode$1D = [
|
|
55314
55314
|
["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
|
|
55315
55315
|
];
|
|
55316
|
-
const Cloud = createLucideIcon("cloud", __iconNode$
|
|
55316
|
+
const Cloud = createLucideIcon("cloud", __iconNode$1D);
|
|
55317
55317
|
|
|
55318
55318
|
/**
|
|
55319
55319
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55323,12 +55323,12 @@ const Cloud = createLucideIcon("cloud", __iconNode$1C);
|
|
|
55323
55323
|
*/
|
|
55324
55324
|
|
|
55325
55325
|
|
|
55326
|
-
const __iconNode$
|
|
55326
|
+
const __iconNode$1C = [
|
|
55327
55327
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
55328
55328
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
55329
55329
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
55330
55330
|
];
|
|
55331
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
55331
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$1C);
|
|
55332
55332
|
|
|
55333
55333
|
/**
|
|
55334
55334
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55338,11 +55338,11 @@ const CodeXml = createLucideIcon("code-xml", __iconNode$1B);
|
|
|
55338
55338
|
*/
|
|
55339
55339
|
|
|
55340
55340
|
|
|
55341
|
-
const __iconNode$
|
|
55341
|
+
const __iconNode$1B = [
|
|
55342
55342
|
["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
|
|
55343
55343
|
["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
|
|
55344
55344
|
];
|
|
55345
|
-
const Code$1 = createLucideIcon("code", __iconNode$
|
|
55345
|
+
const Code$1 = createLucideIcon("code", __iconNode$1B);
|
|
55346
55346
|
|
|
55347
55347
|
/**
|
|
55348
55348
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55352,11 +55352,11 @@ const Code$1 = createLucideIcon("code", __iconNode$1A);
|
|
|
55352
55352
|
*/
|
|
55353
55353
|
|
|
55354
55354
|
|
|
55355
|
-
const __iconNode$
|
|
55355
|
+
const __iconNode$1A = [
|
|
55356
55356
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
55357
55357
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
55358
55358
|
];
|
|
55359
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
55359
|
+
const Copy = createLucideIcon("copy", __iconNode$1A);
|
|
55360
55360
|
|
|
55361
55361
|
/**
|
|
55362
55362
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55366,11 +55366,11 @@ const Copy = createLucideIcon("copy", __iconNode$1z);
|
|
|
55366
55366
|
*/
|
|
55367
55367
|
|
|
55368
55368
|
|
|
55369
|
-
const __iconNode$
|
|
55369
|
+
const __iconNode$1z = [
|
|
55370
55370
|
["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
|
|
55371
55371
|
["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
|
|
55372
55372
|
];
|
|
55373
|
-
const CreditCard = createLucideIcon("credit-card", __iconNode$
|
|
55373
|
+
const CreditCard = createLucideIcon("credit-card", __iconNode$1z);
|
|
55374
55374
|
|
|
55375
55375
|
/**
|
|
55376
55376
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55380,12 +55380,12 @@ const CreditCard = createLucideIcon("credit-card", __iconNode$1y);
|
|
|
55380
55380
|
*/
|
|
55381
55381
|
|
|
55382
55382
|
|
|
55383
|
-
const __iconNode$
|
|
55383
|
+
const __iconNode$1y = [
|
|
55384
55384
|
["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
|
|
55385
55385
|
["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
|
|
55386
55386
|
["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
|
|
55387
55387
|
];
|
|
55388
|
-
const Database = createLucideIcon("database", __iconNode$
|
|
55388
|
+
const Database = createLucideIcon("database", __iconNode$1y);
|
|
55389
55389
|
|
|
55390
55390
|
/**
|
|
55391
55391
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55395,11 +55395,11 @@ const Database = createLucideIcon("database", __iconNode$1x);
|
|
|
55395
55395
|
*/
|
|
55396
55396
|
|
|
55397
55397
|
|
|
55398
|
-
const __iconNode$
|
|
55398
|
+
const __iconNode$1x = [
|
|
55399
55399
|
["line", { x1: "12", x2: "12", y1: "2", y2: "22", key: "7eqyqh" }],
|
|
55400
55400
|
["path", { d: "M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6", key: "1b0p4s" }]
|
|
55401
55401
|
];
|
|
55402
|
-
const DollarSign = createLucideIcon("dollar-sign", __iconNode$
|
|
55402
|
+
const DollarSign = createLucideIcon("dollar-sign", __iconNode$1x);
|
|
55403
55403
|
|
|
55404
55404
|
/**
|
|
55405
55405
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55409,12 +55409,12 @@ const DollarSign = createLucideIcon("dollar-sign", __iconNode$1w);
|
|
|
55409
55409
|
*/
|
|
55410
55410
|
|
|
55411
55411
|
|
|
55412
|
-
const __iconNode$
|
|
55412
|
+
const __iconNode$1w = [
|
|
55413
55413
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
55414
55414
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
55415
55415
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
55416
55416
|
];
|
|
55417
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
55417
|
+
const Download = createLucideIcon("download", __iconNode$1w);
|
|
55418
55418
|
|
|
55419
55419
|
/**
|
|
55420
55420
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55424,12 +55424,12 @@ const Download = createLucideIcon("download", __iconNode$1v);
|
|
|
55424
55424
|
*/
|
|
55425
55425
|
|
|
55426
55426
|
|
|
55427
|
-
const __iconNode$
|
|
55427
|
+
const __iconNode$1v = [
|
|
55428
55428
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
55429
55429
|
["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
|
|
55430
55430
|
["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
|
|
55431
55431
|
];
|
|
55432
|
-
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$
|
|
55432
|
+
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$1v);
|
|
55433
55433
|
|
|
55434
55434
|
/**
|
|
55435
55435
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55439,12 +55439,12 @@ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$1u);
|
|
|
55439
55439
|
*/
|
|
55440
55440
|
|
|
55441
55441
|
|
|
55442
|
-
const __iconNode$
|
|
55442
|
+
const __iconNode$1u = [
|
|
55443
55443
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
55444
55444
|
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
55445
55445
|
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
55446
55446
|
];
|
|
55447
|
-
const Ellipsis = createLucideIcon("ellipsis", __iconNode$
|
|
55447
|
+
const Ellipsis = createLucideIcon("ellipsis", __iconNode$1u);
|
|
55448
55448
|
|
|
55449
55449
|
/**
|
|
55450
55450
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55454,12 +55454,12 @@ const Ellipsis = createLucideIcon("ellipsis", __iconNode$1t);
|
|
|
55454
55454
|
*/
|
|
55455
55455
|
|
|
55456
55456
|
|
|
55457
|
-
const __iconNode$
|
|
55457
|
+
const __iconNode$1t = [
|
|
55458
55458
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
55459
55459
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
55460
55460
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
55461
55461
|
];
|
|
55462
|
-
const ExternalLink = createLucideIcon("external-link", __iconNode$
|
|
55462
|
+
const ExternalLink = createLucideIcon("external-link", __iconNode$1t);
|
|
55463
55463
|
|
|
55464
55464
|
/**
|
|
55465
55465
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55469,7 +55469,7 @@ const ExternalLink = createLucideIcon("external-link", __iconNode$1s);
|
|
|
55469
55469
|
*/
|
|
55470
55470
|
|
|
55471
55471
|
|
|
55472
|
-
const __iconNode$
|
|
55472
|
+
const __iconNode$1s = [
|
|
55473
55473
|
[
|
|
55474
55474
|
"path",
|
|
55475
55475
|
{
|
|
@@ -55487,7 +55487,7 @@ const __iconNode$1r = [
|
|
|
55487
55487
|
],
|
|
55488
55488
|
["path", { d: "m2 2 20 20", key: "1ooewy" }]
|
|
55489
55489
|
];
|
|
55490
|
-
const EyeOff = createLucideIcon("eye-off", __iconNode$
|
|
55490
|
+
const EyeOff = createLucideIcon("eye-off", __iconNode$1s);
|
|
55491
55491
|
|
|
55492
55492
|
/**
|
|
55493
55493
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55497,7 +55497,7 @@ const EyeOff = createLucideIcon("eye-off", __iconNode$1r);
|
|
|
55497
55497
|
*/
|
|
55498
55498
|
|
|
55499
55499
|
|
|
55500
|
-
const __iconNode$
|
|
55500
|
+
const __iconNode$1r = [
|
|
55501
55501
|
[
|
|
55502
55502
|
"path",
|
|
55503
55503
|
{
|
|
@@ -55507,7 +55507,7 @@ const __iconNode$1q = [
|
|
|
55507
55507
|
],
|
|
55508
55508
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
55509
55509
|
];
|
|
55510
|
-
const Eye = createLucideIcon("eye", __iconNode$
|
|
55510
|
+
const Eye = createLucideIcon("eye", __iconNode$1r);
|
|
55511
55511
|
|
|
55512
55512
|
/**
|
|
55513
55513
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55517,7 +55517,7 @@ const Eye = createLucideIcon("eye", __iconNode$1q);
|
|
|
55517
55517
|
*/
|
|
55518
55518
|
|
|
55519
55519
|
|
|
55520
|
-
const __iconNode$
|
|
55520
|
+
const __iconNode$1q = [
|
|
55521
55521
|
["path", { d: "M10 12v-1", key: "v7bkov" }],
|
|
55522
55522
|
["path", { d: "M10 18v-2", key: "1cjy8d" }],
|
|
55523
55523
|
["path", { d: "M10 7V6", key: "dljcrl" }],
|
|
@@ -55528,7 +55528,7 @@ const __iconNode$1p = [
|
|
|
55528
55528
|
],
|
|
55529
55529
|
["circle", { cx: "10", cy: "20", r: "2", key: "1xzdoj" }]
|
|
55530
55530
|
];
|
|
55531
|
-
const FileArchive = createLucideIcon("file-archive", __iconNode$
|
|
55531
|
+
const FileArchive = createLucideIcon("file-archive", __iconNode$1q);
|
|
55532
55532
|
|
|
55533
55533
|
/**
|
|
55534
55534
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55538,7 +55538,7 @@ const FileArchive = createLucideIcon("file-archive", __iconNode$1p);
|
|
|
55538
55538
|
*/
|
|
55539
55539
|
|
|
55540
55540
|
|
|
55541
|
-
const __iconNode$
|
|
55541
|
+
const __iconNode$1p = [
|
|
55542
55542
|
["path", { d: "M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3", key: "rslqgf" }],
|
|
55543
55543
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
55544
55544
|
[
|
|
@@ -55549,7 +55549,7 @@ const __iconNode$1o = [
|
|
|
55549
55549
|
}
|
|
55550
55550
|
]
|
|
55551
55551
|
];
|
|
55552
|
-
const FileAudio = createLucideIcon("file-audio", __iconNode$
|
|
55552
|
+
const FileAudio = createLucideIcon("file-audio", __iconNode$1p);
|
|
55553
55553
|
|
|
55554
55554
|
/**
|
|
55555
55555
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55559,13 +55559,13 @@ const FileAudio = createLucideIcon("file-audio", __iconNode$1o);
|
|
|
55559
55559
|
*/
|
|
55560
55560
|
|
|
55561
55561
|
|
|
55562
|
-
const __iconNode$
|
|
55562
|
+
const __iconNode$1o = [
|
|
55563
55563
|
["path", { d: "M10 12.5 8 15l2 2.5", key: "1tg20x" }],
|
|
55564
55564
|
["path", { d: "m14 12.5 2 2.5-2 2.5", key: "yinavb" }],
|
|
55565
55565
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
55566
55566
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }]
|
|
55567
55567
|
];
|
|
55568
|
-
const FileCode = createLucideIcon("file-code", __iconNode$
|
|
55568
|
+
const FileCode = createLucideIcon("file-code", __iconNode$1o);
|
|
55569
55569
|
|
|
55570
55570
|
/**
|
|
55571
55571
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55575,13 +55575,13 @@ const FileCode = createLucideIcon("file-code", __iconNode$1n);
|
|
|
55575
55575
|
*/
|
|
55576
55576
|
|
|
55577
55577
|
|
|
55578
|
-
const __iconNode$
|
|
55578
|
+
const __iconNode$1n = [
|
|
55579
55579
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
55580
55580
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
55581
55581
|
["path", { d: "M12 18v-6", key: "17g6i2" }],
|
|
55582
55582
|
["path", { d: "m9 15 3 3 3-3", key: "1npd3o" }]
|
|
55583
55583
|
];
|
|
55584
|
-
const FileDown = createLucideIcon("file-down", __iconNode$
|
|
55584
|
+
const FileDown = createLucideIcon("file-down", __iconNode$1n);
|
|
55585
55585
|
|
|
55586
55586
|
/**
|
|
55587
55587
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55591,13 +55591,13 @@ const FileDown = createLucideIcon("file-down", __iconNode$1m);
|
|
|
55591
55591
|
*/
|
|
55592
55592
|
|
|
55593
55593
|
|
|
55594
|
-
const __iconNode$
|
|
55594
|
+
const __iconNode$1m = [
|
|
55595
55595
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
55596
55596
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
55597
55597
|
["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
|
|
55598
55598
|
["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
|
|
55599
55599
|
];
|
|
55600
|
-
const FileImage = createLucideIcon("file-image", __iconNode$
|
|
55600
|
+
const FileImage = createLucideIcon("file-image", __iconNode$1m);
|
|
55601
55601
|
|
|
55602
55602
|
/**
|
|
55603
55603
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55607,7 +55607,7 @@ const FileImage = createLucideIcon("file-image", __iconNode$1l);
|
|
|
55607
55607
|
*/
|
|
55608
55608
|
|
|
55609
55609
|
|
|
55610
|
-
const __iconNode$
|
|
55610
|
+
const __iconNode$1l = [
|
|
55611
55611
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
55612
55612
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }],
|
|
55613
55613
|
[
|
|
@@ -55618,7 +55618,7 @@ const __iconNode$1k = [
|
|
|
55618
55618
|
}
|
|
55619
55619
|
]
|
|
55620
55620
|
];
|
|
55621
|
-
const FilePlay = createLucideIcon("file-play", __iconNode$
|
|
55621
|
+
const FilePlay = createLucideIcon("file-play", __iconNode$1l);
|
|
55622
55622
|
|
|
55623
55623
|
/**
|
|
55624
55624
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55628,7 +55628,7 @@ const FilePlay = createLucideIcon("file-play", __iconNode$1k);
|
|
|
55628
55628
|
*/
|
|
55629
55629
|
|
|
55630
55630
|
|
|
55631
|
-
const __iconNode$
|
|
55631
|
+
const __iconNode$1k = [
|
|
55632
55632
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
55633
55633
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
55634
55634
|
["path", { d: "M8 13h2", key: "yr2amv" }],
|
|
@@ -55636,7 +55636,7 @@ const __iconNode$1j = [
|
|
|
55636
55636
|
["path", { d: "M8 17h2", key: "2yhykz" }],
|
|
55637
55637
|
["path", { d: "M14 17h2", key: "10kma7" }]
|
|
55638
55638
|
];
|
|
55639
|
-
const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$
|
|
55639
|
+
const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$1k);
|
|
55640
55640
|
|
|
55641
55641
|
/**
|
|
55642
55642
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55646,14 +55646,14 @@ const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$1j);
|
|
|
55646
55646
|
*/
|
|
55647
55647
|
|
|
55648
55648
|
|
|
55649
|
-
const __iconNode$
|
|
55649
|
+
const __iconNode$1j = [
|
|
55650
55650
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
55651
55651
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
55652
55652
|
["path", { d: "M10 9H8", key: "b1mrlr" }],
|
|
55653
55653
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
55654
55654
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
55655
55655
|
];
|
|
55656
|
-
const FileText = createLucideIcon("file-text", __iconNode$
|
|
55656
|
+
const FileText = createLucideIcon("file-text", __iconNode$1j);
|
|
55657
55657
|
|
|
55658
55658
|
/**
|
|
55659
55659
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -55663,11 +55663,39 @@ const FileText = createLucideIcon("file-text", __iconNode$1i);
|
|
|
55663
55663
|
*/
|
|
55664
55664
|
|
|
55665
55665
|
|
|
55666
|
-
const __iconNode$
|
|
55666
|
+
const __iconNode$1i = [
|
|
55667
55667
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
55668
55668
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
|
|
55669
55669
|
];
|
|
55670
|
-
const File$1 = createLucideIcon("file", __iconNode$
|
|
55670
|
+
const File$1 = createLucideIcon("file", __iconNode$1i);
|
|
55671
|
+
|
|
55672
|
+
/**
|
|
55673
|
+
* @license lucide-react v0.528.0 - ISC
|
|
55674
|
+
*
|
|
55675
|
+
* This source code is licensed under the ISC license.
|
|
55676
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
55677
|
+
*/
|
|
55678
|
+
|
|
55679
|
+
|
|
55680
|
+
const __iconNode$1h = [
|
|
55681
|
+
[
|
|
55682
|
+
"path",
|
|
55683
|
+
{
|
|
55684
|
+
d: "M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",
|
|
55685
|
+
key: "hod4my"
|
|
55686
|
+
}
|
|
55687
|
+
],
|
|
55688
|
+
[
|
|
55689
|
+
"path",
|
|
55690
|
+
{
|
|
55691
|
+
d: "M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",
|
|
55692
|
+
key: "w4yl2u"
|
|
55693
|
+
}
|
|
55694
|
+
],
|
|
55695
|
+
["path", { d: "M3 5a2 2 0 0 0 2 2h3", key: "f2jnh7" }],
|
|
55696
|
+
["path", { d: "M3 3v13a2 2 0 0 0 2 2h3", key: "k8epm1" }]
|
|
55697
|
+
];
|
|
55698
|
+
const FolderTree = createLucideIcon("folder-tree", __iconNode$1h);
|
|
55671
55699
|
|
|
55672
55700
|
/**
|
|
55673
55701
|
* @license lucide-react v0.528.0 - ISC
|
|
@@ -63281,6 +63309,28 @@ var resourceModalWebsiteCrawlModal$3 = {
|
|
|
63281
63309
|
submit: "Submit",
|
|
63282
63310
|
formBeingSubmitted: "Form is being submitted"
|
|
63283
63311
|
};
|
|
63312
|
+
var resourcePicker$3 = {
|
|
63313
|
+
title: "Select Resource",
|
|
63314
|
+
description: "Browse the resource tree and pick the path to grant access to.",
|
|
63315
|
+
breadcrumbLabel: "Resource path breadcrumbs",
|
|
63316
|
+
breadcrumbRoot: "root",
|
|
63317
|
+
loading: "Loading resources…",
|
|
63318
|
+
loadFailed: "Failed to load resources",
|
|
63319
|
+
retry: "Retry",
|
|
63320
|
+
collectionsHeading: "Nested collections ({count})",
|
|
63321
|
+
noCollections: "No nested collections available",
|
|
63322
|
+
terminalBadge: "Grant target",
|
|
63323
|
+
terminalHint: "This collection can only be granted as a whole — individual items cannot be selected. Use \"Use this path\" to select it.",
|
|
63324
|
+
searchFieldLabel: "Search field",
|
|
63325
|
+
searchPlaceholder: "Search value (optional)",
|
|
63326
|
+
itemsHeading: "Items ({count}) — click to drill in",
|
|
63327
|
+
noItems: "No items found",
|
|
63328
|
+
searchFailed: "Failed to load items",
|
|
63329
|
+
currentPathLabel: "Selected resource path",
|
|
63330
|
+
stopHint: "You can stop at any level — the current path is a valid policy resource.",
|
|
63331
|
+
cancel: "Cancel",
|
|
63332
|
+
selectPath: "Use this path"
|
|
63333
|
+
};
|
|
63284
63334
|
var retrievedDocumentsButton$3 = {
|
|
63285
63335
|
title: "Retrieved Documents"
|
|
63286
63336
|
};
|
|
@@ -63939,7 +63989,7 @@ var tabsPoliciestab$3 = {
|
|
|
63939
63989
|
searchRolesPlaceholder: "Type to search roles...",
|
|
63940
63990
|
fieldResources: "Resources",
|
|
63941
63991
|
removeResourceLabel: "Remove resource {resource}",
|
|
63942
|
-
resourceInputPlaceholder: "e.g., /
|
|
63992
|
+
resourceInputPlaceholder: "e.g., /projects, /mentors/*",
|
|
63943
63993
|
addResourceLabel: "Add resource",
|
|
63944
63994
|
resourceHint: "Press Enter or click + to add. Supports wildcards and path parameters",
|
|
63945
63995
|
fieldUsers: "Users",
|
|
@@ -63958,7 +64008,9 @@ var tabsPoliciestab$3 = {
|
|
|
63958
64008
|
policyCreated: "Policy created",
|
|
63959
64009
|
operationFailed: "Operation failed",
|
|
63960
64010
|
policyDeleted: "Policy deleted",
|
|
63961
|
-
deleteFailed: "Delete failed"
|
|
64011
|
+
deleteFailed: "Delete failed",
|
|
64012
|
+
browseResources: "Browse",
|
|
64013
|
+
browseResourcesLabel: "Browse resources"
|
|
63962
64014
|
};
|
|
63963
64015
|
var tabsPrivacyTab$3 = {
|
|
63964
64016
|
moreInfo: "More info",
|
|
@@ -65135,6 +65187,7 @@ var en = {
|
|
|
65135
65187
|
resourceModalLocalFileUploadModal: resourceModalLocalFileUploadModal$3,
|
|
65136
65188
|
resourceModalUrlUploadModal: resourceModalUrlUploadModal$3,
|
|
65137
65189
|
resourceModalWebsiteCrawlModal: resourceModalWebsiteCrawlModal$3,
|
|
65190
|
+
resourcePicker: resourcePicker$3,
|
|
65138
65191
|
retrievedDocumentsButton: retrievedDocumentsButton$3,
|
|
65139
65192
|
richTextEditor: richTextEditor$3,
|
|
65140
65193
|
safetyTabLabels: safetyTabLabels$3,
|
|
@@ -68885,6 +68938,28 @@ var resourceModalWebsiteCrawlModal$2 = {
|
|
|
68885
68938
|
submit: "Soumettre",
|
|
68886
68939
|
formBeingSubmitted: "Le formulaire est en cours d'envoi"
|
|
68887
68940
|
};
|
|
68941
|
+
var resourcePicker$2 = {
|
|
68942
|
+
title: "Sélectionner une ressource",
|
|
68943
|
+
description: "Parcourez l'arborescence des ressources et choisissez le chemin auquel accorder l'accès.",
|
|
68944
|
+
breadcrumbLabel: "Fil d'Ariane du chemin de ressource",
|
|
68945
|
+
breadcrumbRoot: "racine",
|
|
68946
|
+
loading: "Chargement des ressources…",
|
|
68947
|
+
loadFailed: "Échec du chargement des ressources",
|
|
68948
|
+
retry: "Réessayer",
|
|
68949
|
+
collectionsHeading: "Collections imbriquées ({count})",
|
|
68950
|
+
noCollections: "Aucune collection imbriquée disponible",
|
|
68951
|
+
terminalBadge: "Cible de permission",
|
|
68952
|
+
terminalHint: "Cette collection ne peut être accordée que dans son ensemble — impossible de sélectionner des éléments individuels. Utilisez « Utiliser ce chemin » pour la sélectionner.",
|
|
68953
|
+
searchFieldLabel: "Champ de recherche",
|
|
68954
|
+
searchPlaceholder: "Valeur de recherche (facultatif)",
|
|
68955
|
+
itemsHeading: "Éléments ({count}) — cliquez pour explorer",
|
|
68956
|
+
noItems: "Aucun élément trouvé",
|
|
68957
|
+
searchFailed: "Échec du chargement des éléments",
|
|
68958
|
+
currentPathLabel: "Chemin de ressource sélectionné",
|
|
68959
|
+
stopHint: "Vous pouvez vous arrêter à n'importe quel niveau — le chemin actuel est une ressource de politique valide.",
|
|
68960
|
+
cancel: "Annuler",
|
|
68961
|
+
selectPath: "Utiliser ce chemin"
|
|
68962
|
+
};
|
|
68888
68963
|
var retrievedDocumentsButton$2 = {
|
|
68889
68964
|
title: "Documents récupérés"
|
|
68890
68965
|
};
|
|
@@ -69543,7 +69618,7 @@ var tabsPoliciestab$2 = {
|
|
|
69543
69618
|
searchRolesPlaceholder: "Taper pour rechercher des rôles...",
|
|
69544
69619
|
fieldResources: "Ressources",
|
|
69545
69620
|
removeResourceLabel: "Supprimer la ressource {resource}",
|
|
69546
|
-
resourceInputPlaceholder: "ex. : /
|
|
69621
|
+
resourceInputPlaceholder: "ex. : /projects, /mentors/*",
|
|
69547
69622
|
addResourceLabel: "Ajouter une ressource",
|
|
69548
69623
|
resourceHint: "Appuyez sur Entrée ou cliquez sur + pour ajouter. Prend en charge les caractères génériques et les paramètres de chemin",
|
|
69549
69624
|
fieldUsers: "Utilisateurs",
|
|
@@ -69562,7 +69637,9 @@ var tabsPoliciestab$2 = {
|
|
|
69562
69637
|
policyCreated: "Politique créée",
|
|
69563
69638
|
operationFailed: "Opération échouée",
|
|
69564
69639
|
policyDeleted: "Politique supprimée",
|
|
69565
|
-
deleteFailed: "Suppression échouée"
|
|
69640
|
+
deleteFailed: "Suppression échouée",
|
|
69641
|
+
browseResources: "Parcourir",
|
|
69642
|
+
browseResourcesLabel: "Parcourir les ressources"
|
|
69566
69643
|
};
|
|
69567
69644
|
var tabsPrivacyTab$2 = {
|
|
69568
69645
|
moreInfo: "Plus d'informations",
|
|
@@ -70739,6 +70816,7 @@ var fr = {
|
|
|
70739
70816
|
resourceModalLocalFileUploadModal: resourceModalLocalFileUploadModal$2,
|
|
70740
70817
|
resourceModalUrlUploadModal: resourceModalUrlUploadModal$2,
|
|
70741
70818
|
resourceModalWebsiteCrawlModal: resourceModalWebsiteCrawlModal$2,
|
|
70819
|
+
resourcePicker: resourcePicker$2,
|
|
70742
70820
|
retrievedDocumentsButton: retrievedDocumentsButton$2,
|
|
70743
70821
|
richTextEditor: richTextEditor$2,
|
|
70744
70822
|
safetyTabLabels: safetyTabLabels$2,
|
|
@@ -74489,6 +74567,28 @@ var resourceModalWebsiteCrawlModal$1 = {
|
|
|
74489
74567
|
submit: "Enviar",
|
|
74490
74568
|
formBeingSubmitted: "El formulario se está enviando"
|
|
74491
74569
|
};
|
|
74570
|
+
var resourcePicker$1 = {
|
|
74571
|
+
title: "Seleccionar recurso",
|
|
74572
|
+
description: "Explora el árbol de recursos y elige la ruta a la que conceder acceso.",
|
|
74573
|
+
breadcrumbLabel: "Ruta de navegación del recurso",
|
|
74574
|
+
breadcrumbRoot: "raíz",
|
|
74575
|
+
loading: "Cargando recursos…",
|
|
74576
|
+
loadFailed: "Error al cargar los recursos",
|
|
74577
|
+
retry: "Reintentar",
|
|
74578
|
+
collectionsHeading: "Colecciones anidadas ({count})",
|
|
74579
|
+
noCollections: "No hay colecciones anidadas disponibles",
|
|
74580
|
+
terminalBadge: "Objetivo de permiso",
|
|
74581
|
+
terminalHint: "Esta colección solo puede concederse en su totalidad — no se pueden seleccionar elementos individuales. Usa «Usar esta ruta» para seleccionarla.",
|
|
74582
|
+
searchFieldLabel: "Campo de búsqueda",
|
|
74583
|
+
searchPlaceholder: "Valor de búsqueda (opcional)",
|
|
74584
|
+
itemsHeading: "Elementos ({count}) — haz clic para explorar",
|
|
74585
|
+
noItems: "No se encontraron elementos",
|
|
74586
|
+
searchFailed: "Error al cargar los elementos",
|
|
74587
|
+
currentPathLabel: "Ruta de recurso seleccionada",
|
|
74588
|
+
stopHint: "Puedes detenerte en cualquier nivel — la ruta actual es un recurso de política válido.",
|
|
74589
|
+
cancel: "Cancelar",
|
|
74590
|
+
selectPath: "Usar esta ruta"
|
|
74591
|
+
};
|
|
74492
74592
|
var retrievedDocumentsButton$1 = {
|
|
74493
74593
|
title: "Documentos recuperados"
|
|
74494
74594
|
};
|
|
@@ -75147,7 +75247,7 @@ var tabsPoliciestab$1 = {
|
|
|
75147
75247
|
searchRolesPlaceholder: "Escriba para buscar roles...",
|
|
75148
75248
|
fieldResources: "Recursos",
|
|
75149
75249
|
removeResourceLabel: "Eliminar recurso {resource}",
|
|
75150
|
-
resourceInputPlaceholder: "
|
|
75250
|
+
resourceInputPlaceholder: "e.j., /projects, /mentors/*",
|
|
75151
75251
|
addResourceLabel: "Agregar recurso",
|
|
75152
75252
|
resourceHint: "Presione Intro o haga clic en + para agregar. Compatible con comodines y parámetros de ruta",
|
|
75153
75253
|
fieldUsers: "Usuarios",
|
|
@@ -75166,7 +75266,9 @@ var tabsPoliciestab$1 = {
|
|
|
75166
75266
|
policyCreated: "Política creada",
|
|
75167
75267
|
operationFailed: "Operación fallida",
|
|
75168
75268
|
policyDeleted: "Política eliminada",
|
|
75169
|
-
deleteFailed: "Error al eliminar"
|
|
75269
|
+
deleteFailed: "Error al eliminar",
|
|
75270
|
+
browseResources: "Explorar",
|
|
75271
|
+
browseResourcesLabel: "Explorar recursos"
|
|
75170
75272
|
};
|
|
75171
75273
|
var tabsPrivacyTab$1 = {
|
|
75172
75274
|
moreInfo: "Más información",
|
|
@@ -76343,6 +76445,7 @@ var es = {
|
|
|
76343
76445
|
resourceModalLocalFileUploadModal: resourceModalLocalFileUploadModal$1,
|
|
76344
76446
|
resourceModalUrlUploadModal: resourceModalUrlUploadModal$1,
|
|
76345
76447
|
resourceModalWebsiteCrawlModal: resourceModalWebsiteCrawlModal$1,
|
|
76448
|
+
resourcePicker: resourcePicker$1,
|
|
76346
76449
|
retrievedDocumentsButton: retrievedDocumentsButton$1,
|
|
76347
76450
|
richTextEditor: richTextEditor$1,
|
|
76348
76451
|
safetyTabLabels: safetyTabLabels$1,
|
|
@@ -80093,6 +80196,28 @@ var resourceModalWebsiteCrawlModal = {
|
|
|
80093
80196
|
submit: "提交",
|
|
80094
80197
|
formBeingSubmitted: "表单正在提交"
|
|
80095
80198
|
};
|
|
80199
|
+
var resourcePicker = {
|
|
80200
|
+
title: "选择资源",
|
|
80201
|
+
description: "浏览资源树并选择要授予访问权限的路径。",
|
|
80202
|
+
breadcrumbLabel: "资源路径导航",
|
|
80203
|
+
breadcrumbRoot: "根",
|
|
80204
|
+
loading: "正在加载资源…",
|
|
80205
|
+
loadFailed: "加载资源失败",
|
|
80206
|
+
retry: "重试",
|
|
80207
|
+
collectionsHeading: "嵌套集合({count})",
|
|
80208
|
+
noCollections: "没有可用的嵌套集合",
|
|
80209
|
+
terminalBadge: "授权目标",
|
|
80210
|
+
terminalHint: "此集合只能整体授权,无法选择其中的单个条目。请使用“使用此路径”进行选择。",
|
|
80211
|
+
searchFieldLabel: "搜索字段",
|
|
80212
|
+
searchPlaceholder: "搜索值(可选)",
|
|
80213
|
+
itemsHeading: "条目({count})— 点击深入",
|
|
80214
|
+
noItems: "未找到条目",
|
|
80215
|
+
searchFailed: "加载条目失败",
|
|
80216
|
+
currentPathLabel: "已选资源路径",
|
|
80217
|
+
stopHint: "您可以在任意层级停止 — 当前路径即为有效的策略资源。",
|
|
80218
|
+
cancel: "取消",
|
|
80219
|
+
selectPath: "使用此路径"
|
|
80220
|
+
};
|
|
80096
80221
|
var retrievedDocumentsButton = {
|
|
80097
80222
|
title: "已检索文档"
|
|
80098
80223
|
};
|
|
@@ -80751,7 +80876,7 @@ var tabsPoliciestab = {
|
|
|
80751
80876
|
searchRolesPlaceholder: "输入以搜索角色...",
|
|
80752
80877
|
fieldResources: "资源",
|
|
80753
80878
|
removeResourceLabel: "移除资源 {resource}",
|
|
80754
|
-
resourceInputPlaceholder: "例如:/
|
|
80879
|
+
resourceInputPlaceholder: "例如:/projects, /mentors/*",
|
|
80755
80880
|
addResourceLabel: "添加资源",
|
|
80756
80881
|
resourceHint: "按 Enter 或点击 + 添加。支持通配符和路径参数",
|
|
80757
80882
|
fieldUsers: "用户",
|
|
@@ -80770,7 +80895,9 @@ var tabsPoliciestab = {
|
|
|
80770
80895
|
policyCreated: "策略已创建",
|
|
80771
80896
|
operationFailed: "操作失败",
|
|
80772
80897
|
policyDeleted: "策略已删除",
|
|
80773
|
-
deleteFailed: "删除失败"
|
|
80898
|
+
deleteFailed: "删除失败",
|
|
80899
|
+
browseResources: "浏览",
|
|
80900
|
+
browseResourcesLabel: "浏览资源"
|
|
80774
80901
|
};
|
|
80775
80902
|
var tabsPrivacyTab = {
|
|
80776
80903
|
moreInfo: "更多信息",
|
|
@@ -81947,6 +82074,7 @@ var zh = {
|
|
|
81947
82074
|
resourceModalLocalFileUploadModal: resourceModalLocalFileUploadModal,
|
|
81948
82075
|
resourceModalUrlUploadModal: resourceModalUrlUploadModal,
|
|
81949
82076
|
resourceModalWebsiteCrawlModal: resourceModalWebsiteCrawlModal,
|
|
82077
|
+
resourcePicker: resourcePicker,
|
|
81950
82078
|
retrievedDocumentsButton: retrievedDocumentsButton,
|
|
81951
82079
|
richTextEditor: richTextEditor,
|
|
81952
82080
|
safetyTabLabels: safetyTabLabels,
|
|
@@ -142632,6 +142760,76 @@ function RolesTab({ tenant }) {
|
|
|
142632
142760
|
return (jsxs("div", { className: "mt-4", children: [jsxs("div", { className: "flex justify-between items-center gap-1 mb-6", children: [jsxs("div", { className: "relative max-w-sm", children: [jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), jsx(Input, { value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: t('tabsRolestab.searchRolesPlaceholder'), "aria-label": t('tabsRolestab.searchRolesAriaLabel'), className: "pl-10 pr-10 focus:ring-blue-500 focus:border-blue-500 h-[35px]" }), isLoading && (jsx(LoaderCircle, { "data-testid": "search-spinner", className: "absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400 animate-spin", "aria-hidden": "true" }))] }), jsx(Button$1, { onClick: openNew, "aria-label": t('tabsRolestab.newRoleAriaLabel'), className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white h-[35px]", children: t('tabsRolestab.newRoleButton') })] }), isLoading && (jsx("div", { className: "flex justify-center items-center h-64", children: jsx("div", { className: "py-8 text-center text-sm text-gray-500 dark:text-gray-400", children: t('tabsRolestab.loading') }) })), isError && (jsx("div", { className: "py-8 text-center text-sm text-red-500", children: t('tabsRolestab.failedToLoadRoles') })), !isLoading && !isError && (jsx("div", { className: "bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg overflow-x-auto", children: jsxs("table", { className: "w-full text-sm", children: [jsx("thead", { className: "bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600", children: jsxs("tr", { children: [jsx("th", { className: "px-6 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: t('tabsRolestab.nameHeader') }), jsx("th", { className: "px-6 py-3 text-right font-medium text-gray-500 dark:text-gray-400 w-[100px]" })] }) }), jsxs("tbody", { className: "divide-y divide-gray-200 dark:divide-gray-600", children: [roles.map((r) => (jsxs("tr", { children: [jsx("td", { className: "px-6 py-4 text-gray-900 dark:text-gray-100 text-sm", children: r.name }), jsx("td", { className: "px-6 py-4", children: jsxs("div", { className: "flex gap-2 justify-end", children: [jsx(Button$1, { variant: "ghost", size: "sm", onClick: () => openEdit(r), disabled: deletingRoleId === r.id, "aria-label": t('tabsRolestab.editRoleAriaLabel', { name: r.name }), children: jsx(Pencil, { className: "h-4 w-4", "aria-hidden": "true" }) }), jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { tabIndex: 0, children: jsx(Button$1, { variant: "ghost", size: "sm", onClick: () => onDelete(r), className: "text-red-600 hover:text-red-700", disabled: deletingRoleId === r.id || r.is_internal, "aria-label": t('tabsRolestab.deleteRoleAriaLabel', { name: r.name }), children: deletingRoleId === r.id ? (jsx(LoaderCircle, { className: "h-4 w-4 animate-spin", "aria-hidden": "true" })) : (jsx(Trash2, { className: "h-4 w-4", "aria-hidden": "true" })) }) }) }), r.is_internal && (jsx(TooltipContent, { children: jsx("p", { children: t('tabsRolestab.cannotDeleteInternalRoles') }) }))] }) })] }) })] }, r.id))), roles.length === 0 && (jsx("tr", { children: jsx("td", { colSpan: 2, className: "px-6 py-8 text-center text-gray-500 dark:text-gray-400", children: t('tabsRolestab.noRolesFound') }) }))] })] }) })), !isLoading && !isError && (jsx(AdvancedPagination, { variant: "footer", className: "-mx-6 -mb-6 mt-4 rounded-b-lg", totalPages: totalPages, currentPage: page, onPageChange: (newPage) => handlePageChange(newPage), totalCount: data === null || data === void 0 ? void 0 : data.count, itemsPerPage: 10, itemLabel: "roles" })), jsx(Dialog, { open: isOpen, onOpenChange: setIsOpen, children: jsxs(DialogContent, { "aria-describedby": undefined, className: "max-w-2xl max-h-[90vh] overflow-y-auto", children: [jsx(DialogHeader, { children: jsx(DialogTitle, { children: editing ? t('tabsRolestab.editRoleTitle') : t('tabsRolestab.newRoleTitle') }) }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "grid gap-1.5", children: [jsx(Label$2, { htmlFor: "r-name", children: t('tabsRolestab.roleNameLabel') }), jsx(Input, { id: "r-name", value: form.name, onChange: (e) => setForm({ ...form, name: e.target.value }), placeholder: t('tabsRolestab.enterRoleNamePlaceholder'), required: true })] }), jsxs("div", { className: "grid gap-1.5", children: [jsx(Label$2, { htmlFor: "r-actions", children: t('tabsRolestab.actionsLabel') }), jsxs("div", { className: "space-y-2", children: [actions.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 p-2 border border-gray-200 dark:border-gray-700 rounded-md bg-gray-50 dark:bg-gray-800", children: actions.map((action, index) => (jsxs(Badge, { variant: "secondary", className: "px-2 py-1 flex items-center gap-1 font-mono text-xs", children: [jsx("span", { children: action }), jsx("button", { type: "button", onClick: () => removeAction(action), className: "ml-1 hover:text-red-600", "aria-label": t('tabsRolestab.removeActionAriaLabel', { action }), children: jsx(X$1, { className: "h-3 w-3" }) })] }, index))) })), jsx(ActionsCombobox, { selected: actions, onSelect: addActionKey }), jsxs("div", { className: "flex gap-2", children: [jsx(Input, { id: "r-actions", value: actionInput, onChange: (e) => setActionInput(e.target.value), onKeyDown: handleActionKeyDown, placeholder: t('tabsRolestab.customActionPlaceholder'), className: "flex-1 font-mono text-sm" }), jsx(Button$1, { type: "button", variant: "outline", size: "sm", onClick: addAction, disabled: !actionInput.trim(), "aria-label": t('tabsRolestab.addActionAriaLabel'), children: jsx(Plus, { className: "h-4 w-4" }) })] }), jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t('tabsRolestab.actionsHelpText') })] })] }), jsxs("div", { className: "grid gap-1.5", children: [jsx(Label$2, { htmlFor: "r-data-actions", children: t('tabsRolestab.dataActionsLabel') }), jsxs("div", { className: "space-y-2", children: [dataActions.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 p-2 border border-gray-200 dark:border-gray-700 rounded-md bg-gray-50 dark:bg-gray-800", children: dataActions.map((action, index) => (jsxs(Badge, { variant: "secondary", className: "px-2 py-1 flex items-center gap-1 font-mono text-xs", children: [jsx("span", { children: action }), jsx("button", { type: "button", onClick: () => removeDataAction(action), className: "ml-1 hover:text-red-600", "aria-label": t('tabsRolestab.removeDataActionAriaLabel', { action }), children: jsx(X$1, { className: "h-3 w-3" }) })] }, index))) })), jsxs("div", { className: "flex gap-2", children: [jsx(Input, { id: "r-data-actions", value: dataActionInput, onChange: (e) => setDataActionInput(e.target.value), onKeyDown: handleDataActionKeyDown, placeholder: t('tabsRolestab.dataActionPlaceholder'), className: "flex-1 font-mono text-sm" }), jsx(Button$1, { type: "button", variant: "outline", size: "sm", onClick: addDataAction, disabled: !dataActionInput.trim(), "aria-label": t('tabsRolestab.addDataActionAriaLabel'), children: jsx(Plus, { className: "h-4 w-4" }) })] }), jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t('tabsRolestab.dataActionsHelpText') })] })] })] }), jsxs(DialogFooter, { className: "mt-6 gap-1.5", children: [jsx(Button$1, { variant: "outline", onClick: () => setIsOpen(false), children: t('tabsRolestab.cancel') }), jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { tabIndex: 0, className: "", children: jsx(Button$1, { onClick: onSubmit, disabled: !!editing && (roleDetails === null || roleDetails === void 0 ? void 0 : roleDetails.is_internal), className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white w-full", children: editing ? t('tabsRolestab.saveRole') : t('tabsRolestab.createRole') }) }) }), editing && (roleDetails === null || roleDetails === void 0 ? void 0 : roleDetails.is_internal) && (jsx(TooltipContent, { children: jsx("p", { children: t('tabsRolestab.cannotEditInternalRoles') }) }))] }) })] })] }) })] }));
|
|
142633
142761
|
}
|
|
142634
142762
|
|
|
142763
|
+
/**
|
|
142764
|
+
* Walks the RBAC resource-discovery tree so users can build a policy resource
|
|
142765
|
+
* path interactively instead of typing it by hand. Starts at "/", renders
|
|
142766
|
+
* entity nodes as drill-down collection cards and collection nodes as a
|
|
142767
|
+
* searchable entity list, and lets the user confirm the current path at any
|
|
142768
|
+
* level (intermediate paths are valid policy targets).
|
|
142769
|
+
*/
|
|
142770
|
+
function ResourcePickerModal({ open, onOpenChange, tenant, onSelect, }) {
|
|
142771
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
142772
|
+
const t = useT();
|
|
142773
|
+
const [path, setPath] = useState('/');
|
|
142774
|
+
const [searchQp, setSearchQp] = useState(null);
|
|
142775
|
+
const [searchValue, setSearchValue] = useState('');
|
|
142776
|
+
const [debouncedSearchValue, setDebouncedSearchValue] = useState('');
|
|
142777
|
+
// Start from the root every time the picker is opened.
|
|
142778
|
+
useEffect(() => {
|
|
142779
|
+
if (open) {
|
|
142780
|
+
setPath('/');
|
|
142781
|
+
setSearchQp(null);
|
|
142782
|
+
setSearchValue('');
|
|
142783
|
+
setDebouncedSearchValue('');
|
|
142784
|
+
}
|
|
142785
|
+
}, [open]);
|
|
142786
|
+
// Search state belongs to a single collection node — clear it on navigation.
|
|
142787
|
+
useEffect(() => {
|
|
142788
|
+
setSearchQp(null);
|
|
142789
|
+
setSearchValue('');
|
|
142790
|
+
setDebouncedSearchValue('');
|
|
142791
|
+
}, [path]);
|
|
142792
|
+
useEffect(() => {
|
|
142793
|
+
const handler = setTimeout(() => setDebouncedSearchValue(searchValue.trim()), 300);
|
|
142794
|
+
return () => clearTimeout(handler);
|
|
142795
|
+
}, [searchValue]);
|
|
142796
|
+
const { currentData: node, isFetching: isDiscoveryLoading, isError: isDiscoveryError, refetch: refetchDiscovery, } = useGetRbacResourceDiscoveryQuery({ path, platformKey: tenant }, { skip: !open });
|
|
142797
|
+
const entityNode = (node === null || node === void 0 ? void 0 : node.node_type) === 'entity' ? node : null;
|
|
142798
|
+
const collectionNode = (node === null || node === void 0 ? void 0 : node.node_type) === 'collection' ? node : null;
|
|
142799
|
+
const effectiveSearchQp = (_c = (_a = searchQp !== null && searchQp !== void 0 ? searchQp : collectionNode === null || collectionNode === void 0 ? void 0 : collectionNode.default_search_qp) !== null && _a !== void 0 ? _a : (_b = collectionNode === null || collectionNode === void 0 ? void 0 : collectionNode.search_qps) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : null;
|
|
142800
|
+
// The backend may prefix list_url with the /dm gateway segment; the data
|
|
142801
|
+
// layer already targets the DM service base URL, so strip it.
|
|
142802
|
+
const listUrl = (_e = (_d = collectionNode === null || collectionNode === void 0 ? void 0 : collectionNode.list_url) === null || _d === void 0 ? void 0 : _d.replace(/^\/dm(?=\/)/, '')) !== null && _e !== void 0 ? _e : '';
|
|
142803
|
+
const { currentData: listData, isFetching: isListLoading, isError: isListError, } = useGetRbacResourceListQuery({
|
|
142804
|
+
listUrl,
|
|
142805
|
+
searchParams: effectiveSearchQp && debouncedSearchValue
|
|
142806
|
+
? { [effectiveSearchQp]: debouncedSearchValue }
|
|
142807
|
+
: {},
|
|
142808
|
+
resultFields: (_f = collectionNode === null || collectionNode === void 0 ? void 0 : collectionNode.result_fields) !== null && _f !== void 0 ? _f : null,
|
|
142809
|
+
}, { skip: !open || !(collectionNode === null || collectionNode === void 0 ? void 0 : collectionNode.list_url) });
|
|
142810
|
+
// The path confirmed on select: prefer the server-echoed resource_path for
|
|
142811
|
+
// the loaded node, fall back to the client-built path while loading.
|
|
142812
|
+
const currentResourcePath = (_g = node === null || node === void 0 ? void 0 : node.resource_path) !== null && _g !== void 0 ? _g : path;
|
|
142813
|
+
// Breadcrumb prefixes: "/" then one crumb per segment ("/mentors/", "/mentors/6/", …).
|
|
142814
|
+
const crumbs = useMemo(() => {
|
|
142815
|
+
const segments = path.split('/').filter(Boolean);
|
|
142816
|
+
return segments.map((segment, index) => ({
|
|
142817
|
+
label: segment,
|
|
142818
|
+
path: `/${segments.slice(0, index + 1).join('/')}/`,
|
|
142819
|
+
}));
|
|
142820
|
+
}, [path]);
|
|
142821
|
+
function confirmSelection() {
|
|
142822
|
+
onSelect(currentResourcePath);
|
|
142823
|
+
onOpenChange(false);
|
|
142824
|
+
}
|
|
142825
|
+
return (jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: jsxs(DialogContent, { className: "max-w-2xl max-h-[85vh] flex flex-col", children: [jsxs(DialogHeader, { children: [jsx(DialogTitle, { children: t('resourcePicker.title') }), jsx(DialogDescription, { children: t('resourcePicker.description') })] }), jsxs("nav", { "aria-label": t('resourcePicker.breadcrumbLabel'), className: "flex flex-wrap items-center gap-1", children: [jsxs(Button$1, { type: "button", variant: crumbs.length === 0 ? 'secondary' : 'ghost', size: "sm", className: "h-7 px-2 font-mono text-xs", onClick: () => setPath('/'), children: [t('resourcePicker.breadcrumbRoot'), " /"] }), crumbs.map((crumb, index) => (jsxs("span", { className: "flex items-center gap-1", children: [jsx(ChevronRight, { className: "h-3 w-3 text-gray-400", "aria-hidden": "true" }), jsxs(Button$1, { type: "button", variant: index === crumbs.length - 1 ? 'secondary' : 'ghost', size: "sm", className: "h-7 px-2 font-mono text-xs", onClick: () => setPath(crumb.path), children: [crumb.label, "/"] })] }, crumb.path)))] }), jsxs("div", { className: "flex-1 min-h-[200px] overflow-y-auto pr-1", children: [isDiscoveryLoading && (jsxs("div", { className: "flex justify-center items-center h-40", role: "status", children: [jsx(LoaderCircle, { className: "h-6 w-6 animate-spin text-gray-400", "aria-hidden": "true" }), jsx("span", { className: "sr-only", children: t('resourcePicker.loading') })] })), !isDiscoveryLoading && isDiscoveryError && (jsxs("div", { className: "py-8 text-center text-sm text-red-500 space-y-2", children: [jsx("p", { children: t('resourcePicker.loadFailed') }), jsx(Button$1, { type: "button", variant: "outline", size: "sm", onClick: () => refetchDiscovery(), children: t('resourcePicker.retry') })] })), !isDiscoveryLoading && entityNode && (jsxs("div", { className: "space-y-2", children: [jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t('resourcePicker.collectionsHeading', {
|
|
142826
|
+
count: entityNode.collections.length,
|
|
142827
|
+
}) }), entityNode.collections.length === 0 && (jsx("p", { className: "py-6 text-center text-sm text-gray-500 dark:text-gray-400", children: t('resourcePicker.noCollections') })), jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2", children: entityNode.collections.map((collection) => (jsxs("button", { type: "button", onClick: () => setPath(collection.path), className: "text-left p-3 min-w-0 border border-gray-200 dark:border-gray-700 rounded-md hover:border-blue-400 hover:bg-blue-50/50 dark:hover:bg-blue-900/10 transition-colors", children: [jsxs("span", { className: "flex items-center gap-2", children: [jsxs("span", { className: "font-mono text-sm font-medium text-blue-600 dark:text-blue-400", children: [collection.type, "/"] }), collection.collection_only && (jsxs(Badge, { variant: "secondary", className: "text-[10px] px-1.5 py-0 gap-1", children: [jsx(Lock, { className: "h-2.5 w-2.5", "aria-hidden": "true" }), t('resourcePicker.terminalBadge')] }))] }), jsx("span", { className: "block mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: collection.help })] }, collection.path))) })] })), !isDiscoveryLoading && collectionNode && !collectionNode.list_url && (jsx("div", { className: "py-8 px-4 text-center text-sm text-gray-600 dark:text-gray-300 border border-dashed border-gray-300 dark:border-gray-600 rounded-md", children: t('resourcePicker.terminalHint') })), !isDiscoveryLoading && collectionNode && collectionNode.list_url && (jsxs("div", { className: "space-y-3", children: [jsxs("div", { className: "flex gap-2", children: [collectionNode.search_qps.length > 0 && (jsxs(Select$1, { value: effectiveSearchQp !== null && effectiveSearchQp !== void 0 ? effectiveSearchQp : undefined, onValueChange: (value) => setSearchQp(value), children: [jsx(SelectTrigger, { className: "w-[160px] shrink-0", "aria-label": t('resourcePicker.searchFieldLabel'), children: jsx(SelectValue, {}) }), jsx(SelectContent, { children: collectionNode.search_qps.map((qp) => (jsx(SelectItem, { value: qp, children: qp }, qp))) })] })), jsxs("div", { className: "relative flex-1", children: [jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400", "aria-hidden": "true" }), jsx(Input, { value: searchValue, onChange: (e) => setSearchValue(e.target.value), placeholder: t('resourcePicker.searchPlaceholder'), "aria-label": t('resourcePicker.searchPlaceholder'), className: "pl-10" }), isListLoading && (jsx(LoaderCircle, { className: "absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400 animate-spin", "aria-hidden": "true" }))] })] }), isListError && (jsx("p", { className: "py-6 text-center text-sm text-red-500", children: t('resourcePicker.searchFailed') })), !isListError && listData && (jsxs("div", { className: "space-y-2", children: [jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t('resourcePicker.itemsHeading', { count: listData.items.length }) }), listData.items.length === 0 && !isListLoading && (jsx("p", { className: "py-6 text-center text-sm text-gray-500 dark:text-gray-400", children: t('resourcePicker.noItems') })), jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2", children: listData.items.map((item) => {
|
|
142828
|
+
var _a, _b;
|
|
142829
|
+
return (jsxs("button", { type: "button", onClick: () => setPath(`${collectionNode.resource_path}${item.pk}/`), className: "text-left p-3 min-w-0 border border-gray-200 dark:border-gray-700 rounded-md hover:border-blue-400 hover:bg-blue-50/50 dark:hover:bg-blue-900/10 transition-colors", children: [jsx("span", { title: item.name, className: "block truncate text-sm font-medium text-gray-900 dark:text-gray-100", children: item.name }), jsxs("span", { className: "block mt-0.5 font-mono text-xs text-gray-500 dark:text-gray-400", children: [(_b = (_a = collectionNode.result_fields) === null || _a === void 0 ? void 0 : _a.pk) !== null && _b !== void 0 ? _b : 'id', " = ", String(item.pk)] })] }, String(item.pk)));
|
|
142830
|
+
}) })] }))] }))] }), jsxs(DialogFooter, { className: "flex-col sm:flex-row sm:items-center gap-2 border-t border-gray-200 dark:border-gray-700 pt-4", children: [jsxs("div", { className: "flex-1 min-w-0 text-left", children: [jsx("p", { className: "text-[10px] font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t('resourcePicker.currentPathLabel') }), jsx("p", { className: "font-mono text-sm text-green-600 dark:text-green-400 truncate", children: currentResourcePath }), jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t('resourcePicker.stopHint') })] }), jsx(Button$1, { type: "button", variant: "outline", onClick: () => onOpenChange(false), children: t('resourcePicker.cancel') }), jsx(Button$1, { type: "button", onClick: confirmSelection, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white", children: t('resourcePicker.selectPath') })] })] }) }));
|
|
142831
|
+
}
|
|
142832
|
+
|
|
142635
142833
|
function PoliciesTab({ tenant }) {
|
|
142636
142834
|
const t = useT();
|
|
142637
142835
|
const [page, setPage] = useState(1);
|
|
@@ -142683,6 +142881,7 @@ function PoliciesTab({ tenant }) {
|
|
|
142683
142881
|
const [showUserSearch, setShowUserSearch] = useState(false);
|
|
142684
142882
|
const [showGroupSearch, setShowGroupSearch] = useState(false);
|
|
142685
142883
|
const [deletingPolicyId, setDeletingPolicyId] = useState(null);
|
|
142884
|
+
const [isResourcePickerOpen, setIsResourcePickerOpen] = useState(false);
|
|
142686
142885
|
const { currentData: policyDetails } = useGetRbacPolicyDetailsQuery({ id: editingPolicyId, platform_key: tenant }, { skip: !editingPolicyId });
|
|
142687
142886
|
// Debounce role search and query the roles endpoint with the search term
|
|
142688
142887
|
useEffect(() => {
|
|
@@ -142812,6 +143011,11 @@ function PoliciesTab({ tenant }) {
|
|
|
142812
143011
|
setResourceInput('');
|
|
142813
143012
|
}
|
|
142814
143013
|
}
|
|
143014
|
+
function addPickedResource(resourcePath) {
|
|
143015
|
+
if (!resources.includes(resourcePath)) {
|
|
143016
|
+
setResources((prev) => [...prev, resourcePath]);
|
|
143017
|
+
}
|
|
143018
|
+
}
|
|
142815
143019
|
function removeResource(resource) {
|
|
142816
143020
|
setResources(resources.filter((r) => r !== resource));
|
|
142817
143021
|
}
|
|
@@ -142916,7 +143120,7 @@ function PoliciesTab({ tenant }) {
|
|
|
142916
143120
|
setForm({ ...form, roleId: role.id, roleName: role.name });
|
|
142917
143121
|
setRoleSearch('');
|
|
142918
143122
|
setShowRoleSearch(false);
|
|
142919
|
-
}, className: "w-full text-left px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 flex flex-col", children: [jsx("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: role.name }), role.description && (jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: role.description }))] }, role.id))) }))] })] }), jsxs("div", { className: "grid gap-1.5", children: [jsx(Label$2, { htmlFor: "p-res", children: t('tabsPoliciestab.fieldResources') }), jsxs("div", { className: "space-y-2", children: [resources.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 p-2 border border-gray-200 dark:border-gray-700 rounded-md bg-gray-50 dark:bg-gray-800", children: resources.map((resource, index) => (jsxs(Badge, { variant: "secondary", className: "px-2 py-1 flex items-center gap-1 font-mono text-xs", children: [jsx("span", { children: resource }), jsx("button", { type: "button", onClick: () => removeResource(resource), className: "ml-1 hover:text-red-600", "aria-label": t('tabsPoliciestab.removeResourceLabel', { resource }), children: jsx(X$1, { className: "h-3 w-3" }) })] }, index))) })), jsxs("div", { className: "flex gap-2", children: [jsx(Input, { id: "p-res", value: resourceInput, onChange: (e) => setResourceInput(e.target.value), onKeyDown: handleResourceKeyDown, placeholder: t('tabsPoliciestab.resourceInputPlaceholder'), className: "flex-1 font-mono text-sm" }), jsx(Button$1, { type: "button", variant: "outline", size: "sm", onClick: addResource, disabled: !resourceInput.trim(), "aria-label": t('tabsPoliciestab.addResourceLabel'), children: jsx(Plus, { className: "h-4 w-4" }) })] }), jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t('tabsPoliciestab.resourceHint') })] })] }), jsxs("div", { className: "grid gap-1.5", children: [jsx(Label$2, { children: t('tabsPoliciestab.fieldUsers') }), jsxs("div", { className: "space-y-2", children: [selectedUsers.length > 0 ? (jsx("div", { className: "space-y-2 max-h-32 overflow-y-auto border border-gray-200 dark:border-gray-700 rounded-md p-2", children: selectedUsers.map((user) => (jsxs("div", { className: "flex items-center justify-between bg-gray-50 dark:bg-gray-800 p-2 rounded-md", children: [jsxs("div", { className: "flex flex-col", children: [jsx("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: user.name }), jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: user.email })] }), jsx(Button$1, { type: "button", variant: "ghost", size: "sm", onClick: () => removeUser(user.id), className: "h-8 w-8 p-0 text-red-600 hover:text-red-700 hover:bg-red-50 dark:hover:bg-red-900/20", "aria-label": t('tabsPoliciestab.removeUserLabel', { name: user.name }), children: jsx(X$1, { className: "h-4 w-4" }) })] }, user.id))) })) : (jsx("div", { className: "text-sm text-gray-500 dark:text-gray-400 p-3 text-center border border-dashed border-gray-300 dark:border-gray-600 rounded-md", children: t('tabsPoliciestab.noUsersAdded') })), jsxs("div", { className: "relative", children: [jsx(Input, { value: userSearch, onChange: (e) => {
|
|
143123
|
+
}, className: "w-full text-left px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 flex flex-col", children: [jsx("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: role.name }), role.description && (jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: role.description }))] }, role.id))) }))] })] }), jsxs("div", { className: "grid gap-1.5", children: [jsx(Label$2, { htmlFor: "p-res", children: t('tabsPoliciestab.fieldResources') }), jsxs("div", { className: "space-y-2", children: [resources.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 p-2 border border-gray-200 dark:border-gray-700 rounded-md bg-gray-50 dark:bg-gray-800", children: resources.map((resource, index) => (jsxs(Badge, { variant: "secondary", className: "px-2 py-1 flex items-center gap-1 font-mono text-xs", children: [jsx("span", { children: resource }), jsx("button", { type: "button", onClick: () => removeResource(resource), className: "ml-1 hover:text-red-600", "aria-label": t('tabsPoliciestab.removeResourceLabel', { resource }), children: jsx(X$1, { className: "h-3 w-3" }) })] }, index))) })), jsxs("div", { className: "flex gap-2", children: [jsx(Input, { id: "p-res", value: resourceInput, onChange: (e) => setResourceInput(e.target.value), onKeyDown: handleResourceKeyDown, placeholder: t('tabsPoliciestab.resourceInputPlaceholder'), className: "flex-1 font-mono text-sm" }), jsx(Button$1, { type: "button", variant: "outline", size: "sm", onClick: addResource, disabled: !resourceInput.trim(), "aria-label": t('tabsPoliciestab.addResourceLabel'), children: jsx(Plus, { className: "h-4 w-4" }) }), jsxs(Button$1, { type: "button", variant: "outline", size: "sm", onClick: () => setIsResourcePickerOpen(true), "aria-label": t('tabsPoliciestab.browseResourcesLabel'), children: [jsx(FolderTree, { className: "h-4 w-4 mr-1", "aria-hidden": "true" }), t('tabsPoliciestab.browseResources')] })] }), jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t('tabsPoliciestab.resourceHint') })] })] }), jsxs("div", { className: "grid gap-1.5", children: [jsx(Label$2, { children: t('tabsPoliciestab.fieldUsers') }), jsxs("div", { className: "space-y-2", children: [selectedUsers.length > 0 ? (jsx("div", { className: "space-y-2 max-h-32 overflow-y-auto border border-gray-200 dark:border-gray-700 rounded-md p-2", children: selectedUsers.map((user) => (jsxs("div", { className: "flex items-center justify-between bg-gray-50 dark:bg-gray-800 p-2 rounded-md", children: [jsxs("div", { className: "flex flex-col", children: [jsx("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: user.name }), jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: user.email })] }), jsx(Button$1, { type: "button", variant: "ghost", size: "sm", onClick: () => removeUser(user.id), className: "h-8 w-8 p-0 text-red-600 hover:text-red-700 hover:bg-red-50 dark:hover:bg-red-900/20", "aria-label": t('tabsPoliciestab.removeUserLabel', { name: user.name }), children: jsx(X$1, { className: "h-4 w-4" }) })] }, user.id))) })) : (jsx("div", { className: "text-sm text-gray-500 dark:text-gray-400 p-3 text-center border border-dashed border-gray-300 dark:border-gray-600 rounded-md", children: t('tabsPoliciestab.noUsersAdded') })), jsxs("div", { className: "relative", children: [jsx(Input, { value: userSearch, onChange: (e) => {
|
|
142920
143124
|
setUserSearch(e.target.value);
|
|
142921
143125
|
setShowUserSearch(e.target.value.length > 0);
|
|
142922
143126
|
}, onFocus: () => setShowUserSearch(userSearch.length > 0), placeholder: t('tabsPoliciestab.searchUsersPlaceholder') }), showUserSearch && availableUsers.length > 0 && (jsx("div", { className: "absolute top-full left-0 right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-md shadow-lg max-h-48 overflow-y-auto z-50", children: availableUsers.map((user) => (jsxs("button", { type: "button", onClick: () => addUser({
|
|
@@ -142931,7 +143135,7 @@ function PoliciesTab({ tenant }) {
|
|
|
142931
143135
|
name: group.name,
|
|
142932
143136
|
}), className: "w-full text-left px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700", children: jsx("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: group.name }) }, group.id))) }))] })] })] })] }), jsxs(DialogFooter, { className: "mt-6", children: [jsx(Button$1, { variant: "outline", onClick: () => setIsOpen(false), children: t('tabsPoliciestab.cancel') }), jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { tabIndex: 0, children: jsx(Button$1, { onClick: onSubmit, disabled: policyDetails === null || policyDetails === void 0 ? void 0 : policyDetails.is_internal, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white", children: editing
|
|
142933
143137
|
? t('tabsPoliciestab.savePolicy')
|
|
142934
|
-
: t('tabsPoliciestab.createPolicy') }) }) }), editing && (policyDetails === null || policyDetails === void 0 ? void 0 : policyDetails.is_internal) && (jsx(TooltipContent, { children: jsx("p", { children: t('tabsPoliciestab.cannotEditInternal') }) }))] }) })] })] }) })] }));
|
|
143138
|
+
: t('tabsPoliciestab.createPolicy') }) }) }), editing && (policyDetails === null || policyDetails === void 0 ? void 0 : policyDetails.is_internal) && (jsx(TooltipContent, { children: jsx("p", { children: t('tabsPoliciestab.cannotEditInternal') }) }))] }) })] })] }) }), jsx(ResourcePickerModal, { open: isResourcePickerOpen, onOpenChange: setIsResourcePickerOpen, tenant: tenant, onSelect: addPickedResource })] }));
|
|
142935
143139
|
}
|
|
142936
143140
|
|
|
142937
143141
|
const PAGE_SIZE$3 = 10;
|