@nextcloud/vue 8.0.0-beta.7 → 8.0.0-beta.9

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 (583) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/Components/NcActionButton.cjs +49 -1
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +49 -13
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionButtonGroup.cjs +30 -1
  7. package/dist/Components/NcActionButtonGroup.cjs.map +1 -1
  8. package/dist/Components/NcActionButtonGroup.mjs +30 -9
  9. package/dist/Components/NcActionButtonGroup.mjs.map +1 -1
  10. package/dist/Components/NcActionCaption.cjs +29 -1
  11. package/dist/Components/NcActionCaption.cjs.map +1 -1
  12. package/dist/Components/NcActionCaption.mjs +29 -9
  13. package/dist/Components/NcActionCaption.mjs.map +1 -1
  14. package/dist/Components/NcActionCheckbox.cjs +78 -1
  15. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  16. package/dist/Components/NcActionCheckbox.mjs +80 -19
  17. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  18. package/dist/Components/NcActionInput.cjs +231 -1
  19. package/dist/Components/NcActionInput.cjs.map +1 -1
  20. package/dist/Components/NcActionInput.mjs +235 -70
  21. package/dist/Components/NcActionInput.mjs.map +1 -1
  22. package/dist/Components/NcActionLink.cjs +69 -1
  23. package/dist/Components/NcActionLink.cjs.map +1 -1
  24. package/dist/Components/NcActionLink.mjs +66 -14
  25. package/dist/Components/NcActionLink.mjs.map +1 -1
  26. package/dist/Components/NcActionRadio.cjs +85 -1
  27. package/dist/Components/NcActionRadio.cjs.map +1 -1
  28. package/dist/Components/NcActionRadio.mjs +87 -19
  29. package/dist/Components/NcActionRadio.mjs.map +1 -1
  30. package/dist/Components/NcActionRouter.cjs +42 -1
  31. package/dist/Components/NcActionRouter.cjs.map +1 -1
  32. package/dist/Components/NcActionRouter.mjs +41 -12
  33. package/dist/Components/NcActionRouter.mjs.map +1 -1
  34. package/dist/Components/NcActionSeparator.cjs +20 -1
  35. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  36. package/dist/Components/NcActionSeparator.mjs +20 -9
  37. package/dist/Components/NcActionSeparator.mjs.map +1 -1
  38. package/dist/Components/NcActionText.cjs +23 -1
  39. package/dist/Components/NcActionText.cjs.map +1 -1
  40. package/dist/Components/NcActionText.mjs +21 -9
  41. package/dist/Components/NcActionText.mjs.map +1 -1
  42. package/dist/Components/NcActionTextEditable.cjs +81 -1
  43. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  44. package/dist/Components/NcActionTextEditable.mjs +79 -22
  45. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  46. package/dist/Components/NcActions.cjs +459 -1
  47. package/dist/Components/NcActions.cjs.map +1 -1
  48. package/dist/Components/NcActions.mjs +463 -100
  49. package/dist/Components/NcActions.mjs.map +1 -1
  50. package/dist/Components/NcAppContent.cjs +218 -1
  51. package/dist/Components/NcAppContent.cjs.map +1 -1
  52. package/dist/Components/NcAppContent.mjs +220 -66
  53. package/dist/Components/NcAppContent.mjs.map +1 -1
  54. package/dist/Components/NcAppContentDetails.cjs +19 -1
  55. package/dist/Components/NcAppContentDetails.cjs.map +1 -1
  56. package/dist/Components/NcAppContentDetails.mjs +18 -7
  57. package/dist/Components/NcAppContentDetails.mjs.map +1 -1
  58. package/dist/Components/NcAppContentList.cjs +29 -1
  59. package/dist/Components/NcAppContentList.cjs.map +1 -1
  60. package/dist/Components/NcAppContentList.mjs +29 -8
  61. package/dist/Components/NcAppContentList.mjs.map +1 -1
  62. package/dist/Components/NcAppNavigation.cjs +66 -1
  63. package/dist/Components/NcAppNavigation.cjs.map +1 -1
  64. package/dist/Components/NcAppNavigation.mjs +67 -28
  65. package/dist/Components/NcAppNavigation.mjs.map +1 -1
  66. package/dist/Components/NcAppNavigationCaption.cjs +44 -1
  67. package/dist/Components/NcAppNavigationCaption.cjs.map +1 -1
  68. package/dist/Components/NcAppNavigationCaption.mjs +40 -9
  69. package/dist/Components/NcAppNavigationCaption.mjs.map +1 -1
  70. package/dist/Components/NcAppNavigationIconBullet.cjs +40 -1
  71. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  72. package/dist/Components/NcAppNavigationIconBullet.mjs +40 -15
  73. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  74. package/dist/Components/NcAppNavigationItem.cjs +386 -1
  75. package/dist/Components/NcAppNavigationItem.cjs.map +1 -1
  76. package/dist/Components/NcAppNavigationItem.mjs +382 -81
  77. package/dist/Components/NcAppNavigationItem.mjs.map +1 -1
  78. package/dist/Components/NcAppNavigationNew.cjs +50 -1
  79. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  80. package/dist/Components/NcAppNavigationNew.mjs +51 -14
  81. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  82. package/dist/Components/NcAppNavigationNewItem.cjs +87 -1
  83. package/dist/Components/NcAppNavigationNewItem.cjs.map +1 -1
  84. package/dist/Components/NcAppNavigationNewItem.mjs +83 -17
  85. package/dist/Components/NcAppNavigationNewItem.mjs.map +1 -1
  86. package/dist/Components/NcAppNavigationSettings.cjs +69 -1
  87. package/dist/Components/NcAppNavigationSettings.cjs.map +1 -1
  88. package/dist/Components/NcAppNavigationSettings.mjs +60 -21
  89. package/dist/Components/NcAppNavigationSettings.mjs.map +1 -1
  90. package/dist/Components/NcAppNavigationSpacer.cjs +20 -1
  91. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  92. package/dist/Components/NcAppNavigationSpacer.mjs +20 -9
  93. package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
  94. package/dist/Components/NcAppNavigationToggle.cjs +25 -1
  95. package/dist/Components/NcAppNavigationToggle.cjs.map +1 -1
  96. package/dist/Components/NcAppNavigationToggle.mjs +21 -1
  97. package/dist/Components/NcAppNavigationToggle.mjs.map +1 -1
  98. package/dist/Components/NcAppSettingsDialog.cjs +156 -1
  99. package/dist/Components/NcAppSettingsDialog.cjs.map +1 -1
  100. package/dist/Components/NcAppSettingsDialog.mjs +160 -50
  101. package/dist/Components/NcAppSettingsDialog.mjs.map +1 -1
  102. package/dist/Components/NcAppSettingsSection.cjs +39 -1
  103. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  104. package/dist/Components/NcAppSettingsSection.mjs +39 -13
  105. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  106. package/dist/Components/NcAppSidebar.cjs +443 -1
  107. package/dist/Components/NcAppSidebar.cjs.map +1 -1
  108. package/dist/Components/NcAppSidebar.mjs +409 -92
  109. package/dist/Components/NcAppSidebar.mjs.map +1 -1
  110. package/dist/Components/NcAppSidebarTab.cjs +83 -1
  111. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  112. package/dist/Components/NcAppSidebarTab.mjs +83 -20
  113. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  114. package/dist/Components/NcAvatar.cjs +3 -1
  115. package/dist/Components/NcAvatar.cjs.map +1 -1
  116. package/dist/Components/NcAvatar.mjs +1 -1
  117. package/dist/Components/NcBreadcrumb.cjs +175 -1
  118. package/dist/Components/NcBreadcrumb.cjs.map +1 -1
  119. package/dist/Components/NcBreadcrumb.mjs +175 -35
  120. package/dist/Components/NcBreadcrumb.mjs.map +1 -1
  121. package/dist/Components/NcBreadcrumbs.cjs +372 -1
  122. package/dist/Components/NcBreadcrumbs.cjs.map +1 -1
  123. package/dist/Components/NcBreadcrumbs.mjs +373 -142
  124. package/dist/Components/NcBreadcrumbs.mjs.map +1 -1
  125. package/dist/Components/NcButton.cjs +226 -1
  126. package/dist/Components/NcButton.cjs.map +1 -1
  127. package/dist/Components/NcButton.mjs +226 -24
  128. package/dist/Components/NcButton.mjs.map +1 -1
  129. package/dist/Components/NcCheckboxRadioSwitch.cjs +352 -1
  130. package/dist/Components/NcCheckboxRadioSwitch.cjs.map +1 -1
  131. package/dist/Components/NcCheckboxRadioSwitch.mjs +360 -59
  132. package/dist/Components/NcCheckboxRadioSwitch.mjs.map +1 -1
  133. package/dist/Components/NcColorPicker.cjs +118 -1
  134. package/dist/Components/NcColorPicker.cjs.map +1 -1
  135. package/dist/Components/NcColorPicker.mjs +124 -46
  136. package/dist/Components/NcColorPicker.mjs.map +1 -1
  137. package/dist/Components/NcContent.cjs +25 -1
  138. package/dist/Components/NcContent.cjs.map +1 -1
  139. package/dist/Components/NcContent.mjs +24 -8
  140. package/dist/Components/NcContent.mjs.map +1 -1
  141. package/dist/Components/NcCounterBubble.cjs +47 -1
  142. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  143. package/dist/Components/NcCounterBubble.mjs +46 -12
  144. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  145. package/dist/Components/NcDashboardWidget.cjs +133 -1
  146. package/dist/Components/NcDashboardWidget.cjs.map +1 -1
  147. package/dist/Components/NcDashboardWidget.mjs +128 -39
  148. package/dist/Components/NcDashboardWidget.mjs.map +1 -1
  149. package/dist/Components/NcDashboardWidgetItem.cjs +138 -1
  150. package/dist/Components/NcDashboardWidgetItem.cjs.map +1 -1
  151. package/dist/Components/NcDashboardWidgetItem.mjs +130 -23
  152. package/dist/Components/NcDashboardWidgetItem.mjs.map +1 -1
  153. package/dist/Components/NcDateTime.cjs +125 -1
  154. package/dist/Components/NcDateTime.cjs.map +1 -1
  155. package/dist/Components/NcDateTime.mjs +126 -41
  156. package/dist/Components/NcDateTime.mjs.map +1 -1
  157. package/dist/Components/NcDateTimePicker.cjs +217 -1
  158. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  159. package/dist/Components/NcDateTimePicker.mjs +212 -53
  160. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  161. package/dist/Components/NcDateTimePickerNative.cjs +199 -1
  162. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  163. package/dist/Components/NcDateTimePickerNative.mjs +195 -58
  164. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  165. package/dist/Components/NcDialog.cjs +171 -0
  166. package/dist/Components/NcDialog.cjs.map +1 -0
  167. package/dist/Components/NcDialog.mjs +177 -0
  168. package/dist/Components/NcDialog.mjs.map +1 -0
  169. package/dist/Components/NcDialogButton.cjs +69 -0
  170. package/dist/Components/NcDialogButton.cjs.map +1 -0
  171. package/dist/Components/NcDialogButton.mjs +74 -0
  172. package/dist/Components/NcDialogButton.mjs.map +1 -0
  173. package/dist/Components/NcEllipsisedOption.cjs +74 -1
  174. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  175. package/dist/Components/NcEllipsisedOption.mjs +73 -20
  176. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  177. package/dist/Components/NcEmojiPicker.cjs +175 -1
  178. package/dist/Components/NcEmojiPicker.cjs.map +1 -1
  179. package/dist/Components/NcEmojiPicker.mjs +172 -52
  180. package/dist/Components/NcEmojiPicker.mjs.map +1 -1
  181. package/dist/Components/NcEmptyContent.cjs +54 -1
  182. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  183. package/dist/Components/NcEmptyContent.mjs +46 -10
  184. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  185. package/dist/Components/NcGuestContent.cjs +26 -1
  186. package/dist/Components/NcGuestContent.cjs.map +1 -1
  187. package/dist/Components/NcGuestContent.mjs +24 -11
  188. package/dist/Components/NcGuestContent.mjs.map +1 -1
  189. package/dist/Components/NcHeaderMenu.cjs +167 -1
  190. package/dist/Components/NcHeaderMenu.cjs.map +1 -1
  191. package/dist/Components/NcHeaderMenu.mjs +161 -49
  192. package/dist/Components/NcHeaderMenu.mjs.map +1 -1
  193. package/dist/Components/NcHighlight.cjs +3 -1
  194. package/dist/Components/NcHighlight.cjs.map +1 -1
  195. package/dist/Components/NcHighlight.mjs +1 -1
  196. package/dist/Components/NcIconSvgWrapper.cjs +59 -1
  197. package/dist/Components/NcIconSvgWrapper.cjs.map +1 -1
  198. package/dist/Components/NcIconSvgWrapper.mjs +60 -12
  199. package/dist/Components/NcIconSvgWrapper.mjs.map +1 -1
  200. package/dist/Components/NcInputField.cjs +210 -1
  201. package/dist/Components/NcInputField.cjs.map +1 -1
  202. package/dist/Components/NcInputField.mjs +211 -38
  203. package/dist/Components/NcInputField.mjs.map +1 -1
  204. package/dist/Components/NcListItem.cjs +237 -1
  205. package/dist/Components/NcListItem.cjs.map +1 -1
  206. package/dist/Components/NcListItem.mjs +233 -57
  207. package/dist/Components/NcListItem.mjs.map +1 -1
  208. package/dist/Components/NcListItemIcon.cjs +158 -1
  209. package/dist/Components/NcListItemIcon.cjs.map +1 -1
  210. package/dist/Components/NcListItemIcon.mjs +154 -30
  211. package/dist/Components/NcListItemIcon.mjs.map +1 -1
  212. package/dist/Components/NcLoadingIcon.cjs +54 -1
  213. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  214. package/dist/Components/NcLoadingIcon.mjs +54 -14
  215. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  216. package/dist/Components/NcModal.cjs +403 -1
  217. package/dist/Components/NcModal.cjs.map +1 -1
  218. package/dist/Components/NcModal.mjs +392 -96
  219. package/dist/Components/NcModal.mjs.map +1 -1
  220. package/dist/Components/NcNoteCard.cjs +71 -1
  221. package/dist/Components/NcNoteCard.cjs.map +1 -1
  222. package/dist/Components/NcNoteCard.mjs +72 -38
  223. package/dist/Components/NcNoteCard.mjs.map +1 -1
  224. package/dist/Components/NcPasswordField.cjs +163 -1
  225. package/dist/Components/NcPasswordField.cjs.map +1 -1
  226. package/dist/Components/NcPasswordField.mjs +169 -54
  227. package/dist/Components/NcPasswordField.mjs.map +1 -1
  228. package/dist/Components/NcPopover.cjs +125 -1
  229. package/dist/Components/NcPopover.cjs.map +1 -1
  230. package/dist/Components/NcPopover.mjs +124 -41
  231. package/dist/Components/NcPopover.mjs.map +1 -1
  232. package/dist/Components/NcProgressBar.cjs +57 -1
  233. package/dist/Components/NcProgressBar.cjs.map +1 -1
  234. package/dist/Components/NcProgressBar.mjs +57 -15
  235. package/dist/Components/NcProgressBar.mjs.map +1 -1
  236. package/dist/Components/NcRelatedResourcesPanel.cjs +184 -1
  237. package/dist/Components/NcRelatedResourcesPanel.cjs.map +1 -1
  238. package/dist/Components/NcRelatedResourcesPanel.mjs +183 -61
  239. package/dist/Components/NcRelatedResourcesPanel.mjs.map +1 -1
  240. package/dist/Components/NcRichContenteditable.cjs +478 -1
  241. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  242. package/dist/Components/NcRichContenteditable.mjs +447 -127
  243. package/dist/Components/NcRichContenteditable.mjs.map +1 -1
  244. package/dist/Components/NcRichText.cjs +44 -1
  245. package/dist/Components/NcRichText.cjs.map +1 -1
  246. package/dist/Components/NcRichText.mjs +25 -4
  247. package/dist/Components/NcRichText.mjs.map +1 -1
  248. package/dist/Components/NcSavingIndicatorIcon.cjs +59 -1
  249. package/dist/Components/NcSavingIndicatorIcon.cjs.map +1 -1
  250. package/dist/Components/NcSavingIndicatorIcon.mjs +56 -9
  251. package/dist/Components/NcSavingIndicatorIcon.mjs.map +1 -1
  252. package/dist/Components/NcSelect.cjs +411 -1
  253. package/dist/Components/NcSelect.cjs.map +1 -1
  254. package/dist/Components/NcSelect.mjs +405 -47
  255. package/dist/Components/NcSelect.mjs.map +1 -1
  256. package/dist/Components/NcSelectTags.cjs +251 -2
  257. package/dist/Components/NcSelectTags.cjs.map +1 -1
  258. package/dist/Components/NcSelectTags.mjs +236 -73
  259. package/dist/Components/NcSelectTags.mjs.map +1 -1
  260. package/dist/Components/NcSettingsInputText.cjs +90 -1
  261. package/dist/Components/NcSettingsInputText.cjs.map +1 -1
  262. package/dist/Components/NcSettingsInputText.mjs +88 -19
  263. package/dist/Components/NcSettingsInputText.mjs.map +1 -1
  264. package/dist/Components/NcSettingsSection.cjs +62 -1
  265. package/dist/Components/NcSettingsSection.cjs.map +1 -1
  266. package/dist/Components/NcSettingsSection.mjs +62 -15
  267. package/dist/Components/NcSettingsSection.mjs.map +1 -1
  268. package/dist/Components/NcSettingsSelectGroup.cjs +26 -1
  269. package/dist/Components/NcSettingsSelectGroup.cjs.map +1 -1
  270. package/dist/Components/NcSettingsSelectGroup.mjs +22 -1
  271. package/dist/Components/NcSettingsSelectGroup.mjs.map +1 -1
  272. package/dist/Components/NcTextArea.cjs +167 -0
  273. package/dist/Components/NcTextArea.cjs.map +1 -0
  274. package/dist/Components/NcTextArea.mjs +172 -0
  275. package/dist/Components/NcTextArea.mjs.map +1 -0
  276. package/dist/Components/NcTextField.cjs +98 -1
  277. package/dist/Components/NcTextField.cjs.map +1 -1
  278. package/dist/Components/NcTextField.mjs +102 -22
  279. package/dist/Components/NcTextField.mjs.map +1 -1
  280. package/dist/Components/NcTimezonePicker.cjs +4387 -614
  281. package/dist/Components/NcTimezonePicker.cjs.map +1 -1
  282. package/dist/Components/NcTimezonePicker.mjs +4372 -663
  283. package/dist/Components/NcTimezonePicker.mjs.map +1 -1
  284. package/dist/Components/NcUserBubble.cjs +189 -1
  285. package/dist/Components/NcUserBubble.cjs.map +1 -1
  286. package/dist/Components/NcUserBubble.mjs +190 -47
  287. package/dist/Components/NcUserBubble.mjs.map +1 -1
  288. package/dist/Components/NcVNodes.cjs +35 -1
  289. package/dist/Components/NcVNodes.cjs.map +1 -1
  290. package/dist/Components/NcVNodes.mjs +35 -8
  291. package/dist/Components/NcVNodes.mjs.map +1 -1
  292. package/dist/Directives/Focus.cjs +30 -1
  293. package/dist/Directives/Focus.cjs.map +1 -1
  294. package/dist/Directives/Focus.mjs +28 -5
  295. package/dist/Directives/Focus.mjs.map +1 -1
  296. package/dist/Directives/Linkify.cjs +8 -1
  297. package/dist/Directives/Linkify.cjs.map +1 -1
  298. package/dist/Directives/Linkify.mjs +6 -6
  299. package/dist/Directives/Linkify.mjs.map +1 -1
  300. package/dist/Directives/Tooltip.cjs +37 -1
  301. package/dist/Directives/Tooltip.cjs.map +1 -1
  302. package/dist/Directives/Tooltip.mjs +29 -4
  303. package/dist/Directives/Tooltip.mjs.map +1 -1
  304. package/dist/Functions/emoji.cjs +36 -1
  305. package/dist/Functions/emoji.cjs.map +1 -1
  306. package/dist/Functions/emoji.mjs +32 -11
  307. package/dist/Functions/emoji.mjs.map +1 -1
  308. package/dist/Functions/usernameToColor.cjs +39 -1
  309. package/dist/Functions/usernameToColor.cjs.map +1 -1
  310. package/dist/Functions/usernameToColor.mjs +32 -11
  311. package/dist/Functions/usernameToColor.mjs.map +1 -1
  312. package/dist/Mixins/clickOutsideOptions.cjs +40 -1
  313. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  314. package/dist/Mixins/clickOutsideOptions.mjs +39 -4
  315. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  316. package/dist/Mixins/isFullscreen.cjs +44 -1
  317. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  318. package/dist/Mixins/isFullscreen.mjs +42 -11
  319. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  320. package/dist/Mixins/isMobile.cjs +87 -1
  321. package/dist/Mixins/isMobile.cjs.map +1 -1
  322. package/dist/Mixins/isMobile.mjs +86 -11
  323. package/dist/Mixins/isMobile.mjs.map +1 -1
  324. package/dist/Mixins/richEditor.cjs +10 -1
  325. package/dist/Mixins/richEditor.cjs.map +1 -1
  326. package/dist/Mixins/richEditor.mjs +2 -2
  327. package/dist/assets/NcAppNavigationToggle-2cc5b864.css +35 -0
  328. package/dist/assets/NcInputConfirmCancel-2ba60a52.css +51 -0
  329. package/dist/assets/NcMentionBubble-6e887c5f.css +81 -0
  330. package/dist/assets/{index-23405a74.css → NcSettingsSelectGroup-0d38d76b.css} +15 -2
  331. package/dist/assets/index-0adc989c.css +96 -0
  332. package/dist/assets/index-1151d229.css +41 -0
  333. package/dist/assets/index-1beccc92.css +140 -0
  334. package/dist/assets/index-236620b0.css +150 -0
  335. package/dist/assets/{index-823ec431.css → index-24f6c355.css} +67 -3
  336. package/dist/assets/index-2a8e4ca1.css +540 -0
  337. package/dist/assets/{index-29421a2e.css → index-2d4de2fc.css} +19 -2
  338. package/dist/assets/{NcSettingsSelectGroup-e88cbf1a.css → index-30e099f7.css} +17 -2
  339. package/dist/assets/index-34dfc54e.css +88 -0
  340. package/dist/assets/index-3764a447.css +99 -0
  341. package/dist/assets/index-400b48a6.css +60 -0
  342. package/dist/assets/{index-1d28ce70.css → index-441b6552.css} +25 -2
  343. package/dist/assets/{NcInputConfirmCancel-c1d05dd9.css → index-4611417f.css} +31 -2
  344. package/dist/assets/index-4a775ba1.css +204 -0
  345. package/dist/assets/index-4b75fe20.css +79 -0
  346. package/dist/assets/index-4ebacc78.css +107 -0
  347. package/dist/assets/index-4ef32afd.css +128 -0
  348. package/dist/assets/index-50b0766d.css +202 -0
  349. package/dist/assets/index-574438d6.css +884 -0
  350. package/dist/assets/index-57b305d3.css +44 -0
  351. package/dist/assets/index-5ee8a575.css +295 -0
  352. package/dist/assets/index-5fa0ac5a.css +46 -0
  353. package/dist/assets/index-61b63a8f.css +57 -0
  354. package/dist/assets/index-6416f636.css +83 -0
  355. package/dist/assets/index-6c47e88a.css +46 -0
  356. package/dist/assets/index-6f721577.css +80 -0
  357. package/dist/assets/index-73867d38.css +133 -0
  358. package/dist/assets/index-76a58945.css +68 -0
  359. package/dist/assets/index-76dd9f11.css +5 -0
  360. package/dist/assets/index-7813bab3.css +66 -0
  361. package/dist/assets/index-793eae6b.css +234 -0
  362. package/dist/assets/index-8304db49.css +129 -0
  363. package/dist/assets/index-8aa4712e.css +51 -0
  364. package/dist/assets/{index-3e8ea1d6.css → index-8f52a20f.css} +16 -2
  365. package/dist/assets/index-93ad846c.css +259 -0
  366. package/dist/assets/index-9dcf6260.css +151 -0
  367. package/dist/assets/index-9e44e336.css +59 -0
  368. package/dist/assets/index-9e9587e1.css +45 -0
  369. package/dist/assets/index-a2b51bce.css +47 -0
  370. package/dist/assets/index-a2d55f92.css +204 -0
  371. package/dist/assets/index-a9e4fe04.css +46 -0
  372. package/dist/assets/index-abb90c97.css +164 -0
  373. package/dist/assets/{index-3b76db9b.css → index-af72a30b.css} +78 -3
  374. package/dist/assets/{NcAppNavigationToggle-110970cd.css → index-b8f13a1f.css} +13 -2
  375. package/dist/assets/index-b991895f.css +87 -0
  376. package/dist/assets/{index-25b448e3.css → index-baf8711a.css} +67 -3
  377. package/dist/assets/index-c06ad941.css +175 -0
  378. package/dist/assets/index-c5ae3bc4.css +303 -0
  379. package/dist/assets/index-c6f0da2e.css +69 -0
  380. package/dist/assets/index-d211cae8.css +93 -0
  381. package/dist/assets/index-d646553d.css +41 -0
  382. package/dist/assets/index-dc612aa3.css +112 -0
  383. package/dist/assets/index-e7c55791.css +243 -0
  384. package/dist/assets/index-e7eadba7.css +82 -0
  385. package/dist/assets/index-e828b286.css +76 -0
  386. package/dist/assets/index-ed4adf1d.css +115 -0
  387. package/dist/assets/{index-19f059f6.css → index-edee3304.css} +33 -2
  388. package/dist/assets/index-eea65531.css +129 -0
  389. package/dist/assets/index-f85aa003.css +78 -0
  390. package/dist/assets/index-fc61f2d8.css +41 -0
  391. package/dist/assets/referencePickerModal-3a127978.css +482 -0
  392. package/dist/chunks/GenColors-38246c38.mjs +46 -0
  393. package/dist/chunks/{GenColors-8097de04.cjs.map → GenColors-38246c38.mjs.map} +1 -1
  394. package/dist/chunks/GenColors-eedcc70a.cjs +45 -0
  395. package/dist/chunks/{GenColors-85cb6194.mjs.map → GenColors-eedcc70a.cjs.map} +1 -1
  396. package/dist/{assets/index-cb18d6f3.css → chunks/GenRandomId-c214d235.cjs} +8 -5
  397. package/dist/chunks/{GenRandomId-67df40eb.cjs.map → GenRandomId-c214d235.cjs.map} +1 -1
  398. package/dist/chunks/GenRandomId-cb9ccebe.mjs +25 -0
  399. package/dist/chunks/{GenRandomId-1e1b509a.mjs.map → GenRandomId-cb9ccebe.mjs.map} +1 -1
  400. package/dist/chunks/Linkify-39f20c9a.mjs +33 -0
  401. package/dist/chunks/{Linkify-a0faf443.mjs.map → Linkify-39f20c9a.mjs.map} +1 -1
  402. package/dist/chunks/Linkify-40cdd635.cjs +32 -0
  403. package/dist/chunks/{Linkify-a4db36a9.cjs.map → Linkify-40cdd635.cjs.map} +1 -1
  404. package/dist/chunks/NcAppNavigationToggle-841d3015.cjs +49 -0
  405. package/dist/chunks/NcAppNavigationToggle-841d3015.cjs.map +1 -0
  406. package/dist/chunks/NcAppNavigationToggle-e358aa47.mjs +55 -0
  407. package/dist/chunks/NcAppNavigationToggle-e358aa47.mjs.map +1 -0
  408. package/dist/chunks/NcInputConfirmCancel-44052477.mjs +96 -0
  409. package/dist/chunks/NcInputConfirmCancel-44052477.mjs.map +1 -0
  410. package/dist/chunks/NcInputConfirmCancel-6bea0fdc.cjs +90 -0
  411. package/dist/chunks/NcInputConfirmCancel-6bea0fdc.cjs.map +1 -0
  412. package/dist/chunks/NcRichText-332fe454.cjs +289 -0
  413. package/dist/chunks/{NcRichText-bb9d3893.mjs.map → NcRichText-332fe454.cjs.map} +1 -1
  414. package/dist/chunks/NcRichText-8fda53c8.mjs +302 -0
  415. package/dist/chunks/{NcRichText-3c54a3cc.cjs.map → NcRichText-8fda53c8.mjs.map} +1 -1
  416. package/dist/chunks/NcSettingsSelectGroup-a5ff8c36.cjs +183 -0
  417. package/dist/chunks/NcSettingsSelectGroup-a5ff8c36.cjs.map +1 -0
  418. package/dist/chunks/NcSettingsSelectGroup-fdd3309c.mjs +192 -0
  419. package/dist/chunks/NcSettingsSelectGroup-fdd3309c.mjs.map +1 -0
  420. package/dist/chunks/ScopeComponent-9519afcc.mjs +29 -0
  421. package/dist/chunks/{ScopeComponent-1f3a7612.mjs.map → ScopeComponent-9519afcc.mjs.map} +1 -1
  422. package/dist/chunks/ScopeComponent-e060526a.cjs +28 -0
  423. package/dist/chunks/{ScopeComponent-4b8bd1ee.cjs.map → ScopeComponent-e060526a.cjs.map} +1 -1
  424. package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs +32 -0
  425. package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs.map +1 -0
  426. package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs +31 -0
  427. package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs.map +1 -0
  428. package/dist/chunks/actionGlobal-8c1c28c9.mjs +50 -0
  429. package/dist/chunks/{actionGlobal-cda46023.mjs.map → actionGlobal-8c1c28c9.mjs.map} +1 -1
  430. package/dist/chunks/actionGlobal-9e29e11b.cjs +49 -0
  431. package/dist/chunks/{actionGlobal-ec7003e8.cjs.map → actionGlobal-9e29e11b.cjs.map} +1 -1
  432. package/dist/chunks/actionText-54bc24a6.cjs +120 -0
  433. package/dist/chunks/{actionText-bef01778.cjs.map → actionText-54bc24a6.cjs.map} +1 -1
  434. package/dist/chunks/actionText-a64be267.mjs +121 -0
  435. package/dist/chunks/{actionText-6c35d3fc.mjs.map → actionText-a64be267.mjs.map} +1 -1
  436. package/dist/chunks/focusTrap-14985831.cjs +26 -0
  437. package/dist/chunks/{focusTrap-173aba65.mjs.map → focusTrap-14985831.cjs.map} +1 -1
  438. package/dist/chunks/focusTrap-5d0f71d4.mjs +27 -0
  439. package/dist/chunks/{focusTrap-139520e2.cjs.map → focusTrap-5d0f71d4.mjs.map} +1 -1
  440. package/dist/chunks/index-032137a6.cjs +468 -0
  441. package/dist/chunks/index-032137a6.cjs.map +1 -0
  442. package/dist/chunks/index-20a9ace9.mjs +149 -0
  443. package/dist/chunks/{index-cd3f1f8f.mjs.map → index-20a9ace9.mjs.map} +1 -1
  444. package/dist/chunks/index-4398f925.cjs +149 -0
  445. package/dist/chunks/{index-858938bd.cjs.map → index-4398f925.cjs.map} +1 -1
  446. package/dist/chunks/index-5f2a5f57.mjs +155 -0
  447. package/dist/chunks/{index-377488aa.mjs.map → index-5f2a5f57.mjs.map} +1 -1
  448. package/dist/chunks/index-e894376a.cjs +148 -0
  449. package/dist/chunks/{index-df3f51c6.cjs.map → index-e894376a.cjs.map} +1 -1
  450. package/dist/chunks/index-fb2ee22c.mjs +481 -0
  451. package/dist/chunks/index-fb2ee22c.mjs.map +1 -0
  452. package/dist/chunks/l10n-05a09c66.mjs +31 -0
  453. package/dist/chunks/l10n-05a09c66.mjs.map +1 -0
  454. package/dist/chunks/l10n-9aa6482d.mjs +10 -0
  455. package/dist/chunks/l10n-9aa6482d.mjs.map +1 -0
  456. package/dist/chunks/l10n-b1d264c7.cjs +29 -0
  457. package/dist/chunks/l10n-b1d264c7.cjs.map +1 -0
  458. package/dist/chunks/l10n-c7bd0ea6.cjs +8 -0
  459. package/dist/chunks/l10n-c7bd0ea6.cjs.map +1 -0
  460. package/dist/chunks/logger-3612e664.mjs +25 -0
  461. package/dist/chunks/{logger-01af1a78.cjs.map → logger-3612e664.mjs.map} +1 -1
  462. package/dist/chunks/logger-4998b668.cjs +24 -0
  463. package/dist/chunks/{logger-ccc7ee65.mjs.map → logger-4998b668.cjs.map} +1 -1
  464. package/dist/chunks/referencePickerModal-279a483d.cjs +858 -0
  465. package/dist/chunks/referencePickerModal-279a483d.cjs.map +1 -0
  466. package/dist/chunks/referencePickerModal-443a4c57.mjs +877 -0
  467. package/dist/chunks/referencePickerModal-443a4c57.mjs.map +1 -0
  468. package/dist/index.cjs +257 -1
  469. package/dist/index.cjs.map +1 -1
  470. package/dist/index.mjs +301 -150
  471. package/dist/index.mjs.map +1 -1
  472. package/package.json +7 -4
  473. package/dist/assets/NcMentionBubble-67378a12.css +0 -21
  474. package/dist/assets/index-2cedaf24.css +0 -21
  475. package/dist/assets/index-30d74459.css +0 -42
  476. package/dist/assets/index-317f55be.css +0 -21
  477. package/dist/assets/index-34f6bb3f.css +0 -21
  478. package/dist/assets/index-37970f20.css +0 -21
  479. package/dist/assets/index-3aba62de.css +0 -21
  480. package/dist/assets/index-47fab7bf.css +0 -21
  481. package/dist/assets/index-49a0d570.css +0 -21
  482. package/dist/assets/index-4a4c1700.css +0 -21
  483. package/dist/assets/index-4a4c2637.css +0 -21
  484. package/dist/assets/index-4efbac36.css +0 -21
  485. package/dist/assets/index-6140ff62.css +0 -21
  486. package/dist/assets/index-66b19339.css +0 -21
  487. package/dist/assets/index-6cb0dc4a.css +0 -21
  488. package/dist/assets/index-6f63d18f.css +0 -42
  489. package/dist/assets/index-76287c8f.css +0 -21
  490. package/dist/assets/index-7a7195d0.css +0 -21
  491. package/dist/assets/index-7e084b52.css +0 -21
  492. package/dist/assets/index-7f55fed2.css +0 -21
  493. package/dist/assets/index-7ffde264.css +0 -21
  494. package/dist/assets/index-81f5e4c8.css +0 -21
  495. package/dist/assets/index-82b5969a.css +0 -21
  496. package/dist/assets/index-852d8576.css +0 -21
  497. package/dist/assets/index-8f58dd75.css +0 -21
  498. package/dist/assets/index-935fa6f9.css +0 -42
  499. package/dist/assets/index-939ba6f0.css +0 -21
  500. package/dist/assets/index-a17dfbc4.css +0 -21
  501. package/dist/assets/index-a4a40fa3.css +0 -21
  502. package/dist/assets/index-a50a8de6.css +0 -1
  503. package/dist/assets/index-a513dcd5.css +0 -21
  504. package/dist/assets/index-a8c5cf75.css +0 -21
  505. package/dist/assets/index-a999ba9f.css +0 -21
  506. package/dist/assets/index-afc15e11.css +0 -21
  507. package/dist/assets/index-b814f5fa.css +0 -21
  508. package/dist/assets/index-ba6ad1b4.css +0 -21
  509. package/dist/assets/index-bf10e8e1.css +0 -21
  510. package/dist/assets/index-bf46edd7.css +0 -21
  511. package/dist/assets/index-c6d7f3b0.css +0 -21
  512. package/dist/assets/index-c736204a.css +0 -21
  513. package/dist/assets/index-cb76ef23.css +0 -21
  514. package/dist/assets/index-cc70a006.css +0 -21
  515. package/dist/assets/index-dd464a52.css +0 -21
  516. package/dist/assets/index-e0ceef85.css +0 -21
  517. package/dist/assets/index-ecdb616f.css +0 -42
  518. package/dist/assets/index-ee410fad.css +0 -21
  519. package/dist/assets/index-ef0bca81.css +0 -42
  520. package/dist/assets/index-f1030e54.css +0 -21
  521. package/dist/assets/index-f6ca40ca.css +0 -21
  522. package/dist/assets/index-f8466b88.css +0 -21
  523. package/dist/assets/referencePickerModal-41e4705a.css +0 -21
  524. package/dist/chunks/GenColors-8097de04.cjs +0 -1
  525. package/dist/chunks/GenColors-85cb6194.mjs +0 -25
  526. package/dist/chunks/GenRandomId-1e1b509a.mjs +0 -4
  527. package/dist/chunks/GenRandomId-67df40eb.cjs +0 -1
  528. package/dist/chunks/IsMobileState-151fc57d.cjs +0 -1
  529. package/dist/chunks/IsMobileState-151fc57d.cjs.map +0 -1
  530. package/dist/chunks/IsMobileState-e1fe5f58.mjs +0 -15
  531. package/dist/chunks/IsMobileState-e1fe5f58.mjs.map +0 -1
  532. package/dist/chunks/Linkify-a0faf443.mjs +0 -5
  533. package/dist/chunks/Linkify-a4db36a9.cjs +0 -1
  534. package/dist/chunks/NcAppNavigationToggle-5f3b9b9a.cjs +0 -1
  535. package/dist/chunks/NcAppNavigationToggle-5f3b9b9a.cjs.map +0 -1
  536. package/dist/chunks/NcAppNavigationToggle-86cc2542.mjs +0 -23
  537. package/dist/chunks/NcAppNavigationToggle-86cc2542.mjs.map +0 -1
  538. package/dist/chunks/NcInputConfirmCancel-0cd93e0e.mjs +0 -43
  539. package/dist/chunks/NcInputConfirmCancel-0cd93e0e.mjs.map +0 -1
  540. package/dist/chunks/NcInputConfirmCancel-17c8ddfb.cjs +0 -1
  541. package/dist/chunks/NcInputConfirmCancel-17c8ddfb.cjs.map +0 -1
  542. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-072bbb05.cjs.map +0 -1
  543. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-55016398.mjs.map +0 -1
  544. package/dist/chunks/NcRichText-3c54a3cc.cjs +0 -1
  545. package/dist/chunks/NcRichText-bb9d3893.mjs +0 -123
  546. package/dist/chunks/NcSettingsSelectGroup-0be1fe91.mjs +0 -58
  547. package/dist/chunks/NcSettingsSelectGroup-0be1fe91.mjs.map +0 -1
  548. package/dist/chunks/NcSettingsSelectGroup-62ca94a9.cjs +0 -1
  549. package/dist/chunks/NcSettingsSelectGroup-62ca94a9.cjs.map +0 -1
  550. package/dist/chunks/ScopeComponent-1f3a7612.mjs +0 -8
  551. package/dist/chunks/ScopeComponent-4b8bd1ee.cjs +0 -1
  552. package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs +0 -24
  553. package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs.map +0 -1
  554. package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs +0 -1
  555. package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs.map +0 -1
  556. package/dist/chunks/actionGlobal-cda46023.mjs +0 -15
  557. package/dist/chunks/actionGlobal-ec7003e8.cjs +0 -1
  558. package/dist/chunks/actionText-6c35d3fc.mjs +0 -23
  559. package/dist/chunks/actionText-bef01778.cjs +0 -1
  560. package/dist/chunks/focusTrap-139520e2.cjs +0 -1
  561. package/dist/chunks/focusTrap-173aba65.mjs +0 -6
  562. package/dist/chunks/index-197226c7.mjs +0 -171
  563. package/dist/chunks/index-197226c7.mjs.map +0 -1
  564. package/dist/chunks/index-377488aa.mjs +0 -46
  565. package/dist/chunks/index-858938bd.cjs +0 -3
  566. package/dist/chunks/index-cd3f1f8f.mjs +0 -43
  567. package/dist/chunks/index-cebd6e80.cjs +0 -1
  568. package/dist/chunks/index-cebd6e80.cjs.map +0 -1
  569. package/dist/chunks/index-df3f51c6.cjs +0 -1
  570. package/dist/chunks/l10n-05baf7da.mjs +0 -5
  571. package/dist/chunks/l10n-05baf7da.mjs.map +0 -1
  572. package/dist/chunks/l10n-46d0c1c0.cjs +0 -1
  573. package/dist/chunks/l10n-46d0c1c0.cjs.map +0 -1
  574. package/dist/chunks/l10n-9a5a6afc.mjs +0 -18
  575. package/dist/chunks/l10n-9a5a6afc.mjs.map +0 -1
  576. package/dist/chunks/l10n-dacb6440.cjs +0 -1
  577. package/dist/chunks/l10n-dacb6440.cjs.map +0 -1
  578. package/dist/chunks/logger-01af1a78.cjs +0 -1
  579. package/dist/chunks/logger-ccc7ee65.mjs +0 -5
  580. package/dist/chunks/referencePickerModal-6120a321.cjs +0 -1
  581. package/dist/chunks/referencePickerModal-6120a321.cjs.map +0 -1
  582. package/dist/chunks/referencePickerModal-d0573462.mjs +0 -428
  583. package/dist/chunks/referencePickerModal-d0573462.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-fb2ee22c.mjs","sources":["../../src/mixins/userStatus.js","../../src/components/NcAvatar/NcAvatar.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t *\n\t\t * @param {string} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tif (!userId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1/statuses/{userId}', { userId }))\n\t\t\t\tconst {\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\ticon,\n\t\t\t\t} = data.ocs.data\n\t\t\t\tthis.userStatus.status = status\n\t\t\t\tthis.userStatus.message = message || ''\n\t\t\t\tthis.userStatus.icon = icon || ''\n\t\t\t\tthis.hasStatus = true\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t},\n\t},\n}\n","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<NcAvatar user=\"willywonka\" display-name=\"Willy Wonka\" />\n```\n\n### Avatar with image\n\n```vue\n\t<NcAvatar url=\"https://nextcloud.com/wp-content/themes/next/assets/img/common/nextcloud-square-logo.png\" />\n```\n\n### Avatar with material design icon\n\n```\n <template>\n\t<NcAvatar>\n\t\t<template #icon>\n\t\t\t<AccountMultiple :size=\"20\" />\n\t\t</template>\n\t</NcAvatar>\n</template>\n<script>\nimport AccountMultiple from 'vue-material-design-icons/AccountMultiple'\n\nexport default {\n\tcomponents: {\n\t\tAccountMultiple,\n\t},\n }\n </script>\n```\n\n### Avatar with preloaded status\n```\n <template>\n\t<NcAvatar user=\"janedoe\"\n\t\tdisplay-name=\"Jane Doe\"\n\t\t:preloaded-user-status=\"status\">\n\t</NcAvatar>\n</template>\n<script>\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tstatus: {\n\t\t\t\ticon: '',\n\t\t\t\tstatus: 'dnd',\n\t\t\t\tmessage: 'Not busy',\n\t\t\t},\n\t\t}\n\t},\n }\n </script>\n```\n\n### Avatar for non-users\n\n```vue\n\t<NcAvatar display-name=\"Robbie Hyeon-Jeong\" :is-no-user=\"true\" />\n```\n\n### Avatar on complex background\n\n```\n<template>\n\t<div class=\"avatar-background\">\n\t\t<NcAvatar class=\"avatar\" :is-no-user=\"true\" display-name=\"Cecilia Rohese\" />\n\t</div>\n</template>\n<style scoped>\n.avatar-background {\n\twidth: 80px;\n\theight: 60px;\n\tbackground: linear-gradient(to bottom, #0057b8 0%, #0057b8 49.99%, #ffd700 50%, #ffd700 100%);\n}\n\n.avatar {\n\tmargin: 15px 25px;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<span ref=\"main\"\n\t\tv-click-outside=\"closeMenu\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu,\n\t\t\t'avatardiv--with-menu-loading': contactsMenuLoading\n\t\t}\"\n\t\t:title=\"tooltip\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\"\n\t\t:tabindex=\"hasMenu ? '0' : undefined\"\n\t\t:aria-label=\"avatarAriaLabel\"\n\t\t:role=\"hasMenu ? 'button' : undefined\"\n\t\tv-on=\"hasMenu ? {\n\t\t\tclick: toggleMenu,\n\t\t\tkeydown: toggleMenu,\n\t\t} : null\">\n\t\t<!-- @slot Icon slot -->\n\t\t<slot name=\"icon\">\n\t\t\t<!-- Avatar icon or image -->\n\t\t\t<span v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t\t<img v-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\t\talt=\"\">\n\t\t</slot>\n\n\t\t<!-- Contact menu -->\n\t\t<!-- We show a button if the menu is not loaded yet. -->\n\t\t<NcButton v-if=\"hasMenu && !menu.length\"\n\t\t\t:aria-label=\"t('Open contact menu')\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"action-item action-item__menutoggle\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon v-if=\"contactsMenuLoading\" />\n\t\t\t\t<DotsHorizontal v-else :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcActions v-else-if=\"hasMenu\"\n\t\t\tforce-menu\n\t\t\tmanual-open\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\t:container=\"menuContainer\"\n\t\t\t:open=\"contactsMenuOpenState\">\n\t\t\t<NcActionLink v-for=\"(item, key) in menu\"\n\t\t\t\t:key=\"key\"\n\t\t\t\t:href=\"item.href\"\n\t\t\t\t:icon=\"item.icon\">\n\t\t\t\t{{ item.text }}\n\t\t\t</NcActionLink>\n\t\t\t<template v-if=\"contactsMenuLoading\" #icon>\n\t\t\t\t<NcLoadingIcon />\n\t\t\t</template>\n\t\t</NcActions>\n\n\t\t<!-- Avatar status -->\n\t\t<span v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</span>\n\t\t<span v-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:class=\"'avatardiv__user-status--' + userStatus.status\"\n\t\t\tv-bind=\"userStatusRole\" />\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<span v-if=\"userDoesNotExist && !(iconClass || $slots.icon)\"\n\t\t\t:style=\"initialsWrapperStyle\"\n\t\t\tclass=\"avatardiv__initials-wrapper\">\n\t\t\t<span :style=\"initialsStyle\" class=\"unknown\">\n\t\t\t\t{{ initials }}\n\t\t\t</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport NcActions from '../NcActions/index.js'\nimport NcActionLink from '../NcActionLink/index.js'\nimport NcButton from '../NcButton/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\nimport usernameToColor from '../../functions/usernameToColor/index.js'\nimport { userStatus } from '../../mixins/index.js'\nimport { t } from '../../l10n.js'\n\nimport axios from '@nextcloud/axios'\nimport DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { generateUrl } from '@nextcloud/router'\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\n/**\n * @param {string} userId The id of the user\n */\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\n/**\n * @param {string} userId The id of the user\n * @param {boolean} flag Has the user an avatar\n */\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'NcAvatar',\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\tcomponents: {\n\t\tDotsHorizontal,\n\t\tNcActions,\n\t\tNcActionLink,\n\t\tNcButton,\n\t\tNcLoadingIcon,\n\t},\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * When the user status was preloaded via another source it can be handed in with this property to save the request.\n\t\t * If this property is not set the status will be fetched automatically.\n\t\t * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n\t\t */\n\t\tpreloadedUserStatus: {\n\t\t\ttype: Object,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover menu container\n\t\t */\n\t\tmenuContainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuLoading: false,\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tavatarAriaLabel() {\n\t\t\t// aria-label is only allowed on interactive elements\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n\t\t\t\treturn t('Avatar of {displayName}, {status}', { displayName: this.displayName ?? this.user, status: this.userStatusText })\n\t\t\t}\n\t\t\treturn t('Avatar of {displayName}', { displayName: this.displayName ?? this.user })\n\t\t},\n\t\t/** Translated current user status */\n\t\tuserStatusText() {\n\t\t\tswitch (this.userStatus.status) {\n\t\t\t// TRANSLATORS: User status if the user is currently away from keyboard\n\t\t\tcase 'away': return t('away')\n\t\t\tcase 'dnd': return t('do not disturb')\n\t\t\tcase 'online': return t('online')\n\t\t\tcase 'offline': return t('offline')\n\t\t\tdefault: return this.userStatus.status\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If the avatar has no menu no aria-label is assigned, but for accessibility we still need the status to be accessible\n\t\t * So this sets `role=img` on the status indicator (span with background) and the required `alt` and `aria-label` attributes.\n\t\t */\n\t\tuserStatusRole() {\n\t\t\t// only needed if non-interactive, otherwise the aria-label is set\n\t\t\tif (this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst label = t('User status: {status}', { status: this.userStatusText })\n\t\t\treturn {\n\t\t\t\trole: 'img',\n\t\t\t\t'aria-label': label,\n\t\t\t\talt: label,\n\t\t\t}\n\t\t},\n\t\tcanDisplayUserStatus() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\t\tgetUserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isMenuLoaded) {\n\t\t\t\treturn this.menu.length > 0\n\t\t\t}\n\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t},\n\t\tshouldShowPlaceholder() {\n\t\t\treturn this.allowPlaceholder && (\n\t\t\t\tthis.userDoesNotExist)\n\t\t},\n\t\tavatarStyle() {\n\t\t\tconst style = {\n\t\t\t\t'--size': this.size + 'px',\n\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\tfontSize: Math.round(this.size * 0.45) + 'px',\n\t\t\t}\n\t\t\treturn style\n\t\t},\n\t\tinitialsWrapperStyle() {\n\t\t\tconst { r, g, b } = usernameToColor(this.getUserIdentifier)\n\t\t\treturn {\n\t\t\t\tbackgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`,\n\t\t\t}\n\t\t},\n\t\tinitialsStyle() {\n\t\t\tconst { r, g, b } = usernameToColor(this.getUserIdentifier)\n\t\t\treturn {\n\t\t\t\tcolor: `rgb(${r}, ${g}, ${b})`,\n\t\t\t}\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\t\tinitials() {\n\t\t\tlet initials\n\t\t\tif (this.shouldShowPlaceholder) {\n\t\t\t\tconst user = this.getUserIdentifier\n\t\t\t\tconst idx = user.indexOf(' ')\n\t\t\t\tif (user === '') {\n\t\t\t\t\tinitials = '?'\n\t\t\t\t} else {\n\t\t\t\t\tinitials = String.fromCodePoint(user.codePointAt(0))\n\t\t\t\t\tif (idx !== -1) {\n\t\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(user.codePointAt(idx + 1)))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toUpperCase()\n\t\t},\n\t\tmenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\ttext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * @param {string} html The HTML to escape\n\t\t\t */\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\treturn [{\n\t\t\t\t\thref: '#',\n\t\t\t\t\ticon: `data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>${escape(this.userStatus.icon)}</text></svg>`,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tsubscribe('settings:avatar:updated', this.loadAvatarUrl)\n\t\tsubscribe('settings:display-name:updated', this.loadAvatarUrl)\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tif (!this.preloadedUserStatus) {\n\t\t\t\tthis.fetchUserStatus(this.user)\n\t\t\t} else {\n\t\t\t\tthis.userStatus.status = this.preloadedUserStatus.status || ''\n\t\t\t\tthis.userStatus.message = this.preloadedUserStatus.message || ''\n\t\t\t\tthis.userStatus.icon = this.preloadedUserStatus.icon || ''\n\t\t\t\tthis.hasStatus = this.preloadedUserStatus.status !== null\n\t\t\t}\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:avatar:updated', this.loadAvatarUrl)\n\t\tunsubscribe('settings:display-name:updated', this.loadAvatarUrl)\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggle the popover menu on click or enter\n\t\t * @param {KeyboardEvent|MouseEvent} event the UI event\n\t\t */\n\t\tasync toggleMenu(event) {\n\t\t\tif (event.type === 'keydown' && event.key !== 'Enter') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\t\tcloseMenu() {\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\t\tasync fetchContactsMenu() {\n\t\t\tthis.contactsMenuLoading = true\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch (e) {\n\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t}\n\t\t\tthis.contactsMenuLoading = false\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.size <= 64) {\n\t\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, 64)\n\t\t\t\tconst srcset = [\n\t\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\t\tthis.avatarUrlGenerator(this.user, 512) + ' 8x',\n\t\t\t\t].join(', ')\n\n\t\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t\t} else {\n\t\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, 512)\n\t\t\t\tthis.updateImageIfValid(avatarUrl)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @return {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tconst darkTheme = window.getComputedStyle(document.body)\n\t\t\t\t.getPropertyValue('--background-invert-if-dark') === 'invert(100%)'\n\t\t\tlet url = '/avatar/{user}/{size}' + (darkTheme ? '/dark' : '')\n\t\t\tif (this.isGuest) {\n\t\t\t\turl = '/avatar/guest/{user}/{size}' + (darkTheme ? '/dark' : '')\n\t\t\t}\n\n\t\t\tlet avatarUrl = generateUrl(\n\t\t\t\turl,\n\t\t\t\t{\n\t\t\t\t\tuser,\n\t\t\t\t\tsize,\n\t\t\t\t})\n\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\tif (user === getCurrentUser()?.uid && typeof oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {Array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = () => {\n\t\t\t\tconsole.debug('Invalid avatar url', url)\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-main-background);\n\t\twhite-space: normal;\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White/black background for avatars with transparency\n\t\tbackground-color: var(--color-main-background) !important;\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t.action-item {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t:deep(.action-item__menutoggle) {\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover,\n\t\t&#{&}-loading {\n\t\t\t:deep(.action-item__menutoggle) {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t:deep(.action-item__menutoggle),\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t\t:deep() {\n\t\t\t.button-vue,\n\t\t\t.button-vue__icon {\n\t\t\t\theight: var(--size);\n\t\t\t\tmin-height: var(--size);\n\t\t\t\twidth: var(--size) !important;\n\t\t\t\tmin-width: var(--size);\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatardiv__initials-wrapper {\n\t\tdisplay: block;\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.unknown {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.material-design-icon {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tmax-height: 18px;\n\t\tmax-width: 18px;\n\t\theight: 40%;\n\t\twidth: 40%;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tdisplay: block;\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n</style>\n"],"names":["userStatus","userId","capabilities","getCapabilities","getCurrentUser","data","axios","generateOcsUrl","status","message","icon","e","_b","_a","browserStorage","getBuilder","getUserHasAvatar","flag","setUserHasAvatar","_sfc_main","vOnClickOutside","DotsHorizontal","NcActions","NcActionLink","NcButton","NcLoadingIcon","t","label","r","g","b","usernameToColor","initials","user","idx","actions","item","escape","html","text","p","subscribe","unsubscribe","state","event","generateUrl","avatarUrl","srcset","size","darkTheme","url","userHasAvatar","img"],"mappings":"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"}