@nextcloud/vue 8.19.0 → 8.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/Components/NcActionButton.cjs +4 -4
  3. package/dist/Components/NcActionButton.mjs +4 -4
  4. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  6. package/dist/Components/NcActionCaption.cjs +1 -1
  7. package/dist/Components/NcActionCaption.mjs +1 -1
  8. package/dist/Components/NcActionCheckbox.cjs +2 -106
  9. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  10. package/dist/Components/NcActionCheckbox.mjs +2 -106
  11. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  12. package/dist/Components/NcActionInput.cjs +1 -1
  13. package/dist/Components/NcActionInput.mjs +1 -1
  14. package/dist/Components/NcActionLink.cjs +2 -2
  15. package/dist/Components/NcActionLink.mjs +2 -2
  16. package/dist/Components/NcActionRadio.cjs +2 -108
  17. package/dist/Components/NcActionRadio.cjs.map +1 -1
  18. package/dist/Components/NcActionRadio.mjs +2 -108
  19. package/dist/Components/NcActionRadio.mjs.map +1 -1
  20. package/dist/Components/NcActionRouter.cjs +2 -2
  21. package/dist/Components/NcActionRouter.mjs +2 -2
  22. package/dist/Components/NcActionSeparator.cjs +1 -1
  23. package/dist/Components/NcActionSeparator.mjs +1 -1
  24. package/dist/Components/NcActionText.cjs +2 -2
  25. package/dist/Components/NcActionText.mjs +2 -2
  26. package/dist/Components/NcActionTextEditable.cjs +2 -89
  27. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  28. package/dist/Components/NcActionTextEditable.mjs +2 -89
  29. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  30. package/dist/Components/NcActions.cjs +1 -1
  31. package/dist/Components/NcActions.mjs +1 -1
  32. package/dist/Components/NcAppContent.cjs +1 -1
  33. package/dist/Components/NcAppContent.mjs +1 -1
  34. package/dist/Components/NcAppNavigation.cjs +1 -1
  35. package/dist/Components/NcAppNavigation.mjs +1 -1
  36. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  37. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  38. package/dist/Components/NcAppNavigationIconBullet.cjs +1 -1
  39. package/dist/Components/NcAppNavigationIconBullet.mjs +1 -1
  40. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  41. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  42. package/dist/Components/NcAppNavigationList.cjs +1 -1
  43. package/dist/Components/NcAppNavigationList.mjs +1 -1
  44. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  45. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  46. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  47. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  48. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  49. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  50. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  51. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  52. package/dist/Components/NcAppNavigationSpacer.cjs +1 -1
  53. package/dist/Components/NcAppNavigationSpacer.mjs +1 -1
  54. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  55. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  56. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  57. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  58. package/dist/Components/NcAppSettingsSection.cjs +5 -8
  59. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  60. package/dist/Components/NcAppSettingsSection.mjs +5 -8
  61. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  62. package/dist/Components/NcAppSidebar.cjs +1 -1
  63. package/dist/Components/NcAppSidebar.mjs +1 -1
  64. package/dist/Components/NcAppSidebarTab.cjs +3 -4
  65. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  66. package/dist/Components/NcAppSidebarTab.mjs +3 -4
  67. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  68. package/dist/Components/NcAvatar.cjs +1 -1
  69. package/dist/Components/NcAvatar.mjs +1 -1
  70. package/dist/Components/NcBreadcrumb.cjs +1 -1
  71. package/dist/Components/NcBreadcrumb.mjs +1 -1
  72. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  73. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  74. package/dist/Components/NcButton.cjs +7 -8
  75. package/dist/Components/NcButton.cjs.map +1 -1
  76. package/dist/Components/NcButton.mjs +7 -8
  77. package/dist/Components/NcButton.mjs.map +1 -1
  78. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  79. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  80. package/dist/Components/NcChip.cjs +8 -14
  81. package/dist/Components/NcChip.cjs.map +1 -1
  82. package/dist/Components/NcChip.mjs +8 -14
  83. package/dist/Components/NcChip.mjs.map +1 -1
  84. package/dist/Components/NcCollectionList.cjs +1 -1
  85. package/dist/Components/NcCollectionList.mjs +1 -1
  86. package/dist/Components/NcColorPicker.cjs +1 -1
  87. package/dist/Components/NcColorPicker.mjs +1 -1
  88. package/dist/Components/NcContent.cjs +1 -1
  89. package/dist/Components/NcContent.mjs +1 -1
  90. package/dist/Components/NcCounterBubble.cjs +1 -1
  91. package/dist/Components/NcCounterBubble.mjs +1 -1
  92. package/dist/Components/NcDashboardWidget.cjs +1 -1
  93. package/dist/Components/NcDashboardWidget.mjs +1 -1
  94. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  95. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  96. package/dist/Components/NcDateTime.cjs +1 -1
  97. package/dist/Components/NcDateTime.mjs +1 -1
  98. package/dist/Components/NcDateTimePicker.cjs +37 -17
  99. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  100. package/dist/Components/NcDateTimePicker.mjs +37 -17
  101. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  102. package/dist/Components/NcDateTimePickerNative.cjs +52 -21
  103. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  104. package/dist/Components/NcDateTimePickerNative.mjs +52 -21
  105. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  106. package/dist/Components/NcDialog.cjs +1 -1
  107. package/dist/Components/NcDialog.mjs +1 -1
  108. package/dist/Components/NcDialogButton.cjs +1 -1
  109. package/dist/Components/NcDialogButton.mjs +1 -1
  110. package/dist/Components/NcEllipsisedOption.cjs +3 -3
  111. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  112. package/dist/Components/NcEllipsisedOption.mjs +3 -3
  113. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  114. package/dist/Components/NcEmojiPicker.cjs +1 -1
  115. package/dist/Components/NcEmojiPicker.mjs +1 -1
  116. package/dist/Components/NcEmptyContent.cjs +2 -3
  117. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  118. package/dist/Components/NcEmptyContent.mjs +2 -3
  119. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  120. package/dist/Components/NcGuestContent.cjs +1 -1
  121. package/dist/Components/NcGuestContent.mjs +1 -1
  122. package/dist/Components/NcHeaderButton.cjs +1 -1
  123. package/dist/Components/NcHeaderButton.mjs +1 -1
  124. package/dist/Components/NcHeaderMenu.cjs +1 -1
  125. package/dist/Components/NcHeaderMenu.mjs +1 -1
  126. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  127. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  128. package/dist/Components/NcInputField.cjs +2 -232
  129. package/dist/Components/NcInputField.cjs.map +1 -1
  130. package/dist/Components/NcInputField.mjs +2 -232
  131. package/dist/Components/NcInputField.mjs.map +1 -1
  132. package/dist/Components/NcListItem.cjs +1 -1
  133. package/dist/Components/NcListItem.mjs +1 -1
  134. package/dist/Components/NcListItemIcon.cjs +1 -1
  135. package/dist/Components/NcListItemIcon.mjs +1 -1
  136. package/dist/Components/NcLoadingIcon.cjs +1 -1
  137. package/dist/Components/NcLoadingIcon.mjs +1 -1
  138. package/dist/Components/NcModal.cjs +14 -15
  139. package/dist/Components/NcModal.cjs.map +1 -1
  140. package/dist/Components/NcModal.mjs +14 -15
  141. package/dist/Components/NcModal.mjs.map +1 -1
  142. package/dist/Components/NcNoteCard.cjs +6 -6
  143. package/dist/Components/NcNoteCard.cjs.map +1 -1
  144. package/dist/Components/NcNoteCard.mjs +6 -6
  145. package/dist/Components/NcNoteCard.mjs.map +1 -1
  146. package/dist/Components/NcPasswordField.cjs +1 -1
  147. package/dist/Components/NcPasswordField.mjs +1 -1
  148. package/dist/Components/NcPopover.cjs +1 -1
  149. package/dist/Components/NcPopover.mjs +1 -1
  150. package/dist/Components/NcProgressBar.cjs +1 -1
  151. package/dist/Components/NcProgressBar.mjs +1 -1
  152. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  153. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  154. package/dist/Components/NcRichContenteditable.cjs +2 -2
  155. package/dist/Components/NcRichContenteditable.mjs +2 -2
  156. package/dist/Components/NcRichText.cjs +3 -3
  157. package/dist/Components/NcRichText.mjs +4 -4
  158. package/dist/Components/NcSelect.cjs +1 -1
  159. package/dist/Components/NcSelect.mjs +1 -1
  160. package/dist/Components/NcSelectTags.cjs +1 -1
  161. package/dist/Components/NcSelectTags.mjs +1 -1
  162. package/dist/Components/NcSettingsInputText.cjs +1 -1
  163. package/dist/Components/NcSettingsInputText.mjs +1 -1
  164. package/dist/Components/NcSettingsSection.cjs +1 -1
  165. package/dist/Components/NcSettingsSection.mjs +1 -1
  166. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  167. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  168. package/dist/Components/NcTextArea.cjs +2 -179
  169. package/dist/Components/NcTextArea.cjs.map +1 -1
  170. package/dist/Components/NcTextArea.mjs +2 -179
  171. package/dist/Components/NcTextArea.mjs.map +1 -1
  172. package/dist/Components/NcTextField.cjs +1 -1
  173. package/dist/Components/NcTextField.mjs +1 -1
  174. package/dist/Components/NcTimezonePicker.cjs +1 -1
  175. package/dist/Components/NcTimezonePicker.mjs +1 -1
  176. package/dist/Components/NcUserBubble.cjs +1 -1
  177. package/dist/Components/NcUserBubble.mjs +1 -1
  178. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  179. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  180. package/dist/Components/NcVNodes.cjs +1 -2
  181. package/dist/Components/NcVNodes.cjs.map +1 -1
  182. package/dist/Components/NcVNodes.mjs +1 -2
  183. package/dist/Components/NcVNodes.mjs.map +1 -1
  184. package/dist/Composables/useHotKey.cjs +2 -4
  185. package/dist/Composables/useHotKey.cjs.map +1 -1
  186. package/dist/Composables/useHotKey.mjs +2 -4
  187. package/dist/Composables/useHotKey.mjs.map +1 -1
  188. package/dist/Composables/useIsDarkTheme.cjs +18 -0
  189. package/dist/Composables/useIsDarkTheme.cjs.map +1 -0
  190. package/dist/Composables/useIsDarkTheme.mjs +18 -0
  191. package/dist/Composables/useIsDarkTheme.mjs.map +1 -0
  192. package/dist/Directives/Linkify.cjs +1 -2
  193. package/dist/Directives/Linkify.cjs.map +1 -1
  194. package/dist/Directives/Linkify.mjs +1 -2
  195. package/dist/Directives/Linkify.mjs.map +1 -1
  196. package/dist/Directives/Tooltip.cjs +1 -1
  197. package/dist/Directives/Tooltip.mjs +1 -1
  198. package/dist/Functions/dialog.cjs +27 -0
  199. package/dist/Functions/dialog.cjs.map +1 -0
  200. package/dist/Functions/dialog.mjs +25 -0
  201. package/dist/Functions/dialog.mjs.map +1 -0
  202. package/dist/Functions/emoji.cjs +1 -1
  203. package/dist/Functions/emoji.mjs +1 -1
  204. package/dist/Functions/isDarkTheme.cjs +12 -0
  205. package/dist/Functions/isDarkTheme.cjs.map +1 -0
  206. package/dist/Functions/isDarkTheme.mjs +12 -0
  207. package/dist/Functions/isDarkTheme.mjs.map +1 -0
  208. package/dist/Functions/reference.cjs +2 -2
  209. package/dist/Functions/reference.mjs +2 -2
  210. package/dist/Functions/registerReference.cjs +1 -1
  211. package/dist/Functions/registerReference.mjs +1 -1
  212. package/dist/Functions/usernameToColor.cjs +1 -1
  213. package/dist/Functions/usernameToColor.mjs +1 -1
  214. package/dist/Mixins/richEditor.cjs +1 -1
  215. package/dist/Mixins/richEditor.mjs +1 -1
  216. package/dist/assets/{NcActionButton-D90PTEA5.css → NcActionButton-CNq6xIdS.css} +1 -1
  217. package/dist/assets/{NcActionCheckbox-sIGqnckr.css → NcActionCheckbox-DeW2CCVc.css} +11 -11
  218. package/dist/assets/{NcActionInput-C_3Csa6A.css → NcActionInput-CNRERfyh.css} +61 -61
  219. package/dist/assets/{NcActionLink-Db_ZlqWs.css → NcActionLink-CC6a7Hsf.css} +1 -1
  220. package/dist/assets/{NcActionRadio-DFcWmvae.css → NcActionRadio-DC7Wp9rR.css} +11 -11
  221. package/dist/assets/{NcActionRouter-DidTlbov.css → NcActionRouter-CsIBHw6E.css} +1 -1
  222. package/dist/assets/{NcActionText-DCx1DWXe.css → NcActionText-BSD_HYx4.css} +1 -1
  223. package/dist/assets/{NcActionTextEditable-Dud9NOdm.css → NcActionTextEditable-Cg16Q4zr.css} +59 -59
  224. package/dist/assets/{NcAppContent-DVBVZyuW.css → NcAppContent-D97xom6z.css} +29 -24
  225. package/dist/assets/{NcAppNavigation-fhylfTxx.css → NcAppNavigation-CBN6X2dT.css} +13 -13
  226. package/dist/assets/{NcAppNavigationItem-CxlG8Qdb.css → NcAppNavigationItem-CNZsPcla.css} +30 -30
  227. package/dist/assets/{NcAppNavigationToggle-DvYpNzHv.css → NcAppNavigationToggle-Chtb7sE7.css} +5 -5
  228. package/dist/assets/{NcAppSidebar-CpV7czJx.css → NcAppSidebar-BntAj6H-.css} +73 -73
  229. package/dist/assets/{NcCheckboxRadioSwitch-BzAGGne9.css → NcCheckboxRadioSwitch-D0kAZROF.css} +31 -31
  230. package/dist/assets/{NcChip-CEKw1zaK.css → NcChip-CIvAlds6.css} +10 -10
  231. package/dist/assets/{NcColorPicker-aCjZY65-.css → NcColorPicker-Dw2wy2tU.css} +28 -28
  232. package/dist/assets/{NcDateTimePicker-BFvU3We7.css → NcDateTimePicker-Dp2wSSiQ.css} +48 -33
  233. package/dist/assets/NcDateTimePickerNative-BfZfqRvD.css +47 -0
  234. package/dist/assets/{NcEllipsisedOption-DZK2vWD1.css → NcEllipsisedOption-DGr9_bIL.css} +5 -5
  235. package/dist/assets/{NcInputField-CQc5dRbY.css → NcInputField-CUsdr7lV.css} +33 -33
  236. package/dist/assets/{NcModal-Cg2K9DV5.css → NcModal-BBKX-T6V.css} +61 -61
  237. package/dist/assets/{NcPasswordField-DWd5gg73.css → NcPasswordField-DZ6dcMzH.css} +2 -2
  238. package/dist/assets/{NcRichContenteditable-BYEZK1DT.css → NcRichContenteditable-DkYYyQTJ.css} +10 -10
  239. package/dist/assets/NcRichText-BlRmdWCX.css +412 -0
  240. package/dist/assets/{NcSettingsInputText-DbTNj9E6.css → NcSettingsInputText-Bsp_6DjJ.css} +5 -5
  241. package/dist/assets/{NcSettingsSelectGroup-CzD7YrGm.css → NcSettingsSelectGroup-BEjOwCJQ.css} +2 -2
  242. package/dist/assets/{NcTextArea-D8bZi2fT.css → NcTextArea-fzbciv3V.css} +20 -20
  243. package/dist/assets/{referencePickerModal-9BcmmfUy.css → referencePickerModal-BhhuyO3J.css} +38 -38
  244. package/dist/chunks/{AlertCircleOutline-DLtiWgZd.cjs → AlertCircleOutline-BrsasUsU.cjs} +1 -1
  245. package/dist/chunks/AlertCircleOutline-BrsasUsU.cjs.map +1 -0
  246. package/dist/chunks/{AlertCircleOutline-DU3QwU5Y.mjs → AlertCircleOutline-DBxbepLy.mjs} +1 -1
  247. package/dist/chunks/AlertCircleOutline-DBxbepLy.mjs.map +1 -0
  248. package/dist/chunks/{ArrowLeft-CONurT5C.cjs → ArrowLeft-BP7yfzCQ.cjs} +1 -1
  249. package/dist/chunks/ArrowLeft-BP7yfzCQ.cjs.map +1 -0
  250. package/dist/chunks/{ArrowLeft-BhAxJBYx.mjs → ArrowLeft-DuT2LZOm.mjs} +1 -1
  251. package/dist/chunks/ArrowLeft-DuT2LZOm.mjs.map +1 -0
  252. package/dist/chunks/{ArrowRight-KsL2PC-o.mjs → ArrowRight-CY2b9hgN.mjs} +1 -1
  253. package/dist/chunks/ArrowRight-CY2b9hgN.mjs.map +1 -0
  254. package/dist/chunks/{ArrowRight-Bj5G_mG0.cjs → ArrowRight-DPARnmu3.cjs} +1 -1
  255. package/dist/chunks/ArrowRight-DPARnmu3.cjs.map +1 -0
  256. package/dist/chunks/{Check-XHAzUBkX.mjs → Check-BkThHPH7.mjs} +1 -1
  257. package/dist/chunks/Check-BkThHPH7.mjs.map +1 -0
  258. package/dist/chunks/{Check-fCbe4vqy.cjs → Check-Du8mPz_B.cjs} +1 -1
  259. package/dist/chunks/Check-Du8mPz_B.cjs.map +1 -0
  260. package/dist/chunks/{ChevronDown-CiFbcDUC.cjs → ChevronDown-BlfyuflD.cjs} +1 -1
  261. package/dist/chunks/ChevronDown-BlfyuflD.cjs.map +1 -0
  262. package/dist/chunks/{ChevronDown-D3Tfshug.mjs → ChevronDown-DFQfzh63.mjs} +1 -1
  263. package/dist/chunks/ChevronDown-DFQfzh63.mjs.map +1 -0
  264. package/dist/chunks/{ChevronRight-C3eVhc5a.mjs → ChevronRight-BUv-PtHh.mjs} +1 -1
  265. package/dist/chunks/ChevronRight-BUv-PtHh.mjs.map +1 -0
  266. package/dist/chunks/{ChevronRight-CWbdN5_r.cjs → ChevronRight-ZCKVg9OI.cjs} +1 -1
  267. package/dist/chunks/ChevronRight-ZCKVg9OI.cjs.map +1 -0
  268. package/dist/chunks/{ChevronUp-A2riTBrv.cjs → ChevronUp-Bpd__OBZ.cjs} +1 -1
  269. package/dist/chunks/ChevronUp-Bpd__OBZ.cjs.map +1 -0
  270. package/dist/chunks/{ChevronUp-ljACquzS.mjs → ChevronUp-C7Dy9Bph.mjs} +1 -1
  271. package/dist/chunks/ChevronUp-C7Dy9Bph.mjs.map +1 -0
  272. package/dist/chunks/{Close-B6ccm1RP.mjs → Close-BtLPUSdO.mjs} +1 -1
  273. package/dist/chunks/Close-BtLPUSdO.mjs.map +1 -0
  274. package/dist/chunks/{Close-B7lGu0cG.cjs → Close-CqmXxEKi.cjs} +1 -1
  275. package/dist/chunks/Close-CqmXxEKi.cjs.map +1 -0
  276. package/dist/chunks/{DotsHorizontal-DQfnwpao.cjs → DotsHorizontal-BoI3vnhk.cjs} +1 -1
  277. package/dist/chunks/DotsHorizontal-BoI3vnhk.cjs.map +1 -0
  278. package/dist/chunks/{DotsHorizontal-Cd2x8oz2.mjs → DotsHorizontal-C6LNsw4N.mjs} +1 -1
  279. package/dist/chunks/DotsHorizontal-C6LNsw4N.mjs.map +1 -0
  280. package/dist/chunks/{GenColors-BWE946ht.mjs → GenColors-DpvFVzBN.mjs} +3 -3
  281. package/dist/chunks/{GenColors-BWE946ht.mjs.map → GenColors-DpvFVzBN.mjs.map} +1 -1
  282. package/dist/chunks/{GenColors-Cay7TLwO.cjs → GenColors-iV_vrBr4.cjs} +3 -3
  283. package/dist/chunks/{GenColors-Cay7TLwO.cjs.map → GenColors-iV_vrBr4.cjs.map} +1 -1
  284. package/dist/chunks/{NcActionButtonGroup-BrN2mWdo.cjs → NcActionButtonGroup-C0nQ7J_W.cjs} +3 -3
  285. package/dist/chunks/{NcActionButtonGroup-BrN2mWdo.cjs.map → NcActionButtonGroup-C0nQ7J_W.cjs.map} +1 -1
  286. package/dist/chunks/{NcActionButtonGroup-B5RmRcow.mjs → NcActionButtonGroup-ue4dTx-p.mjs} +3 -3
  287. package/dist/chunks/{NcActionButtonGroup-B5RmRcow.mjs.map → NcActionButtonGroup-ue4dTx-p.mjs.map} +1 -1
  288. package/dist/chunks/NcActionCheckbox-C_wvm9IO.mjs +138 -0
  289. package/dist/chunks/NcActionCheckbox-C_wvm9IO.mjs.map +1 -0
  290. package/dist/chunks/NcActionCheckbox-DwU16qcU.cjs +137 -0
  291. package/dist/chunks/NcActionCheckbox-DwU16qcU.cjs.map +1 -0
  292. package/dist/chunks/{NcActionInput-BxlypAgV.mjs → NcActionInput-4-s29xoN.mjs} +46 -14
  293. package/dist/chunks/NcActionInput-4-s29xoN.mjs.map +1 -0
  294. package/dist/chunks/{NcActionInput-TP6P798j.cjs → NcActionInput-D0qZP5ag.cjs} +46 -14
  295. package/dist/chunks/NcActionInput-D0qZP5ag.cjs.map +1 -0
  296. package/dist/chunks/NcActionRadio-Dl6W62Vm.mjs +140 -0
  297. package/dist/chunks/NcActionRadio-Dl6W62Vm.mjs.map +1 -0
  298. package/dist/chunks/NcActionRadio-vHwjWOHS.cjs +139 -0
  299. package/dist/chunks/NcActionRadio-vHwjWOHS.cjs.map +1 -0
  300. package/dist/chunks/NcActionTextEditable-97R7dFen.cjs +121 -0
  301. package/dist/chunks/NcActionTextEditable-97R7dFen.cjs.map +1 -0
  302. package/dist/chunks/NcActionTextEditable-DZCFtqIP.mjs +122 -0
  303. package/dist/chunks/NcActionTextEditable-DZCFtqIP.mjs.map +1 -0
  304. package/dist/chunks/{NcActions-gOMT5VzC.cjs → NcActions-CCYNSnCn.cjs} +30 -37
  305. package/dist/chunks/{NcActions-gOMT5VzC.cjs.map → NcActions-CCYNSnCn.cjs.map} +1 -1
  306. package/dist/chunks/{NcActions-BgYpDq2n.mjs → NcActions-NA1n25Vt.mjs} +30 -37
  307. package/dist/chunks/{NcActions-BgYpDq2n.mjs.map → NcActions-NA1n25Vt.mjs.map} +1 -1
  308. package/dist/chunks/{NcAppContent-lEyly7Jk.mjs → NcAppContent-CIMgDnJM.mjs} +13 -9
  309. package/dist/chunks/NcAppContent-CIMgDnJM.mjs.map +1 -0
  310. package/dist/chunks/{NcAppContent-fXpgsMfG.cjs → NcAppContent-DdzUMomS.cjs} +13 -9
  311. package/dist/chunks/NcAppContent-DdzUMomS.cjs.map +1 -0
  312. package/dist/chunks/{NcAppNavigation-BleAA1U_.cjs → NcAppNavigation-BuKJwvwT.cjs} +3 -3
  313. package/dist/chunks/{NcAppNavigation-BleAA1U_.cjs.map → NcAppNavigation-BuKJwvwT.cjs.map} +1 -1
  314. package/dist/chunks/{NcAppNavigation-CxsxPI9x.mjs → NcAppNavigation-wz0Fsxe4.mjs} +3 -3
  315. package/dist/chunks/{NcAppNavigation-CxsxPI9x.mjs.map → NcAppNavigation-wz0Fsxe4.mjs.map} +1 -1
  316. package/dist/chunks/{NcAppNavigationCaption-BQVV0F7Y.mjs → NcAppNavigationCaption-DBKM-x5x.mjs} +3 -3
  317. package/dist/chunks/{NcAppNavigationCaption-BQVV0F7Y.mjs.map → NcAppNavigationCaption-DBKM-x5x.mjs.map} +1 -1
  318. package/dist/chunks/{NcAppNavigationCaption-BK-acRxg.cjs → NcAppNavigationCaption-DUPonEWi.cjs} +3 -3
  319. package/dist/chunks/{NcAppNavigationCaption-BK-acRxg.cjs.map → NcAppNavigationCaption-DUPonEWi.cjs.map} +1 -1
  320. package/dist/chunks/{NcAppNavigationItem-MvvOWnip.mjs → NcAppNavigationItem-BkkuFdfa.mjs} +23 -27
  321. package/dist/chunks/NcAppNavigationItem-BkkuFdfa.mjs.map +1 -0
  322. package/dist/chunks/{NcAppNavigationItem-DfgovIvi.cjs → NcAppNavigationItem-Y_CVXzId.cjs} +23 -27
  323. package/dist/chunks/NcAppNavigationItem-Y_CVXzId.cjs.map +1 -0
  324. package/dist/chunks/{NcAppNavigationNewItem-C66Vvx3t.cjs → NcAppNavigationNewItem-B76-cCDH.cjs} +2 -2
  325. package/dist/chunks/{NcAppNavigationNewItem-C66Vvx3t.cjs.map → NcAppNavigationNewItem-B76-cCDH.cjs.map} +1 -1
  326. package/dist/chunks/{NcAppNavigationNewItem-DyLB6t5e.mjs → NcAppNavigationNewItem-BFFG7VDH.mjs} +2 -2
  327. package/dist/chunks/{NcAppNavigationNewItem-DyLB6t5e.mjs.map → NcAppNavigationNewItem-BFFG7VDH.mjs.map} +1 -1
  328. package/dist/chunks/{NcAppNavigationSearch-8jcfsc-r.mjs → NcAppNavigationSearch-Bg-WTyms.mjs} +6 -10
  329. package/dist/chunks/{NcAppNavigationSearch-8jcfsc-r.mjs.map → NcAppNavigationSearch-Bg-WTyms.mjs.map} +1 -1
  330. package/dist/chunks/{NcAppNavigationSearch-CZRhuV6d.cjs → NcAppNavigationSearch-DVBgbwyd.cjs} +7 -11
  331. package/dist/chunks/{NcAppNavigationSearch-CZRhuV6d.cjs.map → NcAppNavigationSearch-DVBgbwyd.cjs.map} +1 -1
  332. package/dist/chunks/{NcAppNavigationSettings-C-_G8yUn.cjs → NcAppNavigationSettings-BH5t68oV.cjs} +4 -4
  333. package/dist/chunks/NcAppNavigationSettings-BH5t68oV.cjs.map +1 -0
  334. package/dist/chunks/{NcAppNavigationSettings-DScz0UWm.mjs → NcAppNavigationSettings-CieV4qU5.mjs} +4 -4
  335. package/dist/chunks/NcAppNavigationSettings-CieV4qU5.mjs.map +1 -0
  336. package/dist/chunks/{NcAppNavigationToggle-BXainLDc.mjs → NcAppNavigationToggle-Dw0ZPjy2.mjs} +5 -5
  337. package/dist/chunks/NcAppNavigationToggle-Dw0ZPjy2.mjs.map +1 -0
  338. package/dist/chunks/{NcAppNavigationToggle-DAhbqsn_.cjs → NcAppNavigationToggle-Dwg-dMWx.cjs} +5 -5
  339. package/dist/chunks/NcAppNavigationToggle-Dwg-dMWx.cjs.map +1 -0
  340. package/dist/chunks/{NcAppSettingsDialog-BxDO8Ivr.mjs → NcAppSettingsDialog-B4GS8urN.mjs} +8 -15
  341. package/dist/chunks/{NcAppSettingsDialog-BxDO8Ivr.mjs.map → NcAppSettingsDialog-B4GS8urN.mjs.map} +1 -1
  342. package/dist/chunks/{NcAppSettingsDialog-niXwDCmG.cjs → NcAppSettingsDialog-Dkl3cqU-.cjs} +8 -15
  343. package/dist/chunks/{NcAppSettingsDialog-niXwDCmG.cjs.map → NcAppSettingsDialog-Dkl3cqU-.cjs.map} +1 -1
  344. package/dist/chunks/{NcAppSidebar-1S8EBs22.cjs → NcAppSidebar-B75YJPC-.cjs} +20 -23
  345. package/dist/chunks/NcAppSidebar-B75YJPC-.cjs.map +1 -0
  346. package/dist/chunks/{NcAppSidebar-D1Ss2put.mjs → NcAppSidebar-DaJVGxLh.mjs} +20 -23
  347. package/dist/chunks/NcAppSidebar-DaJVGxLh.mjs.map +1 -0
  348. package/dist/chunks/{NcAvatar-lRUjWiR6.mjs → NcAvatar-B8e2YFLI.mjs} +20 -22
  349. package/dist/chunks/{NcAvatar-lRUjWiR6.mjs.map → NcAvatar-B8e2YFLI.mjs.map} +1 -1
  350. package/dist/chunks/{NcAvatar-B238cv9d.cjs → NcAvatar-DypzACJs.cjs} +20 -22
  351. package/dist/chunks/{NcAvatar-B238cv9d.cjs.map → NcAvatar-DypzACJs.cjs.map} +1 -1
  352. package/dist/chunks/{NcBreadcrumb-Fqw2S2pM.cjs → NcBreadcrumb-DVn5-KGF.cjs} +5 -5
  353. package/dist/chunks/{NcBreadcrumb-Fqw2S2pM.cjs.map → NcBreadcrumb-DVn5-KGF.cjs.map} +1 -1
  354. package/dist/chunks/{NcBreadcrumb-ydWs_Sw8.mjs → NcBreadcrumb-MucRC9Y6.mjs} +5 -5
  355. package/dist/chunks/{NcBreadcrumb-ydWs_Sw8.mjs.map → NcBreadcrumb-MucRC9Y6.mjs.map} +1 -1
  356. package/dist/chunks/{NcBreadcrumbs-CPW9eMLa.mjs → NcBreadcrumbs-D59osZ3o.mjs} +26 -30
  357. package/dist/chunks/NcBreadcrumbs-D59osZ3o.mjs.map +1 -0
  358. package/dist/chunks/{NcBreadcrumbs-GKwJaai0.cjs → NcBreadcrumbs-JqPHfTRj.cjs} +26 -30
  359. package/dist/chunks/NcBreadcrumbs-JqPHfTRj.cjs.map +1 -0
  360. package/dist/chunks/{NcCheckboxRadioSwitch-COeeT-7G.cjs → NcCheckboxRadioSwitch-DdquK4fW.cjs} +57 -28
  361. package/dist/chunks/NcCheckboxRadioSwitch-DdquK4fW.cjs.map +1 -0
  362. package/dist/chunks/{NcCheckboxRadioSwitch-CvMEEI9x.mjs → NcCheckboxRadioSwitch-R1y0mLbC.mjs} +57 -28
  363. package/dist/chunks/NcCheckboxRadioSwitch-R1y0mLbC.mjs.map +1 -0
  364. package/dist/chunks/{NcCollectionList-DWyT_P3u.cjs → NcCollectionList-BBs48HVU.cjs} +6 -7
  365. package/dist/chunks/{NcCollectionList-DWyT_P3u.cjs.map → NcCollectionList-BBs48HVU.cjs.map} +1 -1
  366. package/dist/chunks/{NcCollectionList-CAM0Gyhi.mjs → NcCollectionList-COYakeMz.mjs} +6 -7
  367. package/dist/chunks/{NcCollectionList-CAM0Gyhi.mjs.map → NcCollectionList-COYakeMz.mjs.map} +1 -1
  368. package/dist/chunks/{NcColorPicker-Ddm2gbz0.mjs → NcColorPicker-8wU8rMbF.mjs} +43 -14
  369. package/dist/chunks/NcColorPicker-8wU8rMbF.mjs.map +1 -0
  370. package/dist/chunks/{NcColorPicker-Dy2BtsaH.cjs → NcColorPicker-Df6UVuYn.cjs} +43 -14
  371. package/dist/chunks/NcColorPicker-Df6UVuYn.cjs.map +1 -0
  372. package/dist/chunks/{NcContent-DKpTIl9F.mjs → NcContent-BEcHmywv.mjs} +4 -4
  373. package/dist/chunks/{NcContent-DKpTIl9F.mjs.map → NcContent-BEcHmywv.mjs.map} +1 -1
  374. package/dist/chunks/{NcContent-BTyHf5mF.cjs → NcContent-BXi18ILU.cjs} +4 -4
  375. package/dist/chunks/{NcContent-BTyHf5mF.cjs.map → NcContent-BXi18ILU.cjs.map} +1 -1
  376. package/dist/chunks/{NcCounterBubble-R8Tmi05i.cjs → NcCounterBubble-DF2rwIo4.cjs} +4 -6
  377. package/dist/chunks/{NcCounterBubble-R8Tmi05i.cjs.map → NcCounterBubble-DF2rwIo4.cjs.map} +1 -1
  378. package/dist/chunks/{NcCounterBubble-D1QC3eP1.mjs → NcCounterBubble-M1q9GRkH.mjs} +4 -6
  379. package/dist/chunks/{NcCounterBubble-D1QC3eP1.mjs.map → NcCounterBubble-M1q9GRkH.mjs.map} +1 -1
  380. package/dist/chunks/{NcDashboardWidget-DhVJqy1d.cjs → NcDashboardWidget-Bu-WC7kg.cjs} +5 -5
  381. package/dist/chunks/{NcDashboardWidget-DhVJqy1d.cjs.map → NcDashboardWidget-Bu-WC7kg.cjs.map} +1 -1
  382. package/dist/chunks/{NcDashboardWidget-DG9u5NLf.mjs → NcDashboardWidget-GDdmCQm-.mjs} +5 -5
  383. package/dist/chunks/{NcDashboardWidget-DG9u5NLf.mjs.map → NcDashboardWidget-GDdmCQm-.mjs.map} +1 -1
  384. package/dist/chunks/{NcDashboardWidgetItem-DuntgAlo.cjs → NcDashboardWidgetItem-CI59K-wE.cjs} +3 -3
  385. package/dist/chunks/{NcDashboardWidgetItem-DuntgAlo.cjs.map → NcDashboardWidgetItem-CI59K-wE.cjs.map} +1 -1
  386. package/dist/chunks/{NcDashboardWidgetItem-CHCygvjp.mjs → NcDashboardWidgetItem-vMP_Z6ay.mjs} +3 -3
  387. package/dist/chunks/{NcDashboardWidgetItem-CHCygvjp.mjs.map → NcDashboardWidgetItem-vMP_Z6ay.mjs.map} +1 -1
  388. package/dist/chunks/{NcDateTime-BfOmGrzK.cjs → NcDateTime-CaJHhgab.cjs} +1 -1
  389. package/dist/chunks/{NcDateTime-BfOmGrzK.cjs.map → NcDateTime-CaJHhgab.cjs.map} +1 -1
  390. package/dist/chunks/{NcDateTime-ciAHA2YL.mjs → NcDateTime-D5UaJ0tw.mjs} +1 -1
  391. package/dist/chunks/{NcDateTime-ciAHA2YL.mjs.map → NcDateTime-D5UaJ0tw.mjs.map} +1 -1
  392. package/dist/chunks/{NcDialog-D9l7GQQJ.cjs → NcDialog-CWGgSCpv.cjs} +3 -3
  393. package/dist/chunks/{NcDialog-D9l7GQQJ.cjs.map → NcDialog-CWGgSCpv.cjs.map} +1 -1
  394. package/dist/chunks/{NcDialog-DmcKxy4v.mjs → NcDialog-CzWTz2Qr.mjs} +3 -3
  395. package/dist/chunks/{NcDialog-DmcKxy4v.mjs.map → NcDialog-CzWTz2Qr.mjs.map} +1 -1
  396. package/dist/chunks/{NcDialogButton-CubYnLkp.mjs → NcDialogButton-B5jVZIGf.mjs} +3 -4
  397. package/dist/chunks/{NcDialogButton-CubYnLkp.mjs.map → NcDialogButton-B5jVZIGf.mjs.map} +1 -1
  398. package/dist/chunks/{NcDialogButton-C4-agMb3.cjs → NcDialogButton-B7d1LWFN.cjs} +3 -4
  399. package/dist/chunks/{NcDialogButton-C4-agMb3.cjs.map → NcDialogButton-B7d1LWFN.cjs.map} +1 -1
  400. package/dist/chunks/{NcEmojiPicker-C2DIjkqr.mjs → NcEmojiPicker-BSoMzxJl.mjs} +10 -12
  401. package/dist/chunks/NcEmojiPicker-BSoMzxJl.mjs.map +1 -0
  402. package/dist/chunks/{NcEmojiPicker-DrMA-XDR.cjs → NcEmojiPicker-XRtfmbk_.cjs} +10 -12
  403. package/dist/chunks/NcEmojiPicker-XRtfmbk_.cjs.map +1 -0
  404. package/dist/chunks/{NcHeaderMenu-Bis33gPF.cjs → NcHeaderMenu-CzS2doDR.cjs} +6 -8
  405. package/dist/chunks/{NcHeaderMenu-Bis33gPF.cjs.map → NcHeaderMenu-CzS2doDR.cjs.map} +1 -1
  406. package/dist/chunks/{NcHeaderMenu-DYGKi6bj.mjs → NcHeaderMenu-vLqcJ-_w.mjs} +6 -8
  407. package/dist/chunks/{NcHeaderMenu-DYGKi6bj.mjs.map → NcHeaderMenu-vLqcJ-_w.mjs.map} +1 -1
  408. package/dist/chunks/{NcIconSvgWrapper-Cb4bAwV6.cjs → NcIconSvgWrapper-B_eOG2sZ.cjs} +2 -2
  409. package/dist/chunks/{NcIconSvgWrapper-Cb4bAwV6.cjs.map → NcIconSvgWrapper-B_eOG2sZ.cjs.map} +1 -1
  410. package/dist/chunks/{NcIconSvgWrapper-DjrkBUkC.mjs → NcIconSvgWrapper-CHmdAuhg.mjs} +2 -2
  411. package/dist/chunks/{NcIconSvgWrapper-DjrkBUkC.mjs.map → NcIconSvgWrapper-CHmdAuhg.mjs.map} +1 -1
  412. package/dist/chunks/{NcInputConfirmCancel-bHJNQ1vm.cjs → NcInputConfirmCancel-CYQsG_3t.cjs} +4 -4
  413. package/dist/chunks/{NcInputConfirmCancel-bHJNQ1vm.cjs.map → NcInputConfirmCancel-CYQsG_3t.cjs.map} +1 -1
  414. package/dist/chunks/{NcInputConfirmCancel-PXVZ7mLT.mjs → NcInputConfirmCancel-DwmLGFYb.mjs} +4 -4
  415. package/dist/chunks/{NcInputConfirmCancel-PXVZ7mLT.mjs.map → NcInputConfirmCancel-DwmLGFYb.mjs.map} +1 -1
  416. package/dist/chunks/NcInputField-CbBdbdE8.cjs +260 -0
  417. package/dist/chunks/NcInputField-CbBdbdE8.cjs.map +1 -0
  418. package/dist/chunks/NcInputField-ixTTHy3h.mjs +261 -0
  419. package/dist/chunks/NcInputField-ixTTHy3h.mjs.map +1 -0
  420. package/dist/chunks/{NcListItem-D16FB3uo.mjs → NcListItem-DCh0J8Z4.mjs} +6 -7
  421. package/dist/chunks/{NcListItem-D16FB3uo.mjs.map → NcListItem-DCh0J8Z4.mjs.map} +1 -1
  422. package/dist/chunks/{NcListItem-Hx7E50yZ.cjs → NcListItem-DMaVvwXJ.cjs} +6 -7
  423. package/dist/chunks/{NcListItem-Hx7E50yZ.cjs.map → NcListItem-DMaVvwXJ.cjs.map} +1 -1
  424. package/dist/chunks/{NcListItemIcon-Do_af_2v.cjs → NcListItemIcon-BLvWsnbD.cjs} +5 -6
  425. package/dist/chunks/{NcListItemIcon-Do_af_2v.cjs.map → NcListItemIcon-BLvWsnbD.cjs.map} +1 -1
  426. package/dist/chunks/{NcListItemIcon-Bc4y0xg3.mjs → NcListItemIcon-C6Ok3G7x.mjs} +5 -6
  427. package/dist/chunks/{NcListItemIcon-Bc4y0xg3.mjs.map → NcListItemIcon-C6Ok3G7x.mjs.map} +1 -1
  428. package/dist/chunks/{NcPasswordField-DLXPfvQB.mjs → NcPasswordField-CAGGdgVF.mjs} +34 -10
  429. package/dist/chunks/NcPasswordField-CAGGdgVF.mjs.map +1 -0
  430. package/dist/chunks/{NcPasswordField-BQCunRtm.cjs → NcPasswordField-DLuNgJF2.cjs} +37 -13
  431. package/dist/chunks/NcPasswordField-DLuNgJF2.cjs.map +1 -0
  432. package/dist/chunks/{NcPopover-DbeCmze0.mjs → NcPopover-DzYbNu-I.mjs} +7 -11
  433. package/dist/chunks/{NcPopover-DbeCmze0.mjs.map → NcPopover-DzYbNu-I.mjs.map} +1 -1
  434. package/dist/chunks/{NcPopover-C0G7sLVP.cjs → NcPopover-MxwUgZu1.cjs} +7 -11
  435. package/dist/chunks/{NcPopover-C0G7sLVP.cjs.map → NcPopover-MxwUgZu1.cjs.map} +1 -1
  436. package/dist/chunks/{NcProgressBar-D_6Z7U5w.mjs → NcProgressBar-DegJ2JjE.mjs} +2 -2
  437. package/dist/chunks/{NcProgressBar-D_6Z7U5w.mjs.map → NcProgressBar-DegJ2JjE.mjs.map} +1 -1
  438. package/dist/chunks/{NcProgressBar-BrDAF_Zr.cjs → NcProgressBar-Do5Y3u8S.cjs} +2 -2
  439. package/dist/chunks/{NcProgressBar-BrDAF_Zr.cjs.map → NcProgressBar-Do5Y3u8S.cjs.map} +1 -1
  440. package/dist/chunks/{NcRelatedResourcesPanel-CsOAnfA1.cjs → NcRelatedResourcesPanel-BRoP-NiB.cjs} +16 -24
  441. package/dist/chunks/NcRelatedResourcesPanel-BRoP-NiB.cjs.map +1 -0
  442. package/dist/chunks/{NcRelatedResourcesPanel-DZICfdzQ.mjs → NcRelatedResourcesPanel-Bts9eDYA.mjs} +16 -24
  443. package/dist/chunks/NcRelatedResourcesPanel-Bts9eDYA.mjs.map +1 -0
  444. package/dist/chunks/{NcRichContenteditable-CCJdho4G.mjs → NcRichContenteditable-BznZW1Mm.mjs} +62 -116
  445. package/dist/chunks/NcRichContenteditable-BznZW1Mm.mjs.map +1 -0
  446. package/dist/chunks/{NcRichContenteditable-Ye5vABN5.cjs → NcRichContenteditable-GOiGqL9S.cjs} +62 -116
  447. package/dist/chunks/NcRichContenteditable-GOiGqL9S.cjs.map +1 -0
  448. package/dist/chunks/{NcRichText-7rxnpUCI.cjs → NcRichText-BNxuFkK-.cjs} +54 -18
  449. package/dist/chunks/NcRichText-BNxuFkK-.cjs.map +1 -0
  450. package/dist/chunks/{NcRichText-Xs-QVexE.mjs → NcRichText-CytzoTXW.mjs} +32 -18
  451. package/dist/chunks/NcRichText-CytzoTXW.mjs.map +1 -0
  452. package/dist/chunks/{NcSelect-CKgkjF4m.cjs → NcSelect-Cp83bFsi.cjs} +49 -21
  453. package/dist/chunks/NcSelect-Cp83bFsi.cjs.map +1 -0
  454. package/dist/chunks/{NcSelect-DRRPiPZG.mjs → NcSelect-DvGJHzaa.mjs} +49 -21
  455. package/dist/chunks/NcSelect-DvGJHzaa.mjs.map +1 -0
  456. package/dist/chunks/{NcSelectTags-CPc3qB8r.mjs → NcSelectTags-B4PjZQtt.mjs} +55 -11
  457. package/dist/chunks/NcSelectTags-B4PjZQtt.mjs.map +1 -0
  458. package/dist/chunks/{NcSelectTags-BceJx_FU.cjs → NcSelectTags-Bi9DIwx_.cjs} +55 -11
  459. package/dist/chunks/NcSelectTags-Bi9DIwx_.cjs.map +1 -0
  460. package/dist/chunks/{NcSettingsInputText-Cv_JwbFO.cjs → NcSettingsInputText-BYq049Qz.cjs} +37 -6
  461. package/dist/chunks/NcSettingsInputText-BYq049Qz.cjs.map +1 -0
  462. package/dist/chunks/{NcSettingsInputText-BF_v4yDP.mjs → NcSettingsInputText-DhZ_giTf.mjs} +37 -6
  463. package/dist/chunks/NcSettingsInputText-DhZ_giTf.mjs.map +1 -0
  464. package/dist/chunks/{NcSettingsSection-V9DkkSuI.mjs → NcSettingsSection-B7SqDXbX.mjs} +4 -5
  465. package/dist/chunks/NcSettingsSection-B7SqDXbX.mjs.map +1 -0
  466. package/dist/chunks/{NcSettingsSection-CA2JahBC.cjs → NcSettingsSection-Dn7Qmknm.cjs} +4 -5
  467. package/dist/chunks/NcSettingsSection-Dn7Qmknm.cjs.map +1 -0
  468. package/dist/chunks/{NcSettingsSelectGroup-Bx__1Iss.mjs → NcSettingsSelectGroup-BAhG6V1R.mjs} +39 -12
  469. package/dist/chunks/NcSettingsSelectGroup-BAhG6V1R.mjs.map +1 -0
  470. package/dist/chunks/{NcSettingsSelectGroup-8tK3uGkJ.cjs → NcSettingsSelectGroup-DypyXuEW.cjs} +39 -12
  471. package/dist/chunks/NcSettingsSelectGroup-DypyXuEW.cjs.map +1 -0
  472. package/dist/chunks/NcTextArea-BHERsE_g.mjs +207 -0
  473. package/dist/chunks/NcTextArea-BHERsE_g.mjs.map +1 -0
  474. package/dist/chunks/NcTextArea-CYLGAGcO.cjs +206 -0
  475. package/dist/chunks/NcTextArea-CYLGAGcO.cjs.map +1 -0
  476. package/dist/chunks/{NcTextField-CmXmPZ4h.mjs → NcTextField-8RXOuqAy.mjs} +25 -10
  477. package/dist/chunks/NcTextField-8RXOuqAy.mjs.map +1 -0
  478. package/dist/chunks/{NcTextField-BnZnDMjV.cjs → NcTextField-rCaBV_TN.cjs} +28 -13
  479. package/dist/chunks/NcTextField-rCaBV_TN.cjs.map +1 -0
  480. package/dist/chunks/{NcTimezonePicker-CPfvqXuN.cjs → NcTimezonePicker-B5ps-VnZ.cjs} +40 -9
  481. package/dist/chunks/NcTimezonePicker-B5ps-VnZ.cjs.map +1 -0
  482. package/dist/chunks/{NcTimezonePicker-BwygP9tV.mjs → NcTimezonePicker-D64nWJh7.mjs} +40 -9
  483. package/dist/chunks/NcTimezonePicker-D64nWJh7.mjs.map +1 -0
  484. package/dist/chunks/{NcUserBubble-TVnJaVQg.cjs → NcUserBubble-Cg86HaKF.cjs} +4 -5
  485. package/dist/chunks/{NcUserBubble-G7FKOk8N.mjs.map → NcUserBubble-Cg86HaKF.cjs.map} +1 -1
  486. package/dist/chunks/{NcUserBubble-G7FKOk8N.mjs → NcUserBubble-Q0TscgXh.mjs} +4 -5
  487. package/dist/chunks/{NcUserBubble-TVnJaVQg.cjs.map → NcUserBubble-Q0TscgXh.mjs.map} +1 -1
  488. package/dist/chunks/{NcUserStatusIcon-FtKzp5sl.cjs → NcUserStatusIcon-CP1EGHie.cjs} +6 -9
  489. package/dist/chunks/{NcUserStatusIcon-FtKzp5sl.cjs.map → NcUserStatusIcon-CP1EGHie.cjs.map} +1 -1
  490. package/dist/chunks/{NcUserStatusIcon-CPZOWw3t.mjs → NcUserStatusIcon-CvuiXAZR.mjs} +6 -9
  491. package/dist/chunks/{NcUserStatusIcon-CPZOWw3t.mjs.map → NcUserStatusIcon-CvuiXAZR.mjs.map} +1 -1
  492. package/dist/chunks/{ScopeComponent-BVnA9iVd.mjs → ScopeComponent-BLLOK04K.mjs} +1 -1
  493. package/dist/chunks/{ScopeComponent-BVnA9iVd.mjs.map → ScopeComponent-BLLOK04K.mjs.map} +1 -1
  494. package/dist/chunks/{ScopeComponent-B0gd6vEY.cjs → ScopeComponent-ClDcATYc.cjs} +1 -1
  495. package/dist/chunks/{ScopeComponent-B0gd6vEY.cjs.map → ScopeComponent-ClDcATYc.cjs.map} +1 -1
  496. package/dist/chunks/_l10n-B-QPoWAJ.mjs +132 -0
  497. package/dist/chunks/_l10n-B-QPoWAJ.mjs.map +1 -0
  498. package/dist/chunks/_l10n-Ch5mEdUH.cjs +131 -0
  499. package/dist/chunks/{_l10n-Ci9_UR5q.cjs.map → _l10n-Ch5mEdUH.cjs.map} +1 -1
  500. package/dist/chunks/{emoji-V6ytyzoR.mjs → emoji-BY_D0V5K.mjs} +2 -3
  501. package/dist/chunks/{emoji-V6ytyzoR.mjs.map → emoji-BY_D0V5K.mjs.map} +1 -1
  502. package/dist/chunks/{emoji-BCCCB3t3.cjs → emoji-VgSjNTd5.cjs} +2 -3
  503. package/dist/chunks/{emoji-BCCCB3t3.cjs.map → emoji-VgSjNTd5.cjs.map} +1 -1
  504. package/dist/chunks/{index-Dsgv-f-l.cjs → index-BV85rPB7.cjs} +3 -6
  505. package/dist/chunks/{index-Dsgv-f-l.cjs.map → index-BV85rPB7.cjs.map} +1 -1
  506. package/dist/chunks/{index-BwyQ2N-M.mjs → index-CtoB4eIp.mjs} +3 -6
  507. package/dist/chunks/{index-BwyQ2N-M.mjs.map → index-CtoB4eIp.mjs.map} +1 -1
  508. package/dist/chunks/{index-CC4ahXvG.cjs → index-bI_wyL5-.cjs} +10 -11
  509. package/dist/chunks/index-bI_wyL5-.cjs.map +1 -0
  510. package/dist/chunks/{index-CMZdBcqP.mjs → index-bjwozrEX.mjs} +10 -11
  511. package/dist/chunks/index-bjwozrEX.mjs.map +1 -0
  512. package/dist/chunks/{referencePickerModal--FRvx7tZ.cjs → referencePickerModal-C4eGo6D2.cjs} +29 -42
  513. package/dist/chunks/referencePickerModal-C4eGo6D2.cjs.map +1 -0
  514. package/dist/chunks/{referencePickerModal-ByI9zX0a.mjs → referencePickerModal-C6YJvRC9.mjs} +29 -42
  515. package/dist/chunks/referencePickerModal-C6YJvRC9.mjs.map +1 -0
  516. package/dist/chunks/useModelMigration-D5zhrNXr.cjs +25 -0
  517. package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -0
  518. package/dist/chunks/useModelMigration-EhAWvqDD.mjs +24 -0
  519. package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -0
  520. package/dist/chunks/{usernameToColor-u2MH9nY7.cjs → usernameToColor-CWxjw-Pq.cjs} +1 -1
  521. package/dist/chunks/{usernameToColor-u2MH9nY7.cjs.map → usernameToColor-CWxjw-Pq.cjs.map} +1 -1
  522. package/dist/chunks/{usernameToColor-D6FJP4ni.mjs → usernameToColor-Cx2qDZ1W.mjs} +1 -1
  523. package/dist/chunks/{usernameToColor-D6FJP4ni.mjs.map → usernameToColor-Cx2qDZ1W.mjs.map} +1 -1
  524. package/dist/composables/useIsDarkTheme/index.d.ts +16 -0
  525. package/dist/composables/useModelMigration.d.ts +12 -0
  526. package/dist/functions/dialog/index.d.ts +16 -0
  527. package/dist/functions/index.d.ts +10 -0
  528. package/dist/functions/isDarkTheme/index.d.ts +17 -0
  529. package/dist/index.cjs +73 -67
  530. package/dist/index.cjs.map +1 -1
  531. package/dist/index.mjs +66 -60
  532. package/dist/index.mjs.map +1 -1
  533. package/dist/vendor.LICENSE.txt +1 -1
  534. package/package.json +4 -3
  535. package/dist/assets/NcDateTimePickerNative-BAcKr0B3.css +0 -47
  536. package/dist/assets/NcRichText-DqDAPQPD.css +0 -217
  537. package/dist/chunks/AlertCircleOutline-DLtiWgZd.cjs.map +0 -1
  538. package/dist/chunks/AlertCircleOutline-DU3QwU5Y.mjs.map +0 -1
  539. package/dist/chunks/ArrowLeft-BhAxJBYx.mjs.map +0 -1
  540. package/dist/chunks/ArrowLeft-CONurT5C.cjs.map +0 -1
  541. package/dist/chunks/ArrowRight-Bj5G_mG0.cjs.map +0 -1
  542. package/dist/chunks/ArrowRight-KsL2PC-o.mjs.map +0 -1
  543. package/dist/chunks/Check-XHAzUBkX.mjs.map +0 -1
  544. package/dist/chunks/Check-fCbe4vqy.cjs.map +0 -1
  545. package/dist/chunks/ChevronDown-CiFbcDUC.cjs.map +0 -1
  546. package/dist/chunks/ChevronDown-D3Tfshug.mjs.map +0 -1
  547. package/dist/chunks/ChevronRight-C3eVhc5a.mjs.map +0 -1
  548. package/dist/chunks/ChevronRight-CWbdN5_r.cjs.map +0 -1
  549. package/dist/chunks/ChevronUp-A2riTBrv.cjs.map +0 -1
  550. package/dist/chunks/ChevronUp-ljACquzS.mjs.map +0 -1
  551. package/dist/chunks/Close-B6ccm1RP.mjs.map +0 -1
  552. package/dist/chunks/Close-B7lGu0cG.cjs.map +0 -1
  553. package/dist/chunks/DotsHorizontal-Cd2x8oz2.mjs.map +0 -1
  554. package/dist/chunks/DotsHorizontal-DQfnwpao.cjs.map +0 -1
  555. package/dist/chunks/NcActionInput-BxlypAgV.mjs.map +0 -1
  556. package/dist/chunks/NcActionInput-TP6P798j.cjs.map +0 -1
  557. package/dist/chunks/NcAppContent-fXpgsMfG.cjs.map +0 -1
  558. package/dist/chunks/NcAppContent-lEyly7Jk.mjs.map +0 -1
  559. package/dist/chunks/NcAppNavigationItem-DfgovIvi.cjs.map +0 -1
  560. package/dist/chunks/NcAppNavigationItem-MvvOWnip.mjs.map +0 -1
  561. package/dist/chunks/NcAppNavigationSettings-C-_G8yUn.cjs.map +0 -1
  562. package/dist/chunks/NcAppNavigationSettings-DScz0UWm.mjs.map +0 -1
  563. package/dist/chunks/NcAppNavigationToggle-BXainLDc.mjs.map +0 -1
  564. package/dist/chunks/NcAppNavigationToggle-DAhbqsn_.cjs.map +0 -1
  565. package/dist/chunks/NcAppSidebar-1S8EBs22.cjs.map +0 -1
  566. package/dist/chunks/NcAppSidebar-D1Ss2put.mjs.map +0 -1
  567. package/dist/chunks/NcBreadcrumbs-CPW9eMLa.mjs.map +0 -1
  568. package/dist/chunks/NcBreadcrumbs-GKwJaai0.cjs.map +0 -1
  569. package/dist/chunks/NcCheckboxRadioSwitch-COeeT-7G.cjs.map +0 -1
  570. package/dist/chunks/NcCheckboxRadioSwitch-CvMEEI9x.mjs.map +0 -1
  571. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-CbxHILUm.cjs +0 -4
  572. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-CbxHILUm.cjs.map +0 -1
  573. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-pIxtu28F.mjs +0 -3
  574. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-pIxtu28F.mjs.map +0 -1
  575. package/dist/chunks/NcColorPicker-Ddm2gbz0.mjs.map +0 -1
  576. package/dist/chunks/NcColorPicker-Dy2BtsaH.cjs.map +0 -1
  577. package/dist/chunks/NcEmojiPicker-C2DIjkqr.mjs.map +0 -1
  578. package/dist/chunks/NcEmojiPicker-DrMA-XDR.cjs.map +0 -1
  579. package/dist/chunks/NcPasswordField-BQCunRtm.cjs.map +0 -1
  580. package/dist/chunks/NcPasswordField-DLXPfvQB.mjs.map +0 -1
  581. package/dist/chunks/NcRelatedResourcesPanel-CsOAnfA1.cjs.map +0 -1
  582. package/dist/chunks/NcRelatedResourcesPanel-DZICfdzQ.mjs.map +0 -1
  583. package/dist/chunks/NcRichContenteditable-CCJdho4G.mjs.map +0 -1
  584. package/dist/chunks/NcRichContenteditable-Ye5vABN5.cjs.map +0 -1
  585. package/dist/chunks/NcRichText-7rxnpUCI.cjs.map +0 -1
  586. package/dist/chunks/NcRichText-Xs-QVexE.mjs.map +0 -1
  587. package/dist/chunks/NcSelect-CKgkjF4m.cjs.map +0 -1
  588. package/dist/chunks/NcSelect-DRRPiPZG.mjs.map +0 -1
  589. package/dist/chunks/NcSelectTags-BceJx_FU.cjs.map +0 -1
  590. package/dist/chunks/NcSelectTags-CPc3qB8r.mjs.map +0 -1
  591. package/dist/chunks/NcSettingsInputText-BF_v4yDP.mjs.map +0 -1
  592. package/dist/chunks/NcSettingsInputText-Cv_JwbFO.cjs.map +0 -1
  593. package/dist/chunks/NcSettingsSection-CA2JahBC.cjs.map +0 -1
  594. package/dist/chunks/NcSettingsSection-V9DkkSuI.mjs.map +0 -1
  595. package/dist/chunks/NcSettingsSelectGroup-8tK3uGkJ.cjs.map +0 -1
  596. package/dist/chunks/NcSettingsSelectGroup-Bx__1Iss.mjs.map +0 -1
  597. package/dist/chunks/NcTextField-BnZnDMjV.cjs.map +0 -1
  598. package/dist/chunks/NcTextField-CmXmPZ4h.mjs.map +0 -1
  599. package/dist/chunks/NcTimezonePicker-BwygP9tV.mjs.map +0 -1
  600. package/dist/chunks/NcTimezonePicker-CPfvqXuN.cjs.map +0 -1
  601. package/dist/chunks/_l10n-Ci9_UR5q.cjs +0 -131
  602. package/dist/chunks/_l10n-JYjUKekn.mjs +0 -132
  603. package/dist/chunks/_l10n-JYjUKekn.mjs.map +0 -1
  604. package/dist/chunks/index-CC4ahXvG.cjs.map +0 -1
  605. package/dist/chunks/index-CMZdBcqP.mjs.map +0 -1
  606. package/dist/chunks/referencePickerModal--FRvx7tZ.cjs.map +0 -1
  607. package/dist/chunks/referencePickerModal-ByI9zX0a.mjs.map +0 -1
  608. /package/dist/assets/{NcActionButtonGroup-CQxLn2fv.css → NcActionButtonGroup-BND4GQdv.css} +0 -0
  609. /package/dist/assets/{NcActionCaption-B7FZTc3Y.css → NcActionCaption-JVhz4Wp7.css} +0 -0
  610. /package/dist/assets/{NcActionSeparator-CEbb5P6P.css → NcActionSeparator-Ct2RnclR.css} +0 -0
  611. /package/dist/assets/{NcActions-CkVHYk_-.css → NcActions-DM_LoRlx.css} +0 -0
  612. /package/dist/assets/{NcAppNavigationCaption-zgtPq3Od.css → NcAppNavigationCaption-Dt5K_hKD.css} +0 -0
  613. /package/dist/assets/{NcAppNavigationIconBullet-By_0o2dG.css → NcAppNavigationIconBullet-CeBYVy6t.css} +0 -0
  614. /package/dist/assets/{NcAppNavigationList-BIbyyT7b.css → NcAppNavigationList-DnKj0-Zq.css} +0 -0
  615. /package/dist/assets/{NcAppNavigationNew-BKfawNII.css → NcAppNavigationNew-BcDuupzO.css} +0 -0
  616. /package/dist/assets/{NcAppNavigationNewItem-Ce17FkDl.css → NcAppNavigationNewItem-CQ1f40wK.css} +0 -0
  617. /package/dist/assets/{NcAppNavigationSearch-BLGG_WBn.css → NcAppNavigationSearch-Df50ss_2.css} +0 -0
  618. /package/dist/assets/{NcAppNavigationSettings-AzpTlUym.css → NcAppNavigationSettings-BV_QS8jh.css} +0 -0
  619. /package/dist/assets/{NcAppNavigationSpacer-CfNqmQeR.css → NcAppNavigationSpacer-Fkr_mEI1.css} +0 -0
  620. /package/dist/assets/{NcAppSettingsDialog-QF6aTZ3s.css → NcAppSettingsDialog-kKMMsdb3.css} +0 -0
  621. /package/dist/assets/{NcAppSettingsSection-qU4SUZvh.css → NcAppSettingsSection-Bl2-D3_g.css} +0 -0
  622. /package/dist/assets/{NcAppSidebarTab-BieYhqvk.css → NcAppSidebarTab-Blv6UfuA.css} +0 -0
  623. /package/dist/assets/{NcAvatar-5N7xP8zN.css → NcAvatar-xe4gdFKk.css} +0 -0
  624. /package/dist/assets/{NcBreadcrumb-DOvK-XG1.css → NcBreadcrumb-Cjcyeimd.css} +0 -0
  625. /package/dist/assets/{NcBreadcrumbs-CPUAM38l.css → NcBreadcrumbs-CFRjXqRg.css} +0 -0
  626. /package/dist/assets/{NcButton-DYJAoXeG.css → NcButton-BHDLon1_.css} +0 -0
  627. /package/dist/assets/{NcCollectionList-ETQTqkqt.css → NcCollectionList-yjTCAR46.css} +0 -0
  628. /package/dist/assets/{NcContent-ZFNIjylG.css → NcContent-CZamE_IP.css} +0 -0
  629. /package/dist/assets/{NcCounterBubble-Dizdz4Hk.css → NcCounterBubble-DdYmHnng.css} +0 -0
  630. /package/dist/assets/{NcDashboardWidget-CpstyXok.css → NcDashboardWidget-BSTvIgiJ.css} +0 -0
  631. /package/dist/assets/{NcDashboardWidgetItem-BBZT17WU.css → NcDashboardWidgetItem-BtOuK4mf.css} +0 -0
  632. /package/dist/assets/{NcDialog-ByAK1rQ0.css → NcDialog-Bzs9oxyt.css} +0 -0
  633. /package/dist/assets/{NcEmojiPicker-B5dclDLD.css → NcEmojiPicker-BNCW1Q94.css} +0 -0
  634. /package/dist/assets/{NcEmptyContent-BU0QVo3d.css → NcEmptyContent-BlXL6nnq.css} +0 -0
  635. /package/dist/assets/{NcGuestContent-BLJ37yLM.css → NcGuestContent-B0ivUQHg.css} +0 -0
  636. /package/dist/assets/{NcHeaderButton-BybvB5sC.css → NcHeaderButton-DH4Qtw3P.css} +0 -0
  637. /package/dist/assets/{NcHeaderMenu-BCtvpsZj.css → NcHeaderMenu-C2XbJMYL.css} +0 -0
  638. /package/dist/assets/{NcIconSvgWrapper-BwsJ8wBM.css → NcIconSvgWrapper-BxyhLaB5.css} +0 -0
  639. /package/dist/assets/{NcInputConfirmCancel-SGr0-6w8.css → NcInputConfirmCancel-EYtW7MxF.css} +0 -0
  640. /package/dist/assets/{NcListItem-D-8LyMsI.css → NcListItem-BBu5UTTe.css} +0 -0
  641. /package/dist/assets/{NcListItemIcon--7OhLYWA.css → NcListItemIcon-UmX9YoH3.css} +0 -0
  642. /package/dist/assets/{NcLoadingIcon-BSONDy7x.css → NcLoadingIcon-x1d284UU.css} +0 -0
  643. /package/dist/assets/{NcMentionBubble-C6t8od-_.css → NcMentionBubble-Bt71nB8X.css} +0 -0
  644. /package/dist/assets/{NcNoteCard-CImn6F9p.css → NcNoteCard-C6xb7vi0.css} +0 -0
  645. /package/dist/assets/{NcPopover-BDlL00qZ.css → NcPopover-TS4CW9MJ.css} +0 -0
  646. /package/dist/assets/{NcProgressBar-BsqdCn-x.css → NcProgressBar--z-WqmX4.css} +0 -0
  647. /package/dist/assets/{NcRelatedResourcesPanel-BE9CQ8s8.css → NcRelatedResourcesPanel-DIhZx6lY.css} +0 -0
  648. /package/dist/assets/{NcSelect-EIXtZSVn.css → NcSelect-GdIw6cIy.css} +0 -0
  649. /package/dist/assets/{NcSettingsSection-CGaCS1X0.css → NcSettingsSection-Dlaob2ni.css} +0 -0
  650. /package/dist/assets/{NcUserBubble-Cv-q-rH5.css → NcUserBubble-CNid1YOT.css} +0 -0
  651. /package/dist/assets/{NcUserStatusIcon-DMxcdM51.css → NcUserStatusIcon-DAVSJFhS.css} +0 -0
  652. /package/dist/assets/{Tooltip-4CSl8xev.css → Tooltip-DQ4Plm4r.css} +0 -0
@@ -1,7 +1,8 @@
1
- import { r as register, x as t25, a as t, y as t41 } from "./_l10n-JYjUKekn.mjs";
1
+ import { r as register, x as t25, a as t, y as t41 } from "./_l10n-B-QPoWAJ.mjs";
2
2
  import { getTimezoneManager as getTimezoneManager$1 } from "@nextcloud/timezones";
3
3
  import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
4
- import { N as NcSelect } from "./NcSelect-DRRPiPZG.mjs";
4
+ import { N as NcSelect } from "./NcSelect-DvGJHzaa.mjs";
5
+ import { u as useModelMigration } from "./useModelMigration-EhAWvqDD.mjs";
5
6
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
6
7
  register(t25);
7
8
  function getSortedTimezoneList(timezoneList = [], additionalTimezones = []) {
@@ -74,6 +75,10 @@ const _sfc_main = {
74
75
  components: {
75
76
  NcSelect
76
77
  },
78
+ model: {
79
+ prop: "modelValue",
80
+ event: "update:modelValue"
81
+ },
77
82
  props: {
78
83
  /**
79
84
  * An array of additional timezones to include with the standard database. Useful if there is a custom timezone, e.g. read from user data
@@ -83,9 +88,17 @@ const _sfc_main = {
83
88
  default: () => []
84
89
  },
85
90
  /**
86
- * The selected timezone. Use v-model for two-way binding. The default timezone is floating, which means a time independent of timezone. See https://icalendar.org/CalDAV-Access-RFC-4791/7-3-date-and-floating-time.html for details.
91
+ * Removed in v9 - use `modelValue` (`v-model`) instead
92
+ * @deprecated
87
93
  */
88
94
  value: {
95
+ type: String,
96
+ default: void 0
97
+ },
98
+ /**
99
+ * The selected timezone. Use v-model for two-way binding. The default timezone is floating, which means a time independent of timezone. See https://icalendar.org/CalDAV-Access-RFC-4791/7-3-date-and-floating-time.html for details.
100
+ */
101
+ modelValue: {
89
102
  type: String,
90
103
  default: "floating"
91
104
  },
@@ -94,23 +107,41 @@ const _sfc_main = {
94
107
  */
95
108
  uid: {
96
109
  type: [String, Number],
97
- default: () => "tz-".concat(GenRandomId(5))
110
+ default: () => `tz-${GenRandomId(5)}`
98
111
  }
99
112
  },
100
- emits: ["input"],
113
+ emits: [
114
+ /**
115
+ * Removed in v9 - use `update:modelValue` (`v-model`) instead
116
+ * @deprecated
117
+ */
118
+ "input",
119
+ /**
120
+ * Two-way binding of the value prop. Use v-model="selectedTimezone" for two-way binding
121
+ */
122
+ "update:modelValue",
123
+ /** Same as update:modelValue for Vue 2 compatibility */
124
+ "update:model-value"
125
+ ],
126
+ setup() {
127
+ const model = useModelMigration("value", "input");
128
+ return {
129
+ model
130
+ };
131
+ },
101
132
  computed: {
102
133
  placeholder() {
103
134
  return t("Type to search time zone");
104
135
  },
105
136
  selectedTimezone() {
106
137
  for (const additionalTimezone of this.additionalTimezones) {
107
- if (additionalTimezone.timezoneId === this.value) {
138
+ if (additionalTimezone.timezoneId === this.model) {
108
139
  return additionalTimezone;
109
140
  }
110
141
  }
111
142
  return {
112
- label: getReadableTimezoneName(this.value),
113
- timezoneId: this.value
143
+ label: getReadableTimezoneName(this.model),
144
+ timezoneId: this.model
114
145
  };
115
146
  },
116
147
  options() {
@@ -129,7 +160,7 @@ const _sfc_main = {
129
160
  if (!newValue) {
130
161
  return;
131
162
  }
132
- this.$emit("input", newValue.timezoneId);
163
+ this.model = newValue.timezoneId;
133
164
  },
134
165
  /**
135
166
  * Returns whether this is a continent label,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcTimezonePicker-D64nWJh7.mjs","sources":["../../src/components/NcTimezonePicker/timezone.js","../../src/components/NcTimezonePicker/timezoneDataProviderService.js","../../src/components/NcTimezonePicker/NcTimezonePicker.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '../../l10n.js'\n\n/**\n *\n * @param {string[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @return {Array}\n */\nexport function getSortedTimezoneList(timezoneList = [], additionalTimezones = []) {\n\tconst sortedByContinent = {}\n\tconst sortedList = []\n\n\tfor (const timezoneId of timezoneList) {\n\t\tconst components = timezoneId.split('/')\n\t\tlet [continent, name] = [components.shift(), components.join('/')]\n\t\tif (!name) {\n\t\t\tname = continent\n\t\t\t// TRANSLATORS This refers to global timezones in the timezone picker\n\t\t\tcontinent = t('Global')\n\t\t}\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel: getReadableTimezoneName(name),\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const additionalTimezone of additionalTimezones) {\n\t\tconst { continent, label, timezoneId } = additionalTimezone\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel,\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const continent in sortedByContinent) {\n\t\tif (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tsortedByContinent[continent].regions.sort((a, b) => {\n\t\t\tif (a.label < b.label) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\treturn 1\n\t\t})\n\t\tsortedList.push(sortedByContinent[continent])\n\t}\n\n\t// Sort continents by name\n\tsortedList.sort((a, b) => {\n\t\tif (a.continent < b.continent) {\n\t\t\treturn -1\n\t\t}\n\n\t\treturn 1\n\t})\n\n\treturn sortedList\n}\n\n/**\n * Get human-readable name for timezoneId\n *\n * @param {string} timezoneId TimezoneId to turn human-readable\n * @return {string}\n */\nexport function getReadableTimezoneName(timezoneId) {\n\treturn timezoneId\n\t\t.split('_')\n\t\t.join(' ')\n\t\t.replace('St ', 'St. ')\n\t\t.split('/')\n\t\t.join(' - ')\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getTimezoneManager } from '@nextcloud/timezones'\n\nconst timezoneManager = getTimezoneManager()\nlet initialized = false\n\n/**\n * Gets the timezone-manager\n * initializes it if necessary\n *\n * @return {object}\n */\nexport default function() {\n\tif (!initialized) {\n\t\ttimezoneManager.registerDefaultTimezones()\n\t\tinitialized = true\n\t}\n\n\treturn timezoneManager\n}\n","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Example\n```vue\n<template>\n\t<span>\n\t\t<NcTimezonePicker v-model=\"tz\" />\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttz: 'Hawaiian Standard Time',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcSelect :aria-label-combobox=\"t('Search for time zone')\"\n\t\t:clearable=\"false\"\n\t\t:filter-by=\"filterBy\"\n\t\t:multiple=\"false\"\n\t\t:options=\"options\"\n\t\t:placeholder=\"placeholder\"\n\t\t:selectable=\"isSelectable\"\n\t\t:uid=\"uid\"\n\t\t:value=\"selectedTimezone\"\n\t\tlabel=\"label\"\n\t\t@option:selected=\"change\" />\n</template>\n\n<script>\nimport {\n\tgetReadableTimezoneName,\n\tgetSortedTimezoneList,\n} from './timezone.js'\nimport getTimezoneManager from './timezoneDataProviderService.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcSelect from '../NcSelect/index.js'\nimport { t } from '../../l10n.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nexport default {\n\tname: 'NcTimezonePicker',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\tprops: {\n\t\t/**\n\t\t * An array of additional timezones to include with the standard database. Useful if there is a custom timezone, e.g. read from user data\n\t\t */\n\t\tadditionalTimezones: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * The selected timezone. Use v-model for two-way binding. The default timezone is floating, which means a time independent of timezone. See https://icalendar.org/CalDAV-Access-RFC-4791/7-3-date-and-floating-time.html for details.\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: 'floating',\n\t\t},\n\t\t/**\n\t\t * ID of the inner vue-select element, can be used for labels like: `vs-${uid}__combobox`\n\t\t */\n\t\tuid: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: () => `tz-${GenRandomId(5)}`,\n\t\t},\n\t},\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t/**\n\t\t * Two-way binding of the value prop. Use v-model=\"selectedTimezone\" for two-way binding\n\t\t */\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'input')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\tcomputed: {\n\t\tplaceholder() {\n\t\t\treturn t('Type to search time zone')\n\t\t},\n\t\tselectedTimezone() {\n\t\t\tfor (const additionalTimezone of this.additionalTimezones) {\n\t\t\t\tif (additionalTimezone.timezoneId === this.model) {\n\t\t\t\t\treturn additionalTimezone\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tlabel: getReadableTimezoneName(this.model),\n\t\t\t\ttimezoneId: this.model,\n\t\t\t}\n\t\t},\n\t\toptions() {\n\t\t\tconst timezoneManager = getTimezoneManager()\n\t\t\tconst timezoneList = getSortedTimezoneList(timezoneManager.listAllTimezones(), this.additionalTimezones)\n\t\t\t/**\n\t\t\t * Since NcSelect does not support groups,\n\t\t\t * we create an object with the grouped timezones and continent labels.\n\t\t\t *\n\t\t\t * NOTE for now we are removing the grouping from the fields to fix an accessibility issue\n\t\t\t * in the future, other options can be introduced to better display the different areas\n\t\t\t */\n\t\t\tlet timezonesGrouped = []\n\t\t\tObject.values(timezoneList).forEach(group => {\n\t\t\t\t// Add an entry as group label\n\t\t\t\t// timezonesGrouped.push({\n\t\t\t\t// label: group.continent,\n\t\t\t\t// timezoneId: `tz-group__${group.continent}`,\n\t\t\t\t// regions: group.regions,\n\t\t\t\t// })\n\t\t\t\ttimezonesGrouped = timezonesGrouped.concat(group.regions)\n\t\t\t})\n\t\t\treturn timezonesGrouped\n\t\t},\n\t},\n\tmethods: {\n\t\tt,\n\n\t\tchange(newValue) {\n\t\t\tif (!newValue) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.model = newValue.timezoneId\n\t\t},\n\n\t\t/**\n\t\t * Returns whether this is a continent label,\n\t\t * or an actual timezone. Continent labels are not selectable.\n\t\t *\n\t\t * @param {string} option The option\n\t\t * @return {boolean}\n\t\t */\n\t\tisSelectable(option) {\n\t\t\treturn !option.timezoneId.startsWith('tz-group__')\n\t\t},\n\n\t\t/**\n\t\t * Function to filter the timezone list.\n\t\t * We search in the timezoneId, so both continent and region names can be matched.\n\t\t *\n\t\t * @param {object} option The timezone option\n\t\t * @param {string} label The label of the timezone\n\t\t * @param {string} search The search string\n\t\t * @return {boolean}\n\t\t */\n\t\tfilterBy(option, label, search) {\n\t\t\t// We split the search term in case one searches \"<continent> <region>\".\n\t\t\tconst terms = search.trim().split(' ')\n\n\t\t\t// For the continent labels, we have to check if one region matches every search term.\n\t\t\tif (option.timezoneId.startsWith('tz-group__')) {\n\t\t\t\treturn option.regions.some(region => {\n\t\t\t\t\treturn this.matchTimezoneId(region.timezoneId, terms)\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// For a region, every search term must be found.\n\t\t\treturn this.matchTimezoneId(option.timezoneId, terms)\n\t\t},\n\n\t\tmatchTimezoneId(timezoneId, terms) {\n\t\t\treturn terms.every(term => timezoneId.toLowerCase().includes(term.toLowerCase()))\n\t\t},\n\t},\n}\n</script>\n"],"names":["getTimezoneManager","timezoneManager"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- require('../assets/NcUserBubble-Cv-q-rH5.css');
1
+ require('../assets/NcUserBubble-CNid1YOT.css');
2
2
  "use strict";
3
3
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
4
- const NcAvatar = require("./NcAvatar-B238cv9d.cjs");
5
- const NcPopover = require("./NcPopover-C0G7sLVP.cjs");
4
+ const NcAvatar = require("./NcAvatar-DypzACJs.cjs");
5
+ const NcPopover = require("./NcPopover-MxwUgZu1.cjs");
6
6
  const Vue = require("vue");
7
7
  const vueRouter = require("vue-router");
8
8
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
@@ -67,9 +67,8 @@ const _sfc_main = {
67
67
  type: String,
68
68
  default: void 0,
69
69
  validator: (url) => {
70
- var _a;
71
70
  try {
72
- url = new URL(url, ((_a = url == null ? void 0 : url.startsWith) == null ? void 0 : _a.call(url, "/")) ? window.location.href : void 0);
71
+ url = new URL(url, url?.startsWith?.("/") ? window.location.href : void 0);
73
72
  return true;
74
73
  } catch (error) {
75
74
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserBubble-G7FKOk8N.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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:to=\"to\"\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'\nimport { RouterLink } from 'vue-router'\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 * Use bubble as a router-link for in-app navigation\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: undefined,\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\tif (this.hasUrl) {\n\t\t\t\treturn 'a'\n\t\t\t} else if (this.to) {\n\t\t\t\treturn RouterLink\n\t\t\t} else {\n\t\t\t\treturn 'div'\n\t\t\t}\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</style>\n"],"names":["_sfc_main"],"mappings":"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"}
1
+ {"version":3,"file":"NcUserBubble-Cg86HaKF.cjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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:to=\"to\"\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'\nimport { RouterLink } from 'vue-router'\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 * Use bubble as a router-link for in-app navigation\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: undefined,\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\tif (this.hasUrl) {\n\t\t\t\treturn 'a'\n\t\t\t} else if (this.to) {\n\t\t\t\treturn RouterLink\n\t\t\t} else {\n\t\t\t\treturn 'div'\n\t\t\t}\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</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","RouterLink","Vue"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import '../assets/NcUserBubble-Cv-q-rH5.css';
1
+ import '../assets/NcUserBubble-CNid1YOT.css';
2
2
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
3
- import { N as NcAvatar } from "./NcAvatar-lRUjWiR6.mjs";
4
- import { N as NcPopover } from "./NcPopover-DbeCmze0.mjs";
3
+ import { N as NcAvatar } from "./NcAvatar-B8e2YFLI.mjs";
4
+ import { N as NcPopover } from "./NcPopover-DzYbNu-I.mjs";
5
5
  import Vue from "vue";
6
6
  import { RouterLink } from "vue-router";
7
7
  const _sfc_main$1 = {
@@ -64,9 +64,8 @@ const _sfc_main = {
64
64
  type: String,
65
65
  default: void 0,
66
66
  validator: (url) => {
67
- var _a;
68
67
  try {
69
- url = new URL(url, ((_a = url == null ? void 0 : url.startsWith) == null ? void 0 : _a.call(url, "/")) ? window.location.href : void 0);
68
+ url = new URL(url, url?.startsWith?.("/") ? window.location.href : void 0);
70
69
  return true;
71
70
  } catch (error) {
72
71
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserBubble-TVnJaVQg.cjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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:to=\"to\"\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'\nimport { RouterLink } from 'vue-router'\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 * Use bubble as a router-link for in-app navigation\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: undefined,\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\tif (this.hasUrl) {\n\t\t\t\treturn 'a'\n\t\t\t} else if (this.to) {\n\t\t\t\treturn RouterLink\n\t\t\t} else {\n\t\t\t\treturn 'div'\n\t\t\t}\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</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","RouterLink","Vue"],"mappings":"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"}
1
+ {"version":3,"file":"NcUserBubble-Q0TscgXh.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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:to=\"to\"\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'\nimport { RouterLink } from 'vue-router'\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 * Use bubble as a router-link for in-app navigation\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: undefined,\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\tif (this.hasUrl) {\n\t\t\t\treturn 'a'\n\t\t\t} else if (this.to) {\n\t\t\t\treturn RouterLink\n\t\t\t} else {\n\t\t\t\treturn 'div'\n\t\t\t}\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</style>\n"],"names":["_sfc_main"],"mappings":";;;;;AAYA,MAAAA,cAAA;AAAA,EACA,MAAA;AACA;;;;;;;;;;;;;;;ACmGA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,QAAA;AACA,YAAA;AACA,gBAAA,IAAA,IAAA,KAAA,KAAA,aAAA,GAAA,IAAA,OAAA,SAAA,OAAA,MAAA;AACA,iBAAA;AAAA,QACA,SAAA,OAAA;AACA,iBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,qBAAA;AACA,aAAA,CAAA,KAAA,eACA,cACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,cAAA;AACA,UAAA,CAAA,KAAA,aAAA;AACA,eAAA;AAAA,MACA;AAEA,UAAA;AACA,cAAA,MAAA,IAAA,IAAA,KAAA,WAAA;AACA,eAAA,CAAA,CAAA;AAAA,MACA,SAAA,OAAA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AACA,aAAA,CAAA,CAAA,KAAA;AAAA,IACA;AAAA,IAEA,SAAA;AACA,aAAA,KAAA,OAAA,KAAA,IAAA,KAAA,MAAA;AAAA,IACA;AAAA,IAEA,kBAAA;AACA,UAAA,KAAA,QAAA;AACA,eAAA;AAAA,MACA,WAAA,KAAA,IAAA;AACA,eAAA;AAAA,MACA,OAAA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,UAAA,aAAA,KAAA,QAAA;AACA,eAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,IAEA,SAAA;AACA,aAAA;AAAA,QACA,SAAA;AAAA,UACA,QAAA,KAAA,OAAA;AAAA,UACA,YAAA,KAAA,OAAA;AAAA,UACA,cAAA,KAAA,OAAA,IAAA;AAAA,QACA;AAAA,QACA,QAAA;AAAA,UACA,YAAA,KAAA,SAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AACA,QAAA,CAAA,KAAA,eAAA,CAAA,KAAA,MAAA;AACA,UAAA,KAAA,KAAA,yEAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,aAAA,OAAA;AACA,WAAA,MAAA,eAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
- require('../assets/NcUserStatusIcon-DMxcdM51.css');
1
+ require('../assets/NcUserStatusIcon-DAVSJFhS.css');
2
2
  "use strict";
3
3
  const axios = require("@nextcloud/axios");
4
4
  const router = require("@nextcloud/router");
5
5
  const capabilities = require("@nextcloud/capabilities");
6
- const _l10n = require("./_l10n-Ci9_UR5q.cjs");
6
+ const _l10n = require("./_l10n-Ch5mEdUH.cjs");
7
7
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
8
8
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
9
  const axios__default = /* @__PURE__ */ _interopDefault(axios);
@@ -79,11 +79,9 @@ const _sfc_main = {
79
79
  },
80
80
  computed: {
81
81
  activeStatus() {
82
- var _a;
83
- return (_a = this.status) != null ? _a : this.fetchedUserStatus;
82
+ return this.status ?? this.fetchedUserStatus;
84
83
  },
85
84
  activeSvg() {
86
- var _a;
87
85
  const matchSvg = {
88
86
  online: onlineSvg,
89
87
  away: awaySvg,
@@ -92,7 +90,7 @@ const _sfc_main = {
92
90
  invisible: invisibleSvg,
93
91
  offline: invisibleSvg
94
92
  };
95
- return (_a = matchSvg[this.activeStatus]) != null ? _a : null;
93
+ return matchSvg[this.activeStatus] ?? null;
96
94
  },
97
95
  ariaLabel() {
98
96
  if (this.ariaHidden === "true") {
@@ -105,14 +103,13 @@ const _sfc_main = {
105
103
  user: {
106
104
  immediate: true,
107
105
  async handler(user, _oldUser) {
108
- var _a, _b, _c, _d;
109
- if (!user || !((_b = (_a = capabilities.getCapabilities()) == null ? void 0 : _a.user_status) == null ? void 0 : _b.enabled)) {
106
+ if (!user || !capabilities.getCapabilities()?.user_status?.enabled) {
110
107
  this.fetchedUserStatus = null;
111
108
  return;
112
109
  }
113
110
  try {
114
111
  const { data } = await axios__default.default.get(router.generateOcsUrl("/apps/user_status/api/v1/statuses/{user}", { user }));
115
- this.fetchedUserStatus = (_d = (_c = data.ocs) == null ? void 0 : _c.data) == null ? void 0 : _d.status;
112
+ this.fetchedUserStatus = data.ocs?.data?.status;
116
113
  } catch (error) {
117
114
  this.fetchedUserStatus = null;
118
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserStatusIcon-FtKzp5sl.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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 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</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":["t","getCapabilities","axios","generateOcsUrl"],"mappings":";;;;;;;;AAAA,MAAe,YAAA;ACAf,MAAe,UAAA;ACAf,MAAe,SAAA;ACAf,MAAe,eAAA;;ACSF,MAAA,oBAAoB,CAAC,WAA2B;AAC5D,UAAQ,QAAQ;AAAA,IAChB,KAAK;AAAQ,aAAOA,MAAAA,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAQ,aAAOA,MAAAA,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAO,aAAOA,MAAAA,EAAE,gBAAgB;AAAA,IACrC,KAAK;AAAU,aAAOA,MAAAA,EAAE,QAAQ;AAAA,IAChC,KAAK;AAAa,aAAOA,MAAAA,EAAE,WAAW;AAAA,IACtC,KAAK;AAAW,aAAOA,MAAAA,EAAE,SAAS;AAAA,IAClC;AAAgB,aAAA;AAAA,EAChB;AACD;;ACqCA,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,aAAAA,MAAAA,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,GAAAC,wBAAA,gBAAA,MAAAA,mBAAA,gBAAAA,mBAAA,UAAA;AACA,eAAA,oBAAA;AACA;AAAA,QACA;AACA,YAAA;AACA,gBAAA,EAAA,SAAA,MAAAC,uBAAA,IAAAC,OAAAA,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;AACA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcUserStatusIcon-CP1EGHie.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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 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</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":["t","getCapabilities","axios","generateOcsUrl"],"mappings":";;;;;;;;AAAA,MAAe,YAAA;ACAf,MAAe,UAAA;ACAf,MAAe,SAAA;ACAf,MAAe,eAAA;;ACSF,MAAA,oBAAoB,CAAC,WAA2B;AAC5D,UAAQ,QAAQ;AAAA,IAChB,KAAK;AAAQ,aAAOA,MAAAA,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAQ,aAAOA,MAAAA,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAO,aAAOA,MAAAA,EAAE,gBAAgB;AAAA,IACrC,KAAK;AAAU,aAAOA,MAAAA,EAAE,QAAQ;AAAA,IAChC,KAAK;AAAa,aAAOA,MAAAA,EAAE,WAAW;AAAA,IACtC,KAAK;AAAW,aAAOA,MAAAA,EAAE,SAAS;AAAA,IAClC;AAAgB,aAAA;AAAA,EAChB;AACD;;ACqCA,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,aAAA,KAAA,UAAA,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,aAAA,SAAA,KAAA,YAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,UAAA,KAAA,eAAA,QAAA;AACA,eAAA;AAAA,MACA;AACA,aAAAA,MAAAA,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,CAAAC,aAAA,gBAAA,GAAA,aAAA,SAAA;AACA,eAAA,oBAAA;AACA;AAAA,QACA;AACA,YAAA;AACA,gBAAA,EAAA,SAAA,MAAAC,uBAAA,IAAAC,OAAAA,eAAA,4CAAA,EAAA,KAAA,CAAA,CAAA;AACA,eAAA,oBAAA,KAAA,KAAA,MAAA;AAAA,QACA,SAAA,OAAA;AACA,eAAA,oBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
- import '../assets/NcUserStatusIcon-DMxcdM51.css';
1
+ import '../assets/NcUserStatusIcon-DAVSJFhS.css';
2
2
  import axios from "@nextcloud/axios";
3
3
  import { generateOcsUrl } from "@nextcloud/router";
4
4
  import { getCapabilities } from "@nextcloud/capabilities";
5
- import { r as register, N as t11, a as t, O as t49 } from "./_l10n-JYjUKekn.mjs";
5
+ import { r as register, N as t11, a as t, O as t49 } from "./_l10n-B-QPoWAJ.mjs";
6
6
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
7
7
  const onlineSvg = '<!--\n - SPDX-FileCopyrightText: 2020 Google Inc.\n - SPDX-License-Identifier: Apache-2.0\n-->\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';
8
8
  const awaySvg = '<!--\n - SPDX-FileCopyrightText: 2020 Google Inc.\n - SPDX-License-Identifier: Apache-2.0\n-->\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';
@@ -76,11 +76,9 @@ const _sfc_main = {
76
76
  },
77
77
  computed: {
78
78
  activeStatus() {
79
- var _a;
80
- return (_a = this.status) != null ? _a : this.fetchedUserStatus;
79
+ return this.status ?? this.fetchedUserStatus;
81
80
  },
82
81
  activeSvg() {
83
- var _a;
84
82
  const matchSvg = {
85
83
  online: onlineSvg,
86
84
  away: awaySvg,
@@ -89,7 +87,7 @@ const _sfc_main = {
89
87
  invisible: invisibleSvg,
90
88
  offline: invisibleSvg
91
89
  };
92
- return (_a = matchSvg[this.activeStatus]) != null ? _a : null;
90
+ return matchSvg[this.activeStatus] ?? null;
93
91
  },
94
92
  ariaLabel() {
95
93
  if (this.ariaHidden === "true") {
@@ -102,14 +100,13 @@ const _sfc_main = {
102
100
  user: {
103
101
  immediate: true,
104
102
  async handler(user, _oldUser) {
105
- var _a, _b, _c, _d;
106
- if (!user || !((_b = (_a = getCapabilities()) == null ? void 0 : _a.user_status) == null ? void 0 : _b.enabled)) {
103
+ if (!user || !getCapabilities()?.user_status?.enabled) {
107
104
  this.fetchedUserStatus = null;
108
105
  return;
109
106
  }
110
107
  try {
111
108
  const { data } = await axios.get(generateOcsUrl("/apps/user_status/api/v1/statuses/{user}", { user }));
112
- this.fetchedUserStatus = (_d = (_c = data.ocs) == null ? void 0 : _c.data) == null ? void 0 : _d.status;
109
+ this.fetchedUserStatus = data.ocs?.data?.status;
113
110
  } catch (error) {
114
111
  this.fetchedUserStatus = null;
115
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserStatusIcon-CPZOWw3t.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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 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</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;;ACSF,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;;ACqCA,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;AACA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcUserStatusIcon-CvuiXAZR.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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\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 * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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 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</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;;ACSF,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;;ACqCA,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,aAAA,KAAA,UAAA,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,aAAA,SAAA,KAAA,YAAA,KAAA;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,CAAA,gBAAA,GAAA,aAAA,SAAA;AACA,eAAA,oBAAA;AACA;AAAA,QACA;AACA,YAAA;AACA,gBAAA,EAAA,SAAA,MAAA,MAAA,IAAA,eAAA,4CAAA,EAAA,KAAA,CAAA,CAAA;AACA,eAAA,oBAAA,KAAA,KAAA,MAAA;AAAA,QACA,SAAA,OAAA;AACA,eAAA,oBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@ const ScopeComponent = (Component) => {
5
5
  Component.mounted = [Component.mounted];
6
6
  }
7
7
  Component.mounted.push(function() {
8
- this.$el.setAttribute("data-v-".concat("d965016"), "");
8
+ this.$el.setAttribute(`data-v-${"d5f72b9"}`, "");
9
9
  });
10
10
  };
11
11
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeComponent-BVnA9iVd.mjs","sources":["../../src/utils/ScopeComponent.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst ScopeComponent = (Component) => {\n\t// Init mounted vue if none\n\tif (!Component.mounted) {\n\t\tComponent.mounted = []\n\t} else if (!Array.isArray(Component.mounted)) {\n\t\tComponent.mounted = [Component.mounted]\n\t}\n\n\t// Inject root scoping function\n\tComponent.mounted.push(function() {\n\t\tthis.$el.setAttribute(`data-v-${SCOPE_VERSION}`, '')\n\t})\n}\n\nexport default ScopeComponent\n"],"names":[],"mappings":"AAKK,MAAC,iBAAiB,CAAC,cAAc;AAErC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAE;AAAA,EACtB,WAAU,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACtC;AAGD,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,mBAAiB,EAAE;AAAA,EACrD,CAAE;AACF;"}
1
+ {"version":3,"file":"ScopeComponent-BLLOK04K.mjs","sources":["../../src/utils/ScopeComponent.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst ScopeComponent = (Component) => {\n\t// Init mounted vue if none\n\tif (!Component.mounted) {\n\t\tComponent.mounted = []\n\t} else if (!Array.isArray(Component.mounted)) {\n\t\tComponent.mounted = [Component.mounted]\n\t}\n\n\t// Inject root scoping function\n\tComponent.mounted.push(function() {\n\t\tthis.$el.setAttribute(`data-v-${SCOPE_VERSION}`, '')\n\t})\n}\n\nexport default ScopeComponent\n"],"names":[],"mappings":"AAKK,MAAC,iBAAiB,CAAC,cAAc;AAErC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAE;AAAA,EACtB,WAAU,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACtC;AAGD,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,SAAa,IAAI,EAAE;AAAA,EACrD,CAAE;AACF;"}
@@ -6,7 +6,7 @@ const ScopeComponent = (Component) => {
6
6
  Component.mounted = [Component.mounted];
7
7
  }
8
8
  Component.mounted.push(function() {
9
- this.$el.setAttribute("data-v-".concat("d965016"), "");
9
+ this.$el.setAttribute(`data-v-${"d5f72b9"}`, "");
10
10
  });
11
11
  };
12
12
  exports.ScopeComponent = ScopeComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeComponent-B0gd6vEY.cjs","sources":["../../src/utils/ScopeComponent.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst ScopeComponent = (Component) => {\n\t// Init mounted vue if none\n\tif (!Component.mounted) {\n\t\tComponent.mounted = []\n\t} else if (!Array.isArray(Component.mounted)) {\n\t\tComponent.mounted = [Component.mounted]\n\t}\n\n\t// Inject root scoping function\n\tComponent.mounted.push(function() {\n\t\tthis.$el.setAttribute(`data-v-${SCOPE_VERSION}`, '')\n\t})\n}\n\nexport default ScopeComponent\n"],"names":[],"mappings":";AAKK,MAAC,iBAAiB,CAAC,cAAc;AAErC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAE;AAAA,EACtB,WAAU,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACtC;AAGD,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,mBAAiB,EAAE;AAAA,EACrD,CAAE;AACF;;"}
1
+ {"version":3,"file":"ScopeComponent-ClDcATYc.cjs","sources":["../../src/utils/ScopeComponent.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst ScopeComponent = (Component) => {\n\t// Init mounted vue if none\n\tif (!Component.mounted) {\n\t\tComponent.mounted = []\n\t} else if (!Array.isArray(Component.mounted)) {\n\t\tComponent.mounted = [Component.mounted]\n\t}\n\n\t// Inject root scoping function\n\tComponent.mounted.push(function() {\n\t\tthis.$el.setAttribute(`data-v-${SCOPE_VERSION}`, '')\n\t})\n}\n\nexport default ScopeComponent\n"],"names":[],"mappings":";AAKK,MAAC,iBAAiB,CAAC,cAAc;AAErC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAE;AAAA,EACtB,WAAU,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACtC;AAGD,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,SAAa,IAAI,EAAE;AAAA,EACrD,CAAE;AACF;;"}