@nextcloud/vue 8.11.2 → 8.11.3

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 (775) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/Components/NcActionButton.cjs +67 -30
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +67 -34
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionButtonGroup.cjs +2 -2
  7. package/dist/Components/NcActionButtonGroup.mjs +2 -2
  8. package/dist/Components/NcActionCaption.cjs +17 -14
  9. package/dist/Components/NcActionCaption.cjs.map +1 -1
  10. package/dist/Components/NcActionCaption.mjs +17 -15
  11. package/dist/Components/NcActionCaption.mjs.map +1 -1
  12. package/dist/Components/NcActionCheckbox.cjs +42 -24
  13. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  14. package/dist/Components/NcActionCheckbox.mjs +42 -27
  15. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  16. package/dist/Components/NcActionInput.cjs +2 -2
  17. package/dist/Components/NcActionInput.mjs +2 -2
  18. package/dist/Components/NcActionLink.cjs +28 -22
  19. package/dist/Components/NcActionLink.cjs.map +1 -1
  20. package/dist/Components/NcActionLink.mjs +28 -24
  21. package/dist/Components/NcActionLink.mjs.map +1 -1
  22. package/dist/Components/NcActionRadio.cjs +38 -25
  23. package/dist/Components/NcActionRadio.cjs.map +1 -1
  24. package/dist/Components/NcActionRadio.mjs +38 -28
  25. package/dist/Components/NcActionRadio.mjs.map +1 -1
  26. package/dist/Components/NcActionRouter.cjs +24 -20
  27. package/dist/Components/NcActionRouter.cjs.map +1 -1
  28. package/dist/Components/NcActionRouter.mjs +24 -22
  29. package/dist/Components/NcActionRouter.mjs.map +1 -1
  30. package/dist/Components/NcActionSeparator.cjs +15 -12
  31. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  32. package/dist/Components/NcActionSeparator.mjs +15 -13
  33. package/dist/Components/NcActionSeparator.mjs.map +1 -1
  34. package/dist/Components/NcActionText.cjs +20 -16
  35. package/dist/Components/NcActionText.cjs.map +1 -1
  36. package/dist/Components/NcActionText.mjs +20 -18
  37. package/dist/Components/NcActionText.mjs.map +1 -1
  38. package/dist/Components/NcActionTextEditable.cjs +40 -29
  39. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  40. package/dist/Components/NcActionTextEditable.mjs +40 -33
  41. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  42. package/dist/Components/NcActions.cjs +2 -2
  43. package/dist/Components/NcActions.mjs +2 -2
  44. package/dist/Components/NcAppContent.cjs +2 -2
  45. package/dist/Components/NcAppContent.mjs +2 -2
  46. package/dist/Components/NcAppContentDetails.cjs +14 -11
  47. package/dist/Components/NcAppContentDetails.cjs.map +1 -1
  48. package/dist/Components/NcAppContentDetails.mjs +14 -12
  49. package/dist/Components/NcAppContentDetails.mjs.map +1 -1
  50. package/dist/Components/NcAppContentList.cjs +16 -13
  51. package/dist/Components/NcAppContentList.cjs.map +1 -1
  52. package/dist/Components/NcAppContentList.mjs +16 -14
  53. package/dist/Components/NcAppContentList.mjs.map +1 -1
  54. package/dist/Components/NcAppNavigation.cjs +2 -2
  55. package/dist/Components/NcAppNavigation.mjs +2 -2
  56. package/dist/Components/NcAppNavigationCaption.cjs +2 -2
  57. package/dist/Components/NcAppNavigationCaption.mjs +2 -2
  58. package/dist/Components/NcAppNavigationIconBullet.cjs +24 -18
  59. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  60. package/dist/Components/NcAppNavigationIconBullet.mjs +24 -19
  61. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  62. package/dist/Components/NcAppNavigationItem.cjs +2 -2
  63. package/dist/Components/NcAppNavigationItem.mjs +2 -2
  64. package/dist/Components/NcAppNavigationList.cjs +15 -12
  65. package/dist/Components/NcAppNavigationList.cjs.map +1 -1
  66. package/dist/Components/NcAppNavigationList.mjs +15 -13
  67. package/dist/Components/NcAppNavigationList.mjs.map +1 -1
  68. package/dist/Components/NcAppNavigationNew.cjs +27 -23
  69. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  70. package/dist/Components/NcAppNavigationNew.mjs +27 -25
  71. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  72. package/dist/Components/NcAppNavigationNewItem.cjs +2 -2
  73. package/dist/Components/NcAppNavigationNewItem.mjs +2 -2
  74. package/dist/Components/NcAppNavigationSettings.cjs +2 -2
  75. package/dist/Components/NcAppNavigationSettings.mjs +2 -2
  76. package/dist/Components/NcAppNavigationSpacer.cjs +15 -12
  77. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  78. package/dist/Components/NcAppNavigationSpacer.mjs +15 -13
  79. package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
  80. package/dist/Components/NcAppNavigationToggle.cjs +4 -4
  81. package/dist/Components/NcAppNavigationToggle.mjs +3 -3
  82. package/dist/Components/NcAppSettingsDialog.cjs +2 -2
  83. package/dist/Components/NcAppSettingsDialog.mjs +2 -2
  84. package/dist/Components/NcAppSettingsSection.cjs +29 -24
  85. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  86. package/dist/Components/NcAppSettingsSection.mjs +29 -25
  87. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  88. package/dist/Components/NcAppSidebar.cjs +2 -2
  89. package/dist/Components/NcAppSidebar.mjs +2 -2
  90. package/dist/Components/NcAppSidebarTab.cjs +24 -18
  91. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  92. package/dist/Components/NcAppSidebarTab.mjs +24 -19
  93. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  94. package/dist/Components/NcAvatar.cjs +2 -2
  95. package/dist/Components/NcAvatar.mjs +2 -2
  96. package/dist/Components/NcBreadcrumb.cjs +2 -2
  97. package/dist/Components/NcBreadcrumb.mjs +2 -2
  98. package/dist/Components/NcBreadcrumbs.cjs +2 -2
  99. package/dist/Components/NcBreadcrumbs.mjs +2 -2
  100. package/dist/Components/NcButton.cjs +79 -58
  101. package/dist/Components/NcButton.cjs.map +1 -1
  102. package/dist/Components/NcButton.mjs +79 -59
  103. package/dist/Components/NcButton.mjs.map +1 -1
  104. package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -2
  105. package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -2
  106. package/dist/Components/NcColorPicker.cjs +2 -2
  107. package/dist/Components/NcColorPicker.mjs +2 -2
  108. package/dist/Components/NcContent.cjs +2 -2
  109. package/dist/Components/NcContent.mjs +2 -2
  110. package/dist/Components/NcCounterBubble.cjs +18 -15
  111. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  112. package/dist/Components/NcCounterBubble.mjs +18 -16
  113. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  114. package/dist/Components/NcDashboardWidget.cjs +2 -2
  115. package/dist/Components/NcDashboardWidget.mjs +2 -2
  116. package/dist/Components/NcDashboardWidgetItem.cjs +2 -2
  117. package/dist/Components/NcDashboardWidgetItem.mjs +2 -2
  118. package/dist/Components/NcDateTime.cjs +2 -2
  119. package/dist/Components/NcDateTime.mjs +2 -2
  120. package/dist/Components/NcDateTimePicker.cjs +142 -101
  121. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  122. package/dist/Components/NcDateTimePicker.mjs +140 -108
  123. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  124. package/dist/Components/NcDateTimePickerNative.cjs +72 -52
  125. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  126. package/dist/Components/NcDateTimePickerNative.mjs +72 -54
  127. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  128. package/dist/Components/NcDialog.cjs +2 -2
  129. package/dist/Components/NcDialog.mjs +2 -2
  130. package/dist/Components/NcDialogButton.cjs +2 -2
  131. package/dist/Components/NcDialogButton.mjs +2 -2
  132. package/dist/Components/NcEllipsisedOption.cjs +35 -20
  133. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  134. package/dist/Components/NcEllipsisedOption.mjs +35 -22
  135. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  136. package/dist/Components/NcEmojiPicker.cjs +2 -2
  137. package/dist/Components/NcEmojiPicker.mjs +2 -2
  138. package/dist/Components/NcEmptyContent.cjs +21 -18
  139. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  140. package/dist/Components/NcEmptyContent.mjs +21 -19
  141. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  142. package/dist/Components/NcGuestContent.cjs +15 -12
  143. package/dist/Components/NcGuestContent.cjs.map +1 -1
  144. package/dist/Components/NcGuestContent.mjs +15 -13
  145. package/dist/Components/NcGuestContent.mjs.map +1 -1
  146. package/dist/Components/NcHeaderMenu.cjs +2 -2
  147. package/dist/Components/NcHeaderMenu.mjs +2 -2
  148. package/dist/Components/NcHighlight.cjs +2 -2
  149. package/dist/Components/NcHighlight.mjs +2 -2
  150. package/dist/Components/NcIconSvgWrapper.cjs +2 -2
  151. package/dist/Components/NcIconSvgWrapper.mjs +2 -2
  152. package/dist/Components/NcInputField.cjs +68 -52
  153. package/dist/Components/NcInputField.cjs.map +1 -1
  154. package/dist/Components/NcInputField.mjs +68 -57
  155. package/dist/Components/NcInputField.mjs.map +1 -1
  156. package/dist/Components/NcListItem.cjs +2 -2
  157. package/dist/Components/NcListItem.mjs +2 -2
  158. package/dist/Components/NcListItemIcon.cjs +2 -2
  159. package/dist/Components/NcListItemIcon.mjs +2 -2
  160. package/dist/Components/NcLoadingIcon.cjs +24 -16
  161. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  162. package/dist/Components/NcLoadingIcon.mjs +24 -17
  163. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  164. package/dist/Components/NcModal.cjs +257 -146
  165. package/dist/Components/NcModal.cjs.map +1 -1
  166. package/dist/Components/NcModal.mjs +257 -156
  167. package/dist/Components/NcModal.mjs.map +1 -1
  168. package/dist/Components/NcNoteCard.cjs +80 -65
  169. package/dist/Components/NcNoteCard.cjs.map +1 -1
  170. package/dist/Components/NcNoteCard.mjs +80 -66
  171. package/dist/Components/NcNoteCard.mjs.map +1 -1
  172. package/dist/Components/NcPasswordField.cjs +2 -2
  173. package/dist/Components/NcPasswordField.mjs +2 -2
  174. package/dist/Components/NcPopover.cjs +2 -2
  175. package/dist/Components/NcPopover.mjs +2 -2
  176. package/dist/Components/NcProgressBar.cjs +2 -2
  177. package/dist/Components/NcProgressBar.mjs +2 -2
  178. package/dist/Components/NcRelatedResourcesPanel.cjs +2 -2
  179. package/dist/Components/NcRelatedResourcesPanel.mjs +2 -2
  180. package/dist/Components/NcRichContenteditable.cjs +6 -5
  181. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  182. package/dist/Components/NcRichContenteditable.mjs +5 -5
  183. package/dist/Components/NcRichText.cjs +24 -22
  184. package/dist/Components/NcRichText.cjs.map +1 -1
  185. package/dist/Components/NcRichText.mjs +24 -24
  186. package/dist/Components/NcSavingIndicatorIcon.cjs +2 -2
  187. package/dist/Components/NcSavingIndicatorIcon.mjs +2 -2
  188. package/dist/Components/NcSelect.cjs +2 -2
  189. package/dist/Components/NcSelect.mjs +2 -2
  190. package/dist/Components/NcSelectTags.cjs +2 -2
  191. package/dist/Components/NcSelectTags.mjs +2 -2
  192. package/dist/Components/NcSettingsInputText.cjs +2 -2
  193. package/dist/Components/NcSettingsInputText.mjs +2 -2
  194. package/dist/Components/NcSettingsSection.cjs +2 -2
  195. package/dist/Components/NcSettingsSection.mjs +2 -2
  196. package/dist/Components/NcSettingsSelectGroup.cjs +4 -4
  197. package/dist/Components/NcSettingsSelectGroup.mjs +3 -3
  198. package/dist/Components/NcTextArea.cjs +51 -36
  199. package/dist/Components/NcTextArea.cjs.map +1 -1
  200. package/dist/Components/NcTextArea.mjs +51 -40
  201. package/dist/Components/NcTextArea.mjs.map +1 -1
  202. package/dist/Components/NcTextField.cjs +2 -2
  203. package/dist/Components/NcTextField.mjs +2 -2
  204. package/dist/Components/NcTimezonePicker.cjs +2 -2
  205. package/dist/Components/NcTimezonePicker.mjs +2 -2
  206. package/dist/Components/NcUserBubble.cjs +2 -2
  207. package/dist/Components/NcUserBubble.mjs +2 -2
  208. package/dist/Components/NcUserStatusIcon.cjs +2 -2
  209. package/dist/Components/NcUserStatusIcon.mjs +2 -2
  210. package/dist/Components/NcVNodes.cjs +15 -12
  211. package/dist/Components/NcVNodes.cjs.map +1 -1
  212. package/dist/Components/NcVNodes.mjs +15 -13
  213. package/dist/Components/NcVNodes.mjs.map +1 -1
  214. package/dist/Composables/useIsFullscreen.cjs +9 -8
  215. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  216. package/dist/Composables/useIsFullscreen.mjs +9 -8
  217. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  218. package/dist/Composables/useIsMobile.cjs +19 -14
  219. package/dist/Composables/useIsMobile.cjs.map +1 -1
  220. package/dist/Composables/useIsMobile.mjs +19 -14
  221. package/dist/Composables/useIsMobile.mjs.map +1 -1
  222. package/dist/Directives/Focus.cjs +6 -6
  223. package/dist/Directives/Focus.cjs.map +1 -1
  224. package/dist/Directives/Focus.mjs +5 -5
  225. package/dist/Directives/Focus.mjs.map +1 -1
  226. package/dist/Directives/Linkify.cjs +9 -6
  227. package/dist/Directives/Linkify.cjs.map +1 -1
  228. package/dist/Directives/Linkify.mjs +8 -6
  229. package/dist/Directives/Linkify.mjs.map +1 -1
  230. package/dist/Directives/Tooltip.cjs +11 -11
  231. package/dist/Directives/Tooltip.cjs.map +1 -1
  232. package/dist/Directives/Tooltip.mjs +9 -9
  233. package/dist/Directives/Tooltip.mjs.map +1 -1
  234. package/dist/Functions/a11y.cjs +33 -0
  235. package/dist/Functions/a11y.cjs.map +1 -0
  236. package/dist/Functions/a11y.mjs +33 -0
  237. package/dist/Functions/a11y.mjs.map +1 -0
  238. package/dist/Functions/emoji.cjs +8 -0
  239. package/dist/Functions/emoji.cjs.map +1 -0
  240. package/dist/Functions/emoji.mjs +8 -0
  241. package/dist/Functions/emoji.mjs.map +1 -0
  242. package/dist/Functions/reference.cjs +16 -15
  243. package/dist/Functions/reference.cjs.map +1 -1
  244. package/dist/Functions/reference.mjs +16 -16
  245. package/dist/Functions/registerReference.cjs +11 -11
  246. package/dist/Functions/registerReference.mjs +10 -10
  247. package/dist/Functions/usernameToColor.cjs +2 -2
  248. package/dist/Functions/usernameToColor.mjs +2 -2
  249. package/dist/Mixins/clickOutsideOptions.cjs +4 -3
  250. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  251. package/dist/Mixins/clickOutsideOptions.mjs +4 -3
  252. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  253. package/dist/Mixins/isFullscreen.cjs +4 -4
  254. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  255. package/dist/Mixins/isFullscreen.mjs +4 -4
  256. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  257. package/dist/Mixins/isMobile.cjs +4 -4
  258. package/dist/Mixins/isMobile.cjs.map +1 -1
  259. package/dist/Mixins/isMobile.mjs +4 -4
  260. package/dist/Mixins/isMobile.mjs.map +1 -1
  261. package/dist/Mixins/richEditor.cjs +6 -6
  262. package/dist/Mixins/richEditor.mjs +5 -5
  263. package/dist/assets/{NcActionButton-Cs5kVVAD.css → NcActionButton-CkChpLnH.css} +16 -11
  264. package/dist/assets/{NcActionButtonGroup-ChehtUip.css → NcActionButtonGroup-CvloX35s.css} +5 -4
  265. package/dist/assets/{NcActionCaption-Bp8mrIk7.css → NcActionCaption-sfcjBZnu.css} +4 -2
  266. package/dist/assets/{NcActionCheckbox-Do--WvUT.css → NcActionCheckbox-DTlI7y7p.css} +13 -9
  267. package/dist/assets/{NcActionInput-8F2WF3yH.css → NcActionInput-B8l22cnm.css} +44 -16
  268. package/dist/assets/{NcActionLink-DN3NCDC0.css → NcActionLink-C-NDmERH.css} +9 -6
  269. package/dist/assets/{NcActionRadio-B46v1Kn4.css → NcActionRadio-syUIsm9B.css} +13 -9
  270. package/dist/assets/{NcActionRouter-wVMPq1gi.css → NcActionRouter-BbTCI4sn.css} +12 -10
  271. package/dist/assets/{NcActionSeparator-CX3zFZuI.css → NcActionSeparator-CB59y4di.css} +4 -1
  272. package/dist/assets/{NcActionText-YljCzD9Q.css → NcActionText-Ceh88fy8.css} +12 -10
  273. package/dist/assets/{NcActionTextEditable-mti5YQN1.css → NcActionTextEditable-BoxziChR.css} +52 -24
  274. package/dist/assets/{NcActions-CiiQkX9v.css → NcActions-9_rnkpG4.css} +28 -1
  275. package/dist/assets/{NcAppContent-aWiDWWeq.css → NcAppContent-C08OMmgh.css} +42 -17
  276. package/dist/assets/{NcAppNavigation-wkQJnaLW.css → NcAppNavigation-ClImKhvx.css} +31 -3
  277. package/dist/assets/{NcAppNavigationCaption-jV1y8HQ1.css → NcAppNavigationCaption-BbwgabsF.css} +5 -2
  278. package/dist/assets/{NcAppNavigationIconBullet-1_cBEwu8.css → NcAppNavigationIconBullet-B8q3pUL5.css} +5 -2
  279. package/dist/assets/{NcAppNavigationItem-hYyNqvah.css → NcAppNavigationItem-Dy9C3jxc.css} +50 -28
  280. package/dist/assets/{NcAppNavigationList-CUnaMQQD.css → NcAppNavigationList-DnIxrbVX.css} +4 -1
  281. package/dist/assets/{NcAppNavigationNew-COjJ3vwU.css → NcAppNavigationNew-BPZ1O8Xm.css} +6 -1
  282. package/dist/assets/{NcAppNavigationNewItem-C574fgtB.css → NcAppNavigationNewItem-DF3nldsK.css} +26 -28
  283. package/dist/assets/{NcAppNavigationSettings-nH_pGlKc.css → NcAppNavigationSettings-BCkvRAy8.css} +11 -6
  284. package/dist/assets/{NcAppNavigationSpacer-C5p-33VT.css → NcAppNavigationSpacer-Cb4q1zb5.css} +4 -2
  285. package/dist/assets/{NcAppNavigationToggle-De8wq0JA.css → NcAppNavigationToggle-0yhQ9xse.css} +4 -1
  286. package/dist/assets/{NcAppSettingsDialog-DR46jcRG.css → NcAppSettingsDialog-CajWZJNV.css} +7 -5
  287. package/dist/assets/{NcAppSettingsSection-BqF92GLH.css → NcAppSettingsSection-BDvzWKkd.css} +5 -2
  288. package/dist/assets/{NcAppSidebar-DlVjDHcd.css → NcAppSidebar-Bi22qfW1.css} +66 -14
  289. package/dist/assets/{NcAppSidebarTab-XLBsrGqg.css → NcAppSidebarTab-CBFET-hQ.css} +5 -2
  290. package/dist/assets/{NcAvatar-BozWHt1s.css → NcAvatar-DaftSb4x.css} +11 -12
  291. package/dist/assets/{NcBreadcrumb-eyloXKCC.css → NcBreadcrumb-AES5eSWo.css} +8 -6
  292. package/dist/assets/{NcBreadcrumbs-E-TglkuV.css → NcBreadcrumbs-tYrp1DVs.css} +5 -3
  293. package/dist/assets/{NcButton-DhaPcomf.css → NcButton-D4HxnscK.css} +13 -13
  294. package/dist/assets/{NcCheckboxRadioSwitch-CaAqi0Jt.css → NcCheckboxRadioSwitch-DArK1Q95.css} +76 -53
  295. package/dist/assets/{NcColorPicker-CNboc7FY.css → NcColorPicker-CzKZjMxY.css} +38 -33
  296. package/dist/assets/{NcContent-tZHbeX2L.css → NcContent-Cuv2HvFH.css} +29 -3
  297. package/dist/assets/{NcCounterBubble-CuCSao3j.css → NcCounterBubble-CWi_P1Tb.css} +6 -3
  298. package/dist/assets/{NcDashboardWidget-DTV15Fb1.css → NcDashboardWidget-CGOA8X60.css} +7 -3
  299. package/dist/assets/{NcDashboardWidgetItem-4v77FH89.css → NcDashboardWidgetItem-BevETFRF.css} +18 -3
  300. package/dist/assets/{NcDateTimePicker-q_BLnhHU.css → NcDateTimePicker-D1jwoP61.css} +144 -163
  301. package/dist/assets/{NcDateTimePickerNative-DnLJu29_.css → NcDateTimePickerNative-CV_VuzvQ.css} +7 -4
  302. package/dist/assets/{NcDialog-DEKSpcnR.css → NcDialog-DFMxsFp5.css} +53 -20
  303. package/dist/assets/{NcEllipsisedOption-B6gjXSS9.css → NcEllipsisedOption-ClDzkIX6.css} +7 -6
  304. package/dist/assets/{NcEmojiPicker-B-4WNYcx.css → NcEmojiPicker-XL3oUsqE.css} +79 -50
  305. package/dist/assets/{NcEmptyContent-ClLPsXo5.css → NcEmptyContent--xKgddPn.css} +7 -3
  306. package/dist/assets/{NcGuestContent-CYYZPMjb.css → NcGuestContent-CeRLfUEi.css} +28 -1
  307. package/dist/assets/{NcHeaderMenu-BKufmJd0.css → NcHeaderMenu-N5y8yFGd.css} +7 -7
  308. package/dist/assets/{NcIconSvgWrapper-oui2KPBT.css → NcIconSvgWrapper-C5vV6-c0.css} +4 -1
  309. package/dist/assets/{NcInputConfirmCancel-CSzzPx0i.css → NcInputConfirmCancel-UcHrm0al.css} +7 -5
  310. package/dist/assets/{NcInputField-vYuV3-IY.css → NcInputField-CXoTqF9T.css} +16 -33
  311. package/dist/assets/{NcListItem-BIFTbr17.css → NcListItem-DMYcn1cc.css} +11 -21
  312. package/dist/assets/{NcListItemIcon-9Dazpmpd.css → NcListItemIcon-B9UQBQSa.css} +9 -11
  313. package/dist/assets/{NcLoadingIcon-CFmftMkz.css → NcLoadingIcon-gxK0ujO0.css} +5 -2
  314. package/dist/assets/{NcMentionBubble-7PQ8wEko.css → NcMentionBubble-DmzU72Mw.css} +5 -2
  315. package/dist/assets/{NcModal-CwgrmxSg.css → NcModal-Cof88czY.css} +42 -38
  316. package/dist/assets/{NcNoteCard-B_Q1mnCM.css → NcNoteCard-e7-Bxio8.css} +10 -6
  317. package/dist/assets/{NcPopover-wrgZy49g.css → NcPopover-BwI1hPzy.css} +4 -1
  318. package/dist/assets/{NcProgressBar-DDj4bmBB.css → NcProgressBar-D5VftcJm.css} +4 -1
  319. package/dist/assets/{NcRelatedResourcesPanel-D6K7OQFJ.css → NcRelatedResourcesPanel-BrXxbjgR.css} +60 -8
  320. package/dist/assets/{NcRichContenteditable-BQ2-fqnd.css → NcRichContenteditable-C-eZyVQM.css} +60 -22
  321. package/dist/assets/NcRichText-Cdp_2wEm.css +240 -0
  322. package/dist/assets/{NcSelect-4aBmXHhA.css → NcSelect-Fmyu7qyl.css} +34 -13
  323. package/dist/assets/{NcSettingsInputText-w-LprdjK.css → NcSettingsInputText-CU65Coab.css} +4 -1
  324. package/dist/assets/{NcSettingsSection-8RabR54v.css → NcSettingsSection-e9XGyBq8.css} +9 -7
  325. package/dist/assets/{NcSettingsSelectGroup-D8mlvzIT.css → NcSettingsSelectGroup-CPauLI-o.css} +4 -1
  326. package/dist/assets/{NcTextArea-DitXCroY.css → NcTextArea-XCi8a16Y.css} +13 -28
  327. package/dist/assets/{NcUserBubble-COPMjmKa.css → NcUserBubble-D5ieZC-f.css} +7 -4
  328. package/dist/assets/{NcUserStatusIcon-Dra7jf_o.css → NcUserStatusIcon-BcLArDqV.css} +4 -1
  329. package/dist/assets/{Tooltip-DA4si7PR.css → Tooltip-jHgt4m-W.css} +19 -3
  330. package/dist/assets/referencePickerModal-C0ibN2gO.css +539 -0
  331. package/dist/chunks/AlertCircleOutline-BzttElgq.mjs +39 -0
  332. package/dist/chunks/{AlertCircleOutline-DHFN4OkX.cjs.map → AlertCircleOutline-BzttElgq.mjs.map} +1 -1
  333. package/dist/chunks/AlertCircleOutline-Cb0gAiDw.cjs +38 -0
  334. package/dist/chunks/{AlertCircleOutline-U_bhL30C.mjs.map → AlertCircleOutline-Cb0gAiDw.cjs.map} +1 -1
  335. package/dist/chunks/ArrowLeft-B9iGweTd.mjs +39 -0
  336. package/dist/chunks/{ArrowLeft-CjNnGIlF.cjs.map → ArrowLeft-B9iGweTd.mjs.map} +1 -1
  337. package/dist/chunks/ArrowLeft-BhNmMdMz.cjs +38 -0
  338. package/dist/chunks/{ArrowLeft-kklNBL9z.mjs.map → ArrowLeft-BhNmMdMz.cjs.map} +1 -1
  339. package/dist/chunks/ArrowRight-Clf455e1.mjs +39 -0
  340. package/dist/chunks/{ArrowRight-CxzzJJQ6.cjs.map → ArrowRight-Clf455e1.mjs.map} +1 -1
  341. package/dist/chunks/ArrowRight-DaYrccVG.cjs +38 -0
  342. package/dist/chunks/{ArrowRight-C3BxTDjF.mjs.map → ArrowRight-DaYrccVG.cjs.map} +1 -1
  343. package/dist/chunks/Check-DZc7keoa.cjs +38 -0
  344. package/dist/chunks/{Check-CVn5nytg.cjs.map → Check-DZc7keoa.cjs.map} +1 -1
  345. package/dist/chunks/Check-PawIlCwa.mjs +39 -0
  346. package/dist/chunks/{Check-CRLmJNGG.mjs.map → Check-PawIlCwa.mjs.map} +1 -1
  347. package/dist/chunks/ChevronDown-CF9m1o8_.cjs +38 -0
  348. package/dist/chunks/{ChevronDown-DQPox_nl.cjs.map → ChevronDown-CF9m1o8_.cjs.map} +1 -1
  349. package/dist/chunks/ChevronDown-PedEroXo.mjs +39 -0
  350. package/dist/chunks/{ChevronDown-HHJdUMN4.mjs.map → ChevronDown-PedEroXo.mjs.map} +1 -1
  351. package/dist/chunks/ChevronRight-BNa7yMja.mjs +39 -0
  352. package/dist/chunks/{ChevronRight-BAJhNawb.cjs.map → ChevronRight-BNa7yMja.mjs.map} +1 -1
  353. package/dist/chunks/ChevronRight-DVw6mR11.cjs +38 -0
  354. package/dist/chunks/{ChevronRight-DL3e8bjj.mjs.map → ChevronRight-DVw6mR11.cjs.map} +1 -1
  355. package/dist/chunks/ChevronUp-CTOKWYlC.cjs +38 -0
  356. package/dist/chunks/{ChevronUp-kmHRpe7H.cjs.map → ChevronUp-CTOKWYlC.cjs.map} +1 -1
  357. package/dist/chunks/ChevronUp-DGLTg_nO.mjs +39 -0
  358. package/dist/chunks/{ChevronUp-B6TIgl1a.mjs.map → ChevronUp-DGLTg_nO.mjs.map} +1 -1
  359. package/dist/chunks/Close-1V1F2F-M.mjs +39 -0
  360. package/dist/chunks/{Close-DBfrdXMw.cjs.map → Close-1V1F2F-M.mjs.map} +1 -1
  361. package/dist/chunks/Close-C2VrgKj3.cjs +38 -0
  362. package/dist/chunks/{Close-BtO5TPBO.mjs.map → Close-C2VrgKj3.cjs.map} +1 -1
  363. package/dist/chunks/DotsHorizontal-C0STD_HU.mjs +39 -0
  364. package/dist/chunks/{DotsHorizontal-B8kTqpHe.cjs.map → DotsHorizontal-C0STD_HU.mjs.map} +1 -1
  365. package/dist/chunks/DotsHorizontal-Cjw3-45t.cjs +38 -0
  366. package/dist/chunks/{DotsHorizontal-DfVgEXgz.mjs.map → DotsHorizontal-Cjw3-45t.cjs.map} +1 -1
  367. package/dist/chunks/GenColors-B1GUK4zF.cjs +160 -0
  368. package/dist/chunks/{GenColors-Dceu3ds2.mjs.map → GenColors-B1GUK4zF.cjs.map} +1 -1
  369. package/dist/chunks/{GenColors-Dceu3ds2.mjs → GenColors-DjFwlIhX.mjs} +69 -50
  370. package/dist/chunks/{GenColors-hkqGpnOK.cjs.map → GenColors-DjFwlIhX.mjs.map} +1 -1
  371. package/dist/chunks/{GenRandomId-BW3iYFf9.mjs → GenRandomId-CXkjMlAT.mjs} +4 -2
  372. package/dist/chunks/{GenRandomId-BW3iYFf9.mjs.map → GenRandomId-CXkjMlAT.mjs.map} +1 -1
  373. package/dist/chunks/{GenRandomId-B2O1GMbH.cjs → GenRandomId-kBCcgMJd.cjs} +4 -2
  374. package/dist/chunks/{GenRandomId-B2O1GMbH.cjs.map → GenRandomId-kBCcgMJd.cjs.map} +1 -1
  375. package/dist/chunks/{Linkify-BaDLLFxP.mjs → Linkify-BBPJHBma.mjs} +12 -10
  376. package/dist/chunks/{Linkify-Dola0NBa.cjs.map → Linkify-BBPJHBma.mjs.map} +1 -1
  377. package/dist/chunks/{Linkify-Dola0NBa.cjs → Linkify-CIO279AG.cjs} +14 -10
  378. package/dist/chunks/{Linkify-BaDLLFxP.mjs.map → Linkify-CIO279AG.cjs.map} +1 -1
  379. package/dist/chunks/NcActionButtonGroup-BISuGifY.mjs +53 -0
  380. package/dist/chunks/{NcActionButtonGroup-DU1taycQ.mjs.map → NcActionButtonGroup-BISuGifY.mjs.map} +1 -1
  381. package/dist/chunks/NcActionButtonGroup-iKUlQ6Sg.cjs +52 -0
  382. package/dist/chunks/{NcActionButtonGroup-B1XhnIBl.cjs.map → NcActionButtonGroup-iKUlQ6Sg.cjs.map} +1 -1
  383. package/dist/chunks/NcActionInput-CU4Ycto_.cjs +253 -0
  384. package/dist/chunks/{NcActionInput-N2wrvq5K.cjs.map → NcActionInput-CU4Ycto_.cjs.map} +1 -1
  385. package/dist/chunks/NcActionInput-GJBTX1-r.mjs +254 -0
  386. package/dist/chunks/{NcActionInput-53RB9uQe.mjs.map → NcActionInput-GJBTX1-r.mjs.map} +1 -1
  387. package/dist/chunks/NcActions-CZe78ai2.mjs +845 -0
  388. package/dist/chunks/{NcActions-BtvXtZF4.cjs.map → NcActions-CZe78ai2.mjs.map} +1 -1
  389. package/dist/chunks/NcActions-ePQTvWyX.cjs +846 -0
  390. package/dist/chunks/{NcActions-DiFslXqv.mjs.map → NcActions-ePQTvWyX.cjs.map} +1 -1
  391. package/dist/chunks/NcAppContent-BCShRsQU.cjs +303 -0
  392. package/dist/chunks/{NcAppContent-BDhK1rUf.mjs.map → NcAppContent-BCShRsQU.cjs.map} +1 -1
  393. package/dist/chunks/NcAppContent-gyRkh2hd.mjs +304 -0
  394. package/dist/chunks/{NcAppContent-Be1m1O_W.cjs.map → NcAppContent-gyRkh2hd.mjs.map} +1 -1
  395. package/dist/chunks/NcAppNavigation-DjlepJn1.mjs +142 -0
  396. package/dist/chunks/{NcAppNavigation-CElLRpH-.mjs.map → NcAppNavigation-DjlepJn1.mjs.map} +1 -1
  397. package/dist/chunks/NcAppNavigation-NMvbfe_y.cjs +143 -0
  398. package/dist/chunks/{NcAppNavigation-DKUnWfen.cjs.map → NcAppNavigation-NMvbfe_y.cjs.map} +1 -1
  399. package/dist/chunks/NcAppNavigationCaption-B-flkujS.cjs +62 -0
  400. package/dist/chunks/{NcAppNavigationCaption-DI7SIPdI.mjs.map → NcAppNavigationCaption-B-flkujS.cjs.map} +1 -1
  401. package/dist/chunks/NcAppNavigationCaption-PZDKx81g.mjs +63 -0
  402. package/dist/chunks/{NcAppNavigationCaption-Cdcv-0jj.cjs.map → NcAppNavigationCaption-PZDKx81g.mjs.map} +1 -1
  403. package/dist/chunks/NcAppNavigationItem-CFyEP8wP.mjs +522 -0
  404. package/dist/chunks/{NcAppNavigationItem-Djfc0DPY.mjs.map → NcAppNavigationItem-CFyEP8wP.mjs.map} +1 -1
  405. package/dist/chunks/NcAppNavigationItem-D-j_j_i5.cjs +521 -0
  406. package/dist/chunks/{NcAppNavigationItem-7xN_CMHW.cjs.map → NcAppNavigationItem-D-j_j_i5.cjs.map} +1 -1
  407. package/dist/chunks/NcAppNavigationNewItem-0C1S6gig.mjs +98 -0
  408. package/dist/chunks/{NcAppNavigationNewItem-CN3vYnc_.mjs.map → NcAppNavigationNewItem-0C1S6gig.mjs.map} +1 -1
  409. package/dist/chunks/NcAppNavigationNewItem-DU1Va5Qs.cjs +97 -0
  410. package/dist/chunks/{NcAppNavigationNewItem-5B4-U2NI.cjs.map → NcAppNavigationNewItem-DU1Va5Qs.cjs.map} +1 -1
  411. package/dist/chunks/NcAppNavigationSettings-BVYD-_ON.mjs +111 -0
  412. package/dist/chunks/{NcAppNavigationSettings-Cnr4jYzW.cjs.map → NcAppNavigationSettings-BVYD-_ON.mjs.map} +1 -1
  413. package/dist/chunks/NcAppNavigationSettings-CnuxB4p7.cjs +110 -0
  414. package/dist/chunks/{NcAppNavigationSettings-LmpAoM-x.mjs.map → NcAppNavigationSettings-CnuxB4p7.cjs.map} +1 -1
  415. package/dist/chunks/NcAppNavigationToggle--6uvG5sY.cjs +129 -0
  416. package/dist/chunks/{NcAppNavigationToggle-D0oeWL17.mjs.map → NcAppNavigationToggle--6uvG5sY.cjs.map} +1 -1
  417. package/dist/chunks/NcAppNavigationToggle-xOyRbwls.mjs +130 -0
  418. package/dist/chunks/{NcAppNavigationToggle-B5XmO21v.cjs.map → NcAppNavigationToggle-xOyRbwls.mjs.map} +1 -1
  419. package/dist/chunks/NcAppSettingsDialog-CAYJSfm3.cjs +232 -0
  420. package/dist/chunks/{NcAppSettingsDialog-BLOgrVCz.mjs.map → NcAppSettingsDialog-CAYJSfm3.cjs.map} +1 -1
  421. package/dist/chunks/NcAppSettingsDialog-CMknLVAP.mjs +230 -0
  422. package/dist/chunks/{NcAppSettingsDialog-B6crPJ6a.cjs.map → NcAppSettingsDialog-CMknLVAP.mjs.map} +1 -1
  423. package/dist/chunks/NcAppSidebar-D4v3Msgl.cjs +723 -0
  424. package/dist/chunks/{NcAppSidebar-CqER6-dl.mjs.map → NcAppSidebar-D4v3Msgl.cjs.map} +1 -1
  425. package/dist/chunks/NcAppSidebar-DWb4MNeo.mjs +724 -0
  426. package/dist/chunks/{NcAppSidebar-qC5-u1p0.cjs.map → NcAppSidebar-DWb4MNeo.mjs.map} +1 -1
  427. package/dist/chunks/NcAvatar-BYvbqQP3.mjs +594 -0
  428. package/dist/chunks/{NcAvatar-BBhoG-za.mjs.map → NcAvatar-BYvbqQP3.mjs.map} +1 -1
  429. package/dist/chunks/NcAvatar-DvV77AjU.cjs +595 -0
  430. package/dist/chunks/{NcAvatar-BuqOk4mX.cjs.map → NcAvatar-DvV77AjU.cjs.map} +1 -1
  431. package/dist/chunks/NcBreadcrumb-CccFNtmn.mjs +206 -0
  432. package/dist/chunks/{NcBreadcrumb-BxCf2hEA.mjs.map → NcBreadcrumb-CccFNtmn.mjs.map} +1 -1
  433. package/dist/chunks/NcBreadcrumb-D_B838UO.cjs +205 -0
  434. package/dist/chunks/{NcBreadcrumb-BRpLGeLr.cjs.map → NcBreadcrumb-D_B838UO.cjs.map} +1 -1
  435. package/dist/chunks/NcBreadcrumbs-BhBkulau.mjs +525 -0
  436. package/dist/chunks/{NcBreadcrumbs-BmK-6Q-n.mjs.map → NcBreadcrumbs-BhBkulau.mjs.map} +1 -1
  437. package/dist/chunks/NcBreadcrumbs-CaLzYM5s.cjs +527 -0
  438. package/dist/chunks/{NcBreadcrumbs-BKPXzHC1.cjs.map → NcBreadcrumbs-CaLzYM5s.cjs.map} +1 -1
  439. package/dist/chunks/NcCheckboxRadioSwitch-0kVQhCVw.cjs +685 -0
  440. package/dist/chunks/NcCheckboxRadioSwitch-0kVQhCVw.cjs.map +1 -0
  441. package/dist/chunks/NcCheckboxRadioSwitch-ByOy5xz5.mjs +686 -0
  442. package/dist/chunks/NcCheckboxRadioSwitch-ByOy5xz5.mjs.map +1 -0
  443. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-BhTGXTuA.mjs +3 -0
  444. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-BhTGXTuA.mjs.map +1 -0
  445. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CrbKZag1.cjs +4 -0
  446. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CrbKZag1.cjs.map +1 -0
  447. package/dist/chunks/NcColorPicker-BZ8w5NOJ.mjs +191 -0
  448. package/dist/chunks/NcColorPicker-BZ8w5NOJ.mjs.map +1 -0
  449. package/dist/chunks/NcColorPicker-BhdOJcFp.cjs +190 -0
  450. package/dist/chunks/NcColorPicker-BhdOJcFp.cjs.map +1 -0
  451. package/dist/chunks/NcContent-DW28aXMb.mjs +104 -0
  452. package/dist/chunks/{NcContent-BPA0KfuT.mjs.map → NcContent-DW28aXMb.mjs.map} +1 -1
  453. package/dist/chunks/NcContent-JMqroMPc.cjs +103 -0
  454. package/dist/chunks/{NcContent-DbFAEdX_.cjs.map → NcContent-JMqroMPc.cjs.map} +1 -1
  455. package/dist/chunks/NcDashboardWidget-Bt_AiMLT.cjs +147 -0
  456. package/dist/chunks/{NcDashboardWidget-2-nW7dII.mjs.map → NcDashboardWidget-Bt_AiMLT.cjs.map} +1 -1
  457. package/dist/chunks/NcDashboardWidget-hoZw8Qfz.mjs +148 -0
  458. package/dist/chunks/{NcDashboardWidget-auMQiAFt.cjs.map → NcDashboardWidget-hoZw8Qfz.mjs.map} +1 -1
  459. package/dist/chunks/NcDashboardWidgetItem-C-Wa9TNk.mjs +151 -0
  460. package/dist/chunks/{NcDashboardWidgetItem-D2yoF9Oo.mjs.map → NcDashboardWidgetItem-C-Wa9TNk.mjs.map} +1 -1
  461. package/dist/chunks/NcDashboardWidgetItem-DjSXMVgm.cjs +150 -0
  462. package/dist/chunks/{NcDashboardWidgetItem-xqVAP32n.cjs.map → NcDashboardWidgetItem-DjSXMVgm.cjs.map} +1 -1
  463. package/dist/chunks/NcDateTime-iW-kErE1.mjs +181 -0
  464. package/dist/chunks/NcDateTime-iW-kErE1.mjs.map +1 -0
  465. package/dist/chunks/NcDateTime-kvWumSJA.cjs +180 -0
  466. package/dist/chunks/NcDateTime-kvWumSJA.cjs.map +1 -0
  467. package/dist/chunks/NcDialog-1TWFrsjf.mjs +235 -0
  468. package/dist/chunks/{NcDialog-C_1rhUHk.mjs.map → NcDialog-1TWFrsjf.mjs.map} +1 -1
  469. package/dist/chunks/NcDialog-G7XA1Z88.cjs +234 -0
  470. package/dist/chunks/{NcDialog-Ciz0hlFn.cjs.map → NcDialog-G7XA1Z88.cjs.map} +1 -1
  471. package/dist/chunks/NcDialogButton-NiGZGBjq.cjs +78 -0
  472. package/dist/chunks/{NcDialogButton-DQFoaN7q.mjs.map → NcDialogButton-NiGZGBjq.cjs.map} +1 -1
  473. package/dist/chunks/NcDialogButton-jh2GOQ_7.mjs +79 -0
  474. package/dist/chunks/{NcDialogButton-D7ibBxsQ.cjs.map → NcDialogButton-jh2GOQ_7.mjs.map} +1 -1
  475. package/dist/chunks/NcEmojiPicker-Drc9tYzl.mjs +284 -0
  476. package/dist/chunks/{NcEmojiPicker-Cie30NYK.mjs.map → NcEmojiPicker-Drc9tYzl.mjs.map} +1 -1
  477. package/dist/chunks/NcEmojiPicker-Ju0ogVxs.cjs +285 -0
  478. package/dist/chunks/{NcEmojiPicker-S2pfwxlK.cjs.map → NcEmojiPicker-Ju0ogVxs.cjs.map} +1 -1
  479. package/dist/chunks/NcHeaderMenu-2n5GDt37.mjs +226 -0
  480. package/dist/chunks/{NcHeaderMenu-DOGXti7v.mjs.map → NcHeaderMenu-2n5GDt37.mjs.map} +1 -1
  481. package/dist/chunks/NcHeaderMenu-830tFszI.cjs +225 -0
  482. package/dist/chunks/{NcHeaderMenu-58OTmM-5.cjs.map → NcHeaderMenu-830tFszI.cjs.map} +1 -1
  483. package/dist/chunks/NcIconSvgWrapper-5v5HBSpx.mjs +109 -0
  484. package/dist/chunks/{NcIconSvgWrapper-kIn1eQyv.cjs.map → NcIconSvgWrapper-5v5HBSpx.mjs.map} +1 -1
  485. package/dist/chunks/NcIconSvgWrapper-D4GEZPIc.cjs +111 -0
  486. package/dist/chunks/{NcIconSvgWrapper-BTdzvQGV.mjs.map → NcIconSvgWrapper-D4GEZPIc.cjs.map} +1 -1
  487. package/dist/chunks/NcInputConfirmCancel-_SvdghX9.cjs +112 -0
  488. package/dist/chunks/{NcInputConfirmCancel-DVmY85-V.cjs.map → NcInputConfirmCancel-_SvdghX9.cjs.map} +1 -1
  489. package/dist/chunks/NcInputConfirmCancel-uSZodQXZ.mjs +113 -0
  490. package/dist/chunks/{NcInputConfirmCancel-Nn_JgG9d.mjs.map → NcInputConfirmCancel-uSZodQXZ.mjs.map} +1 -1
  491. package/dist/chunks/NcListItem-DwXB_QT2.cjs +275 -0
  492. package/dist/chunks/{NcListItem-BopkGRDs.mjs.map → NcListItem-DwXB_QT2.cjs.map} +1 -1
  493. package/dist/chunks/NcListItem-R4rlqTZ-.mjs +276 -0
  494. package/dist/chunks/{NcListItem-B_MPLJ_8.cjs.map → NcListItem-R4rlqTZ-.mjs.map} +1 -1
  495. package/dist/chunks/NcListItemIcon-DKSzgujO.cjs +175 -0
  496. package/dist/chunks/{NcListItemIcon-CI23iFQz.mjs.map → NcListItemIcon-DKSzgujO.cjs.map} +1 -1
  497. package/dist/chunks/NcListItemIcon-DONcrnT_.mjs +176 -0
  498. package/dist/chunks/{NcListItemIcon-Dwgi2cPr.cjs.map → NcListItemIcon-DONcrnT_.mjs.map} +1 -1
  499. package/dist/chunks/NcPasswordField-CGhVkWI2.cjs +256 -0
  500. package/dist/chunks/{NcPasswordField-BgSp7dK4.mjs.map → NcPasswordField-CGhVkWI2.cjs.map} +1 -1
  501. package/dist/chunks/NcPasswordField-Vyt7Pk2z.mjs +254 -0
  502. package/dist/chunks/{NcPasswordField-BooDzf0Z.cjs.map → NcPasswordField-Vyt7Pk2z.mjs.map} +1 -1
  503. package/dist/chunks/NcPopover-BS1bBSkg.cjs +268 -0
  504. package/dist/chunks/{NcPopover--V3R3EKV.mjs.map → NcPopover-BS1bBSkg.cjs.map} +1 -1
  505. package/dist/chunks/NcPopover-foxJPAfG.mjs +267 -0
  506. package/dist/chunks/{NcPopover-h-t7Dnjk.cjs.map → NcPopover-foxJPAfG.mjs.map} +1 -1
  507. package/dist/chunks/NcProgressBar-BafFcKiu.mjs +117 -0
  508. package/dist/chunks/{NcProgressBar-BYk5hfPI.cjs.map → NcProgressBar-BafFcKiu.mjs.map} +1 -1
  509. package/dist/chunks/NcProgressBar-mFqoqB4L.cjs +116 -0
  510. package/dist/chunks/{NcProgressBar-DDAeXyp8.mjs.map → NcProgressBar-mFqoqB4L.cjs.map} +1 -1
  511. package/dist/chunks/NcRelatedResourcesPanel-BY8X00Zd.mjs +438 -0
  512. package/dist/chunks/{NcRelatedResourcesPanel-DaiuNCYU.cjs.map → NcRelatedResourcesPanel-BY8X00Zd.mjs.map} +1 -1
  513. package/dist/chunks/NcRelatedResourcesPanel-Ci31S2dU.cjs +439 -0
  514. package/dist/chunks/{NcRelatedResourcesPanel-Ch1b_Gl3.mjs.map → NcRelatedResourcesPanel-Ci31S2dU.cjs.map} +1 -1
  515. package/dist/chunks/NcRichContenteditable-BpHLlt5A.mjs +797 -0
  516. package/dist/chunks/{NcRichContenteditable-CEqdmoem.mjs.map → NcRichContenteditable-BpHLlt5A.mjs.map} +1 -1
  517. package/dist/chunks/NcRichContenteditable-DnukwC1y.cjs +800 -0
  518. package/dist/chunks/{NcRichContenteditable-BF3BkdqM.cjs.map → NcRichContenteditable-DnukwC1y.cjs.map} +1 -1
  519. package/dist/chunks/NcRichText-Ba2D7EQq.mjs +412 -0
  520. package/dist/chunks/{NcRichText-CUKFkHQg.mjs.map → NcRichText-Ba2D7EQq.mjs.map} +1 -1
  521. package/dist/chunks/NcRichText-U0Ral4-y.cjs +419 -0
  522. package/dist/chunks/{NcRichText-DCkExl5g.cjs.map → NcRichText-U0Ral4-y.cjs.map} +1 -1
  523. package/dist/chunks/NcSavingIndicatorIcon-Bhy7wcoT.mjs +65 -0
  524. package/dist/chunks/{NcSavingIndicatorIcon-Bf0SEmgS.mjs.map → NcSavingIndicatorIcon-Bhy7wcoT.mjs.map} +1 -1
  525. package/dist/chunks/NcSavingIndicatorIcon-BzKAIkhk.cjs +64 -0
  526. package/dist/chunks/{NcSavingIndicatorIcon-BTvUkUn-.cjs.map → NcSavingIndicatorIcon-BzKAIkhk.cjs.map} +1 -1
  527. package/dist/chunks/{NcSelect-Bo71Yd6L.mjs → NcSelect-EnQUx7gf.mjs} +159 -121
  528. package/dist/chunks/{NcSelect-Bn3oTHtq.cjs.map → NcSelect-EnQUx7gf.mjs.map} +1 -1
  529. package/dist/chunks/{NcSelect-Bn3oTHtq.cjs → NcSelect-uODI-lly.cjs} +161 -111
  530. package/dist/chunks/{NcSelect-Bo71Yd6L.mjs.map → NcSelect-uODI-lly.cjs.map} +1 -1
  531. package/dist/chunks/NcSelectTags-BzQxtK0g.cjs +303 -0
  532. package/dist/chunks/{NcSelectTags-CgYWiDjX.cjs.map → NcSelectTags-BzQxtK0g.cjs.map} +1 -1
  533. package/dist/chunks/NcSelectTags-tEADv0cv.mjs +302 -0
  534. package/dist/chunks/{NcSelectTags-9aCrLRT0.mjs.map → NcSelectTags-tEADv0cv.mjs.map} +1 -1
  535. package/dist/chunks/NcSettingsInputText-BdjyNei5.mjs +102 -0
  536. package/dist/chunks/{NcSettingsInputText-JboV8u2l.mjs.map → NcSettingsInputText-BdjyNei5.mjs.map} +1 -1
  537. package/dist/chunks/NcSettingsInputText-Bg_VDGoS.cjs +101 -0
  538. package/dist/chunks/{NcSettingsInputText-1i2TqdMB.cjs.map → NcSettingsInputText-Bg_VDGoS.cjs.map} +1 -1
  539. package/dist/chunks/NcSettingsSection-CWQHnXy4.cjs +102 -0
  540. package/dist/chunks/{NcSettingsSection-Lgwm3w2e.mjs.map → NcSettingsSection-CWQHnXy4.cjs.map} +1 -1
  541. package/dist/chunks/NcSettingsSection-CWUIg3WZ.mjs +103 -0
  542. package/dist/chunks/{NcSettingsSection-CNMpCD3o.cjs.map → NcSettingsSection-CWUIg3WZ.mjs.map} +1 -1
  543. package/dist/chunks/NcSettingsSelectGroup-DyQfy9P5.cjs +213 -0
  544. package/dist/chunks/{NcSettingsSelectGroup-DUzmbtZx.mjs.map → NcSettingsSelectGroup-DyQfy9P5.cjs.map} +1 -1
  545. package/dist/chunks/NcSettingsSelectGroup-I_qUQ6nA.mjs +211 -0
  546. package/dist/chunks/{NcSettingsSelectGroup-CgUJmyF7.cjs.map → NcSettingsSelectGroup-I_qUQ6nA.mjs.map} +1 -1
  547. package/dist/chunks/NcTextField-Bu1cvjSc.mjs +151 -0
  548. package/dist/chunks/{NcTextField-D_eUEl2B.mjs.map → NcTextField-Bu1cvjSc.mjs.map} +1 -1
  549. package/dist/chunks/NcTextField-CO0wnb8n.cjs +150 -0
  550. package/dist/chunks/{NcTextField-B5cUYgRy.cjs.map → NcTextField-CO0wnb8n.cjs.map} +1 -1
  551. package/dist/chunks/{NcTimezonePicker-CH1lkCMF.mjs → NcTimezonePicker-BA3AYCBm.mjs} +131 -84
  552. package/dist/chunks/{NcTimezonePicker-CH1lkCMF.mjs.map → NcTimezonePicker-BA3AYCBm.mjs.map} +1 -1
  553. package/dist/chunks/{NcTimezonePicker-BF5TeadZ.cjs → NcTimezonePicker-D1jVCuUh.cjs} +131 -79
  554. package/dist/chunks/{NcTimezonePicker-BF5TeadZ.cjs.map → NcTimezonePicker-D1jVCuUh.cjs.map} +1 -1
  555. package/dist/chunks/NcUserBubble-CSAU8jCM.cjs +212 -0
  556. package/dist/chunks/{NcUserBubble-C0HbPO9p.mjs.map → NcUserBubble-CSAU8jCM.cjs.map} +1 -1
  557. package/dist/chunks/NcUserBubble-h9Zo3CCT.mjs +211 -0
  558. package/dist/chunks/{NcUserBubble-BadEJRgs.cjs.map → NcUserBubble-h9Zo3CCT.mjs.map} +1 -1
  559. package/dist/chunks/NcUserStatusIcon-BC9qDAzb.mjs +168 -0
  560. package/dist/chunks/{NcUserStatusIcon-B69NZ9Hw.cjs.map → NcUserStatusIcon-BC9qDAzb.mjs.map} +1 -1
  561. package/dist/chunks/NcUserStatusIcon-BpLvFq3p.cjs +170 -0
  562. package/dist/chunks/{NcUserStatusIcon-HOUdT_MR.mjs.map → NcUserStatusIcon-BpLvFq3p.cjs.map} +1 -1
  563. package/dist/chunks/{ScopeComponent-Dz4pyD77.mjs → ScopeComponent-B9RptB1A.mjs} +9 -4
  564. package/dist/chunks/{ScopeComponent-Dz4pyD77.mjs.map → ScopeComponent-B9RptB1A.mjs.map} +1 -1
  565. package/dist/chunks/{ScopeComponent-IO407Bzb.cjs → ScopeComponent-Cmn9OSZb.cjs} +9 -4
  566. package/dist/chunks/{ScopeComponent-IO407Bzb.cjs.map → ScopeComponent-Cmn9OSZb.cjs.map} +1 -1
  567. package/dist/chunks/_l10n-DwEsZ6zb.mjs +122 -0
  568. package/dist/chunks/_l10n-DwEsZ6zb.mjs.map +1 -0
  569. package/dist/chunks/_l10n-ftziezFF.cjs +121 -0
  570. package/dist/chunks/_l10n-ftziezFF.cjs.map +1 -0
  571. package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs +59 -0
  572. package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs.map +1 -0
  573. package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs +58 -0
  574. package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs.map +1 -0
  575. package/dist/chunks/{actionGlobal-DL1VaQzF.cjs → actionGlobal-BfK-CImU.cjs} +2 -2
  576. package/dist/chunks/{actionGlobal-D49NL940.mjs.map → actionGlobal-BfK-CImU.cjs.map} +1 -1
  577. package/dist/chunks/{actionGlobal-D49NL940.mjs → actionGlobal-DV5ZiuS0.mjs} +2 -2
  578. package/dist/chunks/{actionGlobal-DL1VaQzF.cjs.map → actionGlobal-DV5ZiuS0.mjs.map} +1 -1
  579. package/dist/chunks/{actionText-jLsEBszD.mjs → actionText-BaGktsVf.mjs} +21 -17
  580. package/dist/chunks/{actionText-jLsEBszD.mjs.map → actionText-BaGktsVf.mjs.map} +1 -1
  581. package/dist/chunks/{actionText-iWNpvZuI.cjs → actionText-BnA6RS9I.cjs} +21 -17
  582. package/dist/chunks/{actionText-iWNpvZuI.cjs.map → actionText-BnA6RS9I.cjs.map} +1 -1
  583. package/dist/chunks/autolink-Bgjz08wN.cjs +125 -0
  584. package/dist/chunks/autolink-Bgjz08wN.cjs.map +1 -0
  585. package/dist/chunks/autolink-DA7VzS8Y.mjs +126 -0
  586. package/dist/chunks/autolink-DA7VzS8Y.mjs.map +1 -0
  587. package/dist/chunks/emoji-CWr00EYY.cjs +87 -0
  588. package/dist/chunks/emoji-CWr00EYY.cjs.map +1 -0
  589. package/dist/chunks/emoji-CbOkKZx5.mjs +86 -0
  590. package/dist/chunks/emoji-CbOkKZx5.mjs.map +1 -0
  591. package/dist/chunks/{focusTrap-xauhLvvr.cjs → focusTrap-Dsmd28wG.cjs} +4 -3
  592. package/dist/chunks/{focusTrap-Be9GEB5C.mjs.map → focusTrap-Dsmd28wG.cjs.map} +1 -1
  593. package/dist/chunks/{focusTrap-Be9GEB5C.mjs → focusTrap-hWDNhn4t.mjs} +4 -3
  594. package/dist/chunks/{focusTrap-xauhLvvr.cjs.map → focusTrap-hWDNhn4t.mjs.map} +1 -1
  595. package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs → getAvatarUrl-BBvqBOJD.mjs} +7 -7
  596. package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs.map → getAvatarUrl-BBvqBOJD.mjs.map} +1 -1
  597. package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs → getAvatarUrl-C40xfr4C.cjs} +7 -7
  598. package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs.map → getAvatarUrl-C40xfr4C.cjs.map} +1 -1
  599. package/dist/chunks/index-BRQQ9NaL.mjs +198 -0
  600. package/dist/chunks/{index-uiNhPYvS.mjs.map → index-BRQQ9NaL.mjs.map} +1 -1
  601. package/dist/chunks/index-BwyQ2N-M.mjs +119 -0
  602. package/dist/chunks/index-BwyQ2N-M.mjs.map +1 -0
  603. package/dist/chunks/index-D0euettC.cjs +201 -0
  604. package/dist/chunks/{index-CMnR5Pf6.cjs.map → index-D0euettC.cjs.map} +1 -1
  605. package/dist/chunks/index-DYccGIvD.mjs +197 -0
  606. package/dist/chunks/{index-CnpswYi6.mjs.map → index-DYccGIvD.mjs.map} +1 -1
  607. package/dist/chunks/index-Dl-SBuhJ.cjs +196 -0
  608. package/dist/chunks/{index-Cke9rKBg.cjs.map → index-Dl-SBuhJ.cjs.map} +1 -1
  609. package/dist/chunks/index-Dsgv-f-l.cjs +118 -0
  610. package/dist/chunks/index-Dsgv-f-l.cjs.map +1 -0
  611. package/dist/chunks/{logger-D9RRY4er.cjs → logger-BcZGm6Un.cjs} +3 -3
  612. package/dist/chunks/{logger-C7qcfVW8.mjs.map → logger-BcZGm6Un.cjs.map} +1 -1
  613. package/dist/chunks/{logger-C7qcfVW8.mjs → logger-C7ZZ6zFQ.mjs} +3 -3
  614. package/dist/chunks/{logger-D9RRY4er.cjs.map → logger-C7ZZ6zFQ.mjs.map} +1 -1
  615. package/dist/chunks/referencePickerModal-DBIqS1ep.mjs +3474 -0
  616. package/dist/chunks/referencePickerModal-DBIqS1ep.mjs.map +1 -0
  617. package/dist/chunks/referencePickerModal-XXILzgbd.cjs +3476 -0
  618. package/dist/chunks/referencePickerModal-XXILzgbd.cjs.map +1 -0
  619. package/dist/chunks/{usernameToColor-BHkzj1tb.mjs → usernameToColor-3O2cQhM4.mjs} +22 -16
  620. package/dist/chunks/{usernameToColor-BHkzj1tb.mjs.map → usernameToColor-3O2cQhM4.mjs.map} +1 -1
  621. package/dist/chunks/usernameToColor-DiRnOvlG.cjs +48 -0
  622. package/dist/chunks/{usernameToColor-DA36rR48.cjs.map → usernameToColor-DiRnOvlG.cjs.map} +1 -1
  623. package/dist/composables/useFormatDateTime.d.ts +57 -0
  624. package/dist/index.cjs +284 -224
  625. package/dist/index.cjs.map +1 -1
  626. package/dist/index.mjs +287 -306
  627. package/dist/index.mjs.map +1 -1
  628. package/dist/plugin.d.ts +2 -1
  629. package/package.json +6 -6
  630. package/dist/assets/NcRichText-DNXuHl34.css +0 -229
  631. package/dist/assets/referencePickerModal-DWB2ghBg.css +0 -336
  632. package/dist/chunks/AlertCircleOutline-DHFN4OkX.cjs +0 -35
  633. package/dist/chunks/AlertCircleOutline-U_bhL30C.mjs +0 -37
  634. package/dist/chunks/ArrowLeft-CjNnGIlF.cjs +0 -35
  635. package/dist/chunks/ArrowLeft-kklNBL9z.mjs +0 -37
  636. package/dist/chunks/ArrowRight-C3BxTDjF.mjs +0 -37
  637. package/dist/chunks/ArrowRight-CxzzJJQ6.cjs +0 -35
  638. package/dist/chunks/Check-CRLmJNGG.mjs +0 -37
  639. package/dist/chunks/Check-CVn5nytg.cjs +0 -35
  640. package/dist/chunks/ChevronDown-DQPox_nl.cjs +0 -35
  641. package/dist/chunks/ChevronDown-HHJdUMN4.mjs +0 -37
  642. package/dist/chunks/ChevronRight-BAJhNawb.cjs +0 -35
  643. package/dist/chunks/ChevronRight-DL3e8bjj.mjs +0 -37
  644. package/dist/chunks/ChevronUp-B6TIgl1a.mjs +0 -37
  645. package/dist/chunks/ChevronUp-kmHRpe7H.cjs +0 -35
  646. package/dist/chunks/Close-BtO5TPBO.mjs +0 -37
  647. package/dist/chunks/Close-DBfrdXMw.cjs +0 -35
  648. package/dist/chunks/DotsHorizontal-B8kTqpHe.cjs +0 -35
  649. package/dist/chunks/DotsHorizontal-DfVgEXgz.mjs +0 -37
  650. package/dist/chunks/GenColors-hkqGpnOK.cjs +0 -141
  651. package/dist/chunks/NcActionButtonGroup-B1XhnIBl.cjs +0 -46
  652. package/dist/chunks/NcActionButtonGroup-DU1taycQ.mjs +0 -50
  653. package/dist/chunks/NcActionInput-53RB9uQe.mjs +0 -244
  654. package/dist/chunks/NcActionInput-N2wrvq5K.cjs +0 -235
  655. package/dist/chunks/NcActions-BtvXtZF4.cjs +0 -688
  656. package/dist/chunks/NcActions-DiFslXqv.mjs +0 -696
  657. package/dist/chunks/NcAppContent-BDhK1rUf.mjs +0 -265
  658. package/dist/chunks/NcAppContent-Be1m1O_W.cjs +0 -256
  659. package/dist/chunks/NcAppNavigation-CElLRpH-.mjs +0 -124
  660. package/dist/chunks/NcAppNavigation-DKUnWfen.cjs +0 -115
  661. package/dist/chunks/NcAppNavigationCaption-Cdcv-0jj.cjs +0 -58
  662. package/dist/chunks/NcAppNavigationCaption-DI7SIPdI.mjs +0 -61
  663. package/dist/chunks/NcAppNavigationItem-7xN_CMHW.cjs +0 -463
  664. package/dist/chunks/NcAppNavigationItem-Djfc0DPY.mjs +0 -475
  665. package/dist/chunks/NcAppNavigationNewItem-5B4-U2NI.cjs +0 -87
  666. package/dist/chunks/NcAppNavigationNewItem-CN3vYnc_.mjs +0 -91
  667. package/dist/chunks/NcAppNavigationSettings-Cnr4jYzW.cjs +0 -104
  668. package/dist/chunks/NcAppNavigationSettings-LmpAoM-x.mjs +0 -106
  669. package/dist/chunks/NcAppNavigationToggle-B5XmO21v.cjs +0 -119
  670. package/dist/chunks/NcAppNavigationToggle-D0oeWL17.mjs +0 -122
  671. package/dist/chunks/NcAppSettingsDialog-B6crPJ6a.cjs +0 -184
  672. package/dist/chunks/NcAppSettingsDialog-BLOgrVCz.mjs +0 -191
  673. package/dist/chunks/NcAppSidebar-CqER6-dl.mjs +0 -606
  674. package/dist/chunks/NcAppSidebar-qC5-u1p0.cjs +0 -588
  675. package/dist/chunks/NcAvatar-BBhoG-za.mjs +0 -486
  676. package/dist/chunks/NcAvatar-BuqOk4mX.cjs +0 -467
  677. package/dist/chunks/NcBreadcrumb-BRpLGeLr.cjs +0 -180
  678. package/dist/chunks/NcBreadcrumb-BxCf2hEA.mjs +0 -186
  679. package/dist/chunks/NcBreadcrumbs-BKPXzHC1.cjs +0 -412
  680. package/dist/chunks/NcBreadcrumbs-BmK-6Q-n.mjs +0 -422
  681. package/dist/chunks/NcCheckboxRadioSwitch-B9w3Znu7.cjs +0 -603
  682. package/dist/chunks/NcCheckboxRadioSwitch-B9w3Znu7.cjs.map +0 -1
  683. package/dist/chunks/NcCheckboxRadioSwitch-BOl1O2zi.mjs +0 -607
  684. package/dist/chunks/NcCheckboxRadioSwitch-BOl1O2zi.mjs.map +0 -1
  685. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CCwH-BzH.mjs +0 -3
  686. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CCwH-BzH.mjs.map +0 -1
  687. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-DAxGPyzS.cjs +0 -4
  688. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-DAxGPyzS.cjs.map +0 -1
  689. package/dist/chunks/NcColorPicker-CeoImUTC.mjs +0 -178
  690. package/dist/chunks/NcColorPicker-CeoImUTC.mjs.map +0 -1
  691. package/dist/chunks/NcColorPicker-DOcxlY35.cjs +0 -168
  692. package/dist/chunks/NcColorPicker-DOcxlY35.cjs.map +0 -1
  693. package/dist/chunks/NcContent-BPA0KfuT.mjs +0 -87
  694. package/dist/chunks/NcContent-DbFAEdX_.cjs +0 -80
  695. package/dist/chunks/NcDashboardWidget-2-nW7dII.mjs +0 -141
  696. package/dist/chunks/NcDashboardWidget-auMQiAFt.cjs +0 -135
  697. package/dist/chunks/NcDashboardWidgetItem-D2yoF9Oo.mjs +0 -143
  698. package/dist/chunks/NcDashboardWidgetItem-xqVAP32n.cjs +0 -138
  699. package/dist/chunks/NcDateTime-CeOdKcvC.mjs +0 -146
  700. package/dist/chunks/NcDateTime-CeOdKcvC.mjs.map +0 -1
  701. package/dist/chunks/NcDateTime-DneyKibb.cjs +0 -142
  702. package/dist/chunks/NcDateTime-DneyKibb.cjs.map +0 -1
  703. package/dist/chunks/NcDialog-C_1rhUHk.mjs +0 -214
  704. package/dist/chunks/NcDialog-Ciz0hlFn.cjs +0 -207
  705. package/dist/chunks/NcDialogButton-D7ibBxsQ.cjs +0 -69
  706. package/dist/chunks/NcDialogButton-DQFoaN7q.mjs +0 -74
  707. package/dist/chunks/NcEmojiPicker-Cie30NYK.mjs +0 -251
  708. package/dist/chunks/NcEmojiPicker-S2pfwxlK.cjs +0 -241
  709. package/dist/chunks/NcHeaderMenu-58OTmM-5.cjs +0 -187
  710. package/dist/chunks/NcHeaderMenu-DOGXti7v.mjs +0 -193
  711. package/dist/chunks/NcIconSvgWrapper-BTdzvQGV.mjs +0 -93
  712. package/dist/chunks/NcIconSvgWrapper-kIn1eQyv.cjs +0 -89
  713. package/dist/chunks/NcInputConfirmCancel-DVmY85-V.cjs +0 -92
  714. package/dist/chunks/NcInputConfirmCancel-Nn_JgG9d.mjs +0 -97
  715. package/dist/chunks/NcListItem-B_MPLJ_8.cjs +0 -233
  716. package/dist/chunks/NcListItem-BopkGRDs.mjs +0 -238
  717. package/dist/chunks/NcListItemIcon-CI23iFQz.mjs +0 -166
  718. package/dist/chunks/NcListItemIcon-Dwgi2cPr.cjs +0 -163
  719. package/dist/chunks/NcPasswordField-BgSp7dK4.mjs +0 -238
  720. package/dist/chunks/NcPasswordField-BooDzf0Z.cjs +0 -229
  721. package/dist/chunks/NcPopover--V3R3EKV.mjs +0 -239
  722. package/dist/chunks/NcPopover-h-t7Dnjk.cjs +0 -233
  723. package/dist/chunks/NcProgressBar-BYk5hfPI.cjs +0 -96
  724. package/dist/chunks/NcProgressBar-DDAeXyp8.mjs +0 -99
  725. package/dist/chunks/NcRelatedResourcesPanel-Ch1b_Gl3.mjs +0 -381
  726. package/dist/chunks/NcRelatedResourcesPanel-DaiuNCYU.cjs +0 -371
  727. package/dist/chunks/NcRichContenteditable-BF3BkdqM.cjs +0 -640
  728. package/dist/chunks/NcRichContenteditable-CEqdmoem.mjs +0 -649
  729. package/dist/chunks/NcRichText-CUKFkHQg.mjs +0 -355
  730. package/dist/chunks/NcRichText-DCkExl5g.cjs +0 -339
  731. package/dist/chunks/NcSavingIndicatorIcon-BTvUkUn-.cjs +0 -59
  732. package/dist/chunks/NcSavingIndicatorIcon-Bf0SEmgS.mjs +0 -62
  733. package/dist/chunks/NcSelectTags-9aCrLRT0.mjs +0 -258
  734. package/dist/chunks/NcSelectTags-CgYWiDjX.cjs +0 -252
  735. package/dist/chunks/NcSettingsInputText-1i2TqdMB.cjs +0 -92
  736. package/dist/chunks/NcSettingsInputText-JboV8u2l.mjs +0 -95
  737. package/dist/chunks/NcSettingsSection-CNMpCD3o.cjs +0 -96
  738. package/dist/chunks/NcSettingsSection-Lgwm3w2e.mjs +0 -98
  739. package/dist/chunks/NcSettingsSelectGroup-CgUJmyF7.cjs +0 -185
  740. package/dist/chunks/NcSettingsSelectGroup-DUzmbtZx.mjs +0 -192
  741. package/dist/chunks/NcTextField-B5cUYgRy.cjs +0 -140
  742. package/dist/chunks/NcTextField-D_eUEl2B.mjs +0 -146
  743. package/dist/chunks/NcUserBubble-BadEJRgs.cjs +0 -193
  744. package/dist/chunks/NcUserBubble-C0HbPO9p.mjs +0 -198
  745. package/dist/chunks/NcUserStatusIcon-B69NZ9Hw.cjs +0 -150
  746. package/dist/chunks/NcUserStatusIcon-HOUdT_MR.mjs +0 -157
  747. package/dist/chunks/_l10n-B8iumFKB.cjs +0 -66
  748. package/dist/chunks/_l10n-B8iumFKB.cjs.map +0 -1
  749. package/dist/chunks/_l10n-BaNxGGXy.mjs +0 -68
  750. package/dist/chunks/_l10n-BaNxGGXy.mjs.map +0 -1
  751. package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs +0 -32
  752. package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs.map +0 -1
  753. package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs +0 -31
  754. package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs.map +0 -1
  755. package/dist/chunks/autolink-DNGB8YSW.mjs +0 -86
  756. package/dist/chunks/autolink-DNGB8YSW.mjs.map +0 -1
  757. package/dist/chunks/autolink-MMzlO_Ai.cjs +0 -82
  758. package/dist/chunks/autolink-MMzlO_Ai.cjs.map +0 -1
  759. package/dist/chunks/emoji-DEH9dtOa.cjs +0 -59
  760. package/dist/chunks/emoji-DEH9dtOa.cjs.map +0 -1
  761. package/dist/chunks/emoji-k4gWHxrE.mjs +0 -62
  762. package/dist/chunks/emoji-k4gWHxrE.mjs.map +0 -1
  763. package/dist/chunks/index-Bh9FEWbr.cjs +0 -87
  764. package/dist/chunks/index-Bh9FEWbr.cjs.map +0 -1
  765. package/dist/chunks/index-CMnR5Pf6.cjs +0 -157
  766. package/dist/chunks/index-CU14QsCg.mjs +0 -88
  767. package/dist/chunks/index-CU14QsCg.mjs.map +0 -1
  768. package/dist/chunks/index-Cke9rKBg.cjs +0 -148
  769. package/dist/chunks/index-CnpswYi6.mjs +0 -149
  770. package/dist/chunks/index-uiNhPYvS.mjs +0 -163
  771. package/dist/chunks/referencePickerModal-AvSHyw1b.mjs +0 -2428
  772. package/dist/chunks/referencePickerModal-AvSHyw1b.mjs.map +0 -1
  773. package/dist/chunks/referencePickerModal-B_Su3XpN.cjs +0 -2408
  774. package/dist/chunks/referencePickerModal-B_Su3XpN.cjs.map +0 -1
  775. package/dist/chunks/usernameToColor-DA36rR48.cjs +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserBubble-C0HbPO9p.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\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 * Displayed label\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 * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","NcUserBubbleDiv","url","_a","Vue","state","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcUserBubble-CSAU8jCM.cjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\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 * Displayed label\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 * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","Vue"],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ import '../assets/NcUserBubble-D5ieZC-f.css';
2
+ import { n as normalizeComponent } from "./_plugin-vue2_normalizer-D637Qkok.mjs";
3
+ import { N as NcAvatar } from "./NcAvatar-BYvbqQP3.mjs";
4
+ import { N as NcPopover } from "./NcPopover-foxJPAfG.mjs";
5
+ import Vue from "vue";
6
+ const _sfc_main$1 = {
7
+ name: "NcUserBubbleDiv"
8
+ };
9
+ var _sfc_render$1 = function render() {
10
+ var _vm = this, _c = _vm._self._c;
11
+ return _c("div", [_vm._t("trigger")], 2);
12
+ };
13
+ var _sfc_staticRenderFns$1 = [];
14
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(
15
+ _sfc_main$1,
16
+ _sfc_render$1,
17
+ _sfc_staticRenderFns$1,
18
+ false,
19
+ null,
20
+ null,
21
+ null,
22
+ null
23
+ );
24
+ const NcUserBubbleDiv = __component__$1.exports;
25
+ const _sfc_main = {
26
+ name: "NcUserBubble",
27
+ components: {
28
+ NcAvatar,
29
+ NcPopover,
30
+ NcUserBubbleDiv
31
+ },
32
+ props: {
33
+ /**
34
+ * Override generated avatar, can be an url or an icon class
35
+ */
36
+ avatarImage: {
37
+ type: String,
38
+ default: void 0
39
+ },
40
+ /**
41
+ * Provide the user id if this is a user
42
+ */
43
+ user: {
44
+ type: String,
45
+ default: void 0
46
+ },
47
+ /**
48
+ * Displayed label
49
+ */
50
+ displayName: {
51
+ type: String,
52
+ default: void 0
53
+ },
54
+ /**
55
+ * Whether or not to display the user-status
56
+ */
57
+ showUserStatus: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ /**
62
+ * Define the whole bubble as a link
63
+ */
64
+ url: {
65
+ type: String,
66
+ default: void 0,
67
+ validator: (url) => {
68
+ var _a;
69
+ try {
70
+ url = new URL(url, ((_a = url == null ? void 0 : url.startsWith) == null ? void 0 : _a.call(url, "/")) ? window.location.href : void 0);
71
+ return true;
72
+ } catch (error) {
73
+ return false;
74
+ }
75
+ }
76
+ },
77
+ /**
78
+ * Default popover state. Requires the UserBubble
79
+ * to have some content to render inside the popover
80
+ */
81
+ open: {
82
+ type: Boolean,
83
+ default: false
84
+ },
85
+ /**
86
+ * Use the primary colour
87
+ */
88
+ primary: {
89
+ type: Boolean,
90
+ default: false
91
+ },
92
+ /**
93
+ * This is the height of the component
94
+ */
95
+ size: {
96
+ type: Number,
97
+ default: 20
98
+ },
99
+ /**
100
+ * This is the margin of the avatar (size - margin = avatar size)
101
+ */
102
+ margin: {
103
+ type: Number,
104
+ default: 2
105
+ }
106
+ },
107
+ emits: [
108
+ "click",
109
+ "update:open"
110
+ ],
111
+ computed: {
112
+ /**
113
+ * If userbubble is empty, let's NOT
114
+ * use the Popover component
115
+ * We need a component instead of a simple div here,
116
+ * because otherwise the trigger template will not be shown.
117
+ *
118
+ * @return {string} 'Popover' or 'UserBubbleDiv'
119
+ */
120
+ isPopoverComponent() {
121
+ return !this.popoverEmpty ? "NcPopover" : "NcUserBubbleDiv";
122
+ },
123
+ /**
124
+ * Is the provided avatar url valid or not
125
+ *
126
+ * @return {boolean}
127
+ */
128
+ isAvatarUrl() {
129
+ if (!this.avatarImage) {
130
+ return false;
131
+ }
132
+ try {
133
+ const url = new URL(this.avatarImage);
134
+ return !!url;
135
+ } catch (error) {
136
+ return false;
137
+ }
138
+ },
139
+ /**
140
+ * Do we have a custom avatar or not
141
+ *
142
+ * @return {boolean}
143
+ */
144
+ isCustomAvatar() {
145
+ return !!this.avatarImage;
146
+ },
147
+ hasUrl() {
148
+ return this.url && this.url.trim() !== "";
149
+ },
150
+ isLinkComponent() {
151
+ return this.hasUrl ? "a" : "div";
152
+ },
153
+ popoverEmpty() {
154
+ if ("default" in this.$slots) {
155
+ return false;
156
+ }
157
+ return true;
158
+ },
159
+ styles() {
160
+ return {
161
+ content: {
162
+ height: this.size + "px",
163
+ lineHeight: this.size + "px",
164
+ borderRadius: this.size / 2 + "px"
165
+ },
166
+ avatar: {
167
+ marginLeft: this.margin + "px"
168
+ }
169
+ };
170
+ }
171
+ },
172
+ mounted() {
173
+ if (!this.displayName && !this.user) {
174
+ Vue.util.warn("[NcUserBubble] At least `displayName` or `user` property should be set.");
175
+ }
176
+ },
177
+ methods: {
178
+ onOpenChange(state) {
179
+ this.$emit("update:open", state);
180
+ },
181
+ /**
182
+ * Catch and forward click event to parent
183
+ *
184
+ * @param {Event} event the click event
185
+ */
186
+ onClick(event) {
187
+ this.$emit("click", event);
188
+ }
189
+ }
190
+ };
191
+ var _sfc_render = function render2() {
192
+ var _vm = this, _c = _vm._self._c;
193
+ return _c(_vm.isPopoverComponent, { tag: "component", staticClass: "user-bubble__wrapper", attrs: { "trigger": "hover focus", "shown": _vm.open }, on: { "update:open": _vm.onOpenChange }, scopedSlots: _vm._u([{ key: "trigger", fn: function({ attrs }) {
194
+ return [_c(_vm.isLinkComponent, _vm._b({ tag: "component", staticClass: "user-bubble__content", class: { "user-bubble__content--primary": _vm.primary }, style: _vm.styles.content, attrs: { "href": _vm.hasUrl ? _vm.url : null }, on: { "click": _vm.onClick } }, "component", attrs, false), [_c("NcAvatar", { staticClass: "user-bubble__avatar", style: _vm.styles.avatar, attrs: { "url": _vm.isCustomAvatar && _vm.isAvatarUrl ? _vm.avatarImage : void 0, "icon-class": _vm.isCustomAvatar && !_vm.isAvatarUrl ? _vm.avatarImage : void 0, "user": _vm.user, "display-name": _vm.displayName, "size": _vm.size - _vm.margin * 2, "disable-tooltip": true, "disable-menu": true, "show-user-status": _vm.showUserStatus } }), _c("span", { staticClass: "user-bubble__name" }, [_vm._v(" " + _vm._s(_vm.displayName || _vm.user) + " ")]), _vm.$slots.name ? _c("span", { staticClass: "user-bubble__secondary" }, [_vm._t("name")], 2) : _vm._e()], 1)];
195
+ } }], null, true) }, [_vm._t("default")], 2);
196
+ };
197
+ var _sfc_staticRenderFns = [];
198
+ var __component__ = /* @__PURE__ */ normalizeComponent(
199
+ _sfc_main,
200
+ _sfc_render,
201
+ _sfc_staticRenderFns,
202
+ false,
203
+ null,
204
+ "8f0fbaf1",
205
+ null,
206
+ null
207
+ );
208
+ const NcUserBubble = __component__.exports;
209
+ export {
210
+ NcUserBubble as N
211
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserBubble-BadEJRgs.cjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\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 * Displayed label\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 * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","NcUserBubbleDiv","url","_a","Vue","state","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcUserBubble-h9Zo3CCT.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\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 * Displayed label\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 * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main"],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import '../assets/NcUserStatusIcon-BcLArDqV.css';
2
+ import Vue from "vue";
3
+ import axios from "@nextcloud/axios";
4
+ import { generateOcsUrl } from "@nextcloud/router";
5
+ import { getCapabilities } from "@nextcloud/capabilities";
6
+ import { r as register, J as t10, a as t, K as t44 } from "./_l10n-DwEsZ6zb.mjs";
7
+ import { n as normalizeComponent } from "./_plugin-vue2_normalizer-D637Qkok.mjs";
8
+ const onlineSvg = '<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\n<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">\n <path fill="var(--color-success)" d="M4.8 11.2h6.4V4.8H4.8v6.4zM8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z" />\n</svg>\n';
9
+ const awaySvg = '<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\n<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">\n <path fill="none" d="M-4-4h24v24H-4z" />\n <path fill="var(--color-warning)" d="M6.9.1C3 .6-.1 4-.1 8c0 4.4 3.6 8 8 8 4 0 7.4-3 8-6.9-1.2 1.3-2.9 2.1-4.7 2.1-3.5 0-6.4-2.9-6.4-6.4 0-1.9.8-3.6 2.1-4.7z" />\n</svg>\n';
10
+ const dndSvg = '<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\n<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">\n <path fill="none" d="M-4-4h24v24H-4V-4z" />\n <path fill="var(--color-error)" d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z" />\n <path fill="#fdffff" d="M5 6.5h6c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5H5c-.8 0-1.5-.7-1.5-1.5S4.2 6.5 5 6.5z" />\n</svg>\n';
11
+ const invisibleSvg = '<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\n<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">\n <path fill="none" d="M-4-4h24v24H-4V-4z" />\n <path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 3.2c2.7 0 4.8 2.1 4.8 4.8s-2.1 4.8-4.8 4.8S3.2 10.7 3.2 8 5.3 3.2 8 3.2z" />\n</svg>\n';
12
+ register(t10);
13
+ /**
14
+ * @copyright 2023 Christopher Ng <chrng8@gmail.com>
15
+ *
16
+ * @author Christopher Ng <chrng8@gmail.com>
17
+ *
18
+ * @license AGPL-3.0-or-later
19
+ *
20
+ * This program is free software: you can redistribute it and/or modify
21
+ * it under the terms of the GNU Affero General Public License as
22
+ * published by the Free Software Foundation, either version 3 of the
23
+ * License, or (at your option) any later version.
24
+ *
25
+ * This program is distributed in the hope that it will be useful,
26
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ * GNU Affero General Public License for more details.
29
+ *
30
+ * You should have received a copy of the GNU Affero General Public License
31
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
32
+ *
33
+ */
34
+ const getUserStatusText = (status) => {
35
+ switch (status) {
36
+ case "away":
37
+ return t("away");
38
+ case "busy":
39
+ return t("busy");
40
+ case "dnd":
41
+ return t("do not disturb");
42
+ case "online":
43
+ return t("online");
44
+ case "invisible":
45
+ return t("invisible");
46
+ case "offline":
47
+ return t("offline");
48
+ default:
49
+ return status;
50
+ }
51
+ };
52
+ register(t44);
53
+ const _sfc_main = {
54
+ name: "NcUserStatusIcon",
55
+ props: {
56
+ /**
57
+ * Set the user id to fetch the status
58
+ */
59
+ user: {
60
+ type: String,
61
+ default: null
62
+ },
63
+ /**
64
+ * Set the status
65
+ *
66
+ * @type {'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'}
67
+ */
68
+ status: {
69
+ type: String,
70
+ default: null,
71
+ validator: (value) => [
72
+ "online",
73
+ "away",
74
+ "busy",
75
+ "dnd",
76
+ "invisible",
77
+ "offline"
78
+ ].includes(value)
79
+ },
80
+ /**
81
+ * Set the `aria-hidden` attribute
82
+ *
83
+ * @type {'true' | 'false'}
84
+ */
85
+ ariaHidden: {
86
+ type: String,
87
+ default: null,
88
+ validator: (value) => [
89
+ "true",
90
+ "false"
91
+ ].includes(value)
92
+ }
93
+ },
94
+ data() {
95
+ return {
96
+ fetchedUserStatus: null
97
+ };
98
+ },
99
+ computed: {
100
+ activeStatus() {
101
+ var _a;
102
+ return (_a = this.status) != null ? _a : this.fetchedUserStatus;
103
+ },
104
+ activeSvg() {
105
+ var _a;
106
+ const matchSvg = {
107
+ online: onlineSvg,
108
+ away: awaySvg,
109
+ busy: awaySvg,
110
+ dnd: dndSvg,
111
+ invisible: invisibleSvg,
112
+ offline: invisibleSvg
113
+ };
114
+ return (_a = matchSvg[this.activeStatus]) != null ? _a : null;
115
+ },
116
+ ariaLabel() {
117
+ if (this.ariaHidden === "true") {
118
+ return null;
119
+ }
120
+ return t("User status: {status}", { status: getUserStatusText(this.activeStatus) });
121
+ }
122
+ },
123
+ watch: {
124
+ user: {
125
+ immediate: true,
126
+ async handler(user, _oldUser) {
127
+ var _a, _b, _c, _d;
128
+ if (!user || !((_b = (_a = getCapabilities()) == null ? void 0 : _a.user_status) == null ? void 0 : _b.enabled)) {
129
+ this.fetchedUserStatus = null;
130
+ return;
131
+ }
132
+ try {
133
+ const { data } = await axios.get(generateOcsUrl("/apps/user_status/api/v1/statuses/{user}", { user }));
134
+ this.fetchedUserStatus = (_d = (_c = data.ocs) == null ? void 0 : _c.data) == null ? void 0 : _d.status;
135
+ } catch (error) {
136
+ this.fetchedUserStatus = null;
137
+ }
138
+ }
139
+ }
140
+ },
141
+ mounted() {
142
+ if (!this.user && !this.status) {
143
+ Vue.util.warn("[NcUserStatusIcon] The `user` or `status` prop should be set.");
144
+ }
145
+ }
146
+ };
147
+ var _sfc_render = function render() {
148
+ var _vm = this, _c = _vm._self._c;
149
+ return _vm.activeStatus ? _c("span", { staticClass: "user-status-icon", class: {
150
+ "user-status-icon--invisible": ["invisible", "offline"].includes(_vm.status)
151
+ }, attrs: { "role": "img", "aria-hidden": _vm.ariaHidden, "aria-label": _vm.ariaLabel }, domProps: { "innerHTML": _vm._s(_vm.activeSvg) } }) : _vm._e();
152
+ };
153
+ var _sfc_staticRenderFns = [];
154
+ var __component__ = /* @__PURE__ */ normalizeComponent(
155
+ _sfc_main,
156
+ _sfc_render,
157
+ _sfc_staticRenderFns,
158
+ false,
159
+ null,
160
+ "b17810e4",
161
+ null,
162
+ null
163
+ );
164
+ const NcUserStatusIcon = __component__.exports;
165
+ export {
166
+ NcUserStatusIcon as N,
167
+ getUserStatusText as g
168
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserStatusIcon-B69NZ9Hw.cjs","sources":["../../src/assets/status-icons/user-status-online.svg?raw","../../src/assets/status-icons/user-status-away.svg?raw","../../src/assets/status-icons/user-status-dnd.svg?raw","../../src/assets/status-icons/user-status-invisible.svg?raw","../../src/utils/UserStatus.ts","../../src/components/NcUserStatusIcon/NcUserStatusIcon.vue"],"sourcesContent":["export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"var(--color-success)\\\" d=\\\"M4.8 11.2h6.4V4.8H4.8v6.4zM8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4z\\\" />\\n\\t<path fill=\\\"var(--color-warning)\\\" d=\\\"M6.9.1C3 .6-.1 4-.1 8c0 4.4 3.6 8 8 8 4 0 7.4-3 8-6.9-1.2 1.3-2.9 2.1-4.7 2.1-3.5 0-6.4-2.9-6.4-6.4 0-1.9.8-3.6 2.1-4.7z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4V-4z\\\" />\\n\\t<path fill=\\\"var(--color-error)\\\" d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\" />\\n\\t<path fill=\\\"#fdffff\\\" d=\\\"M5 6.5h6c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5H5c-.8 0-1.5-.7-1.5-1.5S4.2 6.5 5 6.5z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4V-4z\\\" />\\n\\t<path d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 3.2c2.7 0 4.8 2.1 4.8 4.8s-2.1 4.8-4.8 4.8S3.2 10.7 3.2 8 5.3 3.2 8 3.2z\\\" />\\n</svg>\\n\"","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\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 { t } from '../l10n.js'\n\ntype Status = 'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'\n\nexport const getUserStatusText = (status: Status): string => {\n\tswitch (status) {\n\tcase 'away': return t('away') // TRANSLATORS: User status if the user is currently away from keyboard\n\tcase 'busy': return t('busy')\n\tcase 'dnd': return t('do not disturb')\n\tcase 'online': return t('online')\n\tcase 'invisible': return t('invisible')\n\tcase 'offline': return t('offline')\n\tdefault: return status\n\t}\n}\n","<!--\n - @copyright 2024 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\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\n<docs>\n### Description\n\nThis component displays a user status icon.\n\n### Example\n\n```vue\n<template>\n\t<div class=\"row\">\n\t\t<NcUserStatusIcon status=\"online\" />\n\t\t<NcUserStatusIcon status=\"away\" />\n\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t<NcUserStatusIcon status=\"invisible\" />\n\t</div>\n</template>\n\n<style>\n.row {\n\tdisplay: flex;\n\tgap: 10px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span v-if=\"activeStatus\"\n\t\tclass=\"user-status-icon\"\n\t\t:class=\"{\n\t\t\t'user-status-icon--invisible': ['invisible', 'offline'].includes(status),\n\t\t}\"\n\t\trole=\"img\"\n\t\t:aria-hidden=\"ariaHidden\"\n\t\t:aria-label=\"ariaLabel\"\n\t\tv-html=\"activeSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<script>\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nimport onlineSvg from '../../assets/status-icons/user-status-online.svg?raw'\nimport awaySvg from '../../assets/status-icons/user-status-away.svg?raw'\nimport dndSvg from '../../assets/status-icons/user-status-dnd.svg?raw'\nimport invisibleSvg from '../../assets/status-icons/user-status-invisible.svg?raw'\n\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcUserStatusIcon',\n\n\tprops: {\n\t\t/**\n\t\t * Set the user id to fetch the status\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Set the status\n\t\t *\n\t\t * @type {'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'}\n\t\t */\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => [\n\t\t\t\t'online',\n\t\t\t\t'away',\n\t\t\t\t'busy',\n\t\t\t\t'dnd',\n\t\t\t\t'invisible',\n\t\t\t\t'offline',\n\t\t\t].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * Set the `aria-hidden` attribute\n\t\t *\n\t\t * @type {'true' | 'false'}\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => [\n\t\t\t\t'true',\n\t\t\t\t'false',\n\t\t\t].includes(value),\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfetchedUserStatus: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tactiveStatus() {\n\t\t\treturn this.status ?? this.fetchedUserStatus\n\t\t},\n\n\t\tactiveSvg() {\n\t\t\tconst matchSvg = {\n\t\t\t\tonline: onlineSvg,\n\t\t\t\taway: awaySvg,\n\t\t\t\tbusy: awaySvg,\n\t\t\t\tdnd: dndSvg,\n\t\t\t\tinvisible: invisibleSvg,\n\t\t\t\toffline: invisibleSvg,\n\t\t\t}\n\t\t\treturn matchSvg[this.activeStatus] ?? null\n\t\t},\n\n\t\tariaLabel() {\n\t\t\tif (this.ariaHidden === 'true') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn t('User status: {status}', { status: getUserStatusText(this.activeStatus) })\n\t\t},\n\t},\n\n\twatch: {\n\t\tuser: {\n\t\t\timmediate: true,\n\t\t\tasync handler(user, _oldUser) {\n\t\t\t\tif (!user || !getCapabilities()?.user_status?.enabled) {\n\t\t\t\t\tthis.fetchedUserStatus = null\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tconst { data } = await axios.get(generateOcsUrl('/apps/user_status/api/v1/statuses/{user}', { user }))\n\t\t\t\t\tthis.fetchedUserStatus = data.ocs?.data?.status\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.fetchedUserStatus = null\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.user && !this.status) {\n\t\t\tVue.util.warn('[NcUserStatusIcon] The `user` or `status` prop should be set.')\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-status-icon {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 16px;\n\tmin-height: 16px;\n\tmax-width: 20px;\n\tmax-height: 20px;\n\n\t&--invisible {\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n}\n</style>\n"],"names":["onlineSvg","awaySvg","dndSvg","invisibleSvg","getUserStatusText","status","t","_sfc_main","value","_a","user","_oldUser","getCapabilities","data","axios","generateOcsUrl","_d","_c","Vue"],"mappings":";wUAAeA,IAAA,2TCAAC,IAAA,iZCAAC,IAAA,6bCAAC,IAAA;;ACAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0Ba,MAAAC,IAAoB,CAACC,MAA2B;AAC5D,UAAQA,GAAQ;AAAA,IAChB,KAAK;AAAQ,aAAOC,EAAAA,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAQ,aAAOA,EAAAA,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAO,aAAOA,EAAAA,EAAE,gBAAgB;AAAA,IACrC,KAAK;AAAU,aAAOA,EAAAA,EAAE,QAAQ;AAAA,IAChC,KAAK;AAAa,aAAOA,EAAAA,EAAE,WAAW;AAAA,IACtC,KAAK;AAAW,aAAOA,EAAAA,EAAE,SAAS;AAAA,IAClC;AAAgB,aAAAD;AAAA,EAChB;AACD;;ACsCA,MAAAE,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACA,EAAA,SAAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,MACA,EAAA,SAAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,eAAA;;AACA,cAAAC,IAAA,KAAA,WAAA,OAAAA,IAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;;AASA,cAAAA,IARA;AAAA,QACA,QAAAT;AAAA,QACA,MAAAC;AAAA,QACA,MAAAA;AAAA,QACA,KAAAC;AAAA,QACA,WAAAC;AAAA,QACA,SAAAA;AAAA,MACA,EACA,KAAA,YAAA,MAAA,OAAAM,IAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,eAAA,SACA,OAEAH,EAAAA,EAAA,yBAAA,EAAA,QAAAF,EAAA,KAAA,YAAA,GAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA,QAAAM,GAAAC,GAAA;;AACA,YAAA,CAAAD,KAAA,GAAAE,KAAAA,IAAAA,EAAA,gBAAA,MAAAA,gBAAAA,EAAA,gBAAAA,QAAAA,EAAA,UAAA;AACA,eAAA,oBAAA;AACA;AAAA,QACA;AACA,YAAA;AACA,gBAAA,EAAA,MAAAC,MAAA,MAAAC,UAAA,IAAAC,EAAAA,eAAA,4CAAA,EAAA,MAAAL,EAAA,CAAA,CAAA;AACA,eAAA,qBAAAM,KAAAC,IAAAJ,EAAA,QAAA,gBAAAI,EAAA,SAAA,gBAAAD,EAAA;AAAA,QACA,QAAA;AACA,eAAA,oBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,IAAA,CAAA,KAAA,QAAA,CAAA,KAAA,UACAE,UAAA,KAAA,KAAA,+DAAA;AAAA,EAEA;AACA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcUserStatusIcon-BC9qDAzb.mjs","sources":["../../src/assets/status-icons/user-status-online.svg?raw","../../src/assets/status-icons/user-status-away.svg?raw","../../src/assets/status-icons/user-status-dnd.svg?raw","../../src/assets/status-icons/user-status-invisible.svg?raw","../../src/utils/UserStatus.ts","../../src/components/NcUserStatusIcon/NcUserStatusIcon.vue"],"sourcesContent":["export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"var(--color-success)\\\" d=\\\"M4.8 11.2h6.4V4.8H4.8v6.4zM8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4z\\\" />\\n\\t<path fill=\\\"var(--color-warning)\\\" d=\\\"M6.9.1C3 .6-.1 4-.1 8c0 4.4 3.6 8 8 8 4 0 7.4-3 8-6.9-1.2 1.3-2.9 2.1-4.7 2.1-3.5 0-6.4-2.9-6.4-6.4 0-1.9.8-3.6 2.1-4.7z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4V-4z\\\" />\\n\\t<path fill=\\\"var(--color-error)\\\" d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\" />\\n\\t<path fill=\\\"#fdffff\\\" d=\\\"M5 6.5h6c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5H5c-.8 0-1.5-.7-1.5-1.5S4.2 6.5 5 6.5z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4V-4z\\\" />\\n\\t<path d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 3.2c2.7 0 4.8 2.1 4.8 4.8s-2.1 4.8-4.8 4.8S3.2 10.7 3.2 8 5.3 3.2 8 3.2z\\\" />\\n</svg>\\n\"","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\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 { t } from '../l10n.js'\n\ntype Status = 'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'\n\nexport const getUserStatusText = (status: Status): string => {\n\tswitch (status) {\n\tcase 'away': return t('away') // TRANSLATORS: User status if the user is currently away from keyboard\n\tcase 'busy': return t('busy')\n\tcase 'dnd': return t('do not disturb')\n\tcase 'online': return t('online')\n\tcase 'invisible': return t('invisible')\n\tcase 'offline': return t('offline')\n\tdefault: return status\n\t}\n}\n","<!--\n - @copyright 2024 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\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\n<docs>\n### Description\n\nThis component displays a user status icon.\n\n### Example\n\n```vue\n<template>\n\t<div class=\"row\">\n\t\t<NcUserStatusIcon status=\"online\" />\n\t\t<NcUserStatusIcon status=\"away\" />\n\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t<NcUserStatusIcon status=\"invisible\" />\n\t</div>\n</template>\n\n<style>\n.row {\n\tdisplay: flex;\n\tgap: 10px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span v-if=\"activeStatus\"\n\t\tclass=\"user-status-icon\"\n\t\t:class=\"{\n\t\t\t'user-status-icon--invisible': ['invisible', 'offline'].includes(status),\n\t\t}\"\n\t\trole=\"img\"\n\t\t:aria-hidden=\"ariaHidden\"\n\t\t:aria-label=\"ariaLabel\"\n\t\tv-html=\"activeSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<script>\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nimport onlineSvg from '../../assets/status-icons/user-status-online.svg?raw'\nimport awaySvg from '../../assets/status-icons/user-status-away.svg?raw'\nimport dndSvg from '../../assets/status-icons/user-status-dnd.svg?raw'\nimport invisibleSvg from '../../assets/status-icons/user-status-invisible.svg?raw'\n\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcUserStatusIcon',\n\n\tprops: {\n\t\t/**\n\t\t * Set the user id to fetch the status\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Set the status\n\t\t *\n\t\t * @type {'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'}\n\t\t */\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => [\n\t\t\t\t'online',\n\t\t\t\t'away',\n\t\t\t\t'busy',\n\t\t\t\t'dnd',\n\t\t\t\t'invisible',\n\t\t\t\t'offline',\n\t\t\t].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * Set the `aria-hidden` attribute\n\t\t *\n\t\t * @type {'true' | 'false'}\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => [\n\t\t\t\t'true',\n\t\t\t\t'false',\n\t\t\t].includes(value),\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfetchedUserStatus: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tactiveStatus() {\n\t\t\treturn this.status ?? this.fetchedUserStatus\n\t\t},\n\n\t\tactiveSvg() {\n\t\t\tconst matchSvg = {\n\t\t\t\tonline: onlineSvg,\n\t\t\t\taway: awaySvg,\n\t\t\t\tbusy: awaySvg,\n\t\t\t\tdnd: dndSvg,\n\t\t\t\tinvisible: invisibleSvg,\n\t\t\t\toffline: invisibleSvg,\n\t\t\t}\n\t\t\treturn matchSvg[this.activeStatus] ?? null\n\t\t},\n\n\t\tariaLabel() {\n\t\t\tif (this.ariaHidden === 'true') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn t('User status: {status}', { status: getUserStatusText(this.activeStatus) })\n\t\t},\n\t},\n\n\twatch: {\n\t\tuser: {\n\t\t\timmediate: true,\n\t\t\tasync handler(user, _oldUser) {\n\t\t\t\tif (!user || !getCapabilities()?.user_status?.enabled) {\n\t\t\t\t\tthis.fetchedUserStatus = null\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tconst { data } = await axios.get(generateOcsUrl('/apps/user_status/api/v1/statuses/{user}', { user }))\n\t\t\t\t\tthis.fetchedUserStatus = data.ocs?.data?.status\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.fetchedUserStatus = null\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.user && !this.status) {\n\t\t\tVue.util.warn('[NcUserStatusIcon] The `user` or `status` prop should be set.')\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-status-icon {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 16px;\n\tmin-height: 16px;\n\tmax-width: 20px;\n\tmax-height: 20px;\n\n\t&--invisible {\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;;;;AAAA,MAAe,YAAA;ACAf,MAAe,UAAA;ACAf,MAAe,SAAA;ACAf,MAAe,eAAA;;ACAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0Ba,MAAA,oBAAoB,CAAC,WAA2B;AAC5D,UAAQ,QAAQ;AAAA,IAChB,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAO,aAAO,EAAE,gBAAgB;AAAA,IACrC,KAAK;AAAU,aAAO,EAAE,QAAQ;AAAA,IAChC,KAAK;AAAa,aAAO,EAAE,WAAW;AAAA,IACtC,KAAK;AAAW,aAAO,EAAE,SAAS;AAAA,IAClC;AAAgB,aAAA;AAAA,EAChB;AACD;;ACsCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA;AAAA,QACA;AAAA,QACA;AAAA,MACA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,eAAA;;AACA,cAAA,UAAA,WAAA,YAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;;AACA,YAAA,WAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA;AAAA,QACA,KAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA;AAAA,MACA;AACA,cAAA,cAAA,KAAA,YAAA,MAAA,YAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,UAAA,KAAA,eAAA,QAAA;AACA,eAAA;AAAA,MACA;AACA,aAAA,EAAA,yBAAA,EAAA,QAAA,kBAAA,KAAA,YAAA,GAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA,QAAA,MAAA,UAAA;;AACA,YAAA,CAAA,QAAA,GAAA,2BAAA,MAAA,mBAAA,gBAAA,mBAAA,UAAA;AACA,eAAA,oBAAA;AACA;AAAA,QACA;AACA,YAAA;AACA,gBAAA,EAAA,SAAA,MAAA,MAAA,IAAA,eAAA,4CAAA,EAAA,KAAA,CAAA,CAAA;AACA,eAAA,qBAAA,gBAAA,QAAA,mBAAA,SAAA,mBAAA;AAAA,QACA,SAAA,OAAA;AACA,eAAA,oBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,QAAA,CAAA,KAAA,QAAA;AACA,UAAA,KAAA,KAAA,+DAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}