@iblai/iblai-js 2.33.2 → 2.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4213,6 +4213,10 @@ var embedTabLabels$3 = {
4213
4213
  label: "Show Voice Record",
4214
4214
  tooltip: "Show Voice Recording Options in Chat Interface"
4215
4215
  },
4216
+ allowMentorSelection: {
4217
+ label: "Allow Agent Selection",
4218
+ tooltip: "Let signed-in visitors open Explore from the embed and switch to another agent."
4219
+ },
4216
4220
  shareableLink: {
4217
4221
  label: "Shareable Link",
4218
4222
  tooltip: "Generate a link users can use to chat with this agent anonymously"
@@ -4846,13 +4850,72 @@ var memoryTabLabels$3 = {
4846
4850
  description: "Configure memory settings for your agent."
4847
4851
  },
4848
4852
  toggle: {
4849
- label: "Enable Memory",
4850
- description: "Allow this agent to remember and reference information from past conversations."
4853
+ label: "Long-term Memory",
4854
+ description: "Let this agent remember useful details from past conversations — like a returning colleague — so people don't have to repeat themselves. When on, review what it remembers about each person and add shared memories below.",
4855
+ offHint: "Turn it on to let this agent remember details across conversations."
4856
+ },
4857
+ subTabs: {
4858
+ ariaLabel: "Memory sections",
4859
+ personal: "Personal Memories",
4860
+ shared: "Shared Memory"
4861
+ },
4862
+ sharedMemory: {
4863
+ title: "Shared Memory",
4864
+ description: "Facts, rules, and background this agent should always keep in mind. Every person who chats with this agent gets these memories.",
4865
+ gatingHint: "Shared memories reach chats only while Long-term Memory is on for this agent and the person chatting has memory turned on.",
4866
+ addButton: "Add Shared Memory",
4867
+ addButtonShort: "Add",
4868
+ listAriaLabel: "Shared memories",
4869
+ actionsAria: "Shared memory actions",
4870
+ edit: "Edit",
4871
+ "delete": "Delete",
4872
+ loading: "Loading shared memories...",
4873
+ loadError: "Couldn't load this agent's shared memories. Please try again.",
4874
+ unknownAuthor: "Unknown",
4875
+ addedBy: "Added by {name}",
4876
+ empty: {
4877
+ title: "No Shared Memories Yet",
4878
+ description: "Add anything this agent should always keep in mind — how to behave, key facts, or house rules. Every person who chats with this agent gets these memories."
4879
+ },
4880
+ denied: {
4881
+ title: "No Access to Shared Memory",
4882
+ description: "You don't have permission to view this agent's shared memories. Ask an administrator for access."
4883
+ },
4884
+ modal: {
4885
+ addTitle: "Add Shared Memory",
4886
+ editTitle: "Edit Shared Memory",
4887
+ contentLabel: "Memory",
4888
+ placeholder: "Write what this agent should always keep in mind...",
4889
+ charCountMinimum: "{count}/10 characters minimum",
4890
+ charCount: "{count} characters",
4891
+ save: "Save",
4892
+ saving: "Saving...",
4893
+ cancel: "Cancel"
4894
+ },
4895
+ deleteModal: {
4896
+ title: "Delete Shared Memory",
4897
+ description: "Are you sure you want to delete this shared memory? Everyone who chats with this agent will stop seeing it. This action cannot be undone.",
4898
+ "delete": "Delete",
4899
+ deleting: "Deleting...",
4900
+ cancel: "Cancel"
4901
+ },
4902
+ errors: {
4903
+ duplicate: "This shared memory already exists.",
4904
+ tooShort: "A shared memory must be at least 10 characters.",
4905
+ forbidden: "You don't have permission to change this agent's shared memories."
4906
+ },
4907
+ toasts: {
4908
+ created: "Shared memory added",
4909
+ updated: "Shared memory updated",
4910
+ deleted: "Shared memory deleted",
4911
+ saveError: "Couldn't save shared memory",
4912
+ deleteError: "Couldn't delete shared memory"
4913
+ }
4851
4914
  },
4852
4915
  toasts: {
4853
- enableSuccess: "Memory enabled",
4854
- disableSuccess: "Memory disabled",
4855
- toggleError: "Failed to update memory setting"
4916
+ enableSuccess: "Memory turned on",
4917
+ disableSuccess: "Memory turned off",
4918
+ toggleError: "Couldn't update memory setting"
4856
4919
  }
4857
4920
  };
4858
4921
  var memoryTabLearnersMemories$3 = {
@@ -4916,7 +4979,10 @@ var memoryTabManageMemories$3 = {
4916
4979
  memoryUpdatedSuccessfully: "Memory updated successfully",
4917
4980
  failedToUpdateMemory: "Failed to update memory",
4918
4981
  memoryCreatedSuccessfully: "Memory created successfully",
4919
- failedToCreateMemory: "Failed to create memory"
4982
+ failedToCreateMemory: "Failed to create memory",
4983
+ savedMemoriesAriaLabel: "Saved memories",
4984
+ memoryActionsAriaLabel: "Memory actions",
4985
+ memoryCategoriesAriaLabel: "Memory categories"
4920
4986
  };
4921
4987
  var memoryTabSavedMemoriesModal$3 = {
4922
4988
  savedMemories: "Saved Memories",
@@ -6785,6 +6851,9 @@ var tabsEmbedTab$3 = {
6785
6851
  moreInfoShowVoiceRecord: "More info about show voice record",
6786
6852
  showVoiceRecordEnabled: "Show voice record enabled",
6787
6853
  showVoiceRecordDisabled: "Show voice record disabled",
6854
+ moreInfoAllowMentorSelection: "More info about agent selection",
6855
+ allowMentorSelectionEnabled: "Agent selection enabled",
6856
+ allowMentorSelectionDisabled: "Agent selection disabled",
6788
6857
  moreInfoStarterPrompts: "More info about starter prompts",
6789
6858
  moreInfoShareableLink: "More info about shareable link",
6790
6859
  shareableLinkEnabled: "Generate / Revoke shareable link enabled",
@@ -12111,6 +12180,10 @@ var embedTabLabels$2 = {
12111
12180
  label: "Afficher l'enregistrement vocal",
12112
12181
  tooltip: "Afficher les options d'enregistrement vocal dans l'interface de chat"
12113
12182
  },
12183
+ allowMentorSelection: {
12184
+ label: "Autoriser la sélection d'agent",
12185
+ tooltip: "Permettre aux visiteurs connectés d'ouvrir Explorer depuis l'intégration et de passer à un autre agent."
12186
+ },
12114
12187
  shareableLink: {
12115
12188
  label: "Lien partageable",
12116
12189
  tooltip: "Générer un lien que les utilisateurs peuvent utiliser pour discuter avec cet agent de manière anonyme"
@@ -12744,13 +12817,72 @@ var memoryTabLabels$2 = {
12744
12817
  description: "Configurez les paramètres de mémoire de votre agent."
12745
12818
  },
12746
12819
  toggle: {
12747
- label: "Activer la mémoire",
12748
- description: "Permettre à cet agent de mémoriser et de référencer des informations issues de conversations passées."
12820
+ label: "Mémoire à long terme",
12821
+ description: "Permettez à cet agent de retenir les détails utiles des conversations passées — comme un collègue qui vous connaît déjà — pour que personne n'ait à se répéter. Une fois activée, consultez ci-dessous ce qu'il retient de chaque personne et ajoutez des souvenirs partagés.",
12822
+ offHint: "Activez-la pour que cet agent retienne des détails d'une conversation à l'autre."
12823
+ },
12824
+ subTabs: {
12825
+ ariaLabel: "Sections de la mémoire",
12826
+ personal: "Souvenirs personnels",
12827
+ shared: "Mémoire partagée"
12828
+ },
12829
+ sharedMemory: {
12830
+ title: "Mémoire partagée",
12831
+ description: "Faits, règles et contexte que cet agent doit toujours garder à l'esprit. Chaque personne qui discute avec cet agent bénéficie de ces souvenirs.",
12832
+ gatingHint: "Les souvenirs partagés n'atteignent les conversations que lorsque la mémoire à long terme est activée pour cet agent et que la personne qui discute a activé sa mémoire.",
12833
+ addButton: "Ajouter un souvenir partagé",
12834
+ addButtonShort: "Ajouter",
12835
+ listAriaLabel: "Souvenirs partagés",
12836
+ actionsAria: "Actions sur le souvenir partagé",
12837
+ edit: "Modifier",
12838
+ "delete": "Supprimer",
12839
+ loading: "Chargement des souvenirs partagés...",
12840
+ loadError: "Impossible de charger les souvenirs partagés de cet agent. Veuillez réessayer.",
12841
+ unknownAuthor: "Inconnu",
12842
+ addedBy: "Ajouté par {name}",
12843
+ empty: {
12844
+ title: "Aucun souvenir partagé pour l'instant",
12845
+ description: "Ajoutez tout ce que cet agent doit toujours garder à l'esprit — comment se comporter, faits essentiels ou règles internes. Chaque personne qui discute avec cet agent bénéficie de ces souvenirs."
12846
+ },
12847
+ denied: {
12848
+ title: "Pas d'accès à la mémoire partagée",
12849
+ description: "Vous n'avez pas la permission de voir les souvenirs partagés de cet agent. Demandez l'accès à un administrateur."
12850
+ },
12851
+ modal: {
12852
+ addTitle: "Ajouter un souvenir partagé",
12853
+ editTitle: "Modifier le souvenir partagé",
12854
+ contentLabel: "Souvenir",
12855
+ placeholder: "Écrivez ce que cet agent doit toujours garder à l'esprit...",
12856
+ charCountMinimum: "{count}/10 caractères minimum",
12857
+ charCount: "{count} caractères",
12858
+ save: "Enregistrer",
12859
+ saving: "Enregistrement...",
12860
+ cancel: "Annuler"
12861
+ },
12862
+ deleteModal: {
12863
+ title: "Supprimer le souvenir partagé",
12864
+ description: "Voulez-vous vraiment supprimer ce souvenir partagé ? Tous ceux qui discutent avec cet agent cesseront de le voir. Cette action est irréversible.",
12865
+ "delete": "Supprimer",
12866
+ deleting: "Suppression...",
12867
+ cancel: "Annuler"
12868
+ },
12869
+ errors: {
12870
+ duplicate: "Ce souvenir partagé existe déjà.",
12871
+ tooShort: "Un souvenir partagé doit comporter au moins 10 caractères.",
12872
+ forbidden: "Vous n'avez pas la permission de modifier les souvenirs partagés de cet agent."
12873
+ },
12874
+ toasts: {
12875
+ created: "Souvenir partagé ajouté",
12876
+ updated: "Souvenir partagé mis à jour",
12877
+ deleted: "Souvenir partagé supprimé",
12878
+ saveError: "Impossible d'enregistrer le souvenir partagé",
12879
+ deleteError: "Impossible de supprimer le souvenir partagé"
12880
+ }
12749
12881
  },
12750
12882
  toasts: {
12751
12883
  enableSuccess: "Mémoire activée",
12752
12884
  disableSuccess: "Mémoire désactivée",
12753
- toggleError: "Échec de la mise à jour du paramètre de mémoire"
12885
+ toggleError: "Impossible de mettre à jour le paramètre de mémoire"
12754
12886
  }
12755
12887
  };
12756
12888
  var memoryTabLearnersMemories$2 = {
@@ -12814,7 +12946,10 @@ var memoryTabManageMemories$2 = {
12814
12946
  memoryUpdatedSuccessfully: "Souvenir mis à jour avec succès",
12815
12947
  failedToUpdateMemory: "Échec de la mise à jour du souvenir",
12816
12948
  memoryCreatedSuccessfully: "Souvenir créé avec succès",
12817
- failedToCreateMemory: "Échec de la création du souvenir"
12949
+ failedToCreateMemory: "Échec de la création du souvenir",
12950
+ savedMemoriesAriaLabel: "Souvenirs enregistrés",
12951
+ memoryActionsAriaLabel: "Actions sur le souvenir",
12952
+ memoryCategoriesAriaLabel: "Catégories de souvenirs"
12818
12953
  };
12819
12954
  var memoryTabSavedMemoriesModal$2 = {
12820
12955
  savedMemories: "Souvenirs enregistrés",
@@ -14683,6 +14818,9 @@ var tabsEmbedTab$2 = {
14683
14818
  moreInfoShowVoiceRecord: "Plus d'informations sur l'affichage des enregistrements vocaux",
14684
14819
  showVoiceRecordEnabled: "Affichage des enregistrements vocaux activé",
14685
14820
  showVoiceRecordDisabled: "Affichage des enregistrements vocaux désactivé",
14821
+ moreInfoAllowMentorSelection: "Plus d'informations sur la sélection d'agent",
14822
+ allowMentorSelectionEnabled: "Sélection d'agent activée",
14823
+ allowMentorSelectionDisabled: "Sélection d'agent désactivée",
14686
14824
  moreInfoStarterPrompts: "Plus d'informations sur les suggestions de départ",
14687
14825
  moreInfoShareableLink: "Plus d'informations sur le lien partageable",
14688
14826
  shareableLinkEnabled: "Lien partageable activé",
@@ -16795,7 +16933,7 @@ var accessibility$2 = {
16795
16933
  positionAnnouncement: "Bouton d'accessibilité déplacé vers le bord {side, select, left {gauche} other {droit}}, à {bottom} pixels du bas."
16796
16934
  }
16797
16935
  };
16798
- var fr = {
16936
+ var fr$1 = {
16799
16937
  accessTabAddAccess: accessTabAddAccess$2,
16800
16938
  accessTabLabels: accessTabLabels$2,
16801
16939
  accessTabUpdateAccess: accessTabUpdateAccess$2,
@@ -19843,6 +19981,10 @@ var embedTabLabels$1 = {
19843
19981
  label: "Mostrar grabación de voz",
19844
19982
  tooltip: "Mostrar opciones de grabación de voz en la interfaz de chat"
19845
19983
  },
19984
+ allowMentorSelection: {
19985
+ label: "Permitir selección de agente",
19986
+ tooltip: "Permite a los visitantes con sesión iniciada abrir Explorar desde la inserción y cambiar a otro agente."
19987
+ },
19846
19988
  shareableLink: {
19847
19989
  label: "Enlace compartible",
19848
19990
  tooltip: "Genere un enlace que los usuarios puedan usar para chatear con este agente de forma anónima"
@@ -20473,16 +20615,75 @@ var memoryTabEditMemoryModal$1 = {
20473
20615
  var memoryTabLabels$1 = {
20474
20616
  header: {
20475
20617
  title: "Memoria",
20476
- description: "Configure los ajustes de memoria de su agente."
20618
+ description: "Configura los ajustes de memoria de tu agente."
20477
20619
  },
20478
20620
  toggle: {
20479
- label: "Activar memoria",
20480
- description: "Permitir que este agente recuerde y haga referencia a información de conversaciones anteriores."
20621
+ label: "Memoria a largo plazo",
20622
+ description: "Permite que este agente recuerde detalles útiles de conversaciones anteriores — como un colega que ya te conoce — para que nadie tenga que repetirse. Cuando está activada, revisa a continuación lo que recuerda de cada persona y agrega memorias compartidas.",
20623
+ offHint: "Actívala para que este agente recuerde detalles de una conversación a otra."
20624
+ },
20625
+ subTabs: {
20626
+ ariaLabel: "Secciones de memoria",
20627
+ personal: "Memorias personales",
20628
+ shared: "Memoria compartida"
20629
+ },
20630
+ sharedMemory: {
20631
+ title: "Memoria compartida",
20632
+ description: "Hechos, reglas y contexto que este agente debe tener siempre presentes. Todas las personas que chatean con este agente reciben estas memorias.",
20633
+ gatingHint: "Las memorias compartidas llegan a los chats solo mientras la memoria a largo plazo esté activada para este agente y la persona que chatea tenga la memoria activada.",
20634
+ addButton: "Agregar memoria compartida",
20635
+ addButtonShort: "Agregar",
20636
+ listAriaLabel: "Memorias compartidas",
20637
+ actionsAria: "Acciones de memoria compartida",
20638
+ edit: "Editar",
20639
+ "delete": "Eliminar",
20640
+ loading: "Cargando memorias compartidas...",
20641
+ loadError: "No se pudieron cargar las memorias compartidas de este agente. Inténtalo de nuevo.",
20642
+ unknownAuthor: "Desconocido",
20643
+ addedBy: "Agregado por {name}",
20644
+ empty: {
20645
+ title: "Aún no hay memorias compartidas",
20646
+ description: "Agrega todo lo que este agente debe tener siempre presente: cómo comportarse, hechos clave o reglas internas. Todas las personas que chatean con este agente reciben estas memorias."
20647
+ },
20648
+ denied: {
20649
+ title: "Sin acceso a la memoria compartida",
20650
+ description: "No tienes permiso para ver las memorias compartidas de este agente. Pide acceso a un administrador."
20651
+ },
20652
+ modal: {
20653
+ addTitle: "Agregar memoria compartida",
20654
+ editTitle: "Editar memoria compartida",
20655
+ contentLabel: "Memoria",
20656
+ placeholder: "Escribe lo que este agente debe tener siempre presente...",
20657
+ charCountMinimum: "{count}/10 caracteres mínimo",
20658
+ charCount: "{count} caracteres",
20659
+ save: "Guardar",
20660
+ saving: "Guardando...",
20661
+ cancel: "Cancelar"
20662
+ },
20663
+ deleteModal: {
20664
+ title: "Eliminar memoria compartida",
20665
+ description: "¿Seguro que quieres eliminar esta memoria compartida? Todas las personas que chatean con este agente dejarán de verla. Esta acción no se puede deshacer.",
20666
+ "delete": "Eliminar",
20667
+ deleting: "Eliminando...",
20668
+ cancel: "Cancelar"
20669
+ },
20670
+ errors: {
20671
+ duplicate: "Esta memoria compartida ya existe.",
20672
+ tooShort: "Una memoria compartida debe tener al menos 10 caracteres.",
20673
+ forbidden: "No tienes permiso para cambiar las memorias compartidas de este agente."
20674
+ },
20675
+ toasts: {
20676
+ created: "Memoria compartida agregada",
20677
+ updated: "Memoria compartida actualizada",
20678
+ deleted: "Memoria compartida eliminada",
20679
+ saveError: "No se pudo guardar la memoria compartida",
20680
+ deleteError: "No se pudo eliminar la memoria compartida"
20681
+ }
20481
20682
  },
20482
20683
  toasts: {
20483
20684
  enableSuccess: "Memoria activada",
20484
20685
  disableSuccess: "Memoria desactivada",
20485
- toggleError: "Error al actualizar el ajuste de memoria"
20686
+ toggleError: "No se pudo actualizar el ajuste de memoria"
20486
20687
  }
20487
20688
  };
20488
20689
  var memoryTabLearnersMemories$1 = {
@@ -20546,7 +20747,10 @@ var memoryTabManageMemories$1 = {
20546
20747
  memoryUpdatedSuccessfully: "Memoria actualizada correctamente",
20547
20748
  failedToUpdateMemory: "Error al actualizar la memoria",
20548
20749
  memoryCreatedSuccessfully: "Memoria creada correctamente",
20549
- failedToCreateMemory: "Error al crear la memoria"
20750
+ failedToCreateMemory: "Error al crear la memoria",
20751
+ savedMemoriesAriaLabel: "Memorias guardadas",
20752
+ memoryActionsAriaLabel: "Acciones de memoria",
20753
+ memoryCategoriesAriaLabel: "Categorías de memoria"
20550
20754
  };
20551
20755
  var memoryTabSavedMemoriesModal$1 = {
20552
20756
  savedMemories: "Memorias guardadas",
@@ -22415,6 +22619,9 @@ var tabsEmbedTab$1 = {
22415
22619
  moreInfoShowVoiceRecord: "Más información sobre mostrar grabaciones de voz",
22416
22620
  showVoiceRecordEnabled: "Mostrar grabaciones de voz habilitado",
22417
22621
  showVoiceRecordDisabled: "Mostrar grabaciones de voz deshabilitado",
22622
+ moreInfoAllowMentorSelection: "Más información sobre la selección de agente",
22623
+ allowMentorSelectionEnabled: "Selección de agente habilitada",
22624
+ allowMentorSelectionDisabled: "Selección de agente deshabilitada",
22418
22625
  moreInfoStarterPrompts: "Más información sobre las sugerencias iniciales",
22419
22626
  moreInfoShareableLink: "Más información sobre el enlace compartible",
22420
22627
  shareableLinkEnabled: "Enlace compartible habilitado",
@@ -24527,7 +24734,7 @@ var accessibility$1 = {
24527
24734
  positionAnnouncement: "Botón de accesibilidad movido al borde {side, select, left {izquierdo} other {derecho}}, a {bottom} píxeles de la parte inferior."
24528
24735
  }
24529
24736
  };
24530
- var es = {
24737
+ var es$1 = {
24531
24738
  accessTabAddAccess: accessTabAddAccess$1,
24532
24739
  accessTabLabels: accessTabLabels$1,
24533
24740
  accessTabUpdateAccess: accessTabUpdateAccess$1,
@@ -27575,6 +27782,10 @@ var embedTabLabels = {
27575
27782
  label: "显示语音录制",
27576
27783
  tooltip: "在聊天界面中显示语音录制选项"
27577
27784
  },
27785
+ allowMentorSelection: {
27786
+ label: "允许选择智能体",
27787
+ tooltip: "允许已登录的访问者从嵌入中打开探索并切换到其他智能体。"
27788
+ },
27578
27789
  shareableLink: {
27579
27790
  label: "可分享链接",
27580
27791
  tooltip: "生成一个链接,用户可使用该链接匿名与此智能体聊天"
@@ -28208,13 +28419,72 @@ var memoryTabLabels = {
28208
28419
  description: "配置您的智能体的记忆设置。"
28209
28420
  },
28210
28421
  toggle: {
28211
- label: "启用记忆",
28212
- description: "允许此智能体记住并引用过去对话中的信息。"
28422
+ label: "长期记忆",
28423
+ description: "让此智能体记住过去对话中的有用细节——就像一位熟悉情况的老同事——这样大家就不必重复说明。开启后,可在下方查看它对每个人的记忆并添加共享记忆。",
28424
+ offHint: "开启后,此智能体就能跨对话记住细节。"
28425
+ },
28426
+ subTabs: {
28427
+ ariaLabel: "记忆分区",
28428
+ personal: "个人记忆",
28429
+ shared: "共享记忆"
28430
+ },
28431
+ sharedMemory: {
28432
+ title: "共享记忆",
28433
+ description: "此智能体应始终牢记的事实、规则和背景信息。所有与此智能体聊天的人都会获得这些记忆。",
28434
+ gatingHint: "只有在此智能体开启长期记忆、且聊天者也开启了记忆时,共享记忆才会用于聊天。",
28435
+ addButton: "添加共享记忆",
28436
+ addButtonShort: "添加",
28437
+ listAriaLabel: "共享记忆",
28438
+ actionsAria: "共享记忆操作",
28439
+ edit: "编辑",
28440
+ "delete": "删除",
28441
+ loading: "加载共享记忆中...",
28442
+ loadError: "无法加载此智能体的共享记忆。请重试。",
28443
+ unknownAuthor: "未知",
28444
+ addedBy: "由 {name} 添加",
28445
+ empty: {
28446
+ title: "暂无共享记忆",
28447
+ description: "添加此智能体应始终牢记的内容——行为方式、关键事实或内部规则。所有与此智能体聊天的人都会获得这些记忆。"
28448
+ },
28449
+ denied: {
28450
+ title: "无权访问共享记忆",
28451
+ description: "您没有权限查看此智能体的共享记忆。请向管理员申请访问权限。"
28452
+ },
28453
+ modal: {
28454
+ addTitle: "添加共享记忆",
28455
+ editTitle: "编辑共享记忆",
28456
+ contentLabel: "记忆",
28457
+ placeholder: "写下此智能体应始终牢记的内容...",
28458
+ charCountMinimum: "{count}/10 个字符(最少)",
28459
+ charCount: "{count} 个字符",
28460
+ save: "保存",
28461
+ saving: "保存中...",
28462
+ cancel: "取消"
28463
+ },
28464
+ deleteModal: {
28465
+ title: "删除共享记忆",
28466
+ description: "确定要删除这条共享记忆吗?所有与此智能体聊天的人将不再看到它。此操作无法撤销。",
28467
+ "delete": "删除",
28468
+ deleting: "删除中...",
28469
+ cancel: "取消"
28470
+ },
28471
+ errors: {
28472
+ duplicate: "这条共享记忆已存在。",
28473
+ tooShort: "共享记忆至少需要 10 个字符。",
28474
+ forbidden: "您没有权限更改此智能体的共享记忆。"
28475
+ },
28476
+ toasts: {
28477
+ created: "共享记忆已添加",
28478
+ updated: "共享记忆已更新",
28479
+ deleted: "共享记忆已删除",
28480
+ saveError: "无法保存共享记忆",
28481
+ deleteError: "无法删除共享记忆"
28482
+ }
28213
28483
  },
28214
28484
  toasts: {
28215
- enableSuccess: "记忆已启用",
28216
- disableSuccess: "记忆已禁用",
28217
- toggleError: "更新记忆设置失败"
28485
+ enableSuccess: "记忆已开启",
28486
+ disableSuccess: "记忆已关闭",
28487
+ toggleError: "无法更新记忆设置"
28218
28488
  }
28219
28489
  };
28220
28490
  var memoryTabLearnersMemories = {
@@ -28278,7 +28548,10 @@ var memoryTabManageMemories = {
28278
28548
  memoryUpdatedSuccessfully: "记忆已成功更新",
28279
28549
  failedToUpdateMemory: "更新记忆失败",
28280
28550
  memoryCreatedSuccessfully: "记忆已成功创建",
28281
- failedToCreateMemory: "创建记忆失败"
28551
+ failedToCreateMemory: "创建记忆失败",
28552
+ savedMemoriesAriaLabel: "已保存的记忆",
28553
+ memoryActionsAriaLabel: "记忆操作",
28554
+ memoryCategoriesAriaLabel: "记忆分类"
28282
28555
  };
28283
28556
  var memoryTabSavedMemoriesModal = {
28284
28557
  savedMemories: "已保存的记忆",
@@ -30147,6 +30420,9 @@ var tabsEmbedTab = {
30147
30420
  moreInfoShowVoiceRecord: "更多关于显示语音录制的信息",
30148
30421
  showVoiceRecordEnabled: "显示语音录制已启用",
30149
30422
  showVoiceRecordDisabled: "显示语音录制已禁用",
30423
+ moreInfoAllowMentorSelection: "有关选择智能体的更多信息",
30424
+ allowMentorSelectionEnabled: "选择智能体已启用",
30425
+ allowMentorSelectionDisabled: "选择智能体已禁用",
30150
30426
  moreInfoStarterPrompts: "更多关于起始提示的信息",
30151
30427
  moreInfoShareableLink: "更多关于可分享链接的信息",
30152
30428
  shareableLinkEnabled: "可分享链接已启用",
@@ -32564,8 +32840,8 @@ var zh = {
32564
32840
  */
32565
32841
  const CATALOGS = {
32566
32842
  en: en,
32567
- fr: fr,
32568
- es: es,
32843
+ fr: fr$1,
32844
+ es: es$1,
32569
32845
  zh: zh,
32570
32846
  };
32571
32847
  /**
@@ -34525,7 +34801,7 @@ function endOfISOWeek(date, options) {
34525
34801
  return endOfWeek(date, { ...options, weekStartsOn: 1 });
34526
34802
  }
34527
34803
 
34528
- const formatDistanceLocale = {
34804
+ const formatDistanceLocale$3 = {
34529
34805
  lessThanXSeconds: {
34530
34806
  one: "less than a second",
34531
34807
  other: "less than {{count}} seconds",
@@ -34604,10 +34880,10 @@ const formatDistanceLocale = {
34604
34880
  },
34605
34881
  };
34606
34882
 
34607
- const formatDistance$1 = (token, count, options) => {
34883
+ const formatDistance$4 = (token, count, options) => {
34608
34884
  let result;
34609
34885
 
34610
- const tokenValue = formatDistanceLocale[token];
34886
+ const tokenValue = formatDistanceLocale$3[token];
34611
34887
  if (typeof tokenValue === "string") {
34612
34888
  result = tokenValue;
34613
34889
  } else if (count === 1) {
@@ -34636,45 +34912,45 @@ function buildFormatLongFn(args) {
34636
34912
  };
34637
34913
  }
34638
34914
 
34639
- const dateFormats = {
34915
+ const dateFormats$3 = {
34640
34916
  full: "EEEE, MMMM do, y",
34641
34917
  long: "MMMM do, y",
34642
34918
  medium: "MMM d, y",
34643
34919
  short: "MM/dd/yyyy",
34644
34920
  };
34645
34921
 
34646
- const timeFormats = {
34922
+ const timeFormats$3 = {
34647
34923
  full: "h:mm:ss a zzzz",
34648
34924
  long: "h:mm:ss a z",
34649
34925
  medium: "h:mm:ss a",
34650
34926
  short: "h:mm a",
34651
34927
  };
34652
34928
 
34653
- const dateTimeFormats = {
34929
+ const dateTimeFormats$3 = {
34654
34930
  full: "{{date}} 'at' {{time}}",
34655
34931
  long: "{{date}} 'at' {{time}}",
34656
34932
  medium: "{{date}}, {{time}}",
34657
34933
  short: "{{date}}, {{time}}",
34658
34934
  };
34659
34935
 
34660
- const formatLong = {
34936
+ const formatLong$3 = {
34661
34937
  date: buildFormatLongFn({
34662
- formats: dateFormats,
34938
+ formats: dateFormats$3,
34663
34939
  defaultWidth: "full",
34664
34940
  }),
34665
34941
 
34666
34942
  time: buildFormatLongFn({
34667
- formats: timeFormats,
34943
+ formats: timeFormats$3,
34668
34944
  defaultWidth: "full",
34669
34945
  }),
34670
34946
 
34671
34947
  dateTime: buildFormatLongFn({
34672
- formats: dateTimeFormats,
34948
+ formats: dateTimeFormats$3,
34673
34949
  defaultWidth: "full",
34674
34950
  }),
34675
34951
  };
34676
34952
 
34677
- const formatRelativeLocale = {
34953
+ const formatRelativeLocale$3 = {
34678
34954
  lastWeek: "'last' eeee 'at' p",
34679
34955
  yesterday: "'yesterday at' p",
34680
34956
  today: "'today at' p",
@@ -34683,8 +34959,8 @@ const formatRelativeLocale = {
34683
34959
  other: "P",
34684
34960
  };
34685
34961
 
34686
- const formatRelative$1 = (token, _date, _baseDate, _options) =>
34687
- formatRelativeLocale[token];
34962
+ const formatRelative$4 = (token, _date, _baseDate, _options) =>
34963
+ formatRelativeLocale$3[token];
34688
34964
 
34689
34965
  /**
34690
34966
  * The localize function argument callback which allows to convert raw value to
@@ -34749,13 +35025,13 @@ function buildLocalizeFn(args) {
34749
35025
  };
34750
35026
  }
34751
35027
 
34752
- const eraValues = {
35028
+ const eraValues$3 = {
34753
35029
  narrow: ["B", "A"],
34754
35030
  abbreviated: ["BC", "AD"],
34755
35031
  wide: ["Before Christ", "Anno Domini"],
34756
35032
  };
34757
35033
 
34758
- const quarterValues = {
35034
+ const quarterValues$3 = {
34759
35035
  narrow: ["1", "2", "3", "4"],
34760
35036
  abbreviated: ["Q1", "Q2", "Q3", "Q4"],
34761
35037
  wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
@@ -34765,7 +35041,7 @@ const quarterValues = {
34765
35041
  // If you are making a new locale based on this one, check if the same is true for the language you're working on.
34766
35042
  // Generally, formatted dates should look like they are in the middle of a sentence,
34767
35043
  // e.g. in Spanish language the weekdays and months should be in the lowercase.
34768
- const monthValues = {
35044
+ const monthValues$3 = {
34769
35045
  narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
34770
35046
  abbreviated: [
34771
35047
  "Jan",
@@ -34798,7 +35074,7 @@ const monthValues = {
34798
35074
  ],
34799
35075
  };
34800
35076
 
34801
- const dayValues = {
35077
+ const dayValues$3 = {
34802
35078
  narrow: ["S", "M", "T", "W", "T", "F", "S"],
34803
35079
  short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
34804
35080
  abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
@@ -34813,7 +35089,7 @@ const dayValues = {
34813
35089
  ],
34814
35090
  };
34815
35091
 
34816
- const dayPeriodValues = {
35092
+ const dayPeriodValues$3 = {
34817
35093
  narrow: {
34818
35094
  am: "a",
34819
35095
  pm: "p",
@@ -34846,7 +35122,7 @@ const dayPeriodValues = {
34846
35122
  },
34847
35123
  };
34848
35124
 
34849
- const formattingDayPeriodValues = {
35125
+ const formattingDayPeriodValues$2 = {
34850
35126
  narrow: {
34851
35127
  am: "a",
34852
35128
  pm: "p",
@@ -34879,7 +35155,7 @@ const formattingDayPeriodValues = {
34879
35155
  },
34880
35156
  };
34881
35157
 
34882
- const ordinalNumber = (dirtyNumber, _options) => {
35158
+ const ordinalNumber$3 = (dirtyNumber, _options) => {
34883
35159
  const number = Number(dirtyNumber);
34884
35160
 
34885
35161
  // If ordinal numbers depend on context, for example,
@@ -34903,34 +35179,34 @@ const ordinalNumber = (dirtyNumber, _options) => {
34903
35179
  return number + "th";
34904
35180
  };
34905
35181
 
34906
- const localize = {
34907
- ordinalNumber,
35182
+ const localize$3 = {
35183
+ ordinalNumber: ordinalNumber$3,
34908
35184
 
34909
35185
  era: buildLocalizeFn({
34910
- values: eraValues,
35186
+ values: eraValues$3,
34911
35187
  defaultWidth: "wide",
34912
35188
  }),
34913
35189
 
34914
35190
  quarter: buildLocalizeFn({
34915
- values: quarterValues,
35191
+ values: quarterValues$3,
34916
35192
  defaultWidth: "wide",
34917
35193
  argumentCallback: (quarter) => quarter - 1,
34918
35194
  }),
34919
35195
 
34920
35196
  month: buildLocalizeFn({
34921
- values: monthValues,
35197
+ values: monthValues$3,
34922
35198
  defaultWidth: "wide",
34923
35199
  }),
34924
35200
 
34925
35201
  day: buildLocalizeFn({
34926
- values: dayValues,
35202
+ values: dayValues$3,
34927
35203
  defaultWidth: "wide",
34928
35204
  }),
34929
35205
 
34930
35206
  dayPeriod: buildLocalizeFn({
34931
- values: dayPeriodValues,
35207
+ values: dayPeriodValues$3,
34932
35208
  defaultWidth: "wide",
34933
- formattingValues: formattingDayPeriodValues,
35209
+ formattingValues: formattingDayPeriodValues$2,
34934
35210
  defaultFormattingWidth: "wide",
34935
35211
  }),
34936
35212
  };
@@ -35014,33 +35290,33 @@ function buildMatchPatternFn(args) {
35014
35290
  };
35015
35291
  }
35016
35292
 
35017
- const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
35018
- const parseOrdinalNumberPattern = /\d+/i;
35293
+ const matchOrdinalNumberPattern$3 = /^(\d+)(th|st|nd|rd)?/i;
35294
+ const parseOrdinalNumberPattern$3 = /\d+/i;
35019
35295
 
35020
- const matchEraPatterns = {
35296
+ const matchEraPatterns$3 = {
35021
35297
  narrow: /^(b|a)/i,
35022
35298
  abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
35023
35299
  wide: /^(before christ|before common era|anno domini|common era)/i,
35024
35300
  };
35025
- const parseEraPatterns = {
35301
+ const parseEraPatterns$3 = {
35026
35302
  any: [/^b/i, /^(a|c)/i],
35027
35303
  };
35028
35304
 
35029
- const matchQuarterPatterns = {
35305
+ const matchQuarterPatterns$3 = {
35030
35306
  narrow: /^[1234]/i,
35031
35307
  abbreviated: /^q[1234]/i,
35032
35308
  wide: /^[1234](th|st|nd|rd)? quarter/i,
35033
35309
  };
35034
- const parseQuarterPatterns = {
35310
+ const parseQuarterPatterns$3 = {
35035
35311
  any: [/1/i, /2/i, /3/i, /4/i],
35036
35312
  };
35037
35313
 
35038
- const matchMonthPatterns = {
35314
+ const matchMonthPatterns$3 = {
35039
35315
  narrow: /^[jfmasond]/i,
35040
35316
  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
35041
35317
  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,
35042
35318
  };
35043
- const parseMonthPatterns = {
35319
+ const parseMonthPatterns$3 = {
35044
35320
  narrow: [
35045
35321
  /^j/i,
35046
35322
  /^f/i,
@@ -35072,22 +35348,22 @@ const parseMonthPatterns = {
35072
35348
  ],
35073
35349
  };
35074
35350
 
35075
- const matchDayPatterns = {
35351
+ const matchDayPatterns$3 = {
35076
35352
  narrow: /^[smtwf]/i,
35077
35353
  short: /^(su|mo|tu|we|th|fr|sa)/i,
35078
35354
  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
35079
35355
  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,
35080
35356
  };
35081
- const parseDayPatterns = {
35357
+ const parseDayPatterns$3 = {
35082
35358
  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
35083
35359
  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],
35084
35360
  };
35085
35361
 
35086
- const matchDayPeriodPatterns = {
35362
+ const matchDayPeriodPatterns$3 = {
35087
35363
  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
35088
35364
  any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,
35089
35365
  };
35090
- const parseDayPeriodPatterns = {
35366
+ const parseDayPeriodPatterns$3 = {
35091
35367
  any: {
35092
35368
  am: /^a/i,
35093
35369
  pm: /^p/i,
@@ -35100,46 +35376,46 @@ const parseDayPeriodPatterns = {
35100
35376
  },
35101
35377
  };
35102
35378
 
35103
- const match = {
35379
+ const match$3 = {
35104
35380
  ordinalNumber: buildMatchPatternFn({
35105
- matchPattern: matchOrdinalNumberPattern,
35106
- parsePattern: parseOrdinalNumberPattern,
35381
+ matchPattern: matchOrdinalNumberPattern$3,
35382
+ parsePattern: parseOrdinalNumberPattern$3,
35107
35383
  valueCallback: (value) => parseInt(value, 10),
35108
35384
  }),
35109
35385
 
35110
35386
  era: buildMatchFn({
35111
- matchPatterns: matchEraPatterns,
35387
+ matchPatterns: matchEraPatterns$3,
35112
35388
  defaultMatchWidth: "wide",
35113
- parsePatterns: parseEraPatterns,
35389
+ parsePatterns: parseEraPatterns$3,
35114
35390
  defaultParseWidth: "any",
35115
35391
  }),
35116
35392
 
35117
35393
  quarter: buildMatchFn({
35118
- matchPatterns: matchQuarterPatterns,
35394
+ matchPatterns: matchQuarterPatterns$3,
35119
35395
  defaultMatchWidth: "wide",
35120
- parsePatterns: parseQuarterPatterns,
35396
+ parsePatterns: parseQuarterPatterns$3,
35121
35397
  defaultParseWidth: "any",
35122
35398
  valueCallback: (index) => index + 1,
35123
35399
  }),
35124
35400
 
35125
35401
  month: buildMatchFn({
35126
- matchPatterns: matchMonthPatterns,
35402
+ matchPatterns: matchMonthPatterns$3,
35127
35403
  defaultMatchWidth: "wide",
35128
- parsePatterns: parseMonthPatterns,
35404
+ parsePatterns: parseMonthPatterns$3,
35129
35405
  defaultParseWidth: "any",
35130
35406
  }),
35131
35407
 
35132
35408
  day: buildMatchFn({
35133
- matchPatterns: matchDayPatterns,
35409
+ matchPatterns: matchDayPatterns$3,
35134
35410
  defaultMatchWidth: "wide",
35135
- parsePatterns: parseDayPatterns,
35411
+ parsePatterns: parseDayPatterns$3,
35136
35412
  defaultParseWidth: "any",
35137
35413
  }),
35138
35414
 
35139
35415
  dayPeriod: buildMatchFn({
35140
- matchPatterns: matchDayPeriodPatterns,
35416
+ matchPatterns: matchDayPeriodPatterns$3,
35141
35417
  defaultMatchWidth: "any",
35142
- parsePatterns: parseDayPeriodPatterns,
35418
+ parsePatterns: parseDayPeriodPatterns$3,
35143
35419
  defaultParseWidth: "any",
35144
35420
  }),
35145
35421
  };
@@ -35154,11 +35430,11 @@ const match = {
35154
35430
  */
35155
35431
  const enUS = {
35156
35432
  code: "en-US",
35157
- formatDistance: formatDistance$1,
35158
- formatLong: formatLong,
35159
- formatRelative: formatRelative$1,
35160
- localize: localize,
35161
- match: match,
35433
+ formatDistance: formatDistance$4,
35434
+ formatLong: formatLong$3,
35435
+ formatRelative: formatRelative$4,
35436
+ localize: localize$3,
35437
+ match: match$3,
35162
35438
  options: {
35163
35439
  weekStartsOn: 0 /* Sunday */,
35164
35440
  firstWeekContainsDate: 1,
@@ -36851,7 +37127,7 @@ function cleanEscapedString(input) {
36851
37127
  * })
36852
37128
  * //=> 'pli ol 1 jaro'
36853
37129
  */
36854
- function formatDistance(laterDate, earlierDate, options) {
37130
+ function formatDistance$3(laterDate, earlierDate, options) {
36855
37131
  const defaultOptions = getDefaultOptions();
36856
37132
  const locale = options?.locale ?? defaultOptions.locale ?? enUS;
36857
37133
  const minutesInAlmostTwoDays = 2520;
@@ -37043,7 +37319,7 @@ function formatDistance(laterDate, earlierDate, options) {
37043
37319
  * //=> 'pli ol 1 jaro'
37044
37320
  */
37045
37321
  function formatDistanceToNow(date, options) {
37046
- return formatDistance(date, constructNow(date), options);
37322
+ return formatDistance$3(date, constructNow(date), options);
37047
37323
  }
37048
37324
 
37049
37325
  /**
@@ -37174,6 +37450,53 @@ function isBefore(date, dateToCompare) {
37174
37450
  return +toDate(date) < +toDate(dateToCompare);
37175
37451
  }
37176
37452
 
37453
+ /**
37454
+ * The {@link isSameWeek} function options.
37455
+ */
37456
+
37457
+ /**
37458
+ * @name isSameWeek
37459
+ * @category Week Helpers
37460
+ * @summary Are the given dates in the same week (and month and year)?
37461
+ *
37462
+ * @description
37463
+ * Are the given dates in the same week (and month and year)?
37464
+ *
37465
+ * @param laterDate - The first date to check
37466
+ * @param earlierDate - The second date to check
37467
+ * @param options - An object with options
37468
+ *
37469
+ * @returns The dates are in the same week (and month and year)
37470
+ *
37471
+ * @example
37472
+ * // Are 31 August 2014 and 4 September 2014 in the same week?
37473
+ * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))
37474
+ * //=> true
37475
+ *
37476
+ * @example
37477
+ * // If week starts with Monday,
37478
+ * // are 31 August 2014 and 4 September 2014 in the same week?
37479
+ * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {
37480
+ * weekStartsOn: 1
37481
+ * })
37482
+ * //=> false
37483
+ *
37484
+ * @example
37485
+ * // Are 1 January 2014 and 1 January 2015 in the same week?
37486
+ * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))
37487
+ * //=> false
37488
+ */
37489
+ function isSameWeek(laterDate, earlierDate, options) {
37490
+ const [laterDate_, earlierDate_] = normalizeDates(
37491
+ options?.in,
37492
+ laterDate,
37493
+ earlierDate,
37494
+ );
37495
+ return (
37496
+ +startOfWeek(laterDate_, options) === +startOfWeek(earlierDate_, options)
37497
+ );
37498
+ }
37499
+
37177
37500
  /**
37178
37501
  * The {@link isSameMonth} function options.
37179
37502
  */
@@ -242487,7 +242810,7 @@ function formatDuration(seconds) {
242487
242810
  return rest ? `${hours}h ${rest}m` : `${hours}h`;
242488
242811
  }
242489
242812
  /** `3 days ago`; empty for a missing or unparseable timestamp. */
242490
- function formatRelative(iso) {
242813
+ function formatRelative$3(iso) {
242491
242814
  if (!iso)
242492
242815
  return '';
242493
242816
  const date = new Date(iso);
@@ -242766,7 +243089,7 @@ function ConversationRow({ session }) {
242766
243089
  negative: t('chatHistoryChatHistoryTab.negative'),
242767
243090
  userSentiment: t('chatHistoryChatHistoryTab.userSentiment'),
242768
243091
  }), [t]);
242769
- return (jsxs("li", { className: "flex items-start gap-3 py-3 first:pt-0 last:pb-0", "data-testid": "overview-conversation", children: [jsx("span", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400", "aria-hidden": "true", children: jsx(Bot, { className: "h-4 w-4" }) }), jsxs("div", { className: "min-w-0 flex-1", children: [jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [jsx("span", { className: "min-w-0 truncate text-sm font-medium text-gray-900 dark:text-gray-100", title: title, children: title }), jsx("span", { className: "flex-shrink-0 text-xs text-gray-500 dark:text-gray-400", children: formatRelative(session.inserted_at) })] }), jsxs("p", { className: "mt-0.5 truncate text-xs text-gray-500 dark:text-gray-400", children: [agent, turns > 0 && ` · ${t('profileOverviewTab.messageCount', { count: turns })}`] }), jsx(ConversationTopics, { topics: session.topics, className: "mt-1.5", leading: jsx(ConversationSentiment, { sentiment: session.sentiment, labels: labels, compact: true }) })] })] }));
243092
+ return (jsxs("li", { className: "flex items-start gap-3 py-3 first:pt-0 last:pb-0", "data-testid": "overview-conversation", children: [jsx("span", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400", "aria-hidden": "true", children: jsx(Bot, { className: "h-4 w-4" }) }), jsxs("div", { className: "min-w-0 flex-1", children: [jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [jsx("span", { className: "min-w-0 truncate text-sm font-medium text-gray-900 dark:text-gray-100", title: title, children: title }), jsx("span", { className: "flex-shrink-0 text-xs text-gray-500 dark:text-gray-400", children: formatRelative$3(session.inserted_at) })] }), jsxs("p", { className: "mt-0.5 truncate text-xs text-gray-500 dark:text-gray-400", children: [agent, turns > 0 && ` · ${t('profileOverviewTab.messageCount', { count: turns })}`] }), jsx(ConversationTopics, { topics: session.topics, className: "mt-1.5", leading: jsx(ConversationSentiment, { sentiment: session.sentiment, labels: labels, compact: true }) })] })] }));
242770
243093
  }
242771
243094
  function MemoryRow({ memory }) {
242772
243095
  const t = useT();
@@ -242838,7 +243161,7 @@ function OverviewTab({ org, username, isOwnProfile = true, sections, onNavigate,
242838
243161
  ? unavailable
242839
243162
  : last
242840
243163
  ? t('profileOverviewTab.kpiConversationsLast', {
242841
- when: formatRelative(last.inserted_at),
243164
+ when: formatRelative$3(last.inserted_at),
242842
243165
  })
242843
243166
  : t('profileOverviewTab.kpiConversationsSub'), loading: conversations.isLoading }, "conversations"));
242844
243167
  }
@@ -255298,6 +255621,1472 @@ function GlobalMemoriesSection({ tenantKey, username }) {
255298
255621
  }), onClick: () => setSelectedUser(user), children: jsx(Eye, { className: "h-4 w-4" }) }) }) })] }, user.username))), users.length === 0 && (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-6 py-8 text-center text-gray-500 dark:text-gray-400", children: isFetching ? t('memoryAdminTab.loading') : t('memoryAdminTab.noUsersFound') }) }))] })] }) }), totalPages > 1 && (jsx("div", { className: "mt-6", children: jsx(IblPagination, { totalPages: totalPages, currentPage: page, onPageChange: setPage, disabled: isFetching }) }))] })), selectedUser && (jsx(UserMemoriesModal, { isOpen: !!selectedUser, onClose: () => setSelectedUser(null), tenantKey: tenantKey, adminUsername: username, user: selectedUser }))] }));
255299
255622
  }
255300
255623
 
255624
+ const formatDistanceLocale$2 = {
255625
+ lessThanXSeconds: {
255626
+ one: "menos de un segundo",
255627
+ other: "menos de {{count}} segundos",
255628
+ },
255629
+
255630
+ xSeconds: {
255631
+ one: "1 segundo",
255632
+ other: "{{count}} segundos",
255633
+ },
255634
+
255635
+ halfAMinute: "medio minuto",
255636
+
255637
+ lessThanXMinutes: {
255638
+ one: "menos de un minuto",
255639
+ other: "menos de {{count}} minutos",
255640
+ },
255641
+
255642
+ xMinutes: {
255643
+ one: "1 minuto",
255644
+ other: "{{count}} minutos",
255645
+ },
255646
+
255647
+ aboutXHours: {
255648
+ one: "alrededor de 1 hora",
255649
+ other: "alrededor de {{count}} horas",
255650
+ },
255651
+
255652
+ xHours: {
255653
+ one: "1 hora",
255654
+ other: "{{count}} horas",
255655
+ },
255656
+
255657
+ xDays: {
255658
+ one: "1 día",
255659
+ other: "{{count}} días",
255660
+ },
255661
+
255662
+ aboutXWeeks: {
255663
+ one: "alrededor de 1 semana",
255664
+ other: "alrededor de {{count}} semanas",
255665
+ },
255666
+
255667
+ xWeeks: {
255668
+ one: "1 semana",
255669
+ other: "{{count}} semanas",
255670
+ },
255671
+
255672
+ aboutXMonths: {
255673
+ one: "alrededor de 1 mes",
255674
+ other: "alrededor de {{count}} meses",
255675
+ },
255676
+
255677
+ xMonths: {
255678
+ one: "1 mes",
255679
+ other: "{{count}} meses",
255680
+ },
255681
+
255682
+ aboutXYears: {
255683
+ one: "alrededor de 1 año",
255684
+ other: "alrededor de {{count}} años",
255685
+ },
255686
+
255687
+ xYears: {
255688
+ one: "1 año",
255689
+ other: "{{count}} años",
255690
+ },
255691
+
255692
+ overXYears: {
255693
+ one: "más de 1 año",
255694
+ other: "más de {{count}} años",
255695
+ },
255696
+
255697
+ almostXYears: {
255698
+ one: "casi 1 año",
255699
+ other: "casi {{count}} años",
255700
+ },
255701
+ };
255702
+
255703
+ const formatDistance$2 = (token, count, options) => {
255704
+ let result;
255705
+
255706
+ const tokenValue = formatDistanceLocale$2[token];
255707
+ if (typeof tokenValue === "string") {
255708
+ result = tokenValue;
255709
+ } else if (count === 1) {
255710
+ result = tokenValue.one;
255711
+ } else {
255712
+ result = tokenValue.other.replace("{{count}}", count.toString());
255713
+ }
255714
+
255715
+ if (options?.addSuffix) {
255716
+ if (options.comparison && options.comparison > 0) {
255717
+ return "en " + result;
255718
+ } else {
255719
+ return "hace " + result;
255720
+ }
255721
+ }
255722
+
255723
+ return result;
255724
+ };
255725
+
255726
+ const dateFormats$2 = {
255727
+ full: "EEEE, d 'de' MMMM 'de' y",
255728
+ long: "d 'de' MMMM 'de' y",
255729
+ medium: "d MMM y",
255730
+ short: "dd/MM/y",
255731
+ };
255732
+
255733
+ const timeFormats$2 = {
255734
+ full: "HH:mm:ss zzzz",
255735
+ long: "HH:mm:ss z",
255736
+ medium: "HH:mm:ss",
255737
+ short: "HH:mm",
255738
+ };
255739
+
255740
+ const dateTimeFormats$2 = {
255741
+ full: "{{date}} 'a las' {{time}}",
255742
+ long: "{{date}} 'a las' {{time}}",
255743
+ medium: "{{date}}, {{time}}",
255744
+ short: "{{date}}, {{time}}",
255745
+ };
255746
+
255747
+ const formatLong$2 = {
255748
+ date: buildFormatLongFn({
255749
+ formats: dateFormats$2,
255750
+ defaultWidth: "full",
255751
+ }),
255752
+
255753
+ time: buildFormatLongFn({
255754
+ formats: timeFormats$2,
255755
+ defaultWidth: "full",
255756
+ }),
255757
+
255758
+ dateTime: buildFormatLongFn({
255759
+ formats: dateTimeFormats$2,
255760
+ defaultWidth: "full",
255761
+ }),
255762
+ };
255763
+
255764
+ const formatRelativeLocale$2 = {
255765
+ lastWeek: "'el' eeee 'pasado a la' p",
255766
+ yesterday: "'ayer a la' p",
255767
+ today: "'hoy a la' p",
255768
+ tomorrow: "'mañana a la' p",
255769
+ nextWeek: "eeee 'a la' p",
255770
+ other: "P",
255771
+ };
255772
+
255773
+ const formatRelativeLocalePlural = {
255774
+ lastWeek: "'el' eeee 'pasado a las' p",
255775
+ yesterday: "'ayer a las' p",
255776
+ today: "'hoy a las' p",
255777
+ tomorrow: "'mañana a las' p",
255778
+ nextWeek: "eeee 'a las' p",
255779
+ other: "P",
255780
+ };
255781
+
255782
+ const formatRelative$2 = (token, date, _baseDate, _options) => {
255783
+ if (date.getHours() !== 1) {
255784
+ return formatRelativeLocalePlural[token];
255785
+ } else {
255786
+ return formatRelativeLocale$2[token];
255787
+ }
255788
+ };
255789
+
255790
+ const eraValues$2 = {
255791
+ narrow: ["AC", "DC"],
255792
+ abbreviated: ["AC", "DC"],
255793
+ wide: ["antes de cristo", "después de cristo"],
255794
+ };
255795
+
255796
+ const quarterValues$2 = {
255797
+ narrow: ["1", "2", "3", "4"],
255798
+ abbreviated: ["T1", "T2", "T3", "T4"],
255799
+ wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"],
255800
+ };
255801
+
255802
+ const monthValues$2 = {
255803
+ narrow: ["e", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"],
255804
+ abbreviated: [
255805
+ "ene",
255806
+ "feb",
255807
+ "mar",
255808
+ "abr",
255809
+ "may",
255810
+ "jun",
255811
+ "jul",
255812
+ "ago",
255813
+ "sep",
255814
+ "oct",
255815
+ "nov",
255816
+ "dic",
255817
+ ],
255818
+
255819
+ wide: [
255820
+ "enero",
255821
+ "febrero",
255822
+ "marzo",
255823
+ "abril",
255824
+ "mayo",
255825
+ "junio",
255826
+ "julio",
255827
+ "agosto",
255828
+ "septiembre",
255829
+ "octubre",
255830
+ "noviembre",
255831
+ "diciembre",
255832
+ ],
255833
+ };
255834
+
255835
+ const dayValues$2 = {
255836
+ narrow: ["d", "l", "m", "m", "j", "v", "s"],
255837
+ short: ["do", "lu", "ma", "mi", "ju", "vi", "sá"],
255838
+ abbreviated: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"],
255839
+ wide: [
255840
+ "domingo",
255841
+ "lunes",
255842
+ "martes",
255843
+ "miércoles",
255844
+ "jueves",
255845
+ "viernes",
255846
+ "sábado",
255847
+ ],
255848
+ };
255849
+
255850
+ const dayPeriodValues$2 = {
255851
+ narrow: {
255852
+ am: "a",
255853
+ pm: "p",
255854
+ midnight: "mn",
255855
+ noon: "md",
255856
+ morning: "mañana",
255857
+ afternoon: "tarde",
255858
+ evening: "tarde",
255859
+ night: "noche",
255860
+ },
255861
+ abbreviated: {
255862
+ am: "AM",
255863
+ pm: "PM",
255864
+ midnight: "medianoche",
255865
+ noon: "mediodia",
255866
+ morning: "mañana",
255867
+ afternoon: "tarde",
255868
+ evening: "tarde",
255869
+ night: "noche",
255870
+ },
255871
+ wide: {
255872
+ am: "a.m.",
255873
+ pm: "p.m.",
255874
+ midnight: "medianoche",
255875
+ noon: "mediodia",
255876
+ morning: "mañana",
255877
+ afternoon: "tarde",
255878
+ evening: "tarde",
255879
+ night: "noche",
255880
+ },
255881
+ };
255882
+
255883
+ const formattingDayPeriodValues$1 = {
255884
+ narrow: {
255885
+ am: "a",
255886
+ pm: "p",
255887
+ midnight: "mn",
255888
+ noon: "md",
255889
+ morning: "de la mañana",
255890
+ afternoon: "de la tarde",
255891
+ evening: "de la tarde",
255892
+ night: "de la noche",
255893
+ },
255894
+ abbreviated: {
255895
+ am: "AM",
255896
+ pm: "PM",
255897
+ midnight: "medianoche",
255898
+ noon: "mediodia",
255899
+ morning: "de la mañana",
255900
+ afternoon: "de la tarde",
255901
+ evening: "de la tarde",
255902
+ night: "de la noche",
255903
+ },
255904
+ wide: {
255905
+ am: "a.m.",
255906
+ pm: "p.m.",
255907
+ midnight: "medianoche",
255908
+ noon: "mediodia",
255909
+ morning: "de la mañana",
255910
+ afternoon: "de la tarde",
255911
+ evening: "de la tarde",
255912
+ night: "de la noche",
255913
+ },
255914
+ };
255915
+
255916
+ const ordinalNumber$2 = (dirtyNumber, _options) => {
255917
+ const number = Number(dirtyNumber);
255918
+ return number + "º";
255919
+ };
255920
+
255921
+ const localize$2 = {
255922
+ ordinalNumber: ordinalNumber$2,
255923
+
255924
+ era: buildLocalizeFn({
255925
+ values: eraValues$2,
255926
+ defaultWidth: "wide",
255927
+ }),
255928
+
255929
+ quarter: buildLocalizeFn({
255930
+ values: quarterValues$2,
255931
+ defaultWidth: "wide",
255932
+ argumentCallback: (quarter) => Number(quarter) - 1,
255933
+ }),
255934
+
255935
+ month: buildLocalizeFn({
255936
+ values: monthValues$2,
255937
+ defaultWidth: "wide",
255938
+ }),
255939
+
255940
+ day: buildLocalizeFn({
255941
+ values: dayValues$2,
255942
+ defaultWidth: "wide",
255943
+ }),
255944
+
255945
+ dayPeriod: buildLocalizeFn({
255946
+ values: dayPeriodValues$2,
255947
+ defaultWidth: "wide",
255948
+ formattingValues: formattingDayPeriodValues$1,
255949
+ defaultFormattingWidth: "wide",
255950
+ }),
255951
+ };
255952
+
255953
+ const matchOrdinalNumberPattern$2 = /^(\d+)(º)?/i;
255954
+ const parseOrdinalNumberPattern$2 = /\d+/i;
255955
+
255956
+ const matchEraPatterns$2 = {
255957
+ narrow: /^(ac|dc|a|d)/i,
255958
+ abbreviated: /^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,
255959
+ wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i,
255960
+ };
255961
+ const parseEraPatterns$2 = {
255962
+ any: [/^ac/i, /^dc/i],
255963
+ wide: [
255964
+ /^(antes de cristo|antes de la era com[uú]n)/i,
255965
+ /^(despu[eé]s de cristo|era com[uú]n)/i,
255966
+ ],
255967
+ };
255968
+
255969
+ const matchQuarterPatterns$2 = {
255970
+ narrow: /^[1234]/i,
255971
+ abbreviated: /^T[1234]/i,
255972
+ wide: /^[1234](º)? trimestre/i,
255973
+ };
255974
+ const parseQuarterPatterns$2 = {
255975
+ any: [/1/i, /2/i, /3/i, /4/i],
255976
+ };
255977
+
255978
+ const matchMonthPatterns$2 = {
255979
+ narrow: /^[efmajsond]/i,
255980
+ abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,
255981
+ wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
255982
+ };
255983
+ const parseMonthPatterns$2 = {
255984
+ narrow: [
255985
+ /^e/i,
255986
+ /^f/i,
255987
+ /^m/i,
255988
+ /^a/i,
255989
+ /^m/i,
255990
+ /^j/i,
255991
+ /^j/i,
255992
+ /^a/i,
255993
+ /^s/i,
255994
+ /^o/i,
255995
+ /^n/i,
255996
+ /^d/i,
255997
+ ],
255998
+
255999
+ any: [
256000
+ /^en/i,
256001
+ /^feb/i,
256002
+ /^mar/i,
256003
+ /^abr/i,
256004
+ /^may/i,
256005
+ /^jun/i,
256006
+ /^jul/i,
256007
+ /^ago/i,
256008
+ /^sep/i,
256009
+ /^oct/i,
256010
+ /^nov/i,
256011
+ /^dic/i,
256012
+ ],
256013
+ };
256014
+
256015
+ const matchDayPatterns$2 = {
256016
+ narrow: /^[dlmjvs]/i,
256017
+ short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,
256018
+ abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,
256019
+ wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i,
256020
+ };
256021
+ const parseDayPatterns$2 = {
256022
+ narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],
256023
+ any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i],
256024
+ };
256025
+
256026
+ const matchDayPeriodPatterns$2 = {
256027
+ narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,
256028
+ any: /^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i,
256029
+ };
256030
+ const parseDayPeriodPatterns$2 = {
256031
+ any: {
256032
+ am: /^a/i,
256033
+ pm: /^p/i,
256034
+ midnight: /^mn/i,
256035
+ noon: /^md/i,
256036
+ morning: /mañana/i,
256037
+ afternoon: /tarde/i,
256038
+ evening: /tarde/i,
256039
+ night: /noche/i,
256040
+ },
256041
+ };
256042
+
256043
+ const match$2 = {
256044
+ ordinalNumber: buildMatchPatternFn({
256045
+ matchPattern: matchOrdinalNumberPattern$2,
256046
+ parsePattern: parseOrdinalNumberPattern$2,
256047
+ valueCallback: function (value) {
256048
+ return parseInt(value, 10);
256049
+ },
256050
+ }),
256051
+
256052
+ era: buildMatchFn({
256053
+ matchPatterns: matchEraPatterns$2,
256054
+ defaultMatchWidth: "wide",
256055
+ parsePatterns: parseEraPatterns$2,
256056
+ defaultParseWidth: "any",
256057
+ }),
256058
+
256059
+ quarter: buildMatchFn({
256060
+ matchPatterns: matchQuarterPatterns$2,
256061
+ defaultMatchWidth: "wide",
256062
+ parsePatterns: parseQuarterPatterns$2,
256063
+ defaultParseWidth: "any",
256064
+ valueCallback: (index) => index + 1,
256065
+ }),
256066
+
256067
+ month: buildMatchFn({
256068
+ matchPatterns: matchMonthPatterns$2,
256069
+ defaultMatchWidth: "wide",
256070
+ parsePatterns: parseMonthPatterns$2,
256071
+ defaultParseWidth: "any",
256072
+ }),
256073
+
256074
+ day: buildMatchFn({
256075
+ matchPatterns: matchDayPatterns$2,
256076
+ defaultMatchWidth: "wide",
256077
+ parsePatterns: parseDayPatterns$2,
256078
+ defaultParseWidth: "any",
256079
+ }),
256080
+
256081
+ dayPeriod: buildMatchFn({
256082
+ matchPatterns: matchDayPeriodPatterns$2,
256083
+ defaultMatchWidth: "any",
256084
+ parsePatterns: parseDayPeriodPatterns$2,
256085
+ defaultParseWidth: "any",
256086
+ }),
256087
+ };
256088
+
256089
+ /**
256090
+ * @category Locales
256091
+ * @summary Spanish locale.
256092
+ * @language Spanish
256093
+ * @iso-639-2 spa
256094
+ * @author Juan Angosto [@juanangosto](https://github.com/juanangosto)
256095
+ * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa)
256096
+ * @author Fernando Agüero [@fjaguero](https://github.com/fjaguero)
256097
+ * @author Gastón Haro [@harogaston](https://github.com/harogaston)
256098
+ * @author Yago Carballo [@YagoCarballo](https://github.com/YagoCarballo)
256099
+ */
256100
+ const es = {
256101
+ code: "es",
256102
+ formatDistance: formatDistance$2,
256103
+ formatLong: formatLong$2,
256104
+ formatRelative: formatRelative$2,
256105
+ localize: localize$2,
256106
+ match: match$2,
256107
+ options: {
256108
+ weekStartsOn: 1 /* Monday */,
256109
+ firstWeekContainsDate: 1,
256110
+ },
256111
+ };
256112
+
256113
+ const formatDistanceLocale$1 = {
256114
+ lessThanXSeconds: {
256115
+ one: "moins d’une seconde",
256116
+ other: "moins de {{count}} secondes",
256117
+ },
256118
+
256119
+ xSeconds: {
256120
+ one: "1 seconde",
256121
+ other: "{{count}} secondes",
256122
+ },
256123
+
256124
+ halfAMinute: "30 secondes",
256125
+
256126
+ lessThanXMinutes: {
256127
+ one: "moins d’une minute",
256128
+ other: "moins de {{count}} minutes",
256129
+ },
256130
+
256131
+ xMinutes: {
256132
+ one: "1 minute",
256133
+ other: "{{count}} minutes",
256134
+ },
256135
+
256136
+ aboutXHours: {
256137
+ one: "environ 1 heure",
256138
+ other: "environ {{count}} heures",
256139
+ },
256140
+
256141
+ xHours: {
256142
+ one: "1 heure",
256143
+ other: "{{count}} heures",
256144
+ },
256145
+
256146
+ xDays: {
256147
+ one: "1 jour",
256148
+ other: "{{count}} jours",
256149
+ },
256150
+
256151
+ aboutXWeeks: {
256152
+ one: "environ 1 semaine",
256153
+ other: "environ {{count}} semaines",
256154
+ },
256155
+
256156
+ xWeeks: {
256157
+ one: "1 semaine",
256158
+ other: "{{count}} semaines",
256159
+ },
256160
+
256161
+ aboutXMonths: {
256162
+ one: "environ 1 mois",
256163
+ other: "environ {{count}} mois",
256164
+ },
256165
+
256166
+ xMonths: {
256167
+ one: "1 mois",
256168
+ other: "{{count}} mois",
256169
+ },
256170
+
256171
+ aboutXYears: {
256172
+ one: "environ 1 an",
256173
+ other: "environ {{count}} ans",
256174
+ },
256175
+
256176
+ xYears: {
256177
+ one: "1 an",
256178
+ other: "{{count}} ans",
256179
+ },
256180
+
256181
+ overXYears: {
256182
+ one: "plus d’un an",
256183
+ other: "plus de {{count}} ans",
256184
+ },
256185
+
256186
+ almostXYears: {
256187
+ one: "presqu’un an",
256188
+ other: "presque {{count}} ans",
256189
+ },
256190
+ };
256191
+
256192
+ const formatDistance$1 = (token, count, options) => {
256193
+ let result;
256194
+ const form = formatDistanceLocale$1[token];
256195
+ if (typeof form === "string") {
256196
+ result = form;
256197
+ } else if (count === 1) {
256198
+ result = form.one;
256199
+ } else {
256200
+ result = form.other.replace("{{count}}", String(count));
256201
+ }
256202
+
256203
+ if (options?.addSuffix) {
256204
+ if (options.comparison && options.comparison > 0) {
256205
+ return "dans " + result;
256206
+ } else {
256207
+ return "il y a " + result;
256208
+ }
256209
+ }
256210
+
256211
+ return result;
256212
+ };
256213
+
256214
+ const dateFormats$1 = {
256215
+ full: "EEEE d MMMM y",
256216
+ long: "d MMMM y",
256217
+ medium: "d MMM y",
256218
+ short: "dd/MM/y",
256219
+ };
256220
+
256221
+ const timeFormats$1 = {
256222
+ full: "HH:mm:ss zzzz",
256223
+ long: "HH:mm:ss z",
256224
+ medium: "HH:mm:ss",
256225
+ short: "HH:mm",
256226
+ };
256227
+
256228
+ const dateTimeFormats$1 = {
256229
+ full: "{{date}} 'à' {{time}}",
256230
+ long: "{{date}} 'à' {{time}}",
256231
+ medium: "{{date}}, {{time}}",
256232
+ short: "{{date}}, {{time}}",
256233
+ };
256234
+
256235
+ const formatLong$1 = {
256236
+ date: buildFormatLongFn({
256237
+ formats: dateFormats$1,
256238
+ defaultWidth: "full",
256239
+ }),
256240
+
256241
+ time: buildFormatLongFn({
256242
+ formats: timeFormats$1,
256243
+ defaultWidth: "full",
256244
+ }),
256245
+
256246
+ dateTime: buildFormatLongFn({
256247
+ formats: dateTimeFormats$1,
256248
+ defaultWidth: "full",
256249
+ }),
256250
+ };
256251
+
256252
+ const formatRelativeLocale$1 = {
256253
+ lastWeek: "eeee 'dernier à' p",
256254
+ yesterday: "'hier à' p",
256255
+ today: "'aujourd’hui à' p",
256256
+ tomorrow: "'demain à' p'",
256257
+ nextWeek: "eeee 'prochain à' p",
256258
+ other: "P",
256259
+ };
256260
+
256261
+ const formatRelative$1 = (token, _date, _baseDate, _options) =>
256262
+ formatRelativeLocale$1[token];
256263
+
256264
+ const eraValues$1 = {
256265
+ narrow: ["av. J.-C", "ap. J.-C"],
256266
+ abbreviated: ["av. J.-C", "ap. J.-C"],
256267
+ wide: ["avant Jésus-Christ", "après Jésus-Christ"],
256268
+ };
256269
+
256270
+ const quarterValues$1 = {
256271
+ narrow: ["T1", "T2", "T3", "T4"],
256272
+ abbreviated: ["1er trim.", "2ème trim.", "3ème trim.", "4ème trim."],
256273
+ wide: ["1er trimestre", "2ème trimestre", "3ème trimestre", "4ème trimestre"],
256274
+ };
256275
+
256276
+ const monthValues$1 = {
256277
+ narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
256278
+ abbreviated: [
256279
+ "janv.",
256280
+ "févr.",
256281
+ "mars",
256282
+ "avr.",
256283
+ "mai",
256284
+ "juin",
256285
+ "juil.",
256286
+ "août",
256287
+ "sept.",
256288
+ "oct.",
256289
+ "nov.",
256290
+ "déc.",
256291
+ ],
256292
+
256293
+ wide: [
256294
+ "janvier",
256295
+ "février",
256296
+ "mars",
256297
+ "avril",
256298
+ "mai",
256299
+ "juin",
256300
+ "juillet",
256301
+ "août",
256302
+ "septembre",
256303
+ "octobre",
256304
+ "novembre",
256305
+ "décembre",
256306
+ ],
256307
+ };
256308
+
256309
+ const dayValues$1 = {
256310
+ narrow: ["D", "L", "M", "M", "J", "V", "S"],
256311
+ short: ["di", "lu", "ma", "me", "je", "ve", "sa"],
256312
+ abbreviated: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
256313
+
256314
+ wide: [
256315
+ "dimanche",
256316
+ "lundi",
256317
+ "mardi",
256318
+ "mercredi",
256319
+ "jeudi",
256320
+ "vendredi",
256321
+ "samedi",
256322
+ ],
256323
+ };
256324
+
256325
+ const dayPeriodValues$1 = {
256326
+ narrow: {
256327
+ am: "AM",
256328
+ pm: "PM",
256329
+ midnight: "minuit",
256330
+ noon: "midi",
256331
+ morning: "mat.",
256332
+ afternoon: "ap.m.",
256333
+ evening: "soir",
256334
+ night: "mat.",
256335
+ },
256336
+ abbreviated: {
256337
+ am: "AM",
256338
+ pm: "PM",
256339
+ midnight: "minuit",
256340
+ noon: "midi",
256341
+ morning: "matin",
256342
+ afternoon: "après-midi",
256343
+ evening: "soir",
256344
+ night: "matin",
256345
+ },
256346
+ wide: {
256347
+ am: "AM",
256348
+ pm: "PM",
256349
+ midnight: "minuit",
256350
+ noon: "midi",
256351
+ morning: "du matin",
256352
+ afternoon: "de l’après-midi",
256353
+ evening: "du soir",
256354
+ night: "du matin",
256355
+ },
256356
+ };
256357
+
256358
+ const ordinalNumber$1 = (dirtyNumber, options) => {
256359
+ const number = Number(dirtyNumber);
256360
+ const unit = options?.unit;
256361
+
256362
+ if (number === 0) return "0";
256363
+
256364
+ const feminineUnits = ["year", "week", "hour", "minute", "second"];
256365
+ let suffix;
256366
+
256367
+ if (number === 1) {
256368
+ suffix = unit && feminineUnits.includes(unit) ? "ère" : "er";
256369
+ } else {
256370
+ suffix = "ème";
256371
+ }
256372
+
256373
+ return number + suffix;
256374
+ };
256375
+
256376
+ const LONG_MONTHS_TOKENS = ["MMM", "MMMM"];
256377
+
256378
+ const localize$1 = {
256379
+ preprocessor: (date, parts) => {
256380
+ // Replaces the `do` tokens with `d` when used with long month tokens and the day of the month is greater than one.
256381
+ // Use case "do MMMM" => 1er août, 29 août
256382
+ // see https://github.com/date-fns/date-fns/issues/1391
256383
+
256384
+ if (date.getDate() === 1) return parts;
256385
+
256386
+ const hasLongMonthToken = parts.some(
256387
+ (part) => part.isToken && LONG_MONTHS_TOKENS.includes(part.value),
256388
+ );
256389
+
256390
+ if (!hasLongMonthToken) return parts;
256391
+
256392
+ return parts.map((part) =>
256393
+ part.isToken && part.value === "do"
256394
+ ? { isToken: true, value: "d" }
256395
+ : part,
256396
+ );
256397
+ },
256398
+
256399
+ ordinalNumber: ordinalNumber$1,
256400
+
256401
+ era: buildLocalizeFn({
256402
+ values: eraValues$1,
256403
+ defaultWidth: "wide",
256404
+ }),
256405
+
256406
+ quarter: buildLocalizeFn({
256407
+ values: quarterValues$1,
256408
+ defaultWidth: "wide",
256409
+ argumentCallback: (quarter) => quarter - 1,
256410
+ }),
256411
+
256412
+ month: buildLocalizeFn({
256413
+ values: monthValues$1,
256414
+ defaultWidth: "wide",
256415
+ }),
256416
+
256417
+ day: buildLocalizeFn({
256418
+ values: dayValues$1,
256419
+ defaultWidth: "wide",
256420
+ }),
256421
+
256422
+ dayPeriod: buildLocalizeFn({
256423
+ values: dayPeriodValues$1,
256424
+ defaultWidth: "wide",
256425
+ }),
256426
+ };
256427
+
256428
+ const matchOrdinalNumberPattern$1 = /^(\d+)(ième|ère|ème|er|e)?/i;
256429
+ const parseOrdinalNumberPattern$1 = /\d+/i;
256430
+
256431
+ const matchEraPatterns$1 = {
256432
+ narrow: /^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,
256433
+ abbreviated: /^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,
256434
+ wide: /^(avant Jésus-Christ|après Jésus-Christ)/i,
256435
+ };
256436
+ const parseEraPatterns$1 = {
256437
+ any: [/^av/i, /^ap/i],
256438
+ };
256439
+
256440
+ const matchQuarterPatterns$1 = {
256441
+ narrow: /^T?[1234]/i,
256442
+ abbreviated: /^[1234](er|ème|e)? trim\.?/i,
256443
+ wide: /^[1234](er|ème|e)? trimestre/i,
256444
+ };
256445
+ const parseQuarterPatterns$1 = {
256446
+ any: [/1/i, /2/i, /3/i, /4/i],
256447
+ };
256448
+
256449
+ const matchMonthPatterns$1 = {
256450
+ narrow: /^[jfmasond]/i,
256451
+ abbreviated:
256452
+ /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,
256453
+ wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
256454
+ };
256455
+ const parseMonthPatterns$1 = {
256456
+ narrow: [
256457
+ /^j/i,
256458
+ /^f/i,
256459
+ /^m/i,
256460
+ /^a/i,
256461
+ /^m/i,
256462
+ /^j/i,
256463
+ /^j/i,
256464
+ /^a/i,
256465
+ /^s/i,
256466
+ /^o/i,
256467
+ /^n/i,
256468
+ /^d/i,
256469
+ ],
256470
+
256471
+ any: [
256472
+ /^ja/i,
256473
+ /^f/i,
256474
+ /^mar/i,
256475
+ /^av/i,
256476
+ /^ma/i,
256477
+ /^juin/i,
256478
+ /^juil/i,
256479
+ /^ao/i,
256480
+ /^s/i,
256481
+ /^o/i,
256482
+ /^n/i,
256483
+ /^d/i,
256484
+ ],
256485
+ };
256486
+
256487
+ const matchDayPatterns$1 = {
256488
+ narrow: /^[lmjvsd]/i,
256489
+ short: /^(di|lu|ma|me|je|ve|sa)/i,
256490
+ abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,
256491
+ wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i,
256492
+ };
256493
+ const parseDayPatterns$1 = {
256494
+ narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],
256495
+ any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i],
256496
+ };
256497
+
256498
+ const matchDayPeriodPatterns$1 = {
256499
+ narrow: /^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,
256500
+ any: /^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i,
256501
+ };
256502
+ const parseDayPeriodPatterns$1 = {
256503
+ any: {
256504
+ am: /^a/i,
256505
+ pm: /^p/i,
256506
+ midnight: /^min/i,
256507
+ noon: /^mid/i,
256508
+ morning: /mat/i,
256509
+ afternoon: /ap/i,
256510
+ evening: /soir/i,
256511
+ night: /nuit/i,
256512
+ },
256513
+ };
256514
+
256515
+ const match$1 = {
256516
+ ordinalNumber: buildMatchPatternFn({
256517
+ matchPattern: matchOrdinalNumberPattern$1,
256518
+ parsePattern: parseOrdinalNumberPattern$1,
256519
+ valueCallback: (value) => parseInt(value),
256520
+ }),
256521
+
256522
+ era: buildMatchFn({
256523
+ matchPatterns: matchEraPatterns$1,
256524
+ defaultMatchWidth: "wide",
256525
+ parsePatterns: parseEraPatterns$1,
256526
+ defaultParseWidth: "any",
256527
+ }),
256528
+
256529
+ quarter: buildMatchFn({
256530
+ matchPatterns: matchQuarterPatterns$1,
256531
+ defaultMatchWidth: "wide",
256532
+ parsePatterns: parseQuarterPatterns$1,
256533
+ defaultParseWidth: "any",
256534
+ valueCallback: (index) => index + 1,
256535
+ }),
256536
+
256537
+ month: buildMatchFn({
256538
+ matchPatterns: matchMonthPatterns$1,
256539
+ defaultMatchWidth: "wide",
256540
+ parsePatterns: parseMonthPatterns$1,
256541
+ defaultParseWidth: "any",
256542
+ }),
256543
+
256544
+ day: buildMatchFn({
256545
+ matchPatterns: matchDayPatterns$1,
256546
+ defaultMatchWidth: "wide",
256547
+ parsePatterns: parseDayPatterns$1,
256548
+ defaultParseWidth: "any",
256549
+ }),
256550
+
256551
+ dayPeriod: buildMatchFn({
256552
+ matchPatterns: matchDayPeriodPatterns$1,
256553
+ defaultMatchWidth: "any",
256554
+ parsePatterns: parseDayPeriodPatterns$1,
256555
+ defaultParseWidth: "any",
256556
+ }),
256557
+ };
256558
+
256559
+ /**
256560
+ * @category Locales
256561
+ * @summary French locale.
256562
+ * @language French
256563
+ * @iso-639-2 fra
256564
+ * @author Jean Dupouy [@izeau](https://github.com/izeau)
256565
+ * @author François B [@fbonzon](https://github.com/fbonzon)
256566
+ */
256567
+ const fr = {
256568
+ code: "fr",
256569
+ formatDistance: formatDistance$1,
256570
+ formatLong: formatLong$1,
256571
+ formatRelative: formatRelative$1,
256572
+ localize: localize$1,
256573
+ match: match$1,
256574
+ options: {
256575
+ weekStartsOn: 1 /* Monday */,
256576
+ firstWeekContainsDate: 4,
256577
+ },
256578
+ };
256579
+
256580
+ const formatDistanceLocale = {
256581
+ lessThanXSeconds: {
256582
+ one: "不到 1 秒",
256583
+ other: "不到 {{count}} 秒",
256584
+ },
256585
+
256586
+ xSeconds: {
256587
+ one: "1 秒",
256588
+ other: "{{count}} 秒",
256589
+ },
256590
+
256591
+ halfAMinute: "半分钟",
256592
+
256593
+ lessThanXMinutes: {
256594
+ one: "不到 1 分钟",
256595
+ other: "不到 {{count}} 分钟",
256596
+ },
256597
+
256598
+ xMinutes: {
256599
+ one: "1 分钟",
256600
+ other: "{{count}} 分钟",
256601
+ },
256602
+
256603
+ xHours: {
256604
+ one: "1 小时",
256605
+ other: "{{count}} 小时",
256606
+ },
256607
+
256608
+ aboutXHours: {
256609
+ one: "大约 1 小时",
256610
+ other: "大约 {{count}} 小时",
256611
+ },
256612
+
256613
+ xDays: {
256614
+ one: "1 天",
256615
+ other: "{{count}} 天",
256616
+ },
256617
+
256618
+ aboutXWeeks: {
256619
+ one: "大约 1 个星期",
256620
+ other: "大约 {{count}} 个星期",
256621
+ },
256622
+
256623
+ xWeeks: {
256624
+ one: "1 个星期",
256625
+ other: "{{count}} 个星期",
256626
+ },
256627
+
256628
+ aboutXMonths: {
256629
+ one: "大约 1 个月",
256630
+ other: "大约 {{count}} 个月",
256631
+ },
256632
+
256633
+ xMonths: {
256634
+ one: "1 个月",
256635
+ other: "{{count}} 个月",
256636
+ },
256637
+
256638
+ aboutXYears: {
256639
+ one: "大约 1 年",
256640
+ other: "大约 {{count}} 年",
256641
+ },
256642
+
256643
+ xYears: {
256644
+ one: "1 年",
256645
+ other: "{{count}} 年",
256646
+ },
256647
+
256648
+ overXYears: {
256649
+ one: "超过 1 年",
256650
+ other: "超过 {{count}} 年",
256651
+ },
256652
+
256653
+ almostXYears: {
256654
+ one: "将近 1 年",
256655
+ other: "将近 {{count}} 年",
256656
+ },
256657
+ };
256658
+
256659
+ const formatDistance = (token, count, options) => {
256660
+ let result;
256661
+
256662
+ const tokenValue = formatDistanceLocale[token];
256663
+ if (typeof tokenValue === "string") {
256664
+ result = tokenValue;
256665
+ } else if (count === 1) {
256666
+ result = tokenValue.one;
256667
+ } else {
256668
+ result = tokenValue.other.replace("{{count}}", String(count));
256669
+ }
256670
+
256671
+ if (options?.addSuffix) {
256672
+ if (options.comparison && options.comparison > 0) {
256673
+ return result + "内";
256674
+ } else {
256675
+ return result + "前";
256676
+ }
256677
+ }
256678
+
256679
+ return result;
256680
+ };
256681
+
256682
+ const dateFormats = {
256683
+ full: "y'年'M'月'd'日' EEEE",
256684
+ long: "y'年'M'月'd'日'",
256685
+ medium: "yyyy-MM-dd",
256686
+ short: "yy-MM-dd",
256687
+ };
256688
+
256689
+ const timeFormats = {
256690
+ full: "zzzz a h:mm:ss",
256691
+ long: "z a h:mm:ss",
256692
+ medium: "a h:mm:ss",
256693
+ short: "a h:mm",
256694
+ };
256695
+
256696
+ const dateTimeFormats = {
256697
+ full: "{{date}} {{time}}",
256698
+ long: "{{date}} {{time}}",
256699
+ medium: "{{date}} {{time}}",
256700
+ short: "{{date}} {{time}}",
256701
+ };
256702
+
256703
+ const formatLong = {
256704
+ date: buildFormatLongFn({
256705
+ formats: dateFormats,
256706
+ defaultWidth: "full",
256707
+ }),
256708
+
256709
+ time: buildFormatLongFn({
256710
+ formats: timeFormats,
256711
+ defaultWidth: "full",
256712
+ }),
256713
+
256714
+ dateTime: buildFormatLongFn({
256715
+ formats: dateTimeFormats,
256716
+ defaultWidth: "full",
256717
+ }),
256718
+ };
256719
+
256720
+ function checkWeek(date, baseDate, options) {
256721
+ const baseFormat = "eeee p";
256722
+
256723
+ if (isSameWeek(date, baseDate, options)) {
256724
+ return baseFormat; // in same week
256725
+ } else if (date.getTime() > baseDate.getTime()) {
256726
+ return "'下个'" + baseFormat; // in next week
256727
+ }
256728
+ return "'上个'" + baseFormat; // in last week
256729
+ }
256730
+
256731
+ const formatRelativeLocale = {
256732
+ lastWeek: checkWeek, // days before yesterday, maybe in this week or last week
256733
+ yesterday: "'昨天' p",
256734
+ today: "'今天' p",
256735
+ tomorrow: "'明天' p",
256736
+ nextWeek: checkWeek, // days after tomorrow, maybe in this week or next week
256737
+ other: "PP p",
256738
+ };
256739
+
256740
+ const formatRelative = (token, date, baseDate, options) => {
256741
+ const format = formatRelativeLocale[token];
256742
+
256743
+ if (typeof format === "function") {
256744
+ return format(date, baseDate, options);
256745
+ }
256746
+
256747
+ return format;
256748
+ };
256749
+
256750
+ const eraValues = {
256751
+ narrow: ["前", "公元"],
256752
+ abbreviated: ["前", "公元"],
256753
+ wide: ["公元前", "公元"],
256754
+ };
256755
+
256756
+ const quarterValues = {
256757
+ narrow: ["1", "2", "3", "4"],
256758
+ abbreviated: ["第一季", "第二季", "第三季", "第四季"],
256759
+ wide: ["第一季度", "第二季度", "第三季度", "第四季度"],
256760
+ };
256761
+
256762
+ const monthValues = {
256763
+ narrow: [
256764
+ "一",
256765
+ "二",
256766
+ "三",
256767
+ "四",
256768
+ "五",
256769
+ "六",
256770
+ "七",
256771
+ "八",
256772
+ "九",
256773
+ "十",
256774
+ "十一",
256775
+ "十二",
256776
+ ],
256777
+
256778
+ abbreviated: [
256779
+ "1月",
256780
+ "2月",
256781
+ "3月",
256782
+ "4月",
256783
+ "5月",
256784
+ "6月",
256785
+ "7月",
256786
+ "8月",
256787
+ "9月",
256788
+ "10月",
256789
+ "11月",
256790
+ "12月",
256791
+ ],
256792
+
256793
+ wide: [
256794
+ "一月",
256795
+ "二月",
256796
+ "三月",
256797
+ "四月",
256798
+ "五月",
256799
+ "六月",
256800
+ "七月",
256801
+ "八月",
256802
+ "九月",
256803
+ "十月",
256804
+ "十一月",
256805
+ "十二月",
256806
+ ],
256807
+ };
256808
+
256809
+ const dayValues = {
256810
+ narrow: ["日", "一", "二", "三", "四", "五", "六"],
256811
+ short: ["日", "一", "二", "三", "四", "五", "六"],
256812
+ abbreviated: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
256813
+
256814
+ wide: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
256815
+ };
256816
+
256817
+ const dayPeriodValues = {
256818
+ narrow: {
256819
+ am: "上",
256820
+ pm: "下",
256821
+ midnight: "凌晨",
256822
+ noon: "午",
256823
+ morning: "早",
256824
+ afternoon: "下午",
256825
+ evening: "晚",
256826
+ night: "夜",
256827
+ },
256828
+ abbreviated: {
256829
+ am: "上午",
256830
+ pm: "下午",
256831
+ midnight: "凌晨",
256832
+ noon: "中午",
256833
+ morning: "早晨",
256834
+ afternoon: "中午",
256835
+ evening: "晚上",
256836
+ night: "夜间",
256837
+ },
256838
+ wide: {
256839
+ am: "上午",
256840
+ pm: "下午",
256841
+ midnight: "凌晨",
256842
+ noon: "中午",
256843
+ morning: "早晨",
256844
+ afternoon: "中午",
256845
+ evening: "晚上",
256846
+ night: "夜间",
256847
+ },
256848
+ };
256849
+
256850
+ const formattingDayPeriodValues = {
256851
+ narrow: {
256852
+ am: "上",
256853
+ pm: "下",
256854
+ midnight: "凌晨",
256855
+ noon: "午",
256856
+ morning: "早",
256857
+ afternoon: "下午",
256858
+ evening: "晚",
256859
+ night: "夜",
256860
+ },
256861
+ abbreviated: {
256862
+ am: "上午",
256863
+ pm: "下午",
256864
+ midnight: "凌晨",
256865
+ noon: "中午",
256866
+ morning: "早晨",
256867
+ afternoon: "中午",
256868
+ evening: "晚上",
256869
+ night: "夜间",
256870
+ },
256871
+ wide: {
256872
+ am: "上午",
256873
+ pm: "下午",
256874
+ midnight: "凌晨",
256875
+ noon: "中午",
256876
+ morning: "早晨",
256877
+ afternoon: "中午",
256878
+ evening: "晚上",
256879
+ night: "夜间",
256880
+ },
256881
+ };
256882
+
256883
+ const ordinalNumber = (dirtyNumber, options) => {
256884
+ const number = Number(dirtyNumber);
256885
+
256886
+ switch (options?.unit) {
256887
+ case "date":
256888
+ return number.toString() + "日";
256889
+ case "hour":
256890
+ return number.toString() + "时";
256891
+ case "minute":
256892
+ return number.toString() + "分";
256893
+ case "second":
256894
+ return number.toString() + "秒";
256895
+ default:
256896
+ return "第 " + number.toString();
256897
+ }
256898
+ };
256899
+
256900
+ const localize = {
256901
+ ordinalNumber,
256902
+
256903
+ era: buildLocalizeFn({
256904
+ values: eraValues,
256905
+ defaultWidth: "wide",
256906
+ }),
256907
+
256908
+ quarter: buildLocalizeFn({
256909
+ values: quarterValues,
256910
+ defaultWidth: "wide",
256911
+ argumentCallback: (quarter) => quarter - 1,
256912
+ }),
256913
+
256914
+ month: buildLocalizeFn({
256915
+ values: monthValues,
256916
+ defaultWidth: "wide",
256917
+ }),
256918
+
256919
+ day: buildLocalizeFn({
256920
+ values: dayValues,
256921
+ defaultWidth: "wide",
256922
+ }),
256923
+
256924
+ dayPeriod: buildLocalizeFn({
256925
+ values: dayPeriodValues,
256926
+ defaultWidth: "wide",
256927
+ formattingValues: formattingDayPeriodValues,
256928
+ defaultFormattingWidth: "wide",
256929
+ }),
256930
+ };
256931
+
256932
+ const matchOrdinalNumberPattern = /^(第\s*)?\d+(日|时|分|秒)?/i;
256933
+ const parseOrdinalNumberPattern = /\d+/i;
256934
+
256935
+ const matchEraPatterns = {
256936
+ narrow: /^(前)/i,
256937
+ abbreviated: /^(前)/i,
256938
+ wide: /^(公元前|公元)/i,
256939
+ };
256940
+ const parseEraPatterns = {
256941
+ any: [/^(前)/i, /^(公元)/i],
256942
+ };
256943
+
256944
+ const matchQuarterPatterns = {
256945
+ narrow: /^[1234]/i,
256946
+ abbreviated: /^第[一二三四]刻/i,
256947
+ wide: /^第[一二三四]刻钟/i,
256948
+ };
256949
+ const parseQuarterPatterns = {
256950
+ any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i],
256951
+ };
256952
+
256953
+ const matchMonthPatterns = {
256954
+ narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,
256955
+ abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,
256956
+ wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i,
256957
+ };
256958
+ const parseMonthPatterns = {
256959
+ narrow: [
256960
+ /^一/i,
256961
+ /^二/i,
256962
+ /^三/i,
256963
+ /^四/i,
256964
+ /^五/i,
256965
+ /^六/i,
256966
+ /^七/i,
256967
+ /^八/i,
256968
+ /^九/i,
256969
+ /^十(?!(一|二))/i,
256970
+ /^十一/i,
256971
+ /^十二/i,
256972
+ ],
256973
+
256974
+ any: [
256975
+ /^一|1/i,
256976
+ /^二|2/i,
256977
+ /^三|3/i,
256978
+ /^四|4/i,
256979
+ /^五|5/i,
256980
+ /^六|6/i,
256981
+ /^七|7/i,
256982
+ /^八|8/i,
256983
+ /^九|9/i,
256984
+ /^十(?!(一|二))|10/i,
256985
+ /^十一|11/i,
256986
+ /^十二|12/i,
256987
+ ],
256988
+ };
256989
+
256990
+ const matchDayPatterns = {
256991
+ narrow: /^[一二三四五六日]/i,
256992
+ short: /^[一二三四五六日]/i,
256993
+ abbreviated: /^周[一二三四五六日]/i,
256994
+ wide: /^星期[一二三四五六日]/i,
256995
+ };
256996
+ const parseDayPatterns = {
256997
+ any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i],
256998
+ };
256999
+
257000
+ const matchDayPeriodPatterns = {
257001
+ any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i,
257002
+ };
257003
+ const parseDayPeriodPatterns = {
257004
+ any: {
257005
+ am: /^上午?/i,
257006
+ pm: /^下午?/i,
257007
+ midnight: /^午夜/i,
257008
+ noon: /^[中正]午/i,
257009
+ morning: /^早上/i,
257010
+ afternoon: /^下午/i,
257011
+ evening: /^晚上?/i,
257012
+ night: /^凌晨/i,
257013
+ },
257014
+ };
257015
+
257016
+ const match = {
257017
+ ordinalNumber: buildMatchPatternFn({
257018
+ matchPattern: matchOrdinalNumberPattern,
257019
+ parsePattern: parseOrdinalNumberPattern,
257020
+ valueCallback: (value) => parseInt(value, 10),
257021
+ }),
257022
+
257023
+ era: buildMatchFn({
257024
+ matchPatterns: matchEraPatterns,
257025
+ defaultMatchWidth: "wide",
257026
+ parsePatterns: parseEraPatterns,
257027
+ defaultParseWidth: "any",
257028
+ }),
257029
+
257030
+ quarter: buildMatchFn({
257031
+ matchPatterns: matchQuarterPatterns,
257032
+ defaultMatchWidth: "wide",
257033
+ parsePatterns: parseQuarterPatterns,
257034
+ defaultParseWidth: "any",
257035
+ valueCallback: (index) => index + 1,
257036
+ }),
257037
+
257038
+ month: buildMatchFn({
257039
+ matchPatterns: matchMonthPatterns,
257040
+ defaultMatchWidth: "wide",
257041
+ parsePatterns: parseMonthPatterns,
257042
+ defaultParseWidth: "any",
257043
+ }),
257044
+
257045
+ day: buildMatchFn({
257046
+ matchPatterns: matchDayPatterns,
257047
+ defaultMatchWidth: "wide",
257048
+ parsePatterns: parseDayPatterns,
257049
+ defaultParseWidth: "any",
257050
+ }),
257051
+
257052
+ dayPeriod: buildMatchFn({
257053
+ matchPatterns: matchDayPeriodPatterns,
257054
+ defaultMatchWidth: "any",
257055
+ parsePatterns: parseDayPeriodPatterns,
257056
+ defaultParseWidth: "any",
257057
+ }),
257058
+ };
257059
+
257060
+ /**
257061
+ * @category Locales
257062
+ * @summary Chinese Simplified locale.
257063
+ * @language Chinese Simplified
257064
+ * @iso-639-2 zho
257065
+ * @author Changyu Geng [@KingMario](https://github.com/KingMario)
257066
+ * @author Song Shuoyun [@fnlctrl](https://github.com/fnlctrl)
257067
+ * @author sabrinaM [@sabrinamiao](https://github.com/sabrinamiao)
257068
+ * @author Carney Wu [@cubicwork](https://github.com/cubicwork)
257069
+ * @author Terrence Lam [@skyuplam](https://github.com/skyuplam)
257070
+ */
257071
+ const zhCN = {
257072
+ code: "zh-CN",
257073
+ formatDistance: formatDistance,
257074
+ formatLong: formatLong,
257075
+ formatRelative: formatRelative,
257076
+ localize: localize,
257077
+ match: match,
257078
+ options: {
257079
+ weekStartsOn: 1 /* Monday */,
257080
+ firstWeekContainsDate: 4,
257081
+ },
257082
+ };
257083
+
257084
+ const DATE_FNS_LOCALES = { fr, es, zh: zhCN };
257085
+ /** The date-fns locale for the active language; undefined keeps date-fns' English default. */
257086
+ function useDateFnsLocale() {
257087
+ return DATE_FNS_LOCALES[useWebContainersLocale()];
257088
+ }
257089
+
255301
257090
  const EditMemoryModal$1 = dynamic(() => Promise.resolve().then(function () { return editMemoryModal; }).then((module) => ({
255302
257091
  default: module.EditMemoryModal,
255303
257092
  })), { ssr: false });
@@ -255318,6 +257107,7 @@ const SNAPSHOT_PAGE_SIZE = 1000;
255318
257107
  function ManageMemories({ tenantKey, username, mentorId }) {
255319
257108
  var _a, _b, _c, _d, _e;
255320
257109
  const t = useT();
257110
+ const dateFnsLocale = useDateFnsLocale();
255321
257111
  const [selectedLearner, setSelectedLearner] = useState('');
255322
257112
  const [dateRange, setDateRange] = useState(undefined);
255323
257113
  const [selectedCategorySlug, setSelectedCategorySlug] = useState('all');
@@ -255560,21 +257350,22 @@ function ManageMemories({ tenantKey, username, mentorId }) {
255560
257350
  setSelectedLearner(learner.email);
255561
257351
  }, children: [jsx(Check, { className: cn('mr-2 h-4 w-4', selectedLearner === learner.email ? 'opacity-100' : 'opacity-0') }), jsx("div", { className: "flex flex-col", children: jsx("span", { className: "font-medium text-gray-700", children: learner.email }) })] }, learner.email)))] })] })] }) })] }) }), jsxs(Popover, { children: [jsx(PopoverTrigger, { asChild: true, children: jsxs(Button$1, { variant: "outline", className: "flex w-full items-center gap-2 bg-transparent font-normal whitespace-nowrap lg:w-auto", children: [jsx(Calendar$1, { className: "h-4 w-4" }), (dateRange === null || dateRange === void 0 ? void 0 : dateRange.from) && (dateRange === null || dateRange === void 0 ? void 0 : dateRange.to)
255562
257352
  ? `${format$1(dateRange.from, 'MMM dd')} - ${format$1(dateRange.to, 'MMM dd')}`
255563
- : t('memoryTabManageMemories.pickDateRange')] }) }), jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: jsx(Calendar, { mode: "range", selected: dateRange, onSelect: setDateRange, numberOfMonths: 2, initialFocus: true }) })] })] }) }), jsx("div", { children: jsxs("div", { className: "flex items-center justify-between gap-4", children: [jsxs("div", { className: "scrollbar-none hidden flex-1 items-center space-x-8 overflow-x-auto sm:flex", children: [visibleCategories.map((category) => (jsxs("button", { onClick: () => setSelectedCategorySlug(category.slug), className: `relative px-1 py-2 text-sm font-medium whitespace-nowrap transition-colors ${selectedCategorySlug === category.slug
257353
+ : t('memoryTabManageMemories.pickDateRange')] }) }), jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: jsx(Calendar, { mode: "range", selected: dateRange, onSelect: setDateRange, numberOfMonths: 2, initialFocus: true }) })] })] }) }), jsx("div", { children: jsxs("div", { className: "flex items-center justify-between gap-4", children: [jsxs("div", { role: "tablist", "aria-label": t('memoryTabManageMemories.memoryCategoriesAriaLabel'), className: "scrollbar-none hidden flex-1 items-center space-x-8 overflow-x-auto sm:flex", children: [visibleCategories.map((category) => (jsxs("button", { role: "tab", "aria-selected": selectedCategorySlug === category.slug, onClick: () => setSelectedCategorySlug(category.slug), className: `relative px-1 py-2 text-sm font-medium whitespace-nowrap transition-colors ${selectedCategorySlug === category.slug
255564
257354
  ? 'text-[#38A1E5]'
255565
257355
  : 'text-gray-600 hover:text-gray-900'}`, children: [category.name, selectedCategorySlug === category.slug && (jsx("div", { className: "absolute bottom-0 left-1/2 h-0.5 -translate-x-1/2 transform bg-[#38A1E5] transition-all duration-200", style: { width: `${category.name.length * 0.55}em` } }))] }, category.slug))), overflowCategories.length > 0 && (jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsxs("button", { className: cn('relative flex items-center gap-1 px-1 py-2 text-sm font-medium whitespace-nowrap transition-colors', overflowSelected ? 'text-[#38A1E5]' : 'text-gray-600 hover:text-gray-900'), "aria-label": t('memoryTabManageMemories.moreCategories'), children: [overflowSelected ? overflowSelected.name : t('memoryTabManageMemories.more'), jsx(ChevronDown, { className: "h-3.5 w-3.5" }), overflowSelected && (jsx("div", { className: "absolute bottom-0 left-0 h-0.5 bg-[#38A1E5] transition-all duration-200", style: {
255566
257356
  width: `${overflowSelected.name.length * 0.55}em`,
255567
257357
  } }))] }) }), jsx(DropdownMenuContent, { align: "end", children: overflowCategories.map((category) => (jsx(DropdownMenuItem, { onClick: () => setSelectedCategorySlug(category.slug), className: selectedCategorySlug === category.slug ? 'bg-gray-100' : '', children: category.name }, category.slug))) })] }))] }), jsx("div", { className: "w-full py-2 sm:hidden", children: jsxs(DropdownMenu, { open: showMobileDropdown, onOpenChange: setShowMobileDropdown, children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsxs(Button$1, { variant: "outline", className: "w-full justify-between bg-transparent", children: [selectedCategoryName, jsx(ChevronDown, { className: "h-4 w-4" })] }) }), jsx(DropdownMenuContent, { className: "w-full", children: categories.map((category) => (jsx(DropdownMenuItem, { onClick: () => {
255568
257358
  setSelectedCategorySlug(category.slug);
255569
257359
  setShowMobileDropdown(false);
255570
- }, className: selectedCategorySlug === category.slug ? 'bg-gray-100' : '', children: category.name }, category.slug))) })] }) }), jsxs(Button$1, { onClick: () => setShowManageCategories(true), size: "sm", variant: "outline", className: "shrink-0", "aria-label": t('memoryTabManageMemories.manageCategories'), children: [jsx(Tags, { className: "h-4 w-4 sm:mr-2" }), jsx("span", { className: "hidden sm:inline", children: t('memoryTabManageMemories.categories') })] }), jsxs(Button$1, { onClick: startAddMemory, size: "sm", className: "ibl-button-primary shrink-0", children: [jsx(Plus, { className: "mr-1 h-4 w-4 sm:mr-2" }), jsx("span", { className: "hidden sm:inline", children: t('memoryTabManageMemories.addMemory') }), jsx("span", { className: "sm:hidden", children: t('memoryTabManageMemories.add') })] })] }) }), jsx("div", { className: "space-y-3 px-1 sm:px-0", children: isLoadingMemories ? (jsx("div", { className: "py-8 text-center text-gray-600", children: jsx("p", { children: t('memoryTabManageMemories.loadingMemories') }) })) : (filteredMemories.map((memory) => {
257360
+ }, className: selectedCategorySlug === category.slug ? 'bg-gray-100' : '', children: category.name }, category.slug))) })] }) }), jsxs(Button$1, { onClick: () => setShowManageCategories(true), size: "sm", variant: "outline", className: "shrink-0", "aria-label": t('memoryTabManageMemories.manageCategories'), children: [jsx(Tags, { className: "h-4 w-4 sm:mr-2" }), jsx("span", { className: "hidden sm:inline", children: t('memoryTabManageMemories.categories') })] }), jsxs(Button$1, { onClick: startAddMemory, size: "sm", className: "ibl-button-primary shrink-0", children: [jsx(Plus, { className: "mr-1 h-4 w-4 sm:mr-2" }), jsx("span", { className: "hidden sm:inline", children: t('memoryTabManageMemories.addMemory') }), jsx("span", { className: "sm:hidden", children: t('memoryTabManageMemories.add') })] })] }) }), jsx("div", { role: "list", "aria-label": t('memoryTabManageMemories.savedMemoriesAriaLabel'), className: "space-y-3 px-1 sm:px-0", children: isLoadingMemories ? (jsx("div", { className: "py-8 text-center text-gray-600", children: jsx("p", { children: t('memoryTabManageMemories.loadingMemories') }) })) : (filteredMemories.map((memory) => {
255571
257361
  const timeAgo = memory.createdAt
255572
257362
  ? formatDistanceToNow(new Date(memory.createdAt), {
255573
257363
  addSuffix: true,
257364
+ locale: dateFnsLocale,
255574
257365
  })
255575
257366
  : '';
255576
257367
  const displayUser = memory.email || t('memoryTabManageMemories.unknown');
255577
- return (jsxs("div", { className: "flex items-start gap-3 rounded-lg border border-gray-200 bg-white p-3", children: [jsxs("div", { className: "flex-1", children: [(timeAgo || displayUser) && (jsxs("div", { className: "mb-2 flex items-center justify-between", children: [timeAgo && jsx("span", { className: "text-sm text-gray-600", children: timeAgo }), displayUser && (jsx("span", { className: "max-w-[100px] truncate text-sm text-gray-900 sm:max-w-[200px]", children: displayUser }))] })), jsx("div", { className: "text-sm leading-relaxed text-gray-900", children: memory.content })] }), jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsx(Button$1, { variant: "ghost", size: "sm", className: "h-6 w-6 flex-shrink-0 p-0 text-gray-600 hover:text-gray-900", children: jsx(Ellipsis, { className: "h-4 w-4" }) }) }), jsxs(DropdownMenuContent, { align: "end", children: [jsx(DropdownMenuItem, { onClick: () => startEdit(memory), children: t('memoryTabManageMemories.edit') }), jsx(DropdownMenuItem, { onClick: () => setShowDeleteConfirm(memory.id), children: t('memoryTabManageMemories.delete') })] })] })] }, memory.id));
257368
+ return (jsxs("div", { role: "listitem", className: "flex items-start gap-3 rounded-lg border border-gray-200 bg-white p-3", children: [jsxs("div", { className: "flex-1", children: [(timeAgo || displayUser) && (jsxs("div", { className: "mb-2 flex items-center justify-between", children: [timeAgo && jsx("span", { className: "text-sm text-gray-600", children: timeAgo }), displayUser && (jsx("span", { className: "max-w-[100px] truncate text-sm text-gray-900 sm:max-w-[200px]", children: displayUser }))] })), jsx("p", { className: "text-sm leading-relaxed text-gray-900", children: memory.content })] }), jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsx(Button$1, { variant: "ghost", size: "sm", "aria-label": t('memoryTabManageMemories.memoryActionsAriaLabel'), className: "h-6 w-6 flex-shrink-0 p-0 text-gray-600 hover:text-gray-900", children: jsx(Ellipsis, { className: "h-4 w-4" }) }) }), jsxs(DropdownMenuContent, { align: "end", children: [jsx(DropdownMenuItem, { onClick: () => startEdit(memory), children: t('memoryTabManageMemories.edit') }), jsx(DropdownMenuItem, { onClick: () => setShowDeleteConfirm(memory.id), children: t('memoryTabManageMemories.delete') })] })] })] }, memory.id));
255578
257369
  })) }), filteredMemories.length > 0 && selectedCategorySlug !== 'all' && (jsx("div", { className: "flex justify-end", children: jsx(Button$1, { variant: "outline", onClick: () => setShowBulkDeleteConfirm(true), children: t('memoryTabManageMemories.deleteAll') }) })), filteredMemories.length === 0 && !isLoadingMemories && (jsx("div", { className: "py-8 text-center text-gray-600", children: jsx("p", { children: t('memoryTabManageMemories.noSavedMemories') }) })), totalPages > 1 && (jsx("div", { className: "flex justify-center pt-2", children: jsx(IblPagination, { currentPage: page, totalPages: totalPages, onPageChange: setPage, disabled: isLoadingMemories }) }))] }), jsx(EditMemoryModal$1, { open: !!editingMemory, onOpenChange: (open) => !open && cancelEdit(), editContent: editContent, editCategory: editCategory, onContentChange: setEditContent, onCategoryChange: setEditCategory, onSave: saveEdit, onCancel: cancelEdit, categories: categoryNames, isSaving: isEditing }), jsx(AddMemoryModal$1, { open: showAddMemory, onOpenChange: (open) => !open && cancelAddMemory(), newMemoryContent: newMemoryContent, newMemoryCategory: newMemoryCategory, onContentChange: setNewMemoryContent, onCategoryChange: setNewMemoryCategory, onSave: saveNewMemory, onCancel: cancelAddMemory, categories: categoryNames, isSaving: isSaving }), jsx(DeleteMemoryModal, { open: !!showDeleteConfirm, onOpenChange: (open) => !open && setShowDeleteConfirm(null), onConfirm: () => showDeleteConfirm !== null && handleDeleteMemory(showDeleteConfirm), onCancel: () => setShowDeleteConfirm(null), isDeleting: isDeleting }), jsx(ManageCategoriesModal$1, { open: showManageCategories, onOpenChange: setShowManageCategories, tenantKey: tenantKey, mentorId: mentorId }), jsx(BulkDeleteMemoryModal$1, { open: showBulkDeleteConfirm, onOpenChange: setShowBulkDeleteConfirm, onConfirm: handleBulkDelete, onCancel: () => setShowBulkDeleteConfirm(false), isDeleting: isBulkDeleting, selectedCategory: selectedCategoryName })] }));
255579
257370
  }
255580
257371