@nextcloud/vue 8.40.0 → 8.41.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.
Files changed (533) hide show
  1. package/CHANGELOG.md +81 -78
  2. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  3. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  4. package/dist/Components/NcActionInput.cjs +1 -1
  5. package/dist/Components/NcActionInput.mjs +1 -1
  6. package/dist/Components/NcActions.cjs +1 -1
  7. package/dist/Components/NcActions.mjs +1 -1
  8. package/dist/Components/NcAppContent.cjs +1 -1
  9. package/dist/Components/NcAppContent.mjs +1 -1
  10. package/dist/Components/NcAppNavigation.cjs +1 -1
  11. package/dist/Components/NcAppNavigation.mjs +1 -1
  12. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  13. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  14. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  15. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  16. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  17. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  18. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  19. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  20. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  21. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  22. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  23. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  24. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  25. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  26. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  27. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  28. package/dist/Components/NcAppSettingsSectionShortcuts.cjs +1 -1
  29. package/dist/Components/NcAppSettingsSectionShortcuts.mjs +1 -1
  30. package/dist/Components/NcAppSettingsShortcutsSection.cjs +1 -1
  31. package/dist/Components/NcAppSettingsShortcutsSection.mjs +1 -1
  32. package/dist/Components/NcAppSidebar.cjs +1 -1
  33. package/dist/Components/NcAppSidebar.mjs +1 -1
  34. package/dist/Components/NcAssistantButton.cjs +1 -1
  35. package/dist/Components/NcAssistantButton.mjs +1 -1
  36. package/dist/Components/NcAssistantContent.cjs +4 -4
  37. package/dist/Components/NcAssistantContent.mjs +4 -4
  38. package/dist/Components/NcAssistantIcon.cjs +1 -1
  39. package/dist/Components/NcAssistantIcon.mjs +1 -1
  40. package/dist/Components/NcAvatar.cjs +1 -1
  41. package/dist/Components/NcAvatar.mjs +1 -1
  42. package/dist/Components/NcBlurHash.cjs +1 -1
  43. package/dist/Components/NcBlurHash.mjs +1 -1
  44. package/dist/Components/NcBreadcrumb.cjs +1 -1
  45. package/dist/Components/NcBreadcrumb.mjs +1 -1
  46. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  47. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  48. package/dist/Components/NcButton.cjs +1 -1
  49. package/dist/Components/NcButton.mjs +1 -1
  50. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  51. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  52. package/dist/Components/NcChip.cjs +3 -3
  53. package/dist/Components/NcChip.mjs +3 -3
  54. package/dist/Components/NcCollectionList.cjs +1 -1
  55. package/dist/Components/NcCollectionList.mjs +1 -1
  56. package/dist/Components/NcColorPicker.cjs +1 -1
  57. package/dist/Components/NcColorPicker.mjs +1 -1
  58. package/dist/Components/NcContent.cjs +1 -1
  59. package/dist/Components/NcContent.mjs +1 -1
  60. package/dist/Components/NcDashboardWidget.cjs +1 -1
  61. package/dist/Components/NcDashboardWidget.mjs +1 -1
  62. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  63. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  64. package/dist/Components/NcDateTimePicker.cjs +6 -6
  65. package/dist/Components/NcDateTimePicker.mjs +6 -6
  66. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  67. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  68. package/dist/Components/NcDialog.cjs +1 -1
  69. package/dist/Components/NcDialog.mjs +1 -1
  70. package/dist/Components/NcDialogButton.cjs +1 -1
  71. package/dist/Components/NcDialogButton.mjs +1 -1
  72. package/dist/Components/NcEmojiPicker.cjs +1 -1
  73. package/dist/Components/NcEmojiPicker.mjs +1 -1
  74. package/dist/Components/NcFilePicker.cjs +1 -1
  75. package/dist/Components/NcFilePicker.mjs +1 -1
  76. package/dist/Components/NcFormBox.cjs +1 -1
  77. package/dist/Components/NcFormBox.mjs +1 -1
  78. package/dist/Components/NcFormBoxButton.cjs +1 -1
  79. package/dist/Components/NcFormBoxButton.mjs +1 -1
  80. package/dist/Components/NcFormBoxCopyButton.cjs +1 -1
  81. package/dist/Components/NcFormBoxCopyButton.mjs +1 -1
  82. package/dist/Components/NcFormBoxSwitch.cjs +1 -1
  83. package/dist/Components/NcFormBoxSwitch.mjs +1 -1
  84. package/dist/Components/NcFormGroup.cjs +1 -1
  85. package/dist/Components/NcFormGroup.mjs +1 -1
  86. package/dist/Components/NcHeaderButton.cjs +1 -1
  87. package/dist/Components/NcHeaderButton.mjs +1 -1
  88. package/dist/Components/NcHeaderMenu.cjs +1 -1
  89. package/dist/Components/NcHeaderMenu.mjs +1 -1
  90. package/dist/Components/NcHotkey.cjs +1 -1
  91. package/dist/Components/NcHotkey.mjs +1 -1
  92. package/dist/Components/NcHotkeyList.cjs +1 -1
  93. package/dist/Components/NcHotkeyList.mjs +1 -1
  94. package/dist/Components/NcInputField.cjs +1 -1
  95. package/dist/Components/NcInputField.mjs +1 -1
  96. package/dist/Components/NcKbd.cjs +1 -1
  97. package/dist/Components/NcKbd.mjs +1 -1
  98. package/dist/Components/NcListItem.cjs +1 -1
  99. package/dist/Components/NcListItem.mjs +1 -1
  100. package/dist/Components/NcListItemIcon.cjs +1 -1
  101. package/dist/Components/NcListItemIcon.mjs +1 -1
  102. package/dist/Components/NcModal.cjs +5 -5
  103. package/dist/Components/NcModal.mjs +5 -5
  104. package/dist/Components/NcNoteCard.cjs +1 -1
  105. package/dist/Components/NcNoteCard.mjs +1 -1
  106. package/dist/Components/NcPasswordField.cjs +1 -1
  107. package/dist/Components/NcPasswordField.mjs +1 -1
  108. package/dist/Components/NcPopover.cjs +1 -1
  109. package/dist/Components/NcPopover.mjs +1 -1
  110. package/dist/Components/NcProfileHoverCard.cjs +4 -0
  111. package/dist/Components/NcProfileHoverCard.cjs.map +1 -0
  112. package/dist/Components/NcProfileHoverCard.mjs +5 -0
  113. package/dist/Components/NcProfileHoverCard.mjs.map +1 -0
  114. package/dist/Components/NcRadioGroup.cjs +1 -1
  115. package/dist/Components/NcRadioGroup.mjs +1 -1
  116. package/dist/Components/NcRadioGroupButton.cjs +1 -1
  117. package/dist/Components/NcRadioGroupButton.mjs +1 -1
  118. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  119. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  120. package/dist/Components/NcRichContenteditable.cjs +1 -1
  121. package/dist/Components/NcRichContenteditable.mjs +1 -1
  122. package/dist/Components/NcRichText.cjs +9 -7
  123. package/dist/Components/NcRichText.cjs.map +1 -1
  124. package/dist/Components/NcRichText.mjs +15 -13
  125. package/dist/Components/NcRichText.mjs.map +1 -1
  126. package/dist/Components/NcSelect.cjs +1 -1
  127. package/dist/Components/NcSelect.mjs +1 -1
  128. package/dist/Components/NcSelectTags.cjs +1 -1
  129. package/dist/Components/NcSelectTags.mjs +1 -1
  130. package/dist/Components/NcSelectUsers.cjs +1 -1
  131. package/dist/Components/NcSelectUsers.mjs +1 -1
  132. package/dist/Components/NcSettingsInputText.cjs +1 -1
  133. package/dist/Components/NcSettingsInputText.mjs +1 -1
  134. package/dist/Components/NcSettingsSection.cjs +1 -1
  135. package/dist/Components/NcSettingsSection.mjs +1 -1
  136. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  137. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  138. package/dist/Components/NcTextArea.cjs +1 -1
  139. package/dist/Components/NcTextArea.mjs +1 -1
  140. package/dist/Components/NcTextField.cjs +1 -1
  141. package/dist/Components/NcTextField.mjs +1 -1
  142. package/dist/Components/NcTimezonePicker.cjs +1 -1
  143. package/dist/Components/NcTimezonePicker.mjs +1 -1
  144. package/dist/Components/NcUserBubble.cjs +1 -1
  145. package/dist/Components/NcUserBubble.mjs +1 -1
  146. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  147. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  148. package/dist/Composables/useFormatDateTime.cjs +11 -5
  149. package/dist/Composables/useFormatDateTime.cjs.map +1 -1
  150. package/dist/Composables/useFormatDateTime.mjs +11 -5
  151. package/dist/Composables/useFormatDateTime.mjs.map +1 -1
  152. package/dist/Functions/reference.cjs +11 -10
  153. package/dist/Functions/reference.cjs.map +1 -1
  154. package/dist/Functions/reference.mjs +7 -6
  155. package/dist/Functions/reference.mjs.map +1 -1
  156. package/dist/Functions/registerReference.cjs +6 -5
  157. package/dist/Functions/registerReference.cjs.map +1 -1
  158. package/dist/Functions/registerReference.mjs +6 -5
  159. package/dist/Functions/registerReference.mjs.map +1 -1
  160. package/dist/Functions/usernameToColor.cjs +1 -1
  161. package/dist/Functions/usernameToColor.mjs +1 -1
  162. package/dist/assets/{NcAppNavigationToggle-DgwbZOWc.css → NcAppNavigationToggle-D1K2TRZ-.css} +3 -3
  163. package/dist/assets/{NcAppSettingsDialog-Bi5b1VZg.css → NcAppSettingsDialog-Cu7QAD8V.css} +3 -3
  164. package/dist/assets/{NcAppSettingsShortcutsSection-zIKJEvmV.css → NcAppSettingsShortcutsSection-D-FcvAWd.css} +3 -3
  165. package/dist/assets/{NcAssistantButton-CaIHaboe.css → NcAssistantButton-C6d88UPB.css} +9 -9
  166. package/dist/assets/{NcAssistantContent-D6ZguiGh.css → NcAssistantContent-DTHxHZ09.css} +3 -3
  167. package/dist/assets/{NcAssistantIcon-Cmlid9NS.css → NcAssistantIcon-BV1uZpAb.css} +4 -4
  168. package/dist/assets/{NcAvatar-Dc_YuZk2.css → NcAvatar-BdHHFwV3.css} +40 -25
  169. package/dist/assets/{NcBlurHash-BW1TQ16k.css → NcBlurHash-Zj5Z9WKv.css} +2 -2
  170. package/dist/assets/{NcCheckboxRadioSwitch-DhXG73Zr.css → NcCheckboxRadioSwitch-DCSWiHVq.css} +38 -38
  171. package/dist/assets/{NcDateTimePicker-DuZR5gqu.css → NcDateTimePicker-CD0ZGUBz.css} +15 -15
  172. package/dist/assets/{NcFilePicker-D_SA_uGV.css → NcFilePicker-BjFpDu4R.css} +1 -1
  173. package/dist/assets/{NcFormBox-yb5gffYX.css → NcFormBox-DoEpsPVV.css} +11 -11
  174. package/dist/assets/{NcFormBoxButton-BnSImmUm.css → NcFormBoxButton-CFtdjCfy.css} +2 -2
  175. package/dist/assets/{NcFormBoxItem-DiaYRoDl.css → NcFormBoxItem-C918I2qS.css} +14 -14
  176. package/dist/assets/{NcFormBoxSwitch-CDDwfQx6.css → NcFormBoxSwitch-C4cbxBBA.css} +2 -2
  177. package/dist/assets/{NcFormGroup-ChUa97BY.css → NcFormGroup-CUFSO_ru.css} +7 -7
  178. package/dist/assets/{NcHotkey-B-GNBJym.css → NcHotkey-D_InvA0N.css} +8 -8
  179. package/dist/assets/{NcHotkeyList-D7NVZF42.css → NcHotkeyList-XE5Xd_iE.css} +2 -2
  180. package/dist/assets/{NcIconToggleSwitch-Df8M_g5F.css → NcIconToggleSwitch-DO_sv5_o.css} +4 -4
  181. package/dist/assets/{NcKbd-BQUEINsB.css → NcKbd-IflT8hS_.css} +3 -3
  182. package/dist/assets/{NcPopover-CVOTdP6j.css → NcPopover-nBCZ8J9Q.css} +13 -13
  183. package/dist/assets/NcProfileHoverCard-D3V682nS.css +340 -0
  184. package/dist/assets/{NcRadioGroup-DQde-Yd1.css → NcRadioGroup-Bq7x-xEK.css} +2 -2
  185. package/dist/assets/{NcRadioGroupButton-Dwpy1m0F.css → NcRadioGroupButton-i11p0wHX.css} +13 -13
  186. package/dist/assets/NcReferenceWidget-Cg4xOL_8.css +150 -0
  187. package/dist/assets/{NcRichContenteditable-Dwd67_kU.css → NcRichContenteditable-DRPzKa4Z.css} +17 -17
  188. package/dist/assets/{autolink-CR5N0xNQ.css → autolink-CEziQYgN.css} +3 -3
  189. package/dist/assets/{referencePickerModal-C4Pr02xT.css → referencePickerModal-0oYth4rX.css} +0 -149
  190. package/dist/chunks/DockRight-B0D52yCO.mjs +38 -0
  191. package/dist/chunks/DockRight-B0D52yCO.mjs.map +1 -0
  192. package/dist/chunks/DockRight-CXafXJaH.cjs +37 -0
  193. package/dist/chunks/DockRight-CXafXJaH.cjs.map +1 -0
  194. package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs → NcActionButtonGroup-C3eUBbt4.mjs} +2 -2
  195. package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs.map → NcActionButtonGroup-C3eUBbt4.mjs.map} +1 -1
  196. package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs → NcActionButtonGroup-CsOhQH6p.cjs} +2 -2
  197. package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs.map → NcActionButtonGroup-CsOhQH6p.cjs.map} +1 -1
  198. package/dist/chunks/{NcActionInput-DITmqZz5.cjs → NcActionInput-C-j7Mehu.cjs} +5 -5
  199. package/dist/chunks/{NcActionInput-DITmqZz5.cjs.map → NcActionInput-C-j7Mehu.cjs.map} +1 -1
  200. package/dist/chunks/{NcActionInput-Xepxb1Nk.mjs → NcActionInput-CMLDgnF_.mjs} +5 -5
  201. package/dist/chunks/{NcActionInput-Xepxb1Nk.mjs.map → NcActionInput-CMLDgnF_.mjs.map} +1 -1
  202. package/dist/chunks/{NcActions-JnumflF4.mjs → NcActions-CX1MSord.mjs} +5 -5
  203. package/dist/chunks/{NcActions-JnumflF4.mjs.map → NcActions-CX1MSord.mjs.map} +1 -1
  204. package/dist/chunks/{NcActions-DYWuXM9w.cjs → NcActions-H0GXWVPU.cjs} +5 -5
  205. package/dist/chunks/{NcActions-DYWuXM9w.cjs.map → NcActions-H0GXWVPU.cjs.map} +1 -1
  206. package/dist/chunks/{NcAppContent-BScPRxTJ.mjs → NcAppContent-7ziLICwJ.mjs} +5 -6
  207. package/dist/chunks/NcAppContent-7ziLICwJ.mjs.map +1 -0
  208. package/dist/chunks/{NcAppContent-BDqXhfww.cjs → NcAppContent-BCYyp6nc.cjs} +7 -8
  209. package/dist/chunks/NcAppContent-BCYyp6nc.cjs.map +1 -0
  210. package/dist/chunks/{NcAppNavigation-C4iIEWY3.mjs → NcAppNavigation-BDyBoXA1.mjs} +3 -3
  211. package/dist/chunks/{NcAppNavigation-C4iIEWY3.mjs.map → NcAppNavigation-BDyBoXA1.mjs.map} +1 -1
  212. package/dist/chunks/{NcAppNavigation-qz271rGf.cjs → NcAppNavigation-BEor4mmi.cjs} +3 -3
  213. package/dist/chunks/{NcAppNavigation-qz271rGf.cjs.map → NcAppNavigation-BEor4mmi.cjs.map} +1 -1
  214. package/dist/chunks/{NcAppNavigationCaption-BJnvmftc.mjs → NcAppNavigationCaption-DYdHKPv7.mjs} +2 -2
  215. package/dist/chunks/{NcAppNavigationCaption-BJnvmftc.mjs.map → NcAppNavigationCaption-DYdHKPv7.mjs.map} +1 -1
  216. package/dist/chunks/{NcAppNavigationCaption-CYN9-_R2.cjs → NcAppNavigationCaption-drD-T2kk.cjs} +2 -2
  217. package/dist/chunks/{NcAppNavigationCaption-CYN9-_R2.cjs.map → NcAppNavigationCaption-drD-T2kk.cjs.map} +1 -1
  218. package/dist/chunks/{NcAppNavigationItem-qRteEY0G.cjs → NcAppNavigationItem-Ccy8CT50.cjs} +8 -8
  219. package/dist/chunks/{NcAppNavigationItem-qRteEY0G.cjs.map → NcAppNavigationItem-Ccy8CT50.cjs.map} +1 -1
  220. package/dist/chunks/{NcAppNavigationItem-DRaKry-f.mjs → NcAppNavigationItem-Dg-2s6bP.mjs} +8 -8
  221. package/dist/chunks/{NcAppNavigationItem-DRaKry-f.mjs.map → NcAppNavigationItem-Dg-2s6bP.mjs.map} +1 -1
  222. package/dist/chunks/{NcAppNavigationNew-BAuYV_06.cjs → NcAppNavigationNew-4O3IsPEz.cjs} +2 -2
  223. package/dist/chunks/{NcAppNavigationNew-BAuYV_06.cjs.map → NcAppNavigationNew-4O3IsPEz.cjs.map} +1 -1
  224. package/dist/chunks/{NcAppNavigationNew-BOfIdgIu.mjs → NcAppNavigationNew-B8Ny1xKx.mjs} +2 -2
  225. package/dist/chunks/{NcAppNavigationNew-BOfIdgIu.mjs.map → NcAppNavigationNew-B8Ny1xKx.mjs.map} +1 -1
  226. package/dist/chunks/{NcAppNavigationNewItem-KbbB-8vX.mjs → NcAppNavigationNewItem-BHnL_502.mjs} +2 -2
  227. package/dist/chunks/{NcAppNavigationNewItem-KbbB-8vX.mjs.map → NcAppNavigationNewItem-BHnL_502.mjs.map} +1 -1
  228. package/dist/chunks/{NcAppNavigationNewItem-B-29d1We.cjs → NcAppNavigationNewItem-CW4Y7Hz9.cjs} +2 -2
  229. package/dist/chunks/{NcAppNavigationNewItem-B-29d1We.cjs.map → NcAppNavigationNewItem-CW4Y7Hz9.cjs.map} +1 -1
  230. package/dist/chunks/{NcAppNavigationSearch-CI_e6Rva.mjs → NcAppNavigationSearch-DIO0S2TU.mjs} +4 -4
  231. package/dist/chunks/{NcAppNavigationSearch-CI_e6Rva.mjs.map → NcAppNavigationSearch-DIO0S2TU.mjs.map} +1 -1
  232. package/dist/chunks/{NcAppNavigationSearch-Du8eBuvW.cjs → NcAppNavigationSearch-DZEqsYpD.cjs} +4 -4
  233. package/dist/chunks/{NcAppNavigationSearch-Du8eBuvW.cjs.map → NcAppNavigationSearch-DZEqsYpD.cjs.map} +1 -1
  234. package/dist/chunks/{NcAppNavigationSettings-BN3w-BCp.mjs → NcAppNavigationSettings-3jZKd9et.mjs} +5 -5
  235. package/dist/chunks/{NcAppNavigationSettings-BN3w-BCp.mjs.map → NcAppNavigationSettings-3jZKd9et.mjs.map} +1 -1
  236. package/dist/chunks/{NcAppNavigationSettings-C2Txc8sh.cjs → NcAppNavigationSettings-DpIprW-E.cjs} +5 -5
  237. package/dist/chunks/{NcAppNavigationSettings-C2Txc8sh.cjs.map → NcAppNavigationSettings-DpIprW-E.cjs.map} +1 -1
  238. package/dist/chunks/{NcAppNavigationToggle-B7K9pxVq.cjs → NcAppNavigationToggle-DFGuYTE8.cjs} +23 -52
  239. package/dist/chunks/NcAppNavigationToggle-DFGuYTE8.cjs.map +1 -0
  240. package/dist/chunks/{NcAppNavigationToggle-CZqz-wC8.mjs → NcAppNavigationToggle-DQZ2LWw4.mjs} +23 -52
  241. package/dist/chunks/NcAppNavigationToggle-DQZ2LWw4.mjs.map +1 -0
  242. package/dist/chunks/{NcAppSettingsDialog-DhHJQute.cjs → NcAppSettingsDialog-BoHdpAtG.cjs} +9 -9
  243. package/dist/chunks/{NcAppSettingsDialog-DhHJQute.cjs.map → NcAppSettingsDialog-BoHdpAtG.cjs.map} +1 -1
  244. package/dist/chunks/{NcAppSettingsDialog-C7Oywy1u.mjs → NcAppSettingsDialog-JB67n8yt.mjs} +9 -9
  245. package/dist/chunks/{NcAppSettingsDialog-C7Oywy1u.mjs.map → NcAppSettingsDialog-JB67n8yt.mjs.map} +1 -1
  246. package/dist/chunks/{NcAppSettingsShortcutsSection-CLKzAASc.cjs → NcAppSettingsShortcutsSection-Bli0fYba.cjs} +6 -6
  247. package/dist/chunks/NcAppSettingsShortcutsSection-Bli0fYba.cjs.map +1 -0
  248. package/dist/chunks/{NcAppSettingsShortcutsSection-D3ylJW58.mjs → NcAppSettingsShortcutsSection-BpUlnEbQ.mjs} +6 -6
  249. package/dist/chunks/NcAppSettingsShortcutsSection-BpUlnEbQ.mjs.map +1 -0
  250. package/dist/chunks/{NcAppSidebar-CEo2tgBa.mjs → NcAppSidebar-B2F66PCc.mjs} +13 -45
  251. package/dist/chunks/NcAppSidebar-B2F66PCc.mjs.map +1 -0
  252. package/dist/chunks/{NcAppSidebar-DJ8JImth.cjs → NcAppSidebar-CMHPTlTQ.cjs} +13 -45
  253. package/dist/chunks/NcAppSidebar-CMHPTlTQ.cjs.map +1 -0
  254. package/dist/chunks/{NcAssistantButton-CHiZT-vH.mjs → NcAssistantButton-D2gOuok6.mjs} +11 -11
  255. package/dist/chunks/{NcAssistantButton-CHiZT-vH.mjs.map → NcAssistantButton-D2gOuok6.mjs.map} +1 -1
  256. package/dist/chunks/{NcAssistantButton-CPlpv0Sl.cjs → NcAssistantButton-po8AW9pX.cjs} +11 -11
  257. package/dist/chunks/{NcAssistantButton-CPlpv0Sl.cjs.map → NcAssistantButton-po8AW9pX.cjs.map} +1 -1
  258. package/dist/chunks/{NcAssistantIcon-mcLe7umL.mjs → NcAssistantIcon-CTTn1608.mjs} +6 -6
  259. package/dist/chunks/{NcAssistantIcon-mcLe7umL.mjs.map → NcAssistantIcon-CTTn1608.mjs.map} +1 -1
  260. package/dist/chunks/{NcAssistantIcon-CS-KbVIN.cjs → NcAssistantIcon-D_1fcbQU.cjs} +6 -6
  261. package/dist/chunks/{NcAssistantIcon-CS-KbVIN.cjs.map → NcAssistantIcon-D_1fcbQU.cjs.map} +1 -1
  262. package/dist/chunks/{NcAvatar-BFWbPSke.cjs → NcAvatar-BbR_mZyT.cjs} +125 -20
  263. package/dist/chunks/NcAvatar-BbR_mZyT.cjs.map +1 -0
  264. package/dist/chunks/{NcAvatar-BBqomFJ3.mjs → NcAvatar-C1ty7wsG.mjs} +124 -20
  265. package/dist/chunks/NcAvatar-C1ty7wsG.mjs.map +1 -0
  266. package/dist/chunks/{NcBlurHash-DEa3MZG5.cjs → NcBlurHash-CXPnoVsM.cjs} +4 -4
  267. package/dist/chunks/{NcBlurHash-DEa3MZG5.cjs.map → NcBlurHash-CXPnoVsM.cjs.map} +1 -1
  268. package/dist/chunks/{NcBlurHash-CP2UBH-9.mjs → NcBlurHash-DKfLn7BC.mjs} +4 -4
  269. package/dist/chunks/{NcBlurHash-CP2UBH-9.mjs.map → NcBlurHash-DKfLn7BC.mjs.map} +1 -1
  270. package/dist/chunks/{NcBreadcrumb-BN1Qrbjc.mjs → NcBreadcrumb-BPaEIFrD.mjs} +3 -3
  271. package/dist/chunks/{NcBreadcrumb-BN1Qrbjc.mjs.map → NcBreadcrumb-BPaEIFrD.mjs.map} +1 -1
  272. package/dist/chunks/{NcBreadcrumb-D81qHmqH.cjs → NcBreadcrumb-ZV3_rxwo.cjs} +3 -3
  273. package/dist/chunks/{NcBreadcrumb-D81qHmqH.cjs.map → NcBreadcrumb-ZV3_rxwo.cjs.map} +1 -1
  274. package/dist/chunks/{NcBreadcrumbs-OySgLqXi.mjs → NcBreadcrumbs-BN_Nk5sm.mjs} +3 -3
  275. package/dist/chunks/{NcBreadcrumbs-OySgLqXi.mjs.map → NcBreadcrumbs-BN_Nk5sm.mjs.map} +1 -1
  276. package/dist/chunks/{NcBreadcrumbs-DxnTSsvR.cjs → NcBreadcrumbs-lgJctYCF.cjs} +3 -3
  277. package/dist/chunks/{NcBreadcrumbs-DxnTSsvR.cjs.map → NcBreadcrumbs-lgJctYCF.cjs.map} +1 -1
  278. package/dist/chunks/{NcButton-D6Swkr1k.mjs → NcButton-DAGirW_B.mjs} +2 -2
  279. package/dist/chunks/{NcButton-D6Swkr1k.mjs.map → NcButton-DAGirW_B.mjs.map} +1 -1
  280. package/dist/chunks/{NcButton-B3UxfMyE.cjs → NcButton-W3wDpCdX.cjs} +2 -2
  281. package/dist/chunks/{NcButton-B3UxfMyE.cjs.map → NcButton-W3wDpCdX.cjs.map} +1 -1
  282. package/dist/chunks/{NcCheckboxRadioSwitch-Ddl_QlRN.mjs → NcCheckboxRadioSwitch-BAjRm8PQ.mjs} +17 -8
  283. package/dist/chunks/NcCheckboxRadioSwitch-BAjRm8PQ.mjs.map +1 -0
  284. package/dist/chunks/{NcCheckboxRadioSwitch-BonPjuho.cjs → NcCheckboxRadioSwitch-Bc1iPxKK.cjs} +17 -8
  285. package/dist/chunks/{NcCheckboxRadioSwitch-Ddl_QlRN.mjs.map → NcCheckboxRadioSwitch-Bc1iPxKK.cjs.map} +1 -1
  286. package/dist/chunks/{NcCollectionList-q7zkDwqG.mjs → NcCollectionList-75D50pZU.mjs} +8 -8
  287. package/dist/chunks/{NcCollectionList-q7zkDwqG.mjs.map → NcCollectionList-75D50pZU.mjs.map} +1 -1
  288. package/dist/chunks/{NcCollectionList-BXSYaf2B.cjs → NcCollectionList-CX9fHs--.cjs} +8 -8
  289. package/dist/chunks/{NcCollectionList-BXSYaf2B.cjs.map → NcCollectionList-CX9fHs--.cjs.map} +1 -1
  290. package/dist/chunks/{NcColorPicker-DlAxFoRr.mjs → NcColorPicker-BwqjqV32.mjs} +6 -6
  291. package/dist/chunks/{NcColorPicker-DlAxFoRr.mjs.map → NcColorPicker-BwqjqV32.mjs.map} +1 -1
  292. package/dist/chunks/{NcColorPicker-CO85TDOK.cjs → NcColorPicker-oQVwX8dO.cjs} +6 -6
  293. package/dist/chunks/{NcColorPicker-CO85TDOK.cjs.map → NcColorPicker-oQVwX8dO.cjs.map} +1 -1
  294. package/dist/chunks/{NcContent-D5FcB_7G.cjs → NcContent-BlABZ4r6.cjs} +5 -5
  295. package/dist/chunks/{NcContent-D5FcB_7G.cjs.map → NcContent-BlABZ4r6.cjs.map} +1 -1
  296. package/dist/chunks/{NcContent-BgMXU5Dv.mjs → NcContent-nvVwz9xO.mjs} +5 -5
  297. package/dist/chunks/{NcContent-BgMXU5Dv.mjs.map → NcContent-nvVwz9xO.mjs.map} +1 -1
  298. package/dist/chunks/{NcDashboardWidget-DnR3x-B1.cjs → NcDashboardWidget-CY9oWI6e.cjs} +5 -5
  299. package/dist/chunks/{NcDashboardWidget-DnR3x-B1.cjs.map → NcDashboardWidget-CY9oWI6e.cjs.map} +1 -1
  300. package/dist/chunks/{NcDashboardWidget-oyS__D-B.mjs → NcDashboardWidget-d_eqooRR.mjs} +5 -5
  301. package/dist/chunks/{NcDashboardWidget-oyS__D-B.mjs.map → NcDashboardWidget-d_eqooRR.mjs.map} +1 -1
  302. package/dist/chunks/{NcDashboardWidgetItem-NxvhaIPP.cjs → NcDashboardWidgetItem-BWELTjeT.cjs} +3 -3
  303. package/dist/chunks/{NcDashboardWidgetItem-NxvhaIPP.cjs.map → NcDashboardWidgetItem-BWELTjeT.cjs.map} +1 -1
  304. package/dist/chunks/{NcDashboardWidgetItem-uYQMYeJS.mjs → NcDashboardWidgetItem-BiZ8QNOR.mjs} +3 -3
  305. package/dist/chunks/{NcDashboardWidgetItem-uYQMYeJS.mjs.map → NcDashboardWidgetItem-BiZ8QNOR.mjs.map} +1 -1
  306. package/dist/chunks/{NcDialog-W8ujIWJd.cjs → NcDialog-CiuR4ZK0.cjs} +2 -2
  307. package/dist/chunks/{NcDialog-W8ujIWJd.cjs.map → NcDialog-CiuR4ZK0.cjs.map} +1 -1
  308. package/dist/chunks/{NcDialog-DmRqcm3W.mjs → NcDialog-DoGsI2_6.mjs} +2 -2
  309. package/dist/chunks/{NcDialog-DmRqcm3W.mjs.map → NcDialog-DoGsI2_6.mjs.map} +1 -1
  310. package/dist/chunks/{NcDialogButton-C8RbaSqF.cjs → NcDialogButton-BR6KI4--.cjs} +4 -4
  311. package/dist/chunks/{NcDialogButton-C8RbaSqF.cjs.map → NcDialogButton-BR6KI4--.cjs.map} +1 -1
  312. package/dist/chunks/{NcDialogButton-Bqjj-wmb.mjs → NcDialogButton-D5yuDtSF.mjs} +4 -4
  313. package/dist/chunks/{NcDialogButton-Bqjj-wmb.mjs.map → NcDialogButton-D5yuDtSF.mjs.map} +1 -1
  314. package/dist/chunks/{NcEmojiPicker-ClkGGFdW.mjs → NcEmojiPicker-C_88_f6x.mjs} +8 -8
  315. package/dist/chunks/{NcEmojiPicker-ClkGGFdW.mjs.map → NcEmojiPicker-C_88_f6x.mjs.map} +1 -1
  316. package/dist/chunks/{NcEmojiPicker-7aElsqCQ.cjs → NcEmojiPicker-Dyqwkm_d.cjs} +8 -8
  317. package/dist/chunks/{NcEmojiPicker-7aElsqCQ.cjs.map → NcEmojiPicker-Dyqwkm_d.cjs.map} +1 -1
  318. package/dist/chunks/{NcFilePicker-DaUHiwFm.cjs → NcFilePicker-Cdc1TsXy.cjs} +6 -6
  319. package/dist/chunks/{NcFilePicker-DaUHiwFm.cjs.map → NcFilePicker-Cdc1TsXy.cjs.map} +1 -1
  320. package/dist/chunks/{NcFilePicker-B57HJpaE.mjs → NcFilePicker-Dg6UqMN1.mjs} +6 -6
  321. package/dist/chunks/{NcFilePicker-B57HJpaE.mjs.map → NcFilePicker-Dg6UqMN1.mjs.map} +1 -1
  322. package/dist/chunks/{NcFormBox-Bd7m8ffs.mjs → NcFormBox-C38-8CH6.mjs} +7 -7
  323. package/dist/chunks/{NcFormBox-Bd7m8ffs.mjs.map → NcFormBox-C38-8CH6.mjs.map} +1 -1
  324. package/dist/chunks/{NcFormBox-LJwAiXyR.cjs → NcFormBox-C8LDr6nF.cjs} +7 -7
  325. package/dist/chunks/{NcFormBox-LJwAiXyR.cjs.map → NcFormBox-C8LDr6nF.cjs.map} +1 -1
  326. package/dist/chunks/{NcFormBoxButton-BDI6Q7WA.cjs → NcFormBoxButton-Bk-1cqbj.cjs} +5 -5
  327. package/dist/chunks/{NcFormBoxButton-BDI6Q7WA.cjs.map → NcFormBoxButton-Bk-1cqbj.cjs.map} +1 -1
  328. package/dist/chunks/{NcFormBoxButton-CRL7kucw.mjs → NcFormBoxButton-DFqqtbav.mjs} +5 -5
  329. package/dist/chunks/{NcFormBoxButton-CRL7kucw.mjs.map → NcFormBoxButton-DFqqtbav.mjs.map} +1 -1
  330. package/dist/chunks/{NcFormBoxCopyButton-Bk121Oc2.cjs → NcFormBoxCopyButton-LEjPAg3D.cjs} +3 -3
  331. package/dist/chunks/{NcFormBoxCopyButton-Bk121Oc2.cjs.map → NcFormBoxCopyButton-LEjPAg3D.cjs.map} +1 -1
  332. package/dist/chunks/{NcFormBoxCopyButton-BOENrJAS.mjs → NcFormBoxCopyButton-_KxKabAB.mjs} +3 -3
  333. package/dist/chunks/{NcFormBoxCopyButton-BOENrJAS.mjs.map → NcFormBoxCopyButton-_KxKabAB.mjs.map} +1 -1
  334. package/dist/chunks/{NcFormBoxItem-Dmcja_Xa.cjs → NcFormBoxItem-BAJxkxRf.cjs} +11 -11
  335. package/dist/chunks/{NcFormBoxItem-Dmcja_Xa.cjs.map → NcFormBoxItem-BAJxkxRf.cjs.map} +1 -1
  336. package/dist/chunks/{NcFormBoxItem-DasY7_rJ.mjs → NcFormBoxItem-CmfqBL1k.mjs} +11 -11
  337. package/dist/chunks/{NcFormBoxItem-DasY7_rJ.mjs.map → NcFormBoxItem-CmfqBL1k.mjs.map} +1 -1
  338. package/dist/chunks/{NcFormBoxSwitch-bdRBjKGq.mjs → NcFormBoxSwitch-B34n4EwU.mjs} +6 -6
  339. package/dist/chunks/{NcFormBoxSwitch-bdRBjKGq.mjs.map → NcFormBoxSwitch-B34n4EwU.mjs.map} +1 -1
  340. package/dist/chunks/{NcFormBoxSwitch-CEO4FLdd.cjs → NcFormBoxSwitch-Bw2utaCz.cjs} +6 -6
  341. package/dist/chunks/{NcFormBoxSwitch-CEO4FLdd.cjs.map → NcFormBoxSwitch-Bw2utaCz.cjs.map} +1 -1
  342. package/dist/chunks/{NcFormGroup-wzUs2kfP.cjs → NcFormGroup-dH5AXvsT.cjs} +9 -9
  343. package/dist/chunks/{NcFormGroup-wzUs2kfP.cjs.map → NcFormGroup-dH5AXvsT.cjs.map} +1 -1
  344. package/dist/chunks/{NcFormGroup-tW-MwPUj.mjs → NcFormGroup-geUvdoIG.mjs} +9 -9
  345. package/dist/chunks/{NcFormGroup-tW-MwPUj.mjs.map → NcFormGroup-geUvdoIG.mjs.map} +1 -1
  346. package/dist/chunks/{NcHeaderButton-MEyDJghO.mjs → NcHeaderButton-BqjMDSal.mjs} +2 -2
  347. package/dist/chunks/{NcHeaderButton-MEyDJghO.mjs.map → NcHeaderButton-BqjMDSal.mjs.map} +1 -1
  348. package/dist/chunks/{NcHeaderButton-SRHcPWsp.cjs → NcHeaderButton-ChwiTpxY.cjs} +2 -2
  349. package/dist/chunks/{NcHeaderButton-SRHcPWsp.cjs.map → NcHeaderButton-ChwiTpxY.cjs.map} +1 -1
  350. package/dist/chunks/{NcHeaderMenu-jHItu4LV.mjs → NcHeaderMenu-BB2r8v-X.mjs} +2 -2
  351. package/dist/chunks/{NcHeaderMenu-jHItu4LV.mjs.map → NcHeaderMenu-BB2r8v-X.mjs.map} +1 -1
  352. package/dist/chunks/{NcHeaderMenu-C-K0LFEH.cjs → NcHeaderMenu-BivYykFA.cjs} +2 -2
  353. package/dist/chunks/{NcHeaderMenu-C-K0LFEH.cjs.map → NcHeaderMenu-BivYykFA.cjs.map} +1 -1
  354. package/dist/chunks/{NcHotkey-CpgacYSd.mjs → NcHotkey-B6KIqqii.mjs} +7 -7
  355. package/dist/chunks/{NcHotkey-CpgacYSd.mjs.map → NcHotkey-B6KIqqii.mjs.map} +1 -1
  356. package/dist/chunks/{NcHotkey-CLFZr-9x.cjs → NcHotkey-BVSKiKpz.cjs} +7 -7
  357. package/dist/chunks/{NcHotkey-CLFZr-9x.cjs.map → NcHotkey-BVSKiKpz.cjs.map} +1 -1
  358. package/dist/chunks/{NcHotkeyList-BYFbKo6_.mjs → NcHotkeyList-BACQoMeA.mjs} +6 -6
  359. package/dist/chunks/{NcHotkeyList-BYFbKo6_.mjs.map → NcHotkeyList-BACQoMeA.mjs.map} +1 -1
  360. package/dist/chunks/{NcHotkeyList-C_w3SAG_.cjs → NcHotkeyList-Crj5V-KW.cjs} +6 -6
  361. package/dist/chunks/{NcHotkeyList-C_w3SAG_.cjs.map → NcHotkeyList-Crj5V-KW.cjs.map} +1 -1
  362. package/dist/chunks/{NcIconToggleSwitch-DCTeQGv5.mjs → NcIconToggleSwitch-B19dt_oD.mjs} +4 -4
  363. package/dist/chunks/{NcIconToggleSwitch-DCTeQGv5.mjs.map → NcIconToggleSwitch-B19dt_oD.mjs.map} +1 -1
  364. package/dist/chunks/{NcIconToggleSwitch-Boo2ulI6.cjs → NcIconToggleSwitch-DZSBCDbH.cjs} +4 -4
  365. package/dist/chunks/{NcIconToggleSwitch-Boo2ulI6.cjs.map → NcIconToggleSwitch-DZSBCDbH.cjs.map} +1 -1
  366. package/dist/chunks/{NcInputConfirmCancel-zqo4ijEJ.mjs → NcInputConfirmCancel-44rhjqEA.mjs} +5 -5
  367. package/dist/chunks/{NcInputConfirmCancel-zqo4ijEJ.mjs.map → NcInputConfirmCancel-44rhjqEA.mjs.map} +1 -1
  368. package/dist/chunks/{NcInputConfirmCancel-CcPcB-bZ.cjs → NcInputConfirmCancel-CaCFiQnc.cjs} +5 -5
  369. package/dist/chunks/{NcInputConfirmCancel-CcPcB-bZ.cjs.map → NcInputConfirmCancel-CaCFiQnc.cjs.map} +1 -1
  370. package/dist/chunks/{NcInputField-DPby7_cZ.cjs → NcInputField-BcmWwfT5.cjs} +3 -3
  371. package/dist/chunks/{NcInputField-DPby7_cZ.cjs.map → NcInputField-BcmWwfT5.cjs.map} +1 -1
  372. package/dist/chunks/{NcInputField-BrzZ8Bne.mjs → NcInputField-Cym5GuvB.mjs} +3 -3
  373. package/dist/chunks/{NcInputField-BrzZ8Bne.mjs.map → NcInputField-Cym5GuvB.mjs.map} +1 -1
  374. package/dist/chunks/{NcKbd-uMv3QPhD.cjs → NcKbd-CrXHar_q.cjs} +6 -6
  375. package/dist/chunks/{NcKbd-uMv3QPhD.cjs.map → NcKbd-CrXHar_q.cjs.map} +1 -1
  376. package/dist/chunks/{NcKbd-CXJA9sCj.mjs → NcKbd-D86qGvDb.mjs} +6 -6
  377. package/dist/chunks/{NcKbd-CXJA9sCj.mjs.map → NcKbd-D86qGvDb.mjs.map} +1 -1
  378. package/dist/chunks/{NcListItem-BjV4Jjw0.cjs → NcListItem-5_QrKITf.cjs} +2 -2
  379. package/dist/chunks/{NcListItem-BjV4Jjw0.cjs.map → NcListItem-5_QrKITf.cjs.map} +1 -1
  380. package/dist/chunks/{NcListItem-Ciok4H4t.mjs → NcListItem-DFrhF-DU.mjs} +2 -2
  381. package/dist/chunks/{NcListItem-Ciok4H4t.mjs.map → NcListItem-DFrhF-DU.mjs.map} +1 -1
  382. package/dist/chunks/{NcListItemIcon-DukIl2hl.cjs → NcListItemIcon-BpEOUL7y.cjs} +2 -2
  383. package/dist/chunks/{NcListItemIcon-DukIl2hl.cjs.map → NcListItemIcon-BpEOUL7y.cjs.map} +1 -1
  384. package/dist/chunks/{NcListItemIcon-DdkIQyoP.mjs → NcListItemIcon-DIecVacf.mjs} +2 -2
  385. package/dist/chunks/{NcListItemIcon-DdkIQyoP.mjs.map → NcListItemIcon-DIecVacf.mjs.map} +1 -1
  386. package/dist/chunks/{NcPasswordField-CSeFP0Uz.mjs → NcPasswordField-2woxTjbl.mjs} +4 -4
  387. package/dist/chunks/{NcPasswordField-CSeFP0Uz.mjs.map → NcPasswordField-2woxTjbl.mjs.map} +1 -1
  388. package/dist/chunks/{NcPasswordField-9QeCVkJe.cjs → NcPasswordField-C1FGaXn4.cjs} +4 -4
  389. package/dist/chunks/{NcPasswordField-9QeCVkJe.cjs.map → NcPasswordField-C1FGaXn4.cjs.map} +1 -1
  390. package/dist/chunks/{NcPopover-BzTp7LfM.mjs → NcPopover-BaHX3QSG.mjs} +4 -4
  391. package/dist/chunks/{NcPopover-BzTp7LfM.mjs.map → NcPopover-BaHX3QSG.mjs.map} +1 -1
  392. package/dist/chunks/{NcPopover-BIGPurEP.cjs → NcPopover-Bq-bsaqt.cjs} +4 -4
  393. package/dist/chunks/{NcPopover-BIGPurEP.cjs.map → NcPopover-Bq-bsaqt.cjs.map} +1 -1
  394. package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs +479 -0
  395. package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs.map +1 -0
  396. package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs +481 -0
  397. package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs.map +1 -0
  398. package/dist/chunks/{NcRadioGroup-BbMUIkWl.cjs → NcRadioGroup-C2lG1kIj.cjs} +6 -6
  399. package/dist/chunks/{NcRadioGroup-BbMUIkWl.cjs.map → NcRadioGroup-C2lG1kIj.cjs.map} +1 -1
  400. package/dist/chunks/{NcRadioGroup-D4kc6Jjr.mjs → NcRadioGroup-D_7OAyQ4.mjs} +6 -6
  401. package/dist/chunks/{NcRadioGroup-D4kc6Jjr.mjs.map → NcRadioGroup-D_7OAyQ4.mjs.map} +1 -1
  402. package/dist/chunks/{NcRadioGroupButton-B8a5TW2l.mjs → NcRadioGroupButton-CkpB4myv.mjs} +8 -8
  403. package/dist/chunks/{NcRadioGroupButton-B8a5TW2l.mjs.map → NcRadioGroupButton-CkpB4myv.mjs.map} +1 -1
  404. package/dist/chunks/{NcRadioGroupButton-7ImC11aP.cjs → NcRadioGroupButton-DcU_Yagn.cjs} +8 -8
  405. package/dist/chunks/{NcRadioGroupButton-7ImC11aP.cjs.map → NcRadioGroupButton-DcU_Yagn.cjs.map} +1 -1
  406. package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs +280 -0
  407. package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs.map +1 -0
  408. package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs +281 -0
  409. package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs.map +1 -0
  410. package/dist/chunks/{NcRelatedResourcesPanel-CFp3GPty.mjs → NcRelatedResourcesPanel-BKygMHvP.mjs} +7 -7
  411. package/dist/chunks/{NcRelatedResourcesPanel-CFp3GPty.mjs.map → NcRelatedResourcesPanel-BKygMHvP.mjs.map} +1 -1
  412. package/dist/chunks/{NcRelatedResourcesPanel-C7r-tIz-.cjs → NcRelatedResourcesPanel-CjmzJ9Ex.cjs} +7 -7
  413. package/dist/chunks/{NcRelatedResourcesPanel-C7r-tIz-.cjs.map → NcRelatedResourcesPanel-CjmzJ9Ex.cjs.map} +1 -1
  414. package/dist/chunks/{NcRichContenteditable-DbhcrLP_.cjs → NcRichContenteditable-CaDBJIrd.cjs} +27 -31
  415. package/dist/chunks/{NcRichContenteditable-CG7oWfBl.mjs.map → NcRichContenteditable-CaDBJIrd.cjs.map} +1 -1
  416. package/dist/chunks/{NcRichContenteditable-CG7oWfBl.mjs → NcRichContenteditable-rJPX28V6.mjs} +27 -31
  417. package/dist/chunks/{NcRichContenteditable-DbhcrLP_.cjs.map → NcRichContenteditable-rJPX28V6.mjs.map} +1 -1
  418. package/dist/chunks/{NcRichText-b0ZZCvrD.cjs → NcRichText-BC9lKFPb.cjs} +7 -7
  419. package/dist/chunks/{NcRichText-b0ZZCvrD.cjs.map → NcRichText-BC9lKFPb.cjs.map} +1 -1
  420. package/dist/chunks/{NcRichText-C3Nj11Wy.mjs → NcRichText-K2ZjNIbK.mjs} +6 -6
  421. package/dist/chunks/{NcRichText-C3Nj11Wy.mjs.map → NcRichText-K2ZjNIbK.mjs.map} +1 -1
  422. package/dist/chunks/{NcSelect-DrKzKPZL.mjs → NcSelect-CxHfXvZV.mjs} +5 -5
  423. package/dist/chunks/{NcSelect-DrKzKPZL.mjs.map → NcSelect-CxHfXvZV.mjs.map} +1 -1
  424. package/dist/chunks/{NcSelect-BYRnqQaI.cjs → NcSelect-DW5W3ZIM.cjs} +5 -5
  425. package/dist/chunks/{NcSelect-BYRnqQaI.cjs.map → NcSelect-DW5W3ZIM.cjs.map} +1 -1
  426. package/dist/chunks/{NcSelectTags-D8pmnLor.mjs → NcSelectTags-BWTTPN2O.mjs} +3 -3
  427. package/dist/chunks/{NcSelectTags-D8pmnLor.mjs.map → NcSelectTags-BWTTPN2O.mjs.map} +1 -1
  428. package/dist/chunks/{NcSelectTags-CL8AQw8J.cjs → NcSelectTags-Bk4doVG3.cjs} +3 -3
  429. package/dist/chunks/{NcSelectTags-CL8AQw8J.cjs.map → NcSelectTags-Bk4doVG3.cjs.map} +1 -1
  430. package/dist/chunks/{NcSelectUsers-CAl1o2gA.cjs → NcSelectUsers-BxmxyFcE.cjs} +5 -5
  431. package/dist/chunks/{NcSelectUsers-CAl1o2gA.cjs.map → NcSelectUsers-BxmxyFcE.cjs.map} +1 -1
  432. package/dist/chunks/{NcSelectUsers-z2bZafO2.mjs → NcSelectUsers-D2jOjPs4.mjs} +5 -5
  433. package/dist/chunks/{NcSelectUsers-z2bZafO2.mjs.map → NcSelectUsers-D2jOjPs4.mjs.map} +1 -1
  434. package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs → NcSettingsInputText-BAMF6udc.cjs} +3 -3
  435. package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs.map → NcSettingsInputText-BAMF6udc.cjs.map} +1 -1
  436. package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs → NcSettingsInputText-Cc7cCwNm.mjs} +3 -3
  437. package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs.map → NcSettingsInputText-Cc7cCwNm.mjs.map} +1 -1
  438. package/dist/chunks/{NcSettingsSection-BfZ8I3zb.cjs → NcSettingsSection-D48jcXDL.cjs} +3 -3
  439. package/dist/chunks/{NcSettingsSection-BfZ8I3zb.cjs.map → NcSettingsSection-D48jcXDL.cjs.map} +1 -1
  440. package/dist/chunks/{NcSettingsSection-DV-x6Ag7.mjs → NcSettingsSection-D9qxzYDc.mjs} +3 -3
  441. package/dist/chunks/{NcSettingsSection-DV-x6Ag7.mjs.map → NcSettingsSection-D9qxzYDc.mjs.map} +1 -1
  442. package/dist/chunks/{NcSettingsSelectGroup-CmotAYwP.cjs → NcSettingsSelectGroup-CJGf5mxJ.cjs} +4 -4
  443. package/dist/chunks/{NcSettingsSelectGroup-CmotAYwP.cjs.map → NcSettingsSelectGroup-CJGf5mxJ.cjs.map} +1 -1
  444. package/dist/chunks/{NcSettingsSelectGroup-CFvLzGNf.mjs → NcSettingsSelectGroup-DzzNyHN_.mjs} +4 -4
  445. package/dist/chunks/{NcSettingsSelectGroup-CFvLzGNf.mjs.map → NcSettingsSelectGroup-DzzNyHN_.mjs.map} +1 -1
  446. package/dist/chunks/{NcTextArea-BUH-0gIq.cjs → NcTextArea-GxhBi7Z3.cjs} +2 -2
  447. package/dist/chunks/{NcTextArea-BUH-0gIq.cjs.map → NcTextArea-GxhBi7Z3.cjs.map} +1 -1
  448. package/dist/chunks/{NcTextArea-C82D8CSK.mjs → NcTextArea-T9totbme.mjs} +2 -2
  449. package/dist/chunks/{NcTextArea-C82D8CSK.mjs.map → NcTextArea-T9totbme.mjs.map} +1 -1
  450. package/dist/chunks/{NcTextField-BPhf3E7g.mjs → NcTextField-CQp8XS4C.mjs} +4 -4
  451. package/dist/chunks/{NcTextField-BPhf3E7g.mjs.map → NcTextField-CQp8XS4C.mjs.map} +1 -1
  452. package/dist/chunks/{NcTextField-2tiCeGZw.cjs → NcTextField-DMxdmT5a.cjs} +4 -4
  453. package/dist/chunks/{NcTextField-2tiCeGZw.cjs.map → NcTextField-DMxdmT5a.cjs.map} +1 -1
  454. package/dist/chunks/{NcTimezonePicker-BSGxeYwn.cjs → NcTimezonePicker-B0rvWaty.cjs} +4 -4
  455. package/dist/chunks/{NcTimezonePicker-BSGxeYwn.cjs.map → NcTimezonePicker-B0rvWaty.cjs.map} +1 -1
  456. package/dist/chunks/{NcTimezonePicker-D4xfdT9T.mjs → NcTimezonePicker-BfSjyBxq.mjs} +4 -4
  457. package/dist/chunks/{NcTimezonePicker-D4xfdT9T.mjs.map → NcTimezonePicker-BfSjyBxq.mjs.map} +1 -1
  458. package/dist/chunks/{NcUserBubble-BJf2sPSm.cjs → NcUserBubble-BR5bw7lO.cjs} +3 -3
  459. package/dist/chunks/{NcUserBubble-BJf2sPSm.cjs.map → NcUserBubble-BR5bw7lO.cjs.map} +1 -1
  460. package/dist/chunks/{NcUserBubble-CuCNjhc8.mjs → NcUserBubble-Bd-PEfyK.mjs} +3 -3
  461. package/dist/chunks/{NcUserBubble-CuCNjhc8.mjs.map → NcUserBubble-Bd-PEfyK.mjs.map} +1 -1
  462. package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs → NcUserStatusIcon-BP2cHGxs.cjs} +5 -5
  463. package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs.map → NcUserStatusIcon-BP2cHGxs.cjs.map} +1 -1
  464. package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs → NcUserStatusIcon-gpl3yJFX.mjs} +5 -5
  465. package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs.map → NcUserStatusIcon-gpl3yJFX.mjs.map} +1 -1
  466. package/dist/chunks/{ScopeComponent-xx9Z3w0D.mjs → ScopeComponent-Df3JYkxQ.mjs} +2 -2
  467. package/dist/chunks/{ScopeComponent-xx9Z3w0D.mjs.map → ScopeComponent-Df3JYkxQ.mjs.map} +1 -1
  468. package/dist/chunks/{ScopeComponent-4M4zyHnT.cjs → ScopeComponent-O4dfHJkP.cjs} +2 -2
  469. package/dist/chunks/{ScopeComponent-4M4zyHnT.cjs.map → ScopeComponent-O4dfHJkP.cjs.map} +1 -1
  470. package/dist/chunks/{_l10n-skrZri3h.cjs → _l10n-Be-gO5QO.cjs} +56 -54
  471. package/dist/chunks/{_l10n-skrZri3h.cjs.map → _l10n-Be-gO5QO.cjs.map} +1 -1
  472. package/dist/chunks/{_l10n-DVz9Qdzk.mjs → _l10n-CAnZaLWU.mjs} +110 -108
  473. package/dist/chunks/_l10n-CAnZaLWU.mjs.map +1 -0
  474. package/dist/chunks/{autolink-CMWUgEzj.cjs → autolink-BHlqTULT.cjs} +5 -5
  475. package/dist/chunks/{autolink-CMWUgEzj.cjs.map → autolink-BHlqTULT.cjs.map} +1 -1
  476. package/dist/chunks/{autolink-C8BYVvdd.mjs → autolink-COrOqbJu.mjs} +5 -5
  477. package/dist/chunks/{autolink-C8BYVvdd.mjs.map → autolink-COrOqbJu.mjs.map} +1 -1
  478. package/dist/chunks/{colors-Bp0JzIQ4.mjs → colors-B_oqiKWY.mjs} +3 -3
  479. package/dist/chunks/{colors-Bp0JzIQ4.mjs.map → colors-B_oqiKWY.mjs.map} +1 -1
  480. package/dist/chunks/{colors-CyIwf6gH.cjs → colors-DF9O093h.cjs} +3 -3
  481. package/dist/chunks/{colors-CyIwf6gH.cjs.map → colors-DF9O093h.cjs.map} +1 -1
  482. package/dist/chunks/customPickerElements-CYpmyl0b.mjs +61 -0
  483. package/dist/chunks/customPickerElements-CYpmyl0b.mjs.map +1 -0
  484. package/dist/chunks/{customPickerElements-CPxrR1_N.cjs → customPickerElements-DNevxofg.cjs} +1 -63
  485. package/dist/chunks/customPickerElements-DNevxofg.cjs.map +1 -0
  486. package/dist/chunks/{legacy-Bk0qQxIg.cjs → legacy-BpZw2Eww.cjs} +4 -2
  487. package/dist/chunks/legacy-BpZw2Eww.cjs.map +1 -0
  488. package/dist/chunks/legacy-Cy3dCXuB.mjs +11 -0
  489. package/dist/chunks/legacy-Cy3dCXuB.mjs.map +1 -0
  490. package/dist/chunks/{referencePickerModal-Cqd084NY.cjs → referencePickerModal-D2nYmN67.cjs} +23 -294
  491. package/dist/chunks/referencePickerModal-D2nYmN67.cjs.map +1 -0
  492. package/dist/chunks/{referencePickerModal-DnsOMAHk.mjs → referencePickerModal-P_15xB7f.mjs} +24 -295
  493. package/dist/chunks/referencePickerModal-P_15xB7f.mjs.map +1 -0
  494. package/dist/chunks/rtl-DLuwcTlm.cjs +5 -0
  495. package/dist/chunks/rtl-DLuwcTlm.cjs.map +1 -0
  496. package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
  497. package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
  498. package/dist/chunks/{useCopy-DDDe5RYH.mjs → useCopy-C-jNoLry.mjs} +3 -3
  499. package/dist/chunks/{useCopy-DDDe5RYH.mjs.map → useCopy-C-jNoLry.mjs.map} +1 -1
  500. package/dist/chunks/{useCopy-3m2jDiIN.cjs → useCopy-DXXjl8MD.cjs} +3 -3
  501. package/dist/chunks/{useCopy-3m2jDiIN.cjs.map → useCopy-DXXjl8MD.cjs.map} +1 -1
  502. package/dist/chunks/widgets-DoYhefYe.cjs +65 -0
  503. package/dist/chunks/widgets-DoYhefYe.cjs.map +1 -0
  504. package/dist/chunks/widgets-XxirL-2f.mjs +66 -0
  505. package/dist/chunks/widgets-XxirL-2f.mjs.map +1 -0
  506. package/dist/components/NcProfileHoverCard/index.d.ts +5 -0
  507. package/dist/components/NcProfileHoverCard/profileCache.d.ts +31 -0
  508. package/dist/index.cjs +78 -80
  509. package/dist/index.cjs.map +1 -1
  510. package/dist/index.mjs +80 -82
  511. package/dist/index.mjs.map +1 -1
  512. package/dist/utils/legacy.d.ts +2 -0
  513. package/package.json +9 -9
  514. package/dist/chunks/NcAppContent-BDqXhfww.cjs.map +0 -1
  515. package/dist/chunks/NcAppContent-BScPRxTJ.mjs.map +0 -1
  516. package/dist/chunks/NcAppNavigationToggle-B7K9pxVq.cjs.map +0 -1
  517. package/dist/chunks/NcAppNavigationToggle-CZqz-wC8.mjs.map +0 -1
  518. package/dist/chunks/NcAppSettingsShortcutsSection-CLKzAASc.cjs.map +0 -1
  519. package/dist/chunks/NcAppSettingsShortcutsSection-D3ylJW58.mjs.map +0 -1
  520. package/dist/chunks/NcAppSidebar-CEo2tgBa.mjs.map +0 -1
  521. package/dist/chunks/NcAppSidebar-DJ8JImth.cjs.map +0 -1
  522. package/dist/chunks/NcAvatar-BBqomFJ3.mjs.map +0 -1
  523. package/dist/chunks/NcAvatar-BFWbPSke.cjs.map +0 -1
  524. package/dist/chunks/NcCheckboxRadioSwitch-BonPjuho.cjs.map +0 -1
  525. package/dist/chunks/_l10n-DVz9Qdzk.mjs.map +0 -1
  526. package/dist/chunks/customPickerElements-BGmuXU7x.mjs +0 -123
  527. package/dist/chunks/customPickerElements-BGmuXU7x.mjs.map +0 -1
  528. package/dist/chunks/customPickerElements-CPxrR1_N.cjs.map +0 -1
  529. package/dist/chunks/legacy-Bk0qQxIg.cjs.map +0 -1
  530. package/dist/chunks/legacy-DV3mGZdh.mjs +0 -9
  531. package/dist/chunks/legacy-DV3mGZdh.mjs.map +0 -1
  532. package/dist/chunks/referencePickerModal-Cqd084NY.cjs.map +0 -1
  533. package/dist/chunks/referencePickerModal-DnsOMAHk.mjs.map +0 -1
@@ -0,0 +1,481 @@
1
+ require('../assets/NcProfileHoverCard-D3V682nS.css');
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const Vue = require("vue");
5
+ const auth = require("@nextcloud/auth");
6
+ const axios = require("@nextcloud/axios");
7
+ const capabilities = require("@nextcloud/capabilities");
8
+ const l10n = require("@nextcloud/l10n");
9
+ const router = require("@nextcloud/router");
10
+ const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
11
+ const NcActionButton = require("./NcActionButton-B1jvJWjl.cjs");
12
+ const Components_NcActionLink = require("../Components/NcActionLink.cjs");
13
+ const Components_NcActionRouter = require("../Components/NcActionRouter.cjs");
14
+ const NcActions = require("./NcActions-H0GXWVPU.cjs");
15
+ const NcAvatar = require("./NcAvatar-BbR_mZyT.cjs");
16
+ const NcButton = require("./NcButton-W3wDpCdX.cjs");
17
+ const Components_NcEmptyContent = require("../Components/NcEmptyContent.cjs");
18
+ const Components_NcLoadingIcon = require("../Components/NcLoadingIcon.cjs");
19
+ const NcRichText = require("./NcRichText-BC9lKFPb.cjs");
20
+ const Composables_useIsMobile = require("../Composables/useIsMobile.cjs");
21
+ const _l10n = require("./_l10n-Be-gO5QO.cjs");
22
+ const logger = require("./logger-3HuiEIF6.cjs");
23
+ const NcIconSvgWrapper = require("./NcIconSvgWrapper-Bbl4kXZI.cjs");
24
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
25
+ const axios__default = /* @__PURE__ */ _interopDefault(axios);
26
+ const _sfc_main$5 = {
27
+ name: "AccountOutlineIcon",
28
+ emits: ["click"],
29
+ props: {
30
+ title: {
31
+ type: String
32
+ },
33
+ fillColor: {
34
+ type: String,
35
+ default: "currentColor"
36
+ },
37
+ size: {
38
+ type: Number,
39
+ default: 24
40
+ }
41
+ }
42
+ };
43
+ var _sfc_render$5 = function render() {
44
+ var _vm = this, _c = _vm._self._c;
45
+ return _c("span", _vm._b({ staticClass: "material-design-icon account-outline-icon", attrs: { "aria-hidden": _vm.title ? null : "true", "aria-label": _vm.title, "role": "img" }, on: { "click": function($event) {
46
+ return _vm.$emit("click", $event);
47
+ } } }, "span", _vm.$attrs, false), [_c("svg", { staticClass: "material-design-icon__svg", attrs: { "fill": _vm.fillColor, "width": _vm.size, "height": _vm.size, "viewBox": "0 0 24 24" } }, [_c("path", { attrs: { "d": "M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z" } }, [_vm.title ? _c("title", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);
48
+ };
49
+ var _sfc_staticRenderFns$5 = [];
50
+ var __component__$5 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
51
+ _sfc_main$5,
52
+ _sfc_render$5,
53
+ _sfc_staticRenderFns$5,
54
+ false,
55
+ null,
56
+ null
57
+ );
58
+ const AccountIcon = __component__$5.exports;
59
+ const _sfc_main$4 = {
60
+ name: "BriefcaseOutlineIcon",
61
+ emits: ["click"],
62
+ props: {
63
+ title: {
64
+ type: String
65
+ },
66
+ fillColor: {
67
+ type: String,
68
+ default: "currentColor"
69
+ },
70
+ size: {
71
+ type: Number,
72
+ default: 24
73
+ }
74
+ }
75
+ };
76
+ var _sfc_render$4 = function render2() {
77
+ var _vm = this, _c = _vm._self._c;
78
+ return _c("span", _vm._b({ staticClass: "material-design-icon briefcase-outline-icon", attrs: { "aria-hidden": _vm.title ? null : "true", "aria-label": _vm.title, "role": "img" }, on: { "click": function($event) {
79
+ return _vm.$emit("click", $event);
80
+ } } }, "span", _vm.$attrs, false), [_c("svg", { staticClass: "material-design-icon__svg", attrs: { "fill": _vm.fillColor, "width": _vm.size, "height": _vm.size, "viewBox": "0 0 24 24" } }, [_c("path", { attrs: { "d": "M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z" } }, [_vm.title ? _c("title", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);
81
+ };
82
+ var _sfc_staticRenderFns$4 = [];
83
+ var __component__$4 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
84
+ _sfc_main$4,
85
+ _sfc_render$4,
86
+ _sfc_staticRenderFns$4,
87
+ false,
88
+ null,
89
+ null
90
+ );
91
+ const BriefcaseIcon = __component__$4.exports;
92
+ const _sfc_main$3 = {
93
+ name: "ClockOutlineIcon",
94
+ emits: ["click"],
95
+ props: {
96
+ title: {
97
+ type: String
98
+ },
99
+ fillColor: {
100
+ type: String,
101
+ default: "currentColor"
102
+ },
103
+ size: {
104
+ type: Number,
105
+ default: 24
106
+ }
107
+ }
108
+ };
109
+ var _sfc_render$3 = function render3() {
110
+ var _vm = this, _c = _vm._self._c;
111
+ return _c("span", _vm._b({ staticClass: "material-design-icon clock-outline-icon", attrs: { "aria-hidden": _vm.title ? null : "true", "aria-label": _vm.title, "role": "img" }, on: { "click": function($event) {
112
+ return _vm.$emit("click", $event);
113
+ } } }, "span", _vm.$attrs, false), [_c("svg", { staticClass: "material-design-icon__svg", attrs: { "fill": _vm.fillColor, "width": _vm.size, "height": _vm.size, "viewBox": "0 0 24 24" } }, [_c("path", { attrs: { "d": "M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z" } }, [_vm.title ? _c("title", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);
114
+ };
115
+ var _sfc_staticRenderFns$3 = [];
116
+ var __component__$3 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
117
+ _sfc_main$3,
118
+ _sfc_render$3,
119
+ _sfc_staticRenderFns$3,
120
+ false,
121
+ null,
122
+ null
123
+ );
124
+ const ClockIcon = __component__$3.exports;
125
+ const _sfc_main$2 = {
126
+ name: "MapMarkerOutlineIcon",
127
+ emits: ["click"],
128
+ props: {
129
+ title: {
130
+ type: String
131
+ },
132
+ fillColor: {
133
+ type: String,
134
+ default: "currentColor"
135
+ },
136
+ size: {
137
+ type: Number,
138
+ default: 24
139
+ }
140
+ }
141
+ };
142
+ var _sfc_render$2 = function render4() {
143
+ var _vm = this, _c = _vm._self._c;
144
+ return _c("span", _vm._b({ staticClass: "material-design-icon map-marker-outline-icon", attrs: { "aria-hidden": _vm.title ? null : "true", "aria-label": _vm.title, "role": "img" }, on: { "click": function($event) {
145
+ return _vm.$emit("click", $event);
146
+ } } }, "span", _vm.$attrs, false), [_c("svg", { staticClass: "material-design-icon__svg", attrs: { "fill": _vm.fillColor, "width": _vm.size, "height": _vm.size, "viewBox": "0 0 24 24" } }, [_c("path", { attrs: { "d": "M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z" } }, [_vm.title ? _c("title", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);
147
+ };
148
+ var _sfc_staticRenderFns$2 = [];
149
+ var __component__$2 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
150
+ _sfc_main$2,
151
+ _sfc_render$2,
152
+ _sfc_staticRenderFns$2,
153
+ false,
154
+ null,
155
+ null
156
+ );
157
+ const MapMarkerIcon = __component__$2.exports;
158
+ const _sfc_main$1 = {
159
+ name: "PencilOutlineIcon",
160
+ emits: ["click"],
161
+ props: {
162
+ title: {
163
+ type: String
164
+ },
165
+ fillColor: {
166
+ type: String,
167
+ default: "currentColor"
168
+ },
169
+ size: {
170
+ type: Number,
171
+ default: 24
172
+ }
173
+ }
174
+ };
175
+ var _sfc_render$1 = function render5() {
176
+ var _vm = this, _c = _vm._self._c;
177
+ return _c("span", _vm._b({ staticClass: "material-design-icon pencil-outline-icon", attrs: { "aria-hidden": _vm.title ? null : "true", "aria-label": _vm.title, "role": "img" }, on: { "click": function($event) {
178
+ return _vm.$emit("click", $event);
179
+ } } }, "span", _vm.$attrs, false), [_c("svg", { staticClass: "material-design-icon__svg", attrs: { "fill": _vm.fillColor, "width": _vm.size, "height": _vm.size, "viewBox": "0 0 24 24" } }, [_c("path", { attrs: { "d": "M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z" } }, [_vm.title ? _c("title", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);
180
+ };
181
+ var _sfc_staticRenderFns$1 = [];
182
+ var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
183
+ _sfc_main$1,
184
+ _sfc_render$1,
185
+ _sfc_staticRenderFns$1,
186
+ false,
187
+ null,
188
+ null
189
+ );
190
+ const PencilIcon = __component__$1.exports;
191
+ _l10n.register(_l10n.t1);
192
+ /*!
193
+ * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
194
+ * SPDX-License-Identifier: AGPL-3.0-or-later
195
+ */
196
+ const PROFILE_CACHE_TTL_MS = 30 * 60 * 1e3;
197
+ const cache = /* @__PURE__ */ new Map();
198
+ const inflight = /* @__PURE__ */ new Map();
199
+ function getCachedProfile(userId) {
200
+ const entry = cache.get(userId);
201
+ if (!entry) {
202
+ return null;
203
+ }
204
+ if (Date.now() >= entry.expiresAt) {
205
+ cache.delete(userId);
206
+ return null;
207
+ }
208
+ return entry.data;
209
+ }
210
+ function setCachedProfile(userId, data, ttlMs = PROFILE_CACHE_TTL_MS) {
211
+ cache.set(userId, {
212
+ data,
213
+ expiresAt: Date.now() + ttlMs
214
+ });
215
+ }
216
+ async function fetchProfileCached(userId, fetcher, ttlMs = PROFILE_CACHE_TTL_MS) {
217
+ const cached = getCachedProfile(userId);
218
+ if (cached) {
219
+ return cached;
220
+ }
221
+ const pending = inflight.get(userId);
222
+ if (pending) {
223
+ return pending;
224
+ }
225
+ const promise = (async () => {
226
+ try {
227
+ const data = await fetcher();
228
+ if (data) {
229
+ setCachedProfile(userId, data, ttlMs);
230
+ }
231
+ return data;
232
+ } finally {
233
+ inflight.delete(userId);
234
+ }
235
+ })();
236
+ inflight.set(userId, promise);
237
+ return promise;
238
+ }
239
+ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
240
+ __name: "NcProfileHoverCard",
241
+ props: {
242
+ user: { default: null },
243
+ profile: { default: null },
244
+ preloadedUserStatus: { default: null },
245
+ open: { type: Boolean, default: false },
246
+ actions: { default: null },
247
+ actionsLoading: { type: Boolean, default: false }
248
+ },
249
+ setup(__props) {
250
+ const props = __props;
251
+ const loading = Vue.ref(false);
252
+ const error = Vue.ref(false);
253
+ const profileData = Vue.ref(props.profile);
254
+ const userStatus = Vue.ref(props.preloadedUserStatus ?? {});
255
+ const isMobile = Composables_useIsMobile.useIsSmallMobile();
256
+ if (props.user && props.profile) {
257
+ setCachedProfile(props.user, props.profile);
258
+ }
259
+ const isCurrentUser = Vue.computed(() => !!props.user && auth.getCurrentUser()?.uid === props.user);
260
+ const settingsUrl = router.generateUrl("/settings/user");
261
+ const resolvedActions = Vue.computed(() => {
262
+ if (props.actions && props.actions.length > 0) {
263
+ return props.actions.filter((action) => action.appId !== "timezone");
264
+ }
265
+ return (profileData.value?.actions ?? []).filter((action) => action.appId !== "timezone").map((action) => ({
266
+ id: action.id,
267
+ appId: action.appId,
268
+ text: action.title,
269
+ href: action.target || void 0,
270
+ icon: action.icon,
271
+ target: action.id === "phone" ? "_self" : "_blank",
272
+ rel: action.id === "fediverse" ? "me" : void 0
273
+ }));
274
+ });
275
+ const localTimeLabel = Vue.computed(() => {
276
+ const time = formatProfileLocalTime(/* @__PURE__ */ new Date());
277
+ if (!time) {
278
+ return null;
279
+ }
280
+ return _l10n.t("Local time: {time}", { time });
281
+ });
282
+ const primaryAction = Vue.computed(() => resolvedActions.value[0]);
283
+ const otherActions = Vue.computed(() => resolvedActions.value.slice(1));
284
+ const primaryActionButtonProps = Vue.computed(() => {
285
+ const action = primaryAction.value;
286
+ if (!action) {
287
+ return {};
288
+ }
289
+ if (action.to) {
290
+ return { to: action.to };
291
+ }
292
+ if (action.href) {
293
+ return {
294
+ href: action.href,
295
+ target: action.target ?? (action.href.startsWith("tel:") ? "_self" : "_blank"),
296
+ rel: action.rel
297
+ };
298
+ }
299
+ return {};
300
+ });
301
+ const emptyProfileMessage = Vue.computed(() => {
302
+ if (isCurrentUser.value) {
303
+ return _l10n.t("You have not added any info yet");
304
+ }
305
+ const name = profileData.value?.displayname || props.user || "";
306
+ return _l10n.t("{user} has not added any info yet", { user: name });
307
+ });
308
+ const avatarUserStatus = Vue.computed(() => ({
309
+ status: userStatus.value.status ?? null,
310
+ icon: userStatus.value.icon ?? null,
311
+ message: userStatus.value.message ?? null
312
+ }));
313
+ function formatProfileLocalTime(date) {
314
+ const timeZone = profileData.value?.timezone;
315
+ if (timeZone) {
316
+ try {
317
+ return new Intl.DateTimeFormat(l10n.getCanonicalLocale(), {
318
+ timeZone,
319
+ hour: "2-digit",
320
+ minute: "2-digit"
321
+ }).format(date);
322
+ } catch {
323
+ }
324
+ }
325
+ if (typeof profileData.value?.timezoneOffset === "number") {
326
+ const shifted = new Date(date.getTime() + profileData.value.timezoneOffset * 1e3);
327
+ return new Intl.DateTimeFormat(l10n.getCanonicalLocale(), {
328
+ timeZone: "UTC",
329
+ hour: "2-digit",
330
+ minute: "2-digit"
331
+ }).format(shifted);
332
+ }
333
+ return null;
334
+ }
335
+ function isIconUrl(icon) {
336
+ return !!icon && (/^(https?:)?\/\//.test(icon) || icon.startsWith("/") || icon.startsWith("data:"));
337
+ }
338
+ function otherActionComponent(action) {
339
+ if (action.to) {
340
+ return Components_NcActionRouter;
341
+ }
342
+ if (action.onClick && !action.href) {
343
+ return NcActionButton.NcActionButton;
344
+ }
345
+ return Components_NcActionLink;
346
+ }
347
+ function otherActionProps(action) {
348
+ if (action.to) {
349
+ return { to: action.to, closeAfterClick: true };
350
+ }
351
+ if (action.onClick && !action.href) {
352
+ return { closeAfterClick: true };
353
+ }
354
+ return {
355
+ href: action.href,
356
+ target: action.target ?? (action.href?.startsWith("tel:") ? "_self" : "_blank"),
357
+ rel: action.rel,
358
+ closeAfterClick: true
359
+ };
360
+ }
361
+ Vue.watch(() => props.profile, (value) => {
362
+ if (value) {
363
+ profileData.value = value;
364
+ if (props.user) {
365
+ setCachedProfile(props.user, value);
366
+ }
367
+ error.value = false;
368
+ }
369
+ });
370
+ Vue.watch(() => props.preloadedUserStatus, (value) => {
371
+ if (value) {
372
+ userStatus.value = value;
373
+ }
374
+ });
375
+ Vue.watch(() => props.user, () => {
376
+ profileData.value = props.profile;
377
+ userStatus.value = props.preloadedUserStatus ?? {};
378
+ error.value = false;
379
+ if (props.user && props.profile) {
380
+ setCachedProfile(props.user, props.profile);
381
+ }
382
+ if (props.open) {
383
+ loadProfile();
384
+ }
385
+ });
386
+ Vue.watch(() => props.open, (isOpen) => {
387
+ if (isOpen) {
388
+ loadProfile();
389
+ }
390
+ });
391
+ Vue.onMounted(() => {
392
+ if (props.open) {
393
+ loadProfile();
394
+ }
395
+ });
396
+ function hasPreloadedUserStatus() {
397
+ return props.preloadedUserStatus !== null || !!(userStatus.value.icon || userStatus.value.message || userStatus.value.status);
398
+ }
399
+ async function ensureUserStatus(userId) {
400
+ if (!hasPreloadedUserStatus()) {
401
+ userStatus.value = await fetchUserStatus(userId);
402
+ }
403
+ }
404
+ async function loadProfile() {
405
+ if (!props.user || loading.value) {
406
+ return;
407
+ }
408
+ const userId = props.user;
409
+ if (!profileData.value) {
410
+ const cached = getCachedProfile(userId);
411
+ if (cached) {
412
+ profileData.value = cached;
413
+ }
414
+ }
415
+ if (profileData.value) {
416
+ await ensureUserStatus(userId);
417
+ return;
418
+ }
419
+ loading.value = true;
420
+ error.value = false;
421
+ try {
422
+ const [profile, status] = await Promise.all([
423
+ fetchProfileCached(userId, async () => {
424
+ const { data } = await axios__default.default.get(router.generateOcsUrl("/profile/{userId}", { userId }));
425
+ return data.ocs?.data ?? null;
426
+ }),
427
+ hasPreloadedUserStatus() ? Promise.resolve(userStatus.value) : fetchUserStatus(userId)
428
+ ]);
429
+ profileData.value = profile;
430
+ userStatus.value = status;
431
+ if (!profileData.value) {
432
+ error.value = true;
433
+ }
434
+ } catch (e) {
435
+ logger.logger.debug("Failed to load profile for hovercard", { error: e, user: userId });
436
+ error.value = true;
437
+ } finally {
438
+ loading.value = false;
439
+ }
440
+ }
441
+ async function fetchUserStatus(userId) {
442
+ try {
443
+ if (!capabilities.getCapabilities()?.user_status?.enabled || !auth.getCurrentUser()) {
444
+ return {};
445
+ }
446
+ const { data } = await axios__default.default.get(router.generateOcsUrl("/apps/user_status/api/v1/statuses/{userId}", { userId }));
447
+ return data.ocs?.data ?? {};
448
+ } catch (e) {
449
+ logger.logger.debug("Failed to load user status for hovercard", { error: e, userId });
450
+ return {};
451
+ }
452
+ }
453
+ return { __sfc: true, props, loading, error, profileData, userStatus, isMobile, isCurrentUser, settingsUrl, resolvedActions, localTimeLabel, primaryAction, otherActions, primaryActionButtonProps, emptyProfileMessage, avatarUserStatus, formatProfileLocalTime, isIconUrl, otherActionComponent, otherActionProps, hasPreloadedUserStatus, ensureUserStatus, loadProfile, fetchUserStatus, AccountIcon, BriefcaseIcon, ClockIcon, MapMarkerIcon, PencilIcon, NcActions: NcActions.NcActions, NcAvatar: NcAvatar.NcAvatar, NcButton: NcButton.NcButton, NcEmptyContent: Components_NcEmptyContent, NcLoadingIcon: Components_NcLoadingIcon, NcRichText: NcRichText.NcRichText, t: _l10n.t, NcIconSvgWrapper: NcIconSvgWrapper.NcIconSvgWrapper };
454
+ }
455
+ });
456
+ var _sfc_render = function render6() {
457
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
458
+ return _c("div", { staticClass: "profile-hover-card", attrs: { "role": "dialog", "aria-label": _setup.t("Profile of {user}", { user: _setup.profileData?.displayname || _vm.user || "" }) } }, [_setup.loading ? _c("div", { staticClass: "profile-hover-card__loading" }, [_c(_setup.NcLoadingIcon, { attrs: { "size": 32, "name": _setup.t("Loading profile") } })], 1) : _setup.profileData && !_setup.error ? [_c("div", { staticClass: "profile-hover-card__header" }, [_setup.isCurrentUser ? _c(_setup.NcButton, { staticClass: "profile-hover-card__header__edit", attrs: { "variant": "tertiary", "aria-label": _setup.t("Edit profile"), "title": _setup.t("Edit profile"), "href": _setup.settingsUrl, "target": "_blank" }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
459
+ return [_c(_setup.PencilIcon, { attrs: { "size": 20 } })];
460
+ }, proxy: true }], null, false, 3660207582) }) : _vm._e(), _c("div", { staticClass: "profile-hover-card__header__container" }, [_setup.isMobile ? _c(_setup.NcAvatar, { staticClass: "avatar profile-hover-card__header__container__avatar", attrs: { "user": _setup.profileData.userId, "size": 96, "disableMenu": "", "disableTooltip": "", "preloadedUserStatus": _setup.avatarUserStatus, "isNoUser": !_setup.profileData.isUserAvatarVisible } }) : _c("div", { staticClass: "profile-hover-card__header__container__placeholder" }), _c("div", { staticClass: "profile-hover-card__header__container__identity" }, [_c("div", { staticClass: "profile-hover-card__header__container__displayname" }, [_c("h2", [_vm._v(_vm._s(_setup.profileData.displayname || _setup.profileData.userId))]), _setup.profileData.pronouns ? _c("span", { staticClass: "profile-hover-card__header__container__pronoun-separator" }, [_vm._v("·")]) : _vm._e(), _setup.profileData.pronouns ? _c("span", { staticClass: "profile-hover-card__header__container__pronouns" }, [_vm._v(_vm._s(_setup.profileData.pronouns))]) : _vm._e()]), _setup.userStatus.icon || _setup.userStatus.message ? _c("div", { staticClass: "profile-hover-card__header__container__status" }, [_c("span", { staticClass: "profile-hover-card__header__container__status-content" }, [_c("span", [_vm._v(_vm._s(_setup.userStatus.icon) + " " + _vm._s(_setup.userStatus.message))])])]) : _vm._e()])], 1)], 1), _c("div", { staticClass: "profile-hover-card__body" }, [_c("div", { staticClass: "profile-hover-card__content" }, [_c("div", { staticClass: "profile-hover-card__sidebar" }, [!_setup.isMobile ? _c(_setup.NcAvatar, { staticClass: "avatar", attrs: { "user": _setup.profileData.userId, "size": 135, "disableMenu": "", "disableTooltip": "", "preloadedUserStatus": _setup.avatarUserStatus, "isNoUser": !_setup.profileData.isUserAvatarVisible } }) : _vm._e(), _c("div", { staticClass: "user-actions" }, [_vm.actionsLoading && _setup.resolvedActions.length === 0 ? _c("div", { staticClass: "user-actions__loading" }, [_c(_setup.NcLoadingIcon, { attrs: { "size": 20, "name": _setup.t("Loading actions") } })], 1) : [_setup.primaryAction ? _c(_setup.NcButton, _vm._b({ staticClass: "user-actions__primary", attrs: { "variant": "primary" }, on: { "click": _setup.primaryAction.onClick }, scopedSlots: _vm._u([_setup.primaryAction.iconSvg || _setup.primaryAction.icon ? { key: "icon", fn: function() {
461
+ return [_setup.primaryAction.iconSvg ? _c(_setup.NcIconSvgWrapper, { attrs: { "svg": _setup.primaryAction.iconSvg } }) : _setup.isIconUrl(_setup.primaryAction.icon) ? _c("img", { staticClass: "user-actions__primary__icon", attrs: { "src": _setup.primaryAction.icon, "alt": "" } }) : _c("span", { staticClass: "user-actions__primary__icon-class", class: _setup.primaryAction.icon, attrs: { "aria-hidden": "true" } })];
462
+ }, proxy: true } : null], null, true) }, "NcButton", _setup.primaryActionButtonProps, false), [_vm._v(" " + _vm._s(_setup.primaryAction.text) + " ")]) : _vm._e(), _setup.otherActions.length > 0 ? _c(_setup.NcActions, { staticClass: "user-actions__other", attrs: { "inline": _setup.isMobile ? 5 : 4 } }, _vm._l(_setup.otherActions, function(action, index) {
463
+ return _c(_setup.otherActionComponent(action), _vm._b({ key: action.id || action.href || index, tag: "component", on: { "click": action.onClick }, scopedSlots: _vm._u([action.iconSvg || action.icon ? { key: "icon", fn: function() {
464
+ return [action.iconSvg ? _c(_setup.NcIconSvgWrapper, { attrs: { "svg": action.iconSvg } }) : _setup.isIconUrl(action.icon) ? _c("img", { staticClass: "user-actions__other__icon", attrs: { "src": action.icon, "alt": "" } }) : _c("span", { staticClass: "user-actions__other__icon-class", class: action.icon, attrs: { "aria-hidden": "true" } })];
465
+ }, proxy: true } : null], null, true) }, "component", _setup.otherActionProps(action), false), [_vm._v(" " + _vm._s(action.text) + " ")]);
466
+ }), 1) : _vm._e()]], 2)], 1), _c("div", { staticClass: "profile-hover-card__blocks" }, [_setup.profileData.organisation || _setup.profileData.role || _setup.profileData.address || _setup.localTimeLabel ? _c("div", { staticClass: "profile-hover-card__blocks-details" }, [_setup.profileData.organisation || _setup.profileData.role ? _c("div", { staticClass: "detail" }, [_c("p", [_c(_setup.BriefcaseIcon, { staticClass: "detail-icon", attrs: { "size": 16, "title": "" } }), _vm._v(" " + _vm._s(_setup.profileData.organisation) + " "), _setup.profileData.organisation && _setup.profileData.role ? _c("span", [_vm._v("•")]) : _vm._e(), _vm._v(" " + _vm._s(_setup.profileData.role) + " ")], 1)]) : _vm._e(), _setup.profileData.address ? _c("div", { staticClass: "detail" }, [_c("p", [_c(_setup.MapMarkerIcon, { staticClass: "detail-icon", attrs: { "size": 16, "title": "" } }), _vm._v(" " + _vm._s(_setup.profileData.address) + " ")], 1)]) : _vm._e(), _setup.localTimeLabel ? _c("div", { staticClass: "detail" }, [_c("p", [_c(_setup.ClockIcon, { staticClass: "detail-icon", attrs: { "size": 16, "title": "" } }), _vm._v(" " + _vm._s(_setup.localTimeLabel) + " ")], 1)]) : _vm._e()]) : _vm._e(), _setup.profileData.headline || _setup.profileData.biography ? [_setup.profileData.headline ? _c("h3", { staticClass: "profile-hover-card__blocks-headline" }, [_vm._v(" " + _vm._s(_setup.profileData.headline) + " ")]) : _vm._e(), _setup.profileData.biography ? _c("div", { staticClass: "profile-hover-card__blocks-biography" }, [_c(_setup.NcRichText, { attrs: { "text": _setup.profileData.biography, "useExtendedMarkdown": "" } })], 1) : _vm._e()] : _c(_setup.NcEmptyContent, { staticClass: "profile-hover-card__blocks-empty-info", attrs: { "name": _setup.emptyProfileMessage, "description": _setup.t("The headline and about sections will show up here") }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
467
+ return [_c(_setup.AccountIcon, { attrs: { "size": 40 } })];
468
+ }, proxy: true }]) })], 2)])])] : _c("div", { staticClass: "profile-hover-card__error" }, [_vm._v(" " + _vm._s(_setup.t("Failed to load profile")) + " ")])], 2);
469
+ };
470
+ var _sfc_staticRenderFns = [];
471
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
472
+ _sfc_main,
473
+ _sfc_render,
474
+ _sfc_staticRenderFns,
475
+ false,
476
+ null,
477
+ "cf5e55fe"
478
+ );
479
+ const NcProfileHoverCard = __component__.exports;
480
+ exports.default = NcProfileHoverCard;
481
+ //# sourceMappingURL=NcProfileHoverCard-rEanhQqc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcProfileHoverCard-rEanhQqc.cjs","sources":["../../node_modules/vue-material-design-icons/AccountOutline.vue","../../node_modules/vue-material-design-icons/BriefcaseOutline.vue","../../node_modules/vue-material-design-icons/ClockOutline.vue","../../node_modules/vue-material-design-icons/MapMarkerOutline.vue","../../node_modules/vue-material-design-icons/PencilOutline.vue","../../src/components/NcProfileHoverCard/profileCache.ts","../../src/components/NcProfileHoverCard/NcProfileHoverCard.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon account-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon briefcase-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"BriefcaseOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon clock-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ClockOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon map-marker-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MapMarkerOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon pencil-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PencilOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IProfileData } from './NcProfileHoverCard.vue'\n\n/** Default TTL for cached profile payloads (30 minutes). */\nexport const PROFILE_CACHE_TTL_MS = 30 * 60 * 1000\n\ninterface CacheEntry {\n\tdata: IProfileData\n\texpiresAt: number\n}\n\nconst cache = new Map<string, CacheEntry>()\nconst inflight = new Map<string, Promise<IProfileData | null>>()\n\n/**\n * Return a non-expired cached profile for the user, or null.\n *\n * @param userId - User id\n */\nexport function getCachedProfile(userId: string): IProfileData | null {\n\tconst entry = cache.get(userId)\n\tif (!entry) {\n\t\treturn null\n\t}\n\tif (Date.now() >= entry.expiresAt) {\n\t\tcache.delete(userId)\n\t\treturn null\n\t}\n\treturn entry.data\n}\n\n/**\n * Store profile data in the shared TTL cache.\n *\n * @param userId - User id\n * @param data - Profile payload\n * @param ttlMs - Time to live in milliseconds\n */\nexport function setCachedProfile(userId: string, data: IProfileData, ttlMs = PROFILE_CACHE_TTL_MS): void {\n\tcache.set(userId, {\n\t\tdata,\n\t\texpiresAt: Date.now() + ttlMs,\n\t})\n}\n\n/**\n * Clear all cached profiles and in-flight fetches. Used by tests.\n *\n * @internal\n */\nexport function clearProfileCache(): void {\n\tcache.clear()\n\tinflight.clear()\n}\n\n/**\n * Fetch a profile with shared TTL cache and in-flight request deduplication.\n *\n * @param userId - User id\n * @param fetcher - Network loader invoked on cache miss\n * @param ttlMs - Time to live for a successful result\n */\nexport async function fetchProfileCached(\n\tuserId: string,\n\tfetcher: () => Promise<IProfileData | null>,\n\tttlMs = PROFILE_CACHE_TTL_MS,\n): Promise<IProfileData | null> {\n\tconst cached = getCachedProfile(userId)\n\tif (cached) {\n\t\treturn cached\n\t}\n\n\tconst pending = inflight.get(userId)\n\tif (pending) {\n\t\treturn pending\n\t}\n\n\tconst promise = (async () => {\n\t\ttry {\n\t\t\tconst data = await fetcher()\n\t\t\tif (data) {\n\t\t\t\tsetCachedProfile(userId, data, ttlMs)\n\t\t\t}\n\t\t\treturn data\n\t\t} finally {\n\t\t\tinflight.delete(userId)\n\t\t}\n\t})()\n\n\tinflight.set(userId, promise)\n\treturn promise\n}\n","<!--\n - SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport type { RawLocation } from 'vue-router'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { getCanonicalLocale } from '@nextcloud/l10n'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport { computed, onMounted, ref, watch } from 'vue'\nimport AccountIcon from 'vue-material-design-icons/AccountOutline.vue'\nimport BriefcaseIcon from 'vue-material-design-icons/BriefcaseOutline.vue'\nimport ClockIcon from 'vue-material-design-icons/ClockOutline.vue'\nimport MapMarkerIcon from 'vue-material-design-icons/MapMarkerOutline.vue'\nimport PencilIcon from 'vue-material-design-icons/PencilOutline.vue'\nimport NcActionButton from '../NcActionButton/NcActionButton.vue'\nimport NcActionLink from '../NcActionLink/NcActionLink.vue'\nimport NcActionRouter from '../NcActionRouter/NcActionRouter.vue'\nimport NcActions from '../NcActions/NcActions.vue'\nimport NcAvatar from '../NcAvatar/NcAvatar.vue'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcEmptyContent from '../NcEmptyContent/NcEmptyContent.vue'\nimport NcLoadingIcon from '../NcLoadingIcon/NcLoadingIcon.vue'\nimport NcRichText from '../NcRichText/NcRichText.vue'\nimport { useIsSmallMobile } from '../../composables/useIsMobile/index.ts'\nimport { t } from '../../l10n.js'\nimport { logger } from '../../utils/logger.ts'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.js'\nimport { fetchProfileCached, getCachedProfile, setCachedProfile } from './profileCache.ts'\n\nexport interface IProfileAction {\n\tid: string\n\tappId?: string\n\ticon: string\n\ttitle: string\n\ttarget: string | null\n}\n\nexport interface IProfileData {\n\tuserId: string\n\taddress?: string | null\n\tbiography?: string | null\n\tdisplayname?: string | null\n\theadline?: string | null\n\tisUserAvatarVisible?: boolean\n\torganisation?: string | null\n\tpronouns?: string | null\n\trole?: string | null\n\ttimezone?: string | null\n\ttimezoneOffset?: number | null\n\tactions: IProfileAction[]\n}\n\n/**\n * Action shown in the hover card sidebar (typically from NcAvatar's contacts menu).\n */\nexport interface IProfileHoverCardAction {\n\tid?: string\n\tappId?: string\n\ttext: string\n\thref?: string\n\tto?: RawLocation\n\ttarget?: string\n\trel?: string\n\ticon?: string\n\ticonSvg?: string\n\tonClick?: (event: MouseEvent) => void\n}\n\nexport interface IUserStatus {\n\ticon?: string | null\n\tmessage?: string | null\n\tstatus?: string | null\n}\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * User id whose profile to show.\n\t */\n\tuser?: string | null\n\n\t/**\n\t * Optional preloaded profile data (skips the profile API request when set).\n\t */\n\tprofile?: IProfileData | null\n\n\t/**\n\t * Optional preloaded user status (skips the status API request when set).\n\t * Pass an object with `status`, `icon`, and `message` set to null for a known empty status.\n\t */\n\tpreloadedUserStatus?: IUserStatus | null\n\n\t/**\n\t * Whether the popover that hosts this card is currently shown.\n\t * Profile data and user status are loaded when this becomes true.\n\t */\n\topen?: boolean\n\n\t/**\n\t * Actions to show in the card (e.g. NcAvatar contacts menu actions).\n\t * When omitted or empty, actions from the profile API are used.\n\t */\n\tactions?: IProfileHoverCardAction[] | null\n\n\t/**\n\t * True while parent actions (e.g. contacts menu) are still loading.\n\t */\n\tactionsLoading?: boolean\n}>(), {\n\tuser: null,\n\tprofile: null,\n\tpreloadedUserStatus: null,\n\topen: false,\n\tactions: null,\n\tactionsLoading: false,\n})\n\nconst loading = ref(false)\nconst error = ref(false)\nconst profileData = ref<IProfileData | null>(props.profile)\nconst userStatus = ref<IUserStatus>(props.preloadedUserStatus ?? {})\nconst isMobile = useIsSmallMobile()\n\nif (props.user && props.profile) {\n\tsetCachedProfile(props.user, props.profile)\n}\n\nconst isCurrentUser = computed(() => !!props.user && getCurrentUser()?.uid === props.user)\nconst settingsUrl = generateUrl('/settings/user')\n\nconst resolvedActions = computed((): IProfileHoverCardAction[] => {\n\tif (props.actions && props.actions.length > 0) {\n\t\treturn props.actions.filter((action) => action.appId !== 'timezone')\n\t}\n\treturn (profileData.value?.actions ?? [])\n\t\t.filter((action) => action.appId !== 'timezone')\n\t\t.map((action) => ({\n\t\t\tid: action.id,\n\t\t\tappId: action.appId,\n\t\t\ttext: action.title,\n\t\t\thref: action.target || undefined,\n\t\t\ticon: action.icon,\n\t\t\ttarget: action.id === 'phone' ? '_self' : '_blank',\n\t\t\trel: action.id === 'fediverse' ? 'me' : undefined,\n\t\t}))\n})\n\n/**\n * Local clock for the profile user (same format as Talk's right sidebar).\n */\nconst localTimeLabel = computed(() => {\n\tconst time = formatProfileLocalTime(new Date())\n\tif (!time) {\n\t\treturn null\n\t}\n\treturn t('Local time: {time}', { time })\n})\n\nconst primaryAction = computed(() => resolvedActions.value[0])\nconst otherActions = computed(() => resolvedActions.value.slice(1))\n\nconst primaryActionButtonProps = computed(() => {\n\tconst action = primaryAction.value\n\tif (!action) {\n\t\treturn {}\n\t}\n\tif (action.to) {\n\t\treturn { to: action.to }\n\t}\n\tif (action.href) {\n\t\treturn {\n\t\t\thref: action.href,\n\t\t\ttarget: action.target ?? (action.href.startsWith('tel:') ? '_self' : '_blank'),\n\t\t\trel: action.rel,\n\t\t}\n\t}\n\treturn {}\n})\n\nconst emptyProfileMessage = computed(() => {\n\tif (isCurrentUser.value) {\n\t\treturn t('You have not added any info yet')\n\t}\n\tconst name = profileData.value?.displayname || props.user || ''\n\treturn t('{user} has not added any info yet', { user: name })\n})\n\n/**\n * Pass status to NcAvatar so the badge matches the loaded status.\n * Always pass an object (null fields if empty) so NcAvatar does not fetch again.\n */\nconst avatarUserStatus = computed(() => ({\n\tstatus: userStatus.value.status ?? null,\n\ticon: userStatus.value.icon ?? null,\n\tmessage: userStatus.value.message ?? null,\n}))\n\n/**\n * Format the profile user's current time like Talk (`HH:MM` in their timezone)\n *\n * @param date - Instant to format\n */\nfunction formatProfileLocalTime(date: Date): string | null {\n\tconst timeZone = profileData.value?.timezone\n\tif (timeZone) {\n\t\ttry {\n\t\t\treturn new Intl.DateTimeFormat(getCanonicalLocale(), {\n\t\t\t\ttimeZone,\n\t\t\t\thour: '2-digit',\n\t\t\t\tminute: '2-digit',\n\t\t\t}).format(date)\n\t\t} catch {\n\t\t\t// Invalid timezone id from the server\n\t\t}\n\t}\n\n\tif (typeof profileData.value?.timezoneOffset === 'number') {\n\t\tconst shifted = new Date(date.getTime() + profileData.value.timezoneOffset * 1000)\n\t\treturn new Intl.DateTimeFormat(getCanonicalLocale(), {\n\t\t\ttimeZone: 'UTC',\n\t\t\thour: '2-digit',\n\t\t\tminute: '2-digit',\n\t\t}).format(shifted)\n\t}\n\n\treturn null\n}\n\n/**\n * Whether an action icon is an image URL rather than a CSS class\n *\n * @param icon - Icon value\n */\nfunction isIconUrl(icon?: string) {\n\treturn !!icon && (/^(https?:)?\\/\\//.test(icon) || icon.startsWith('/') || icon.startsWith('data:'))\n}\n\n/**\n * Resolve the NcAction component for a secondary hover-card action\n *\n * @param action - Hover card action\n */\nfunction otherActionComponent(action: IProfileHoverCardAction) {\n\tif (action.to) {\n\t\treturn NcActionRouter\n\t}\n\tif (action.onClick && !action.href) {\n\t\treturn NcActionButton\n\t}\n\treturn NcActionLink\n}\n\n/**\n * Props for a secondary hover-card action component\n *\n * @param action - Hover card action\n */\nfunction otherActionProps(action: IProfileHoverCardAction) {\n\tif (action.to) {\n\t\treturn { to: action.to, closeAfterClick: true }\n\t}\n\tif (action.onClick && !action.href) {\n\t\treturn { closeAfterClick: true }\n\t}\n\treturn {\n\t\thref: action.href,\n\t\ttarget: action.target ?? (action.href?.startsWith('tel:') ? '_self' : '_blank'),\n\t\trel: action.rel,\n\t\tcloseAfterClick: true,\n\t}\n}\n\nwatch(() => props.profile, (value) => {\n\tif (value) {\n\t\tprofileData.value = value\n\t\tif (props.user) {\n\t\t\tsetCachedProfile(props.user, value)\n\t\t}\n\t\terror.value = false\n\t}\n})\n\nwatch(() => props.preloadedUserStatus, (value) => {\n\tif (value) {\n\t\tuserStatus.value = value\n\t}\n})\n\nwatch(() => props.user, () => {\n\tprofileData.value = props.profile\n\tuserStatus.value = props.preloadedUserStatus ?? {}\n\terror.value = false\n\tif (props.user && props.profile) {\n\t\tsetCachedProfile(props.user, props.profile)\n\t}\n\tif (props.open) {\n\t\tloadProfile()\n\t}\n})\n\nwatch(() => props.open, (isOpen) => {\n\tif (isOpen) {\n\t\tloadProfile()\n\t}\n})\n\nonMounted(() => {\n\tif (props.open) {\n\t\tloadProfile()\n\t}\n})\n\n/**\n * Whether user status was already provided (including a known empty status).\n */\nfunction hasPreloadedUserStatus() {\n\treturn props.preloadedUserStatus !== null\n\t\t|| !!(userStatus.value.icon || userStatus.value.message || userStatus.value.status)\n}\n\n/**\n * Ensure user status is loaded when missing.\n *\n * @param userId - User id\n */\nasync function ensureUserStatus(userId: string) {\n\t// Skip the status request when already preloaded (e.g. from NcAvatar)\n\tif (!hasPreloadedUserStatus()) {\n\t\tuserStatus.value = await fetchUserStatus(userId)\n\t}\n}\n\n/**\n * Load profile fields and user status when the hovercard opens\n */\nasync function loadProfile() {\n\tif (!props.user || loading.value) {\n\t\treturn\n\t}\n\n\tconst userId = props.user\n\n\t// Use preloaded, instance, or shared-cache profile; only refresh status if needed\n\tif (!profileData.value) {\n\t\tconst cached = getCachedProfile(userId)\n\t\tif (cached) {\n\t\t\tprofileData.value = cached\n\t\t}\n\t}\n\tif (profileData.value) {\n\t\tawait ensureUserStatus(userId)\n\t\treturn\n\t}\n\n\tloading.value = true\n\terror.value = false\n\n\ttry {\n\t\tconst [profile, status] = await Promise.all([\n\t\t\tfetchProfileCached(userId, async () => {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('/profile/{userId}', { userId }))\n\t\t\t\treturn data.ocs?.data ?? null\n\t\t\t}),\n\t\t\thasPreloadedUserStatus()\n\t\t\t\t? Promise.resolve(userStatus.value)\n\t\t\t\t: fetchUserStatus(userId),\n\t\t])\n\t\tprofileData.value = profile\n\t\tuserStatus.value = status\n\t\tif (!profileData.value) {\n\t\t\terror.value = true\n\t\t}\n\t} catch (e) {\n\t\tlogger.debug('Failed to load profile for hovercard', { error: e, user: userId })\n\t\terror.value = true\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\n/**\n * Fetch user status for the given user\n *\n * @param userId - User id\n */\nasync function fetchUserStatus(userId: string): Promise<IUserStatus> {\n\ttry {\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tif (!(getCapabilities() as any)?.user_status?.enabled || !getCurrentUser()) {\n\t\t\treturn {}\n\t\t}\n\t\tconst { data } = await axios.get(generateOcsUrl('/apps/user_status/api/v1/statuses/{userId}', { userId }))\n\t\treturn data.ocs?.data ?? {}\n\t} catch (e) {\n\t\tlogger.debug('Failed to load user status for hovercard', { error: e, userId })\n\t\treturn {}\n\t}\n}\n</script>\n\n<template>\n\t<div\n\t\tclass=\"profile-hover-card\"\n\t\trole=\"dialog\"\n\t\t:aria-label=\"t('Profile of {user}', { user: profileData?.displayname || user || '' })\">\n\t\t<div v-if=\"loading\" class=\"profile-hover-card__loading\">\n\t\t\t<NcLoadingIcon :size=\"32\" :name=\"t('Loading profile')\" />\n\t\t</div>\n\n\t\t<template v-else-if=\"profileData && !error\">\n\t\t\t<!-- Header band: name, pronouns, status (mirrors ProfileApp.vue) -->\n\t\t\t<div class=\"profile-hover-card__header\">\n\t\t\t\t<NcButton\n\t\t\t\t\tv-if=\"isCurrentUser\"\n\t\t\t\t\tclass=\"profile-hover-card__header__edit\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t:aria-label=\"t('Edit profile')\"\n\t\t\t\t\t:title=\"t('Edit profile')\"\n\t\t\t\t\t:href=\"settingsUrl\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<PencilIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t\t<div class=\"profile-hover-card__header__container\">\n\t\t\t\t\t<NcAvatar\n\t\t\t\t\t\tv-if=\"isMobile\"\n\t\t\t\t\t\tclass=\"avatar profile-hover-card__header__container__avatar\"\n\t\t\t\t\t\t:user=\"profileData.userId\"\n\t\t\t\t\t\t:size=\"96\"\n\t\t\t\t\t\tdisableMenu\n\t\t\t\t\t\tdisableTooltip\n\t\t\t\t\t\t:preloadedUserStatus=\"avatarUserStatus\"\n\t\t\t\t\t\t:isNoUser=\"!profileData.isUserAvatarVisible\" />\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"profile-hover-card__header__container__placeholder\" />\n\t\t\t\t\t<div class=\"profile-hover-card__header__container__identity\">\n\t\t\t\t\t\t<div class=\"profile-hover-card__header__container__displayname\">\n\t\t\t\t\t\t\t<h2>{{ profileData.displayname || profileData.userId }}</h2>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tv-if=\"profileData.pronouns\"\n\t\t\t\t\t\t\t\tclass=\"profile-hover-card__header__container__pronoun-separator\">·</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tv-if=\"profileData.pronouns\"\n\t\t\t\t\t\t\t\tclass=\"profile-hover-card__header__container__pronouns\">{{ profileData.pronouns }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"userStatus.icon || userStatus.message\"\n\t\t\t\t\t\t\tclass=\"profile-hover-card__header__container__status\">\n\t\t\t\t\t\t\t<span class=\"profile-hover-card__header__container__status-content\">\n\t\t\t\t\t\t\t\t<span>{{ userStatus.icon }} {{ userStatus.message }}</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"profile-hover-card__body\">\n\t\t\t\t<div class=\"profile-hover-card__content\">\n\t\t\t\t\t<!-- Sidebar: avatar + actions (mirrors ProfileApp.vue) -->\n\t\t\t\t\t<div class=\"profile-hover-card__sidebar\">\n\t\t\t\t\t\t<NcAvatar\n\t\t\t\t\t\t\tv-if=\"!isMobile\"\n\t\t\t\t\t\t\tclass=\"avatar\"\n\t\t\t\t\t\t\t:user=\"profileData.userId\"\n\t\t\t\t\t\t\t:size=\"135\"\n\t\t\t\t\t\t\tdisableMenu\n\t\t\t\t\t\t\tdisableTooltip\n\t\t\t\t\t\t\t:preloadedUserStatus=\"avatarUserStatus\"\n\t\t\t\t\t\t\t:isNoUser=\"!profileData.isUserAvatarVisible\" />\n\n\t\t\t\t\t\t<div class=\"user-actions\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-if=\"actionsLoading && resolvedActions.length === 0\"\n\t\t\t\t\t\t\t\tclass=\"user-actions__loading\">\n\t\t\t\t\t\t\t\t<NcLoadingIcon :size=\"20\" :name=\"t('Loading actions')\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t<NcButton\n\t\t\t\t\t\t\t\t\tv-if=\"primaryAction\"\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclass=\"user-actions__primary\"\n\t\t\t\t\t\t\t\t\tv-bind=\"primaryActionButtonProps\"\n\t\t\t\t\t\t\t\t\t@click=\"primaryAction.onClick\">\n\t\t\t\t\t\t\t\t\t<template v-if=\"primaryAction.iconSvg || primaryAction.icon\" #icon>\n\t\t\t\t\t\t\t\t\t\t<NcIconSvgWrapper\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"primaryAction.iconSvg\"\n\t\t\t\t\t\t\t\t\t\t\t:svg=\"primaryAction.iconSvg\" />\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tv-else-if=\"isIconUrl(primaryAction.icon)\"\n\t\t\t\t\t\t\t\t\t\t\t:src=\"primaryAction.icon\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"user-actions__primary__icon\">\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"user-actions__primary__icon-class\"\n\t\t\t\t\t\t\t\t\t\t\t:class=\"primaryAction.icon\" />\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t{{ primaryAction.text }}\n\t\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t\t\t<NcActions\n\t\t\t\t\t\t\t\t\tv-if=\"otherActions.length > 0\"\n\t\t\t\t\t\t\t\t\tclass=\"user-actions__other\"\n\t\t\t\t\t\t\t\t\t:inline=\"isMobile ? 5 : 4\">\n\t\t\t\t\t\t\t\t\t<component\n\t\t\t\t\t\t\t\t\t\t:is=\"otherActionComponent(action)\"\n\t\t\t\t\t\t\t\t\t\tv-for=\"(action, index) in otherActions\"\n\t\t\t\t\t\t\t\t\t\t:key=\"action.id || action.href || index\"\n\t\t\t\t\t\t\t\t\t\tv-bind=\"otherActionProps(action)\"\n\t\t\t\t\t\t\t\t\t\t@click=\"action.onClick\">\n\t\t\t\t\t\t\t\t\t\t<template v-if=\"action.iconSvg || action.icon\" #icon>\n\t\t\t\t\t\t\t\t\t\t\t<NcIconSvgWrapper\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"action.iconSvg\"\n\t\t\t\t\t\t\t\t\t\t\t\t:svg=\"action.iconSvg\" />\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tv-else-if=\"isIconUrl(action.icon)\"\n\t\t\t\t\t\t\t\t\t\t\t\t:src=\"action.icon\"\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"user-actions__other__icon\">\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"user-actions__other__icon-class\"\n\t\t\t\t\t\t\t\t\t\t\t\t:class=\"action.icon\" />\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t{{ action.text }}\n\t\t\t\t\t\t\t\t\t</component>\n\t\t\t\t\t\t\t\t</NcActions>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Content blocks: details + bio (mirrors ProfileApp.vue) -->\n\t\t\t\t\t<div class=\"profile-hover-card__blocks\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"profileData.organisation || profileData.role || profileData.address || localTimeLabel\"\n\t\t\t\t\t\t\tclass=\"profile-hover-card__blocks-details\">\n\t\t\t\t\t\t\t<div v-if=\"profileData.organisation || profileData.role\" class=\"detail\">\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t<BriefcaseIcon\n\t\t\t\t\t\t\t\t\t\tclass=\"detail-icon\"\n\t\t\t\t\t\t\t\t\t\t:size=\"16\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"\" />\n\t\t\t\t\t\t\t\t\t{{ profileData.organisation }} <span v-if=\"profileData.organisation && profileData.role\">•</span> {{ profileData.role }}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"profileData.address\" class=\"detail\">\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t<MapMarkerIcon\n\t\t\t\t\t\t\t\t\t\tclass=\"detail-icon\"\n\t\t\t\t\t\t\t\t\t\t:size=\"16\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"\" />\n\t\t\t\t\t\t\t\t\t{{ profileData.address }}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"localTimeLabel\" class=\"detail\">\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t<ClockIcon\n\t\t\t\t\t\t\t\t\t\tclass=\"detail-icon\"\n\t\t\t\t\t\t\t\t\t\t:size=\"16\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"\" />\n\t\t\t\t\t\t\t\t\t{{ localTimeLabel }}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<template v-if=\"profileData.headline || profileData.biography\">\n\t\t\t\t\t\t\t<h3 v-if=\"profileData.headline\" class=\"profile-hover-card__blocks-headline\">\n\t\t\t\t\t\t\t\t{{ profileData.headline }}\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<div v-if=\"profileData.biography\" class=\"profile-hover-card__blocks-biography\">\n\t\t\t\t\t\t\t\t<NcRichText :text=\"profileData.biography\" useExtendedMarkdown />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<NcEmptyContent\n\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\tclass=\"profile-hover-card__blocks-empty-info\"\n\t\t\t\t\t\t\t:name=\"emptyProfileMessage\"\n\t\t\t\t\t\t\t:description=\"t('The headline and about sections will show up here')\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<AccountIcon :size=\"40\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcEmptyContent>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<div v-else class=\"profile-hover-card__error\">\n\t\t\t{{ t('Failed to load profile') }}\n\t\t</div>\n\t</div>\n</template>\n\n<style lang=\"scss\" scoped>\n// Card-scaled mirror of apps/profile ProfileApp.vue layout\n$card-width: 560px;\n$card-height: 300px;\n$header-height: 127px;\n$sidebar-width: 180px;\n\n.profile-hover-card {\n\tbox-sizing: border-box;\n\tposition: relative;\n\twidth: $card-width;\n\tmax-width: min(#{$card-width}, 90vw);\n\tmin-height: $card-height;\n\toverflow: hidden;\n\tcolor: var(--color-main-text);\n\tbackground-color: var(--color-main-background);\n\tborder-radius: var(--border-radius-large);\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n\t\tposition: relative;\n\t\theight: $header-height;\n\t\tbackground-color: var(--color-primary-element-light);\n\n\t\t&__edit {\n\t\t\tposition: absolute;\n\t\t\tinset-block-start: 8px;\n\t\t\tinset-inline-end: 8px;\n\t\t\tz-index: 1;\n\t\t}\n\n\t\t&__container {\n\t\t\talign-self: flex-end;\n\t\t\tdisplay: flex;\n\t\t\talign-items: flex-end;\n\t\t\t// Match sidebar margin-inline-end so name/status line up with role/bio\n\t\t\tgap: 12px;\n\t\t\twidth: 100%;\n\t\t\tmargin: 8px 0;\n\t\t\tpadding-inline: 16px;\n\t\t\tbox-sizing: border-box;\n\n\t\t\t&__placeholder {\n\t\t\t\tflex: 0 0 $sidebar-width;\n\t\t\t\twidth: $sidebar-width;\n\t\t\t}\n\n\t\t\t&__avatar {\n\t\t\t\tflex-shrink: 0;\n\t\t\t}\n\n\t\t\t&__identity {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\talign-items: flex-start;\n\t\t\t\tgap: 4px;\n\t\t\t\tmin-width: 0;\n\t\t\t\tflex: 1;\n\t\t\t\tpadding-inline: 0;\n\t\t\t}\n\n\t\t\t&__displayname {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: baseline;\n\t\t\t\tgap: 8px;\n\t\t\t\tmin-width: 0;\n\n\t\t\t\th2 {\n\t\t\t\t\tfont-size: 24px;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\toverflow-wrap: anywhere;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&__pronouns {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__status {\n\t\t\t\tmin-width: 0;\n\t\t\t}\n\n\t\t\t&__status-content {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tgap: 8px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\toverflow-wrap: anywhere;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__body {\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tpadding-inline: 16px 16px;\n\t\tbox-sizing: border-box;\n\t}\n\n\t&__sidebar {\n\t\talign-self: flex-start;\n\t\tpadding-top: 8px;\n\t\twidth: $sidebar-width;\n\t\tmin-width: $sidebar-width;\n\t\tmargin-block: -100px 0;\n\t\tmargin-inline: 0 12px;\n\t}\n\n\t&__header,\n\t&__sidebar {\n\t\t// Specificity hack is needed to override Avatar component styles\n\t\t:deep(.avatar.avatardiv) {\n\t\t\ttext-align: center;\n\t\t\tmargin: auto;\n\t\t\tdisplay: block;\n\t\t\tpadding: 8px;\n\n\t\t\t.avatardiv__user-status {\n\t\t\t\tinset-inline-end: 10px;\n\t\t\t\tbottom: 10px;\n\t\t\t\twidth: 26px;\n\t\t\t\theight: 26px;\n\t\t\t\tbackground-size: 22px;\n\t\t\t\tborder: none;\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t\tline-height: 26px;\n\t\t\t\tfont-size: 16px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__blocks {\n\t\tmargin: 12px 0 12px 0;\n\t\tdisplay: grid;\n\t\tgap: 8px 0;\n\t\tmin-width: 0;\n\t\tflex: 1;\n\t\toverflow: hidden;\n\t\talign-content: start;\n\n\t\tp, h3 {\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t&-details {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 2px 0;\n\n\t\t\t.detail {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t\tfont-size: 14px;\n\n\t\t\t\tp .detail-icon {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&-headline {\n\t\t\tmargin-inline: 0;\n\t\t\tmargin-block: 4px 0;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 16px;\n\t\t}\n\n\t\t&-biography {\n\t\t\toverflow: hidden;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 1.4;\n\t\t\tdisplay: -webkit-box;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: 4;\n\t\t\tline-clamp: 4;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow-wrap: anywhere;\n\n\t\t\t:deep(p) {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t}\n\n\t\t&-empty-info {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t&__loading,\n\t&__error {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: 100%;\n\t\tmin-height: $card-height;\n\t\tpadding: 16px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n\n.user-actions {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px 0;\n\tmargin-top: 12px;\n\tmax-width: $sidebar-width;\n\n\t&__loading {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tpadding: 8px 0;\n\t}\n\n\t&__primary {\n\t\tmargin: 0 auto;\n\t\twidth: $sidebar-width !important;\n\n\t\t&__icon {\n\t\t\theight: 20px;\n\t\t\twidth: 20px;\n\t\t\tobject-fit: contain;\n\t\t\tfilter: var(--primary-invert-if-dark);\n\t\t}\n\n\t\t&__icon-class {\n\t\t\tdisplay: block;\n\t\t\theight: 20px;\n\t\t\twidth: 20px;\n\t\t\tbackground-size: 20px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tfilter: var(--primary-invert-if-dark);\n\t\t}\n\t}\n\n\t&__other {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tgap: 0 4px;\n\n\t\t&__icon {\n\t\t\theight: 20px;\n\t\t\twidth: 20px;\n\t\t\tobject-fit: contain;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t\talign-self: center;\n\t\t\tmargin: 8px; // compact 44px-ish hit target for the card\n\t\t}\n\n\t\t&__icon-class {\n\t\t\tdisplay: block;\n\t\t\theight: 20px;\n\t\t\twidth: 20px;\n\t\t\tmargin: 8px;\n\t\t\tbackground-size: 20px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n\n// Mobile layout — uses MOBILE_SMALL_BREAKPOINT (512px), same as useIsSmallMobile()\n@media only screen and (max-width: 512px) {\n\t.profile-hover-card {\n\t\twidth: min(#{$card-width}, calc(100vw - 24px));\n\t\tmax-width: calc(100vw - 24px);\n\t\theight: auto;\n\t\tmin-height: 0;\n\t\tmax-height: min(80vh, 520px);\n\t\toverflow: auto;\n\n\t\t&__header {\n\t\t\theight: auto;\n\t\t\tmin-height: 112px;\n\n\t\t\t&__container {\n\t\t\t\talign-self: flex-end;\n\t\t\t\talign-items: flex-end;\n\t\t\t\tgap: 16px;\n\t\t\t\tmargin: 12px auto;\n\t\t\t\tpadding-inline: 12px;\n\n\t\t\t\t&__avatar {\n\t\t\t\t\talign-self: flex-end;\n\t\t\t\t}\n\n\t\t\t\t&__identity {\n\t\t\t\t\tgap: 6px;\n\t\t\t\t\tpadding-inline: 0;\n\t\t\t\t\t// Stack from the bottom: name, then pronouns, then status\n\t\t\t\t\tjustify-content: flex-end;\n\t\t\t\t}\n\n\t\t\t\t&__displayname {\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t\talign-items: flex-start;\n\t\t\t\t\tgap: 4px;\n\n\t\t\t\t\th2 {\n\t\t\t\t\t\tfont-size: 20px;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&__pronouns {\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t&__pronoun-separator {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t&__status-content {\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&__content {\n\t\t\tdisplay: block;\n\t\t\theight: auto;\n\t\t\tpadding-inline: 12px;\n\t\t\tpadding-block-end: 12px;\n\t\t}\n\n\t\t&__sidebar {\n\t\t\tmargin: unset;\n\t\t\twidth: auto;\n\t\t\tmin-width: 0;\n\t\t\tpadding-top: 0;\n\t\t}\n\n\t\t&__blocks {\n\t\t\twidth: unset;\n\t\t\tmargin: 0;\n\t\t\tpadding: 8px 4px 12px;\n\t\t}\n\n\t\t&__header,\n\t\t&__sidebar {\n\t\t\t:deep(.avatar.avatardiv) {\n\t\t\t\t.avatardiv__user-status {\n\t\t\t\t\tinset-inline-end: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&__loading,\n\t\t&__error {\n\t\t\tmin-height: 200px;\n\t\t}\n\t}\n\n\t.user-actions {\n\t\twidth: unset;\n\t\tmax-width: none;\n\t\tmargin: 8px auto 0;\n\t\tpadding: 0 4px;\n\n\t\t&__primary {\n\t\t\twidth: 100% !important;\n\t\t\tmax-width: 220px;\n\t\t}\n\n\t\t&__other {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: 480px) {\n\t.profile-hover-card {\n\t\twidth: calc(100vw - 16px);\n\t\tmax-width: calc(100vw - 16px);\n\t\tborder-radius: var(--border-radius);\n\n\t\t&__header {\n\t\t\t&__container {\n\t\t\t\tgap: 8px;\n\t\t\t\tpadding-inline: 8px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n\n<docs>\n\n### Description\n\n`NcProfileHoverCard` is the **content** of a profile popover. It is not a trigger and does not wrap `NcPopover`.\n\nWhen `open` becomes `true`, the card loads the user's profile and user status itself.\nPass `profile` to skip the profile request.\nPass `preloadedUserStatus` to skip the status request (e.g. when `NcAvatar` already loaded it).\n\n`NcAvatar` already hosts this card on hover or focus for real users (unless `disable-menu` is set)\nand can pass contacts menu actions via `actions` / `actions-loading`.\nIf `actions` is omitted, actions from the profile API are used.\n\n### With NcAvatar\n\n```vue\n\t<NcAvatar user=\"alice\" display-name=\"Alice\" />\n```\n\n### Standalone as popover content\n\nBind `open` to the popover visibility so data is loaded only while the card is shown.\n\n```vue\n<template>\n\t<NcPopover :shown.sync=\"shown\"\n\t\t:triggers=\"['hover', 'focus', 'click']\"\n\t\t:popover-triggers=\"['hover']\"\n\t\t:delay=\"{ show: 400, hide: 200 }\"\n\t\tno-focus-trap\n\t\tpopup-role=\"dialog\">\n\t\t<template #trigger>\n\t\t\t<span tabindex=\"0\">Hover me</span>\n\t\t</template>\n\t\t<NcProfileHoverCard user=\"alice\" :open=\"shown\" />\n\t</NcPopover>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshown: false,\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n"],"names":["_sfc_main","ref","useIsSmallMobile","computed","getCurrentUser","generateUrl","t","getCanonicalLocale","NcActionRouter","NcActionButton","NcActionLink","watch","onMounted","axios","generateOcsUrl","logger","getCapabilities"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -1,8 +1,8 @@
1
- require('../assets/NcRadioGroup-DQde-Yd1.css');
1
+ require('../assets/NcRadioGroup-Bq7x-xEK.css');
2
2
  "use strict";
3
3
  const Vue = require("vue");
4
- const NcFormBox = require("./NcFormBox-LJwAiXyR.cjs");
5
- const NcFormGroup = require("./NcFormGroup-wzUs2kfP.cjs");
4
+ const NcFormBox = require("./NcFormBox-C8LDr6nF.cjs");
5
+ const NcFormGroup = require("./NcFormGroup-dH5AXvsT.cjs");
6
6
  const useNcRadioGroup = require("./useNcRadioGroup-rLYISWKB.cjs");
7
7
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
8
8
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
@@ -44,9 +44,9 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
44
44
  return { __sfc: true, props, emit, buttonVariant, register, onUpdate, NcFormBox: NcFormBox.NcFormBox, NcFormGroup: NcFormGroup.NcFormGroup };
45
45
  }
46
46
  });
47
- const radioGroup_checkboxRadioContainer = "_radioGroup_checkboxRadioContainer_amoAo";
47
+ const radioGroup_checkboxRadioContainer = "_radioGroup_checkboxRadioContainer_C6Uum";
48
48
  const style0 = {
49
- "material-design-icon": "_material-design-icon_hB6fD",
49
+ "material-design-icon": "_material-design-icon_A8sTh",
50
50
  radioGroup_checkboxRadioContainer
51
51
  };
52
52
  var _sfc_render = function render() {
@@ -72,4 +72,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
72
72
  );
73
73
  const NcRadioGroup = __component__.exports;
74
74
  exports.NcRadioGroup = NcRadioGroup;
75
- //# sourceMappingURL=NcRadioGroup-BbMUIkWl.cjs.map
75
+ //# sourceMappingURL=NcRadioGroup-C2lG1kIj.cjs.map