@iblai/iblai-js 2.3.14 → 2.3.16
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.
|
@@ -97445,6 +97445,10 @@ var analyticsAccessTimeHeatmap$3 = {
|
|
|
97445
97445
|
tooltipActiveUsers: "{count} active users"
|
|
97446
97446
|
};
|
|
97447
97447
|
var analyticsAnalyticsAuditLogStats$3 = {
|
|
97448
|
+
scopeAgent: "Agent",
|
|
97449
|
+
scopePlatform: "Platform",
|
|
97450
|
+
scopeAgentHint: "Configuration changes for this agent.",
|
|
97451
|
+
scopePlatformHint: "Platform-wide changes and security events.",
|
|
97448
97452
|
noPermission: "You do not have permission to view audit logs.",
|
|
97449
97453
|
searchForUser: "Search for User",
|
|
97450
97454
|
searchUserPlaceholder: "Search user...",
|
|
@@ -102595,9 +102599,9 @@ var profileApplicationsTab$3 = {
|
|
|
102595
102599
|
linkCopied: "Copied",
|
|
102596
102600
|
formsHeading: "Application forms",
|
|
102597
102601
|
formsDescription: "Every application form of this platform. One form is the default applicants land on.",
|
|
102598
|
-
blockedUsers: "Blocked
|
|
102602
|
+
blockedUsers: "Blocked Users",
|
|
102599
102603
|
blockedUsersDescription: "Families barred from reapplying. Unblocking lets them apply again.",
|
|
102600
|
-
allSubmissions: "All
|
|
102604
|
+
allSubmissions: "All Submissions ({count})",
|
|
102601
102605
|
newForm: "New form",
|
|
102602
102606
|
postApproval_enrolled: "Enrolled",
|
|
102603
102607
|
postApproval_enrollment_in_progress: "Enrollment in progress",
|
|
@@ -102615,7 +102619,7 @@ var profileApplicationsTab$3 = {
|
|
|
102615
102619
|
noForms: "No application forms yet. Create one to turn on applications.",
|
|
102616
102620
|
backToForms: "Back to forms",
|
|
102617
102621
|
submissionsFor: "Submissions — {form}",
|
|
102618
|
-
allSubmissionsHeading: "All
|
|
102622
|
+
allSubmissionsHeading: "All Submissions",
|
|
102619
102623
|
candidateFilterPlaceholder: "Student filter, e.g. grade=6",
|
|
102620
102624
|
sortLabel: "Sort",
|
|
102621
102625
|
sortNewest: "Newest first",
|
|
@@ -102948,6 +102952,81 @@ var graderTabLabels$3 = {
|
|
|
102948
102952
|
overrideButtonAria: "Override grade for {email}"
|
|
102949
102953
|
}
|
|
102950
102954
|
};
|
|
102955
|
+
var analyticsAnalyticsPlatformAuditLog$3 = {
|
|
102956
|
+
eventTypeLabel: "Event type",
|
|
102957
|
+
allEventTypes: "All Event Types",
|
|
102958
|
+
actionLabel: "Action",
|
|
102959
|
+
allActions: "All Actions",
|
|
102960
|
+
actorUsernameLabel: "Actor username",
|
|
102961
|
+
actorUsernamePlaceholder: "Filter by username",
|
|
102962
|
+
actorEmailLabel: "Actor email",
|
|
102963
|
+
actorEmailPlaceholder: "Filter by email",
|
|
102964
|
+
pickDateRange: "Pick a Date Range",
|
|
102965
|
+
clearFilters: "Clear filters",
|
|
102966
|
+
narrowSuggestion: "{count} entries match. Narrow the date range to review them without paging through everything.",
|
|
102967
|
+
colTimestamp: "TIMESTAMP ({timezone})",
|
|
102968
|
+
colEvent: "EVENT / ACTION",
|
|
102969
|
+
colActor: "ACTOR",
|
|
102970
|
+
colResource: "RESOURCE",
|
|
102971
|
+
colIpAddress: "IP ADDRESS",
|
|
102972
|
+
colDetails: "Details",
|
|
102973
|
+
kindModelChange: "Model change",
|
|
102974
|
+
kindEvent: "Security event",
|
|
102975
|
+
viewDetails: "View",
|
|
102976
|
+
notAvailable: "—",
|
|
102977
|
+
loadError: "An error occurred while loading audit logs.",
|
|
102978
|
+
noEntries: "No audit log entries have been recorded for this platform yet.",
|
|
102979
|
+
noFilteredEntries: "No audit log entries match these filters.",
|
|
102980
|
+
forbiddenTitle: "You do not have permission to view platform audit logs.",
|
|
102981
|
+
forbiddenBody: "Ask a platform administrator to grant you audit log access.",
|
|
102982
|
+
resultSummary: "Showing {shown} of {total} entries."
|
|
102983
|
+
};
|
|
102984
|
+
var analyticsPlatformAuditLogDetailSheet$3 = {
|
|
102985
|
+
title: "Audit entry",
|
|
102986
|
+
description: "Read-only detail for this audit log entry.",
|
|
102987
|
+
timestamp: "Timestamp",
|
|
102988
|
+
event: "Event",
|
|
102989
|
+
action: "Action",
|
|
102990
|
+
actor: "Actor",
|
|
102991
|
+
resource: "Resource",
|
|
102992
|
+
ipAddress: "IP address",
|
|
102993
|
+
entryId: "Entry ID",
|
|
102994
|
+
changesHeading: "Changes",
|
|
102995
|
+
metadataHeading: "Metadata",
|
|
102996
|
+
noMetadata: "This event carries no metadata.",
|
|
102997
|
+
notAvailable: "—"
|
|
102998
|
+
};
|
|
102999
|
+
var analyticsAuditLogJsonView$3 = {
|
|
103000
|
+
"null": "null",
|
|
103001
|
+
empty: "(empty)",
|
|
103002
|
+
emptyString: "(empty string)",
|
|
103003
|
+
emptyList: "(empty list)",
|
|
103004
|
+
emptyObject: "(empty object)",
|
|
103005
|
+
truncated: "(nested too deeply to display)",
|
|
103006
|
+
itemCount: "{count, plural, one {# item} other {# items}}",
|
|
103007
|
+
keyCount: "{count, plural, one {# key} other {# keys}}",
|
|
103008
|
+
noPayload: "No additional data recorded.",
|
|
103009
|
+
noChanges: "No field changes recorded.",
|
|
103010
|
+
fieldColumn: "Field",
|
|
103011
|
+
beforeColumn: "Before",
|
|
103012
|
+
afterColumn: "After"
|
|
103013
|
+
};
|
|
103014
|
+
var analyticsUsePlatformAuditLabels$3 = {
|
|
103015
|
+
eventTypeLogin: "Login",
|
|
103016
|
+
eventTypeLogout: "Logout",
|
|
103017
|
+
eventTypeLoginFailed: "Failed login",
|
|
103018
|
+
eventTypePasswordChange: "Password change",
|
|
103019
|
+
eventTypeExport: "Export",
|
|
103020
|
+
eventTypeDownloadFile: "File download",
|
|
103021
|
+
eventTypeApiCall: "API call",
|
|
103022
|
+
eventTypeViewStudentRecord: "Student record viewed",
|
|
103023
|
+
eventTypeChangeGrade: "Grade change",
|
|
103024
|
+
eventTypeAdminAction: "Admin action",
|
|
103025
|
+
actionCreate: "Create",
|
|
103026
|
+
actionUpdate: "Update",
|
|
103027
|
+
actionDelete: "Delete",
|
|
103028
|
+
actionAccess: "Access"
|
|
103029
|
+
};
|
|
102951
103030
|
var en = {
|
|
102952
103031
|
accessTabAddAccess: accessTabAddAccess$3,
|
|
102953
103032
|
accessTabLabels: accessTabLabels$3,
|
|
@@ -103205,7 +103284,11 @@ var en = {
|
|
|
103205
103284
|
applyApplyWizard: applyApplyWizard$3,
|
|
103206
103285
|
profileApplicationsTab: profileApplicationsTab$3,
|
|
103207
103286
|
profileApplicationsQuestionsEditor: profileApplicationsQuestionsEditor$3,
|
|
103208
|
-
graderTabLabels: graderTabLabels$3
|
|
103287
|
+
graderTabLabels: graderTabLabels$3,
|
|
103288
|
+
analyticsAnalyticsPlatformAuditLog: analyticsAnalyticsPlatformAuditLog$3,
|
|
103289
|
+
analyticsPlatformAuditLogDetailSheet: analyticsPlatformAuditLogDetailSheet$3,
|
|
103290
|
+
analyticsAuditLogJsonView: analyticsAuditLogJsonView$3,
|
|
103291
|
+
analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels$3
|
|
103209
103292
|
};
|
|
103210
103293
|
|
|
103211
103294
|
var accessTabAddAccess$2 = {
|
|
@@ -103826,6 +103909,10 @@ var analyticsAccessTimeHeatmap$2 = {
|
|
|
103826
103909
|
tooltipActiveUsers: "{count} utilisateurs actifs"
|
|
103827
103910
|
};
|
|
103828
103911
|
var analyticsAnalyticsAuditLogStats$2 = {
|
|
103912
|
+
scopeAgent: "Agent",
|
|
103913
|
+
scopePlatform: "Plateforme",
|
|
103914
|
+
scopeAgentHint: "Modifications de configuration de cet agent.",
|
|
103915
|
+
scopePlatformHint: "Modifications et événements de sécurité de la plateforme.",
|
|
103829
103916
|
noPermission: "Vous n'avez pas la permission de consulter les journaux d'audit.",
|
|
103830
103917
|
searchForUser: "Rechercher un utilisateur",
|
|
103831
103918
|
searchUserPlaceholder: "Rechercher un utilisateur...",
|
|
@@ -109329,6 +109416,81 @@ var skillsTabLabels$2 = {
|
|
|
109329
109416
|
notBaseAgent: "Les compétences ne sont disponibles que pour les agents de base.",
|
|
109330
109417
|
loading: "Chargement..."
|
|
109331
109418
|
};
|
|
109419
|
+
var analyticsAnalyticsPlatformAuditLog$2 = {
|
|
109420
|
+
eventTypeLabel: "Type d'événement",
|
|
109421
|
+
allEventTypes: "Tous les types d'événement",
|
|
109422
|
+
actionLabel: "Action",
|
|
109423
|
+
allActions: "Toutes les actions",
|
|
109424
|
+
actorUsernameLabel: "Nom d'utilisateur de l'auteur",
|
|
109425
|
+
actorUsernamePlaceholder: "Filtrer par nom d'utilisateur",
|
|
109426
|
+
actorEmailLabel: "E-mail de l'auteur",
|
|
109427
|
+
actorEmailPlaceholder: "Filtrer par e-mail",
|
|
109428
|
+
pickDateRange: "Choisir une période",
|
|
109429
|
+
clearFilters: "Effacer les filtres",
|
|
109430
|
+
narrowSuggestion: "{count} entrées correspondent. Restreignez la période pour les consulter sans parcourir toutes les pages.",
|
|
109431
|
+
colTimestamp: "HORODATAGE ({timezone})",
|
|
109432
|
+
colEvent: "ÉVÉNEMENT / ACTION",
|
|
109433
|
+
colActor: "AUTEUR",
|
|
109434
|
+
colResource: "RESSOURCE",
|
|
109435
|
+
colIpAddress: "ADRESSE IP",
|
|
109436
|
+
colDetails: "Détails",
|
|
109437
|
+
kindModelChange: "Modification de modèle",
|
|
109438
|
+
kindEvent: "Événement de sécurité",
|
|
109439
|
+
viewDetails: "Voir",
|
|
109440
|
+
notAvailable: "—",
|
|
109441
|
+
loadError: "Une erreur s'est produite lors du chargement des journaux d'audit.",
|
|
109442
|
+
noEntries: "Aucune entrée d'audit n'a encore été enregistrée pour cette plateforme.",
|
|
109443
|
+
noFilteredEntries: "Aucune entrée d'audit ne correspond à ces filtres.",
|
|
109444
|
+
forbiddenTitle: "Vous n'avez pas l'autorisation de consulter les journaux d'audit de la plateforme.",
|
|
109445
|
+
forbiddenBody: "Demandez à un administrateur de la plateforme de vous accorder l'accès aux journaux d'audit.",
|
|
109446
|
+
resultSummary: "Affichage de {shown} entrées sur {total}."
|
|
109447
|
+
};
|
|
109448
|
+
var analyticsPlatformAuditLogDetailSheet$2 = {
|
|
109449
|
+
title: "Entrée d'audit",
|
|
109450
|
+
description: "Détail en lecture seule de cette entrée d'audit.",
|
|
109451
|
+
timestamp: "Horodatage",
|
|
109452
|
+
event: "Événement",
|
|
109453
|
+
action: "Action",
|
|
109454
|
+
actor: "Auteur",
|
|
109455
|
+
resource: "Ressource",
|
|
109456
|
+
ipAddress: "Adresse IP",
|
|
109457
|
+
entryId: "ID de l'entrée",
|
|
109458
|
+
changesHeading: "Modifications",
|
|
109459
|
+
metadataHeading: "Métadonnées",
|
|
109460
|
+
noMetadata: "Cet événement ne contient aucune métadonnée.",
|
|
109461
|
+
notAvailable: "—"
|
|
109462
|
+
};
|
|
109463
|
+
var analyticsAuditLogJsonView$2 = {
|
|
109464
|
+
"null": "null",
|
|
109465
|
+
empty: "(vide)",
|
|
109466
|
+
emptyString: "(chaîne vide)",
|
|
109467
|
+
emptyList: "(liste vide)",
|
|
109468
|
+
emptyObject: "(objet vide)",
|
|
109469
|
+
truncated: "(trop imbriqué pour être affiché)",
|
|
109470
|
+
itemCount: "{count, plural, one {# élément} other {# éléments}}",
|
|
109471
|
+
keyCount: "{count, plural, one {# clé} other {# clés}}",
|
|
109472
|
+
noPayload: "Aucune donnée supplémentaire enregistrée.",
|
|
109473
|
+
noChanges: "Aucune modification de champ enregistrée.",
|
|
109474
|
+
fieldColumn: "Champ",
|
|
109475
|
+
beforeColumn: "Avant",
|
|
109476
|
+
afterColumn: "Après"
|
|
109477
|
+
};
|
|
109478
|
+
var analyticsUsePlatformAuditLabels$2 = {
|
|
109479
|
+
eventTypeLogin: "Connexion",
|
|
109480
|
+
eventTypeLogout: "Déconnexion",
|
|
109481
|
+
eventTypeLoginFailed: "Échec de connexion",
|
|
109482
|
+
eventTypePasswordChange: "Changement de mot de passe",
|
|
109483
|
+
eventTypeExport: "Exportation",
|
|
109484
|
+
eventTypeDownloadFile: "Téléchargement de fichier",
|
|
109485
|
+
eventTypeApiCall: "Appel d'API",
|
|
109486
|
+
eventTypeViewStudentRecord: "Dossier étudiant consulté",
|
|
109487
|
+
eventTypeChangeGrade: "Modification de note",
|
|
109488
|
+
eventTypeAdminAction: "Action d'administration",
|
|
109489
|
+
actionCreate: "Créer",
|
|
109490
|
+
actionUpdate: "Mettre à jour",
|
|
109491
|
+
actionDelete: "Supprimer",
|
|
109492
|
+
actionAccess: "Accéder"
|
|
109493
|
+
};
|
|
109332
109494
|
var fr = {
|
|
109333
109495
|
accessTabAddAccess: accessTabAddAccess$2,
|
|
109334
109496
|
accessTabLabels: accessTabLabels$2,
|
|
@@ -109586,7 +109748,11 @@ var fr = {
|
|
|
109586
109748
|
profileApplicationsTab: profileApplicationsTab$2,
|
|
109587
109749
|
profileApplicationsQuestionsEditor: profileApplicationsQuestionsEditor$2,
|
|
109588
109750
|
slashSkillPicker: slashSkillPicker$2,
|
|
109589
|
-
skillsTabLabels: skillsTabLabels$2
|
|
109751
|
+
skillsTabLabels: skillsTabLabels$2,
|
|
109752
|
+
analyticsAnalyticsPlatformAuditLog: analyticsAnalyticsPlatformAuditLog$2,
|
|
109753
|
+
analyticsPlatformAuditLogDetailSheet: analyticsPlatformAuditLogDetailSheet$2,
|
|
109754
|
+
analyticsAuditLogJsonView: analyticsAuditLogJsonView$2,
|
|
109755
|
+
analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels$2
|
|
109590
109756
|
};
|
|
109591
109757
|
|
|
109592
109758
|
var accessTabAddAccess$1 = {
|
|
@@ -110207,6 +110373,10 @@ var analyticsAccessTimeHeatmap$1 = {
|
|
|
110207
110373
|
tooltipActiveUsers: "{count} usuarios activos"
|
|
110208
110374
|
};
|
|
110209
110375
|
var analyticsAnalyticsAuditLogStats$1 = {
|
|
110376
|
+
scopeAgent: "Agente",
|
|
110377
|
+
scopePlatform: "Plataforma",
|
|
110378
|
+
scopeAgentHint: "Cambios de configuración de este agente.",
|
|
110379
|
+
scopePlatformHint: "Cambios y eventos de seguridad de toda la plataforma.",
|
|
110210
110380
|
noPermission: "No tienes permiso para ver los registros de auditoría.",
|
|
110211
110381
|
searchForUser: "Buscar usuario",
|
|
110212
110382
|
searchUserPlaceholder: "Buscar usuario...",
|
|
@@ -115710,6 +115880,81 @@ var skillsTabLabels$1 = {
|
|
|
115710
115880
|
notBaseAgent: "Las habilidades solo están disponibles para los agentes base.",
|
|
115711
115881
|
loading: "Cargando..."
|
|
115712
115882
|
};
|
|
115883
|
+
var analyticsAnalyticsPlatformAuditLog$1 = {
|
|
115884
|
+
eventTypeLabel: "Tipo de evento",
|
|
115885
|
+
allEventTypes: "Todos los tipos de evento",
|
|
115886
|
+
actionLabel: "Acción",
|
|
115887
|
+
allActions: "Todas las acciones",
|
|
115888
|
+
actorUsernameLabel: "Nombre de usuario del actor",
|
|
115889
|
+
actorUsernamePlaceholder: "Filtrar por nombre de usuario",
|
|
115890
|
+
actorEmailLabel: "Correo del actor",
|
|
115891
|
+
actorEmailPlaceholder: "Filtrar por correo",
|
|
115892
|
+
pickDateRange: "Elige un rango de fechas",
|
|
115893
|
+
clearFilters: "Borrar filtros",
|
|
115894
|
+
narrowSuggestion: "{count} registros coinciden. Acota el rango de fechas para revisarlos sin recorrer todas las páginas.",
|
|
115895
|
+
colTimestamp: "FECHA Y HORA ({timezone})",
|
|
115896
|
+
colEvent: "EVENTO / ACCIÓN",
|
|
115897
|
+
colActor: "ACTOR",
|
|
115898
|
+
colResource: "RECURSO",
|
|
115899
|
+
colIpAddress: "DIRECCIÓN IP",
|
|
115900
|
+
colDetails: "Detalles",
|
|
115901
|
+
kindModelChange: "Cambio de modelo",
|
|
115902
|
+
kindEvent: "Evento de seguridad",
|
|
115903
|
+
viewDetails: "Ver",
|
|
115904
|
+
notAvailable: "—",
|
|
115905
|
+
loadError: "Se produjo un error al cargar los registros de auditoría.",
|
|
115906
|
+
noEntries: "Todavía no se han registrado entradas de auditoría para esta plataforma.",
|
|
115907
|
+
noFilteredEntries: "Ninguna entrada de auditoría coincide con estos filtros.",
|
|
115908
|
+
forbiddenTitle: "No tienes permiso para ver los registros de auditoría de la plataforma.",
|
|
115909
|
+
forbiddenBody: "Pide a un administrador de la plataforma que te dé acceso a los registros de auditoría.",
|
|
115910
|
+
resultSummary: "Mostrando {shown} de {total} entradas."
|
|
115911
|
+
};
|
|
115912
|
+
var analyticsPlatformAuditLogDetailSheet$1 = {
|
|
115913
|
+
title: "Entrada de auditoría",
|
|
115914
|
+
description: "Detalle de solo lectura de esta entrada de auditoría.",
|
|
115915
|
+
timestamp: "Fecha y hora",
|
|
115916
|
+
event: "Evento",
|
|
115917
|
+
action: "Acción",
|
|
115918
|
+
actor: "Actor",
|
|
115919
|
+
resource: "Recurso",
|
|
115920
|
+
ipAddress: "Dirección IP",
|
|
115921
|
+
entryId: "ID de entrada",
|
|
115922
|
+
changesHeading: "Cambios",
|
|
115923
|
+
metadataHeading: "Metadatos",
|
|
115924
|
+
noMetadata: "Este evento no incluye metadatos.",
|
|
115925
|
+
notAvailable: "—"
|
|
115926
|
+
};
|
|
115927
|
+
var analyticsAuditLogJsonView$1 = {
|
|
115928
|
+
"null": "null",
|
|
115929
|
+
empty: "(vacío)",
|
|
115930
|
+
emptyString: "(cadena vacía)",
|
|
115931
|
+
emptyList: "(lista vacía)",
|
|
115932
|
+
emptyObject: "(objeto vacío)",
|
|
115933
|
+
truncated: "(demasiado anidado para mostrarlo)",
|
|
115934
|
+
itemCount: "{count, plural, one {# elemento} other {# elementos}}",
|
|
115935
|
+
keyCount: "{count, plural, one {# clave} other {# claves}}",
|
|
115936
|
+
noPayload: "No se registraron datos adicionales.",
|
|
115937
|
+
noChanges: "No se registraron cambios de campos.",
|
|
115938
|
+
fieldColumn: "Campo",
|
|
115939
|
+
beforeColumn: "Antes",
|
|
115940
|
+
afterColumn: "Después"
|
|
115941
|
+
};
|
|
115942
|
+
var analyticsUsePlatformAuditLabels$1 = {
|
|
115943
|
+
eventTypeLogin: "Inicio de sesión",
|
|
115944
|
+
eventTypeLogout: "Cierre de sesión",
|
|
115945
|
+
eventTypeLoginFailed: "Inicio de sesión fallido",
|
|
115946
|
+
eventTypePasswordChange: "Cambio de contraseña",
|
|
115947
|
+
eventTypeExport: "Exportación",
|
|
115948
|
+
eventTypeDownloadFile: "Descarga de archivo",
|
|
115949
|
+
eventTypeApiCall: "Llamada a la API",
|
|
115950
|
+
eventTypeViewStudentRecord: "Expediente de estudiante consultado",
|
|
115951
|
+
eventTypeChangeGrade: "Cambio de calificación",
|
|
115952
|
+
eventTypeAdminAction: "Acción de administrador",
|
|
115953
|
+
actionCreate: "Crear",
|
|
115954
|
+
actionUpdate: "Actualizar",
|
|
115955
|
+
actionDelete: "Eliminar",
|
|
115956
|
+
actionAccess: "Acceder"
|
|
115957
|
+
};
|
|
115713
115958
|
var es = {
|
|
115714
115959
|
accessTabAddAccess: accessTabAddAccess$1,
|
|
115715
115960
|
accessTabLabels: accessTabLabels$1,
|
|
@@ -115967,7 +116212,11 @@ var es = {
|
|
|
115967
116212
|
profileApplicationsTab: profileApplicationsTab$1,
|
|
115968
116213
|
profileApplicationsQuestionsEditor: profileApplicationsQuestionsEditor$1,
|
|
115969
116214
|
slashSkillPicker: slashSkillPicker$1,
|
|
115970
|
-
skillsTabLabels: skillsTabLabels$1
|
|
116215
|
+
skillsTabLabels: skillsTabLabels$1,
|
|
116216
|
+
analyticsAnalyticsPlatformAuditLog: analyticsAnalyticsPlatformAuditLog$1,
|
|
116217
|
+
analyticsPlatformAuditLogDetailSheet: analyticsPlatformAuditLogDetailSheet$1,
|
|
116218
|
+
analyticsAuditLogJsonView: analyticsAuditLogJsonView$1,
|
|
116219
|
+
analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels$1
|
|
115971
116220
|
};
|
|
115972
116221
|
|
|
115973
116222
|
var accessTabAddAccess = {
|
|
@@ -116588,6 +116837,10 @@ var analyticsAccessTimeHeatmap = {
|
|
|
116588
116837
|
tooltipActiveUsers: "{count} 位活跃用户"
|
|
116589
116838
|
};
|
|
116590
116839
|
var analyticsAnalyticsAuditLogStats = {
|
|
116840
|
+
scopeAgent: "智能体",
|
|
116841
|
+
scopePlatform: "平台",
|
|
116842
|
+
scopeAgentHint: "此智能体的配置变更。",
|
|
116843
|
+
scopePlatformHint: "全平台的变更与安全事件。",
|
|
116591
116844
|
noPermission: "您没有查看审计日志的权限。",
|
|
116592
116845
|
searchForUser: "搜索用户",
|
|
116593
116846
|
searchUserPlaceholder: "搜索用户...",
|
|
@@ -122091,6 +122344,81 @@ var skillsTabLabels = {
|
|
|
122091
122344
|
notBaseAgent: "技能仅适用于基础智能体。",
|
|
122092
122345
|
loading: "加载中..."
|
|
122093
122346
|
};
|
|
122347
|
+
var analyticsAnalyticsPlatformAuditLog = {
|
|
122348
|
+
eventTypeLabel: "事件类型",
|
|
122349
|
+
allEventTypes: "所有事件类型",
|
|
122350
|
+
actionLabel: "操作",
|
|
122351
|
+
allActions: "所有操作",
|
|
122352
|
+
actorUsernameLabel: "操作者用户名",
|
|
122353
|
+
actorUsernamePlaceholder: "按用户名筛选",
|
|
122354
|
+
actorEmailLabel: "操作者邮箱",
|
|
122355
|
+
actorEmailPlaceholder: "按邮箱筛选",
|
|
122356
|
+
pickDateRange: "选择日期范围",
|
|
122357
|
+
clearFilters: "清除筛选",
|
|
122358
|
+
narrowSuggestion: "共有 {count} 条记录匹配。缩小日期范围可避免逐页翻阅。",
|
|
122359
|
+
colTimestamp: "时间 ({timezone})",
|
|
122360
|
+
colEvent: "事件 / 操作",
|
|
122361
|
+
colActor: "操作者",
|
|
122362
|
+
colResource: "资源",
|
|
122363
|
+
colIpAddress: "IP 地址",
|
|
122364
|
+
colDetails: "详情",
|
|
122365
|
+
kindModelChange: "数据变更",
|
|
122366
|
+
kindEvent: "安全事件",
|
|
122367
|
+
viewDetails: "查看",
|
|
122368
|
+
notAvailable: "—",
|
|
122369
|
+
loadError: "加载审计日志时出错。",
|
|
122370
|
+
noEntries: "该平台尚未记录任何审计日志。",
|
|
122371
|
+
noFilteredEntries: "没有符合这些筛选条件的审计日志。",
|
|
122372
|
+
forbiddenTitle: "您没有查看平台审计日志的权限。",
|
|
122373
|
+
forbiddenBody: "请联系平台管理员为您开通审计日志访问权限。",
|
|
122374
|
+
resultSummary: "显示 {total} 条中的 {shown} 条。"
|
|
122375
|
+
};
|
|
122376
|
+
var analyticsPlatformAuditLogDetailSheet = {
|
|
122377
|
+
title: "审计记录",
|
|
122378
|
+
description: "该审计日志记录的只读详情。",
|
|
122379
|
+
timestamp: "时间",
|
|
122380
|
+
event: "事件",
|
|
122381
|
+
action: "操作",
|
|
122382
|
+
actor: "操作者",
|
|
122383
|
+
resource: "资源",
|
|
122384
|
+
ipAddress: "IP 地址",
|
|
122385
|
+
entryId: "记录 ID",
|
|
122386
|
+
changesHeading: "变更内容",
|
|
122387
|
+
metadataHeading: "元数据",
|
|
122388
|
+
noMetadata: "该事件没有元数据。",
|
|
122389
|
+
notAvailable: "—"
|
|
122390
|
+
};
|
|
122391
|
+
var analyticsAuditLogJsonView = {
|
|
122392
|
+
"null": "null",
|
|
122393
|
+
empty: "(空)",
|
|
122394
|
+
emptyString: "(空字符串)",
|
|
122395
|
+
emptyList: "(空列表)",
|
|
122396
|
+
emptyObject: "(空对象)",
|
|
122397
|
+
truncated: "(嵌套层级过深,无法显示)",
|
|
122398
|
+
itemCount: "{count} 项",
|
|
122399
|
+
keyCount: "{count} 个键",
|
|
122400
|
+
noPayload: "没有记录额外数据。",
|
|
122401
|
+
noChanges: "没有记录字段变更。",
|
|
122402
|
+
fieldColumn: "字段",
|
|
122403
|
+
beforeColumn: "变更前",
|
|
122404
|
+
afterColumn: "变更后"
|
|
122405
|
+
};
|
|
122406
|
+
var analyticsUsePlatformAuditLabels = {
|
|
122407
|
+
eventTypeLogin: "登录",
|
|
122408
|
+
eventTypeLogout: "登出",
|
|
122409
|
+
eventTypeLoginFailed: "登录失败",
|
|
122410
|
+
eventTypePasswordChange: "修改密码",
|
|
122411
|
+
eventTypeExport: "导出",
|
|
122412
|
+
eventTypeDownloadFile: "文件下载",
|
|
122413
|
+
eventTypeApiCall: "API 调用",
|
|
122414
|
+
eventTypeViewStudentRecord: "查看学生记录",
|
|
122415
|
+
eventTypeChangeGrade: "成绩变更",
|
|
122416
|
+
eventTypeAdminAction: "管理员操作",
|
|
122417
|
+
actionCreate: "创建",
|
|
122418
|
+
actionUpdate: "更新",
|
|
122419
|
+
actionDelete: "删除",
|
|
122420
|
+
actionAccess: "访问"
|
|
122421
|
+
};
|
|
122094
122422
|
var zh = {
|
|
122095
122423
|
accessTabAddAccess: accessTabAddAccess,
|
|
122096
122424
|
accessTabLabels: accessTabLabels,
|
|
@@ -122348,7 +122676,11 @@ var zh = {
|
|
|
122348
122676
|
profileApplicationsTab: profileApplicationsTab,
|
|
122349
122677
|
profileApplicationsQuestionsEditor: profileApplicationsQuestionsEditor,
|
|
122350
122678
|
slashSkillPicker: slashSkillPicker,
|
|
122351
|
-
skillsTabLabels: skillsTabLabels
|
|
122679
|
+
skillsTabLabels: skillsTabLabels,
|
|
122680
|
+
analyticsAnalyticsPlatformAuditLog: analyticsAnalyticsPlatformAuditLog,
|
|
122681
|
+
analyticsPlatformAuditLogDetailSheet: analyticsPlatformAuditLogDetailSheet,
|
|
122682
|
+
analyticsAuditLogJsonView: analyticsAuditLogJsonView,
|
|
122683
|
+
analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels
|
|
122352
122684
|
};
|
|
122353
122685
|
|
|
122354
122686
|
/**
|
|
@@ -182015,14 +182347,15 @@ const PAGE_SIZE$8 = 20;
|
|
|
182015
182347
|
const SEARCH_DEBOUNCE_MS = 300;
|
|
182016
182348
|
/**
|
|
182017
182349
|
* The public application URL on the auth SPA for one form of a platform
|
|
182018
|
-
* (`<auth-url>/applications/<platform-key>/<form-id>?
|
|
182019
|
-
* the auth SPA URL cannot be resolved. `authSpaUrl` (prop) wins;
|
|
182020
|
-
* runtime-injected env (`window.__ENV__.NEXT_PUBLIC_AUTH_URL`) is
|
|
182021
|
-
* `formId` the link resolves the platform's default form (404
|
|
182022
|
-
* `
|
|
182023
|
-
*
|
|
182024
|
-
|
|
182025
|
-
|
|
182350
|
+
* (`<auth-url>/applications/<platform-key>/<form-id>?redirect-to=<origin>`), or
|
|
182351
|
+
* null when the auth SPA URL cannot be resolved. `authSpaUrl` (prop) wins;
|
|
182352
|
+
* otherwise the runtime-injected env (`window.__ENV__.NEXT_PUBLIC_AUTH_URL`) is
|
|
182353
|
+
* used. With no `formId` the link resolves the platform's default form (404
|
|
182354
|
+
* when none). The `redirect-to` param carries the origin the applicant is sent
|
|
182355
|
+
* back to after submitting — by default the origin the link is copied from — and
|
|
182356
|
+
* is omitted when no origin can be read (no DOM).
|
|
182357
|
+
*/
|
|
182358
|
+
function buildApplicationLink(platformKey, formId, authSpaUrl, redirectTo) {
|
|
182026
182359
|
var _a, _b;
|
|
182027
182360
|
const base = (_b = authSpaUrl !== null && authSpaUrl !== void 0 ? authSpaUrl : (typeof window !== 'undefined'
|
|
182028
182361
|
? (_a = window.__ENV__) === null || _a === void 0 ? void 0 : _a.NEXT_PUBLIC_AUTH_URL
|
|
@@ -182031,7 +182364,8 @@ function buildApplicationLink(platformKey, formId, authSpaUrl, app) {
|
|
|
182031
182364
|
return null;
|
|
182032
182365
|
const root = `${trimTrailingSlashes(base)}/applications/${encodeURIComponent(platformKey)}`;
|
|
182033
182366
|
const path = formId != null ? `${root}/${encodeURIComponent(String(formId))}` : root;
|
|
182034
|
-
|
|
182367
|
+
const target = (typeof window !== 'undefined' ? window.location.origin : undefined);
|
|
182368
|
+
return target ? `${path}?redirect-to=${encodeURIComponent(target)}` : path;
|
|
182035
182369
|
}
|
|
182036
182370
|
/**
|
|
182037
182371
|
* Applications management. Entry view lists the platform's application forms
|
|
@@ -182039,7 +182373,7 @@ function buildApplicationLink(platformKey, formId, authSpaUrl, app) {
|
|
|
182039
182373
|
* per-form (or all-form) submission pipelines, the submission workspace with
|
|
182040
182374
|
* per-student decisions, the form/question editor, and the ban list.
|
|
182041
182375
|
*/
|
|
182042
|
-
function ApplicationsTab({ platformKey, authSpaUrl,
|
|
182376
|
+
function ApplicationsTab({ platformKey, authSpaUrl, }) {
|
|
182043
182377
|
const [view, setView] = useState({ name: 'forms' });
|
|
182044
182378
|
if (view.name === 'editor') {
|
|
182045
182379
|
return (jsx(QuestionsEditor, { platformKey: platformKey, initialFormId: view.formId, startNew: view.startNew, onBack: () => setView({ name: 'forms' }) }));
|
|
@@ -182053,10 +182387,10 @@ function ApplicationsTab({ platformKey, authSpaUrl, currentSpa, }) {
|
|
|
182053
182387
|
if (view.name === 'submissions') {
|
|
182054
182388
|
return (jsx(SubmissionsPipeline, { platformKey: platformKey, form: view.form, onBack: () => setView({ name: 'forms' }), onOpen: (submissionId) => setView({ name: 'detail', submissionId, form: view.form }) }));
|
|
182055
182389
|
}
|
|
182056
|
-
return (jsx(FormsList, { platformKey: platformKey, authSpaUrl: authSpaUrl,
|
|
182390
|
+
return (jsx(FormsList, { platformKey: platformKey, authSpaUrl: authSpaUrl, onViewSubmissions: (form) => setView({ name: 'submissions', form }), onEditForm: (formId) => setView({ name: 'editor', formId, startNew: false }), onNewForm: () => setView({ name: 'editor', formId: null, startNew: true }), onViewBlocks: () => setView({ name: 'blocks' }) }));
|
|
182057
182391
|
}
|
|
182058
182392
|
/** The entry view: every application form of the platform, with actions. */
|
|
182059
|
-
function FormsList({ platformKey, authSpaUrl,
|
|
182393
|
+
function FormsList({ platformKey, authSpaUrl, onViewSubmissions, onEditForm, onNewForm, onViewBlocks, }) {
|
|
182060
182394
|
const t = useT();
|
|
182061
182395
|
/** The form id whose link was just copied (transient "Copied" feedback). */
|
|
182062
182396
|
const [copiedFormId, setCopiedFormId] = useState(null);
|
|
@@ -182070,7 +182404,7 @@ function FormsList({ platformKey, authSpaUrl, currentSpa, onViewSubmissions, onE
|
|
|
182070
182404
|
const counts = statsCounts(stats);
|
|
182071
182405
|
const total = Object.values(counts).reduce((sum, n) => sum + n, 0);
|
|
182072
182406
|
const handleCopyLink = async (form) => {
|
|
182073
|
-
const link = buildApplicationLink(platformKey, form.id, authSpaUrl
|
|
182407
|
+
const link = buildApplicationLink(platformKey, form.id, authSpaUrl);
|
|
182074
182408
|
if (!link)
|
|
182075
182409
|
return;
|
|
182076
182410
|
try {
|
|
@@ -182090,7 +182424,7 @@ function FormsList({ platformKey, authSpaUrl, currentSpa, onViewSubmissions, onE
|
|
|
182090
182424
|
? 'bg-blue-50 text-blue-700 border-blue-200 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-900'
|
|
182091
182425
|
: 'bg-gray-100 text-gray-600 border-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-600', children: t(form.enabled
|
|
182092
182426
|
? 'profileApplicationsTab.formEnabled'
|
|
182093
|
-
: 'profileApplicationsTab.formDisabled') }) }), jsx("td", { className: "whitespace-nowrap px-6 py-4 text-right", children: jsxs("div", { className: "flex items-center justify-end gap-1", children: [buildApplicationLink(platformKey, form.id, authSpaUrl
|
|
182427
|
+
: 'profileApplicationsTab.formDisabled') }) }), jsx("td", { className: "whitespace-nowrap px-6 py-4 text-right", children: jsxs("div", { className: "flex items-center justify-end gap-1", children: [buildApplicationLink(platformKey, form.id, authSpaUrl) && (jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsxs(Button$1, { variant: "ghost", className: copiedFormId === form.id
|
|
182094
182428
|
? 'h-8 w-8 p-0 text-blue-600 dark:text-blue-400'
|
|
182095
182429
|
: 'h-8 w-8 p-0 text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100', onClick: () => handleCopyLink(form), "aria-label": t('profileApplicationsTab.copyFormLink', {
|
|
182096
182430
|
form: ((_b = form.schema) === null || _b === void 0 ? void 0 : _b.title) ||
|
|
@@ -182201,7 +182535,7 @@ const TabDescription = ({ icon, title, children }) => {
|
|
|
182201
182535
|
};
|
|
182202
182536
|
const Admin = ({ tenant, onInviteClick, hasUserTabPermission = false, hasGroupsTabPermission = false, hasRolesTabPermission = false, hasPoliciesTabPermission = false, hasTeamsTabPermission = false, hasAlertsTabPermission = false, hasInviteUserPermission = false, hasCreateTeamPermission = false, onLoadGroupPermissions, rbacPermissions = {}, enableRbac = false, showGradebookTab = false, currentSpa, authSpaUrl, }) => {
|
|
182203
182537
|
const t = useT();
|
|
182204
|
-
return (jsx("div", { className: "border border-gray-200 rounded-lg p-6", children: jsxs(Tabs, { defaultValue: "users", "aria-label": t('profileAdmin.rbacManagementTabsAriaLabel'), children: [jsxs(TabsList, { "aria-label": t('profileAdmin.managementTabsAriaLabel'), className: "max-w-full overflow-x-auto justify-start px-1", children: [hasUserTabPermission && (jsx(TabsTrigger, { value: "users", children: t('profileAdmin.usersTab') })), hasGroupsTabPermission && (jsx(TabsTrigger, { value: "groups", children: t('profileAdmin.groupsTab') })), hasRolesTabPermission && (jsx(TabsTrigger, { value: "roles", children: t('profileAdmin.rolesTab') })), hasPoliciesTabPermission && (jsx(TabsTrigger, { value: "policies", children: t('profileAdmin.policiesTab') })), hasTeamsTabPermission && (jsx(TabsTrigger, { value: "teams", children: t('profileAdmin.teamsTab') })), hasAlertsTabPermission && (jsx(TabsTrigger, { value: "alerts", children: t('profileAdmin.alertsTab') })), jsx(TabsTrigger, { value: "applications", children: t('profileAdmin.applicationsTab') })] }), hasUserTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "users", children: [jsx(TabDescription, { icon: jsx(Users, { className: "w-5 h-5" }), title: t('profileAdmin.usersTab'), children: t('profileAdmin.usersDescription') }), jsx(UsersTab, { tenant: tenant, onInviteClick: onInviteClick, currentSpa: currentSpa, showGradebookTab: showGradebookTab })] })), hasGroupsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "groups", children: [jsx(TabDescription, { icon: jsx(UsersRound, { className: "w-5 h-5" }), title: t('profileAdmin.groupsTab'), children: t('profileAdmin.groupsDescription') }), jsx(GroupsTab, { tenant: tenant })] })), hasRolesTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "roles", children: [jsx(TabDescription, { icon: jsx(UserCog, { className: "w-5 h-5" }), title: t('profileAdmin.rolesTab'), children: t('profileAdmin.rolesDescription') }), jsx(RolesTab, { tenant: tenant })] })), hasPoliciesTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "policies", children: [jsx(TabDescription, { icon: jsx(ScrollText, { className: "w-5 h-5" }), title: t('profileAdmin.policiesTab'), children: t('profileAdmin.policiesDescription') }), jsx(PoliciesTab, { tenant: tenant })] })), hasTeamsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "teams", children: [jsx(TabDescription, { icon: jsx(Shield, { className: "w-5 h-5" }), title: t('profileAdmin.teamsTab'), children: t('profileAdmin.teamsDescription') }), jsx(GroupsTab, { tenant: tenant, isTeam: true, onInviteClick: onInviteClick, hasInviteUserPermission: hasInviteUserPermission, hasCreateTeamPermission: hasCreateTeamPermission, onLoadGroupPermissions: onLoadGroupPermissions, rbacPermissions: rbacPermissions, enableRbac: enableRbac })] })), hasAlertsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "alerts", children: [jsx(TabDescription, { icon: jsx(BellRing, { className: "w-5 h-5" }), title: t('profileAdmin.alertsTab'), children: t('profileAdmin.alertsDescription') }), jsx(AlertsTab, { tenant: tenant })] })), jsxs(TabsContent, { className: "mt-4", value: "applications", children: [jsx(TabDescription, { icon: jsx(ClipboardList, { className: "w-5 h-5" }), title: t('profileAdmin.applicationsTab'), children: t('profileAdmin.applicationsTabDescription') }), jsx(ApplicationsTab, { platformKey: tenant, authSpaUrl: authSpaUrl
|
|
182538
|
+
return (jsx("div", { className: "border border-gray-200 rounded-lg p-6", children: jsxs(Tabs, { defaultValue: "users", "aria-label": t('profileAdmin.rbacManagementTabsAriaLabel'), children: [jsxs(TabsList, { "aria-label": t('profileAdmin.managementTabsAriaLabel'), className: "max-w-full overflow-x-auto justify-start px-1", children: [hasUserTabPermission && (jsx(TabsTrigger, { value: "users", children: t('profileAdmin.usersTab') })), hasGroupsTabPermission && (jsx(TabsTrigger, { value: "groups", children: t('profileAdmin.groupsTab') })), hasRolesTabPermission && (jsx(TabsTrigger, { value: "roles", children: t('profileAdmin.rolesTab') })), hasPoliciesTabPermission && (jsx(TabsTrigger, { value: "policies", children: t('profileAdmin.policiesTab') })), hasTeamsTabPermission && (jsx(TabsTrigger, { value: "teams", children: t('profileAdmin.teamsTab') })), hasAlertsTabPermission && (jsx(TabsTrigger, { value: "alerts", children: t('profileAdmin.alertsTab') })), jsx(TabsTrigger, { value: "applications", children: t('profileAdmin.applicationsTab') })] }), hasUserTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "users", children: [jsx(TabDescription, { icon: jsx(Users, { className: "w-5 h-5" }), title: t('profileAdmin.usersTab'), children: t('profileAdmin.usersDescription') }), jsx(UsersTab, { tenant: tenant, onInviteClick: onInviteClick, currentSpa: currentSpa, showGradebookTab: showGradebookTab })] })), hasGroupsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "groups", children: [jsx(TabDescription, { icon: jsx(UsersRound, { className: "w-5 h-5" }), title: t('profileAdmin.groupsTab'), children: t('profileAdmin.groupsDescription') }), jsx(GroupsTab, { tenant: tenant })] })), hasRolesTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "roles", children: [jsx(TabDescription, { icon: jsx(UserCog, { className: "w-5 h-5" }), title: t('profileAdmin.rolesTab'), children: t('profileAdmin.rolesDescription') }), jsx(RolesTab, { tenant: tenant })] })), hasPoliciesTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "policies", children: [jsx(TabDescription, { icon: jsx(ScrollText, { className: "w-5 h-5" }), title: t('profileAdmin.policiesTab'), children: t('profileAdmin.policiesDescription') }), jsx(PoliciesTab, { tenant: tenant })] })), hasTeamsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "teams", children: [jsx(TabDescription, { icon: jsx(Shield, { className: "w-5 h-5" }), title: t('profileAdmin.teamsTab'), children: t('profileAdmin.teamsDescription') }), jsx(GroupsTab, { tenant: tenant, isTeam: true, onInviteClick: onInviteClick, hasInviteUserPermission: hasInviteUserPermission, hasCreateTeamPermission: hasCreateTeamPermission, onLoadGroupPermissions: onLoadGroupPermissions, rbacPermissions: rbacPermissions, enableRbac: enableRbac })] })), hasAlertsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "alerts", children: [jsx(TabDescription, { icon: jsx(BellRing, { className: "w-5 h-5" }), title: t('profileAdmin.alertsTab'), children: t('profileAdmin.alertsDescription') }), jsx(AlertsTab, { tenant: tenant })] })), jsxs(TabsContent, { className: "mt-4", value: "applications", children: [jsx(TabDescription, { icon: jsx(ClipboardList, { className: "w-5 h-5" }), title: t('profileAdmin.applicationsTab'), children: t('profileAdmin.applicationsTabDescription') }), jsx(ApplicationsTab, { platformKey: tenant, authSpaUrl: authSpaUrl })] })] }) }));
|
|
182205
182539
|
};
|
|
182206
182540
|
|
|
182207
182541
|
function DeleteApiModal$1({ isOpen, onClose, apiKey, tenantKey }) {
|
|
@@ -252825,6 +253159,33 @@ function Markdown({ children, className }) {
|
|
|
252825
253159
|
const AnalyticsSettingsContext = createContext({});
|
|
252826
253160
|
AnalyticsSettingsContext.Provider;
|
|
252827
253161
|
|
|
253162
|
+
function Sheet({ ...props }) {
|
|
253163
|
+
return jsx(DialogPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
253164
|
+
}
|
|
253165
|
+
function SheetPortal({ ...props }) {
|
|
253166
|
+
return jsx(DialogPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
253167
|
+
}
|
|
253168
|
+
function SheetOverlay({ className, ...props }) {
|
|
253169
|
+
return (jsx(DialogPrimitive.Overlay, { "data-slot": "sheet-overlay", className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50', className), ...props }));
|
|
253170
|
+
}
|
|
253171
|
+
function SheetContent({ className, children, side = 'right', ...props }) {
|
|
253172
|
+
const t = useT();
|
|
253173
|
+
return (jsxs(SheetPortal, { children: [jsx(SheetOverlay, {}), jsxs(DialogPrimitive.Content, { "data-slot": "sheet-content", className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500', side === 'right' &&
|
|
253174
|
+
'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm', side === 'left' &&
|
|
253175
|
+
'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm', side === 'top' &&
|
|
253176
|
+
'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b', side === 'bottom' &&
|
|
253177
|
+
'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t', className), ...props, children: [children, jsxs(DialogPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [jsx(X$2, { className: "size-4" }), jsx("span", { className: "sr-only", children: t('uiSheet.close') })] })] })] }));
|
|
253178
|
+
}
|
|
253179
|
+
function SheetHeader({ className, ...props }) {
|
|
253180
|
+
return (jsx("div", { "data-slot": "sheet-header", className: cn('flex flex-col gap-1.5 p-4', className), ...props }));
|
|
253181
|
+
}
|
|
253182
|
+
function SheetTitle({ className, ...props }) {
|
|
253183
|
+
return (jsx(DialogPrimitive.Title, { "data-slot": "sheet-title", className: cn('text-foreground font-semibold', className), ...props }));
|
|
253184
|
+
}
|
|
253185
|
+
function SheetDescription({ className, ...props }) {
|
|
253186
|
+
return (jsx(DialogPrimitive.Description, { "data-slot": "sheet-description", className: cn('text-muted-foreground text-sm', className), ...props }));
|
|
253187
|
+
}
|
|
253188
|
+
|
|
252828
253189
|
/**
|
|
252829
253190
|
* Core agent search hook — thin wrapper around `useGetAiSearchMentorsQuery`.
|
|
252830
253191
|
*
|
|
@@ -253888,33 +254249,6 @@ const CourseOutline = () => {
|
|
|
253888
254249
|
: 'text-gray-600 hover:bg-gray-50'}`, children: [jsx("div", { className: "mr-2 flex-shrink-0", children: jsx(CompletionIcon, { node: sublesson }) }), jsx("span", { children: sublesson.display_name })] }, sublesson.id))) }))] }, lesson.id))) }))] }, module.id)))) }));
|
|
253889
254250
|
};
|
|
253890
254251
|
|
|
253891
|
-
function Sheet({ ...props }) {
|
|
253892
|
-
return jsx(DialogPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
253893
|
-
}
|
|
253894
|
-
function SheetPortal({ ...props }) {
|
|
253895
|
-
return jsx(DialogPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
253896
|
-
}
|
|
253897
|
-
function SheetOverlay({ className, ...props }) {
|
|
253898
|
-
return (jsx(DialogPrimitive.Overlay, { "data-slot": "sheet-overlay", className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50', className), ...props }));
|
|
253899
|
-
}
|
|
253900
|
-
function SheetContent({ className, children, side = 'right', ...props }) {
|
|
253901
|
-
const t = useT();
|
|
253902
|
-
return (jsxs(SheetPortal, { children: [jsx(SheetOverlay, {}), jsxs(DialogPrimitive.Content, { "data-slot": "sheet-content", className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500', side === 'right' &&
|
|
253903
|
-
'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm', side === 'left' &&
|
|
253904
|
-
'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm', side === 'top' &&
|
|
253905
|
-
'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b', side === 'bottom' &&
|
|
253906
|
-
'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t', className), ...props, children: [children, jsxs(DialogPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [jsx(X$2, { className: "size-4" }), jsx("span", { className: "sr-only", children: t('uiSheet.close') })] })] })] }));
|
|
253907
|
-
}
|
|
253908
|
-
function SheetHeader({ className, ...props }) {
|
|
253909
|
-
return (jsx("div", { "data-slot": "sheet-header", className: cn('flex flex-col gap-1.5 p-4', className), ...props }));
|
|
253910
|
-
}
|
|
253911
|
-
function SheetTitle({ className, ...props }) {
|
|
253912
|
-
return (jsx(DialogPrimitive.Title, { "data-slot": "sheet-title", className: cn('text-foreground font-semibold', className), ...props }));
|
|
253913
|
-
}
|
|
253914
|
-
function SheetDescription({ className, ...props }) {
|
|
253915
|
-
return (jsx(DialogPrimitive.Description, { "data-slot": "sheet-description", className: cn('text-muted-foreground text-sm', className), ...props }));
|
|
253916
|
-
}
|
|
253917
|
-
|
|
253918
254252
|
/**
|
|
253919
254253
|
* Mobile drawer wrapping `<CourseOutline />` in a `Sheet` for responsive
|
|
253920
254254
|
* course navigation. Ported from skillsai's `course-outline-drawer.tsx`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iblai/iblai-js",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.16",
|
|
4
4
|
"description": "Unified JavaScript SDK for IBL.ai — re-exports data-layer, web-containers, and web-utils under a single package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -76,10 +76,10 @@
|
|
|
76
76
|
"axios": "1.13.6",
|
|
77
77
|
"dotenv": "16.6.1",
|
|
78
78
|
"winston": "3.19.0",
|
|
79
|
-
"@iblai/data-layer": "1.12.
|
|
80
|
-
"@iblai/mcp": "1.8.
|
|
81
|
-
"@iblai/web-containers": "1.16.
|
|
82
|
-
"@iblai/web-utils": "2.1.
|
|
79
|
+
"@iblai/data-layer": "1.12.5",
|
|
80
|
+
"@iblai/mcp": "1.8.13",
|
|
81
|
+
"@iblai/web-containers": "1.16.12",
|
|
82
|
+
"@iblai/web-utils": "2.1.13"
|
|
83
83
|
},
|
|
84
84
|
"peerDependencies": {
|
|
85
85
|
"@iblai/iblai-api": "4.166.0-ai",
|