@nextcloud/vue 8.37.0 → 8.39.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 (442) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/Components/NcActionButton.cjs +1 -1
  3. package/dist/Components/NcActionButton.mjs +1 -1
  4. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  6. package/dist/Components/NcActionInput.cjs +1 -1
  7. package/dist/Components/NcActionInput.mjs +1 -1
  8. package/dist/Components/NcActionLink.cjs +2 -2
  9. package/dist/Components/NcActionLink.cjs.map +1 -1
  10. package/dist/Components/NcActionLink.mjs +2 -2
  11. package/dist/Components/NcActionLink.mjs.map +1 -1
  12. package/dist/Components/NcActionTextEditable.cjs +1 -1
  13. package/dist/Components/NcActionTextEditable.mjs +1 -1
  14. package/dist/Components/NcActions.cjs +1 -1
  15. package/dist/Components/NcActions.mjs +1 -1
  16. package/dist/Components/NcAppContent.cjs +1 -1
  17. package/dist/Components/NcAppContent.mjs +1 -1
  18. package/dist/Components/NcAppNavigation.cjs +1 -1
  19. package/dist/Components/NcAppNavigation.mjs +1 -1
  20. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  21. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  22. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  23. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  24. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  25. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  26. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  27. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  28. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  29. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  30. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  31. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  32. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  33. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  34. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  35. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  36. package/dist/Components/NcAppSidebar.cjs +1 -1
  37. package/dist/Components/NcAppSidebar.mjs +1 -1
  38. package/dist/Components/NcAssistantButton.cjs +1 -1
  39. package/dist/Components/NcAssistantButton.mjs +1 -1
  40. package/dist/Components/NcAvatar.cjs +1 -1
  41. package/dist/Components/NcAvatar.mjs +1 -1
  42. package/dist/Components/NcBreadcrumb.cjs +1 -1
  43. package/dist/Components/NcBreadcrumb.mjs +1 -1
  44. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  45. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  46. package/dist/Components/NcButton.cjs +1 -1
  47. package/dist/Components/NcButton.mjs +1 -1
  48. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  49. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  50. package/dist/Components/NcChip.cjs +2 -2
  51. package/dist/Components/NcChip.mjs +2 -2
  52. package/dist/Components/NcCollectionList.cjs +1 -1
  53. package/dist/Components/NcCollectionList.mjs +1 -1
  54. package/dist/Components/NcColorPicker.cjs +1 -1
  55. package/dist/Components/NcColorPicker.mjs +1 -1
  56. package/dist/Components/NcContent.cjs +1 -1
  57. package/dist/Components/NcContent.mjs +1 -1
  58. package/dist/Components/NcDashboardWidget.cjs +1 -1
  59. package/dist/Components/NcDashboardWidget.mjs +1 -1
  60. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  61. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  62. package/dist/Components/NcDateTimePicker.cjs +3 -3
  63. package/dist/Components/NcDateTimePicker.mjs +3 -3
  64. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  65. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  66. package/dist/Components/NcDialog.cjs +1 -1
  67. package/dist/Components/NcDialog.mjs +1 -1
  68. package/dist/Components/NcDialogButton.cjs +1 -1
  69. package/dist/Components/NcDialogButton.mjs +1 -1
  70. package/dist/Components/NcEmojiPicker.cjs +1 -1
  71. package/dist/Components/NcEmojiPicker.mjs +1 -1
  72. package/dist/Components/NcFilePicker.cjs +1 -1
  73. package/dist/Components/NcFilePicker.mjs +1 -1
  74. package/dist/Components/NcFormBoxButton.cjs +1 -1
  75. package/dist/Components/NcFormBoxButton.mjs +1 -1
  76. package/dist/Components/NcFormBoxCopyButton.cjs +1 -1
  77. package/dist/Components/NcFormBoxCopyButton.mjs +1 -1
  78. package/dist/Components/NcFormBoxSwitch.cjs +1 -1
  79. package/dist/Components/NcFormBoxSwitch.mjs +1 -1
  80. package/dist/Components/NcHeaderButton.cjs +1 -1
  81. package/dist/Components/NcHeaderButton.mjs +1 -1
  82. package/dist/Components/NcHeaderMenu.cjs +1 -1
  83. package/dist/Components/NcHeaderMenu.mjs +1 -1
  84. package/dist/Components/NcInputField.cjs +1 -1
  85. package/dist/Components/NcInputField.mjs +1 -1
  86. package/dist/Components/NcListItem.cjs +1 -1
  87. package/dist/Components/NcListItem.mjs +1 -1
  88. package/dist/Components/NcListItemIcon.cjs +1 -1
  89. package/dist/Components/NcListItemIcon.mjs +1 -1
  90. package/dist/Components/NcModal.cjs +3 -3
  91. package/dist/Components/NcModal.mjs +3 -3
  92. package/dist/Components/NcNoteCard.cjs +1 -1
  93. package/dist/Components/NcNoteCard.mjs +1 -1
  94. package/dist/Components/NcPasswordField.cjs +1 -1
  95. package/dist/Components/NcPasswordField.mjs +1 -1
  96. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  97. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  98. package/dist/Components/NcRichContenteditable.cjs +2 -2
  99. package/dist/Components/NcRichContenteditable.mjs +2 -2
  100. package/dist/Components/NcRichText.cjs +2 -2
  101. package/dist/Components/NcRichText.mjs +3 -3
  102. package/dist/Components/NcSelect.cjs +1 -1
  103. package/dist/Components/NcSelect.mjs +1 -1
  104. package/dist/Components/NcSelectTags.cjs +1 -1
  105. package/dist/Components/NcSelectTags.mjs +1 -1
  106. package/dist/Components/NcSelectUsers.cjs +1 -1
  107. package/dist/Components/NcSelectUsers.mjs +1 -1
  108. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  109. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  110. package/dist/Components/NcTextArea.cjs +1 -1
  111. package/dist/Components/NcTextArea.mjs +1 -1
  112. package/dist/Components/NcTextField.cjs +1 -1
  113. package/dist/Components/NcTextField.mjs +1 -1
  114. package/dist/Components/NcTimezonePicker.cjs +1 -1
  115. package/dist/Components/NcTimezonePicker.mjs +1 -1
  116. package/dist/Components/NcUserBubble.cjs +1 -1
  117. package/dist/Components/NcUserBubble.mjs +1 -1
  118. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  119. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  120. package/dist/Functions/emoji.cjs +1 -1
  121. package/dist/Functions/emoji.mjs +1 -1
  122. package/dist/Functions/reference.cjs +1 -1
  123. package/dist/Functions/reference.mjs +1 -1
  124. package/dist/Functions/usernameToColor.cjs +1 -1
  125. package/dist/Functions/usernameToColor.mjs +1 -1
  126. package/dist/Mixins/richEditor.cjs +1 -1
  127. package/dist/Mixins/richEditor.mjs +1 -1
  128. package/dist/assets/{NcActionButton-CG4V9b5b.css → NcActionButton-CjKx3679.css} +18 -18
  129. package/dist/assets/{NcActionButtonGroup-CRXLyFpx.css → NcActionButtonGroup-DqR0weTf.css} +8 -8
  130. package/dist/assets/{NcActionInput-B-c5cOfM.css → NcActionInput-CPu4Btyq.css} +65 -65
  131. package/dist/assets/{NcActionLink-BtpJIbvI.css → NcActionLink-Bt-73iBm.css} +13 -13
  132. package/dist/assets/{NcActionTextEditable-BCmDMuUg.css → NcActionTextEditable-AuLw5QVP.css} +65 -65
  133. package/dist/assets/{NcActions-CVw1SmBu.css → NcActions-CuFJSslC.css} +11 -11
  134. package/dist/assets/{NcAppNavigation-Dbpqdigp.css → NcAppNavigation-DfsSMVgo.css} +18 -12
  135. package/dist/assets/{NcAppNavigationItem-De04deJW.css → NcAppNavigationItem-CksjxOVP.css} +77 -40
  136. package/dist/assets/{NcAppNavigationNewItem-CYSjj3pD.css → NcAppNavigationNewItem-Dn_iz3og.css} +41 -4
  137. package/dist/assets/NcAppSettingsDialog-DRyLeR3T.css +222 -0
  138. package/dist/assets/{NcAppSidebar-BsMeIg8W.css → NcAppSidebar-B1bkEVQA.css} +75 -14
  139. package/dist/assets/{NcBreadcrumbs-DahxPGJY.css → NcBreadcrumbs-Dt1zdHzR.css} +6 -6
  140. package/dist/assets/{NcButton-8Y8d_1Z_.css → NcButton-o3s2D3Dl.css} +49 -46
  141. package/dist/assets/{NcCheckboxRadioSwitch-BACLOhMO.css → NcCheckboxRadioSwitch-BojbloxL.css} +38 -38
  142. package/dist/assets/{NcContent-a67pCVHO.css → NcContent-URJTZQq1.css} +22 -10
  143. package/dist/assets/{NcDateTimePicker-BzP7Sn12.css → NcDateTimePicker-DknygOcQ.css} +8 -8
  144. package/dist/assets/NcInputConfirmCancel-Brp9ZfY5.css +53 -0
  145. package/dist/assets/{NcPasswordField-CiN_phAQ.css → NcPasswordField-vrT0oftw.css} +2 -2
  146. package/dist/assets/{NcRelatedResourcesPanel-BgMc8bue.css → NcRelatedResourcesPanel-CTpqdDL9.css} +3 -3
  147. package/dist/assets/{NcRichContenteditable-3tL9zHn2.css → NcRichContenteditable-DwS6PNCv.css} +11 -11
  148. package/dist/assets/{NcRichText-CAhzDSty.css → NcRichText-Cp_5tfBy.css} +91 -98
  149. package/dist/assets/autolink-KPdaBewQ.css +25 -0
  150. package/dist/chunks/{NcActionButton-C5Dqge0c.cjs → NcActionButton-CiYel4_C.cjs} +3 -3
  151. package/dist/chunks/NcActionButton-CiYel4_C.cjs.map +1 -0
  152. package/dist/chunks/{NcActionButton-1gSJfFUC.mjs → NcActionButton-K4jUGMlW.mjs} +3 -3
  153. package/dist/chunks/NcActionButton-K4jUGMlW.mjs.map +1 -0
  154. package/dist/chunks/{NcActionButtonGroup-eZxqibUd.mjs → NcActionButtonGroup-B95wg_Q6.mjs} +3 -3
  155. package/dist/chunks/NcActionButtonGroup-B95wg_Q6.mjs.map +1 -0
  156. package/dist/chunks/{NcActionButtonGroup-CpZDTAQo.cjs → NcActionButtonGroup-CFGCmzTM.cjs} +3 -3
  157. package/dist/chunks/NcActionButtonGroup-CFGCmzTM.cjs.map +1 -0
  158. package/dist/chunks/{NcActionInput-UPwE2Dky.mjs → NcActionInput-BoKGVBu8.mjs} +5 -5
  159. package/dist/chunks/NcActionInput-BoKGVBu8.mjs.map +1 -0
  160. package/dist/chunks/{NcActionInput-eAmBylEO.cjs → NcActionInput-CcA3XFGe.cjs} +5 -5
  161. package/dist/chunks/NcActionInput-CcA3XFGe.cjs.map +1 -0
  162. package/dist/chunks/{NcActionTextEditable-RFLtWxrl.cjs → NcActionTextEditable-BqJ5wONY.cjs} +3 -3
  163. package/dist/chunks/NcActionTextEditable-BqJ5wONY.cjs.map +1 -0
  164. package/dist/chunks/{NcActionTextEditable-CIsAP-pp.mjs → NcActionTextEditable-YqvZGY07.mjs} +3 -3
  165. package/dist/chunks/NcActionTextEditable-YqvZGY07.mjs.map +1 -0
  166. package/dist/chunks/{NcActions-BSDvtMJD.cjs → NcActions-D51W1X9v.cjs} +4 -4
  167. package/dist/chunks/NcActions-D51W1X9v.cjs.map +1 -0
  168. package/dist/chunks/{NcActions-BcLis_nr.mjs → NcActions-DbPerbGE.mjs} +4 -4
  169. package/dist/chunks/NcActions-DbPerbGE.mjs.map +1 -0
  170. package/dist/chunks/{NcAppContent-DLGtJosF.cjs → NcAppContent-0hbQMH35.cjs} +2 -2
  171. package/dist/chunks/{NcAppContent-DLGtJosF.cjs.map → NcAppContent-0hbQMH35.cjs.map} +1 -1
  172. package/dist/chunks/{NcAppContent-CeVqX0gV.mjs → NcAppContent-DAN0qPID.mjs} +2 -2
  173. package/dist/chunks/{NcAppContent-CeVqX0gV.mjs.map → NcAppContent-DAN0qPID.mjs.map} +1 -1
  174. package/dist/chunks/{NcAppNavigation-D2Ds_2Dm.cjs → NcAppNavigation-DB3HqxPL.cjs} +24 -9
  175. package/dist/chunks/NcAppNavigation-DB3HqxPL.cjs.map +1 -0
  176. package/dist/chunks/{NcAppNavigation-BfzJA6cb.mjs → NcAppNavigation-DGufDPoi.mjs} +24 -9
  177. package/dist/chunks/NcAppNavigation-DGufDPoi.mjs.map +1 -0
  178. package/dist/chunks/{NcAppNavigationCaption-3YHrxAYS.mjs → NcAppNavigationCaption-BZwuqQcm.mjs} +2 -2
  179. package/dist/chunks/{NcAppNavigationCaption-3YHrxAYS.mjs.map → NcAppNavigationCaption-BZwuqQcm.mjs.map} +1 -1
  180. package/dist/chunks/{NcAppNavigationCaption-BDSDmQuu.cjs → NcAppNavigationCaption-WVnxSeIf.cjs} +2 -2
  181. package/dist/chunks/{NcAppNavigationCaption-BDSDmQuu.cjs.map → NcAppNavigationCaption-WVnxSeIf.cjs.map} +1 -1
  182. package/dist/chunks/{NcAppNavigationItem-Dc5Vdhb1.cjs → NcAppNavigationItem-0zDqIuUZ.cjs} +17 -11
  183. package/dist/chunks/NcAppNavigationItem-0zDqIuUZ.cjs.map +1 -0
  184. package/dist/chunks/{NcAppNavigationItem-D30ztZfZ.mjs → NcAppNavigationItem-CgYgq_nb.mjs} +17 -11
  185. package/dist/chunks/NcAppNavigationItem-CgYgq_nb.mjs.map +1 -0
  186. package/dist/chunks/{NcAppNavigationNew-Ce_TheyK.mjs → NcAppNavigationNew-BUVnumWS.mjs} +2 -2
  187. package/dist/chunks/{NcAppNavigationNew-Ce_TheyK.mjs.map → NcAppNavigationNew-BUVnumWS.mjs.map} +1 -1
  188. package/dist/chunks/{NcAppNavigationNew-D7FwWc52.cjs → NcAppNavigationNew-DRdPwKOi.cjs} +2 -2
  189. package/dist/chunks/{NcAppNavigationNew-D7FwWc52.cjs.map → NcAppNavigationNew-DRdPwKOi.cjs.map} +1 -1
  190. package/dist/chunks/{NcAppNavigationNewItem-BskLwwWH.mjs → NcAppNavigationNewItem-Nz2HecTz.mjs} +3 -3
  191. package/dist/chunks/{NcAppNavigationNewItem-BskLwwWH.mjs.map → NcAppNavigationNewItem-Nz2HecTz.mjs.map} +1 -1
  192. package/dist/chunks/{NcAppNavigationNewItem-Cjody3t9.cjs → NcAppNavigationNewItem-SR744REn.cjs} +3 -3
  193. package/dist/chunks/{NcAppNavigationNewItem-Cjody3t9.cjs.map → NcAppNavigationNewItem-SR744REn.cjs.map} +1 -1
  194. package/dist/chunks/{NcAppNavigationSearch-CwO9XhWM.cjs → NcAppNavigationSearch-Czcwiin4.cjs} +2 -2
  195. package/dist/chunks/{NcAppNavigationSearch-CwO9XhWM.cjs.map → NcAppNavigationSearch-Czcwiin4.cjs.map} +1 -1
  196. package/dist/chunks/{NcAppNavigationSearch-CkcBGG0H.mjs → NcAppNavigationSearch-CzhlljAU.mjs} +2 -2
  197. package/dist/chunks/{NcAppNavigationSearch-CkcBGG0H.mjs.map → NcAppNavigationSearch-CzhlljAU.mjs.map} +1 -1
  198. package/dist/chunks/{NcAppNavigationSettings-BjyBA5Mj.mjs → NcAppNavigationSettings-BaO-G72x.mjs} +3 -3
  199. package/dist/chunks/{NcAppNavigationSettings-BjyBA5Mj.mjs.map → NcAppNavigationSettings-BaO-G72x.mjs.map} +1 -1
  200. package/dist/chunks/{NcAppNavigationSettings-CrLS3Smo.cjs → NcAppNavigationSettings-CotFe5aD.cjs} +3 -3
  201. package/dist/chunks/{NcAppNavigationSettings-CrLS3Smo.cjs.map → NcAppNavigationSettings-CotFe5aD.cjs.map} +1 -1
  202. package/dist/chunks/{NcAppNavigationToggle-zzG9M53D.mjs → NcAppNavigationToggle-CXX1MFrf.mjs} +2 -2
  203. package/dist/chunks/{NcAppNavigationToggle-zzG9M53D.mjs.map → NcAppNavigationToggle-CXX1MFrf.mjs.map} +1 -1
  204. package/dist/chunks/{NcAppNavigationToggle-DPjOENSf.cjs → NcAppNavigationToggle-CkDMk16T.cjs} +2 -2
  205. package/dist/chunks/{NcAppNavigationToggle-DPjOENSf.cjs.map → NcAppNavigationToggle-CkDMk16T.cjs.map} +1 -1
  206. package/dist/chunks/{NcAppSettingsDialog-Ckf6dRRJ.cjs → NcAppSettingsDialog-Fa5DTfig.cjs} +10 -9
  207. package/dist/chunks/NcAppSettingsDialog-Fa5DTfig.cjs.map +1 -0
  208. package/dist/chunks/{NcAppSettingsDialog-vBeCGFqk.mjs → NcAppSettingsDialog-MxrFh-Ln.mjs} +8 -7
  209. package/dist/chunks/NcAppSettingsDialog-MxrFh-Ln.mjs.map +1 -0
  210. package/dist/chunks/{NcAppSidebar-Cx0PlofZ.mjs → NcAppSidebar-B7GuNZ4C.mjs} +10 -8
  211. package/dist/chunks/NcAppSidebar-B7GuNZ4C.mjs.map +1 -0
  212. package/dist/chunks/{NcAppSidebar-CPHVBBe0.cjs → NcAppSidebar-DXEl0_ou.cjs} +10 -8
  213. package/dist/chunks/NcAppSidebar-DXEl0_ou.cjs.map +1 -0
  214. package/dist/chunks/{NcAssistantButton-D1Miejvu.mjs → NcAssistantButton-B7BLAkwW.mjs} +2 -2
  215. package/dist/chunks/{NcAssistantButton-D1Miejvu.mjs.map → NcAssistantButton-B7BLAkwW.mjs.map} +1 -1
  216. package/dist/chunks/{NcAssistantButton-Bl0F4iDe.cjs → NcAssistantButton-XS3UdAKm.cjs} +2 -2
  217. package/dist/chunks/{NcAssistantButton-Bl0F4iDe.cjs.map → NcAssistantButton-XS3UdAKm.cjs.map} +1 -1
  218. package/dist/chunks/{NcAvatar-ffZLZnH_.cjs → NcAvatar-D09ZAgeJ.cjs} +7 -7
  219. package/dist/chunks/{NcAvatar-ffZLZnH_.cjs.map → NcAvatar-D09ZAgeJ.cjs.map} +1 -1
  220. package/dist/chunks/{NcAvatar-DC2fiCH-.mjs → NcAvatar-DkAX4nqq.mjs} +7 -7
  221. package/dist/chunks/{NcAvatar-DC2fiCH-.mjs.map → NcAvatar-DkAX4nqq.mjs.map} +1 -1
  222. package/dist/chunks/{NcBreadcrumb-AZMsaVbs.cjs → NcBreadcrumb-14OmaYrH.cjs} +3 -3
  223. package/dist/chunks/{NcBreadcrumb-AZMsaVbs.cjs.map → NcBreadcrumb-14OmaYrH.cjs.map} +1 -1
  224. package/dist/chunks/{NcBreadcrumb-VwnF27KB.mjs → NcBreadcrumb-D8xA3KcG.mjs} +3 -3
  225. package/dist/chunks/{NcBreadcrumb-VwnF27KB.mjs.map → NcBreadcrumb-D8xA3KcG.mjs.map} +1 -1
  226. package/dist/chunks/{NcBreadcrumbs-CpU2Nbqu.cjs → NcBreadcrumbs-CZt3UuyO.cjs} +7 -7
  227. package/dist/chunks/{NcBreadcrumbs-CpXJ-OQ1.mjs.map → NcBreadcrumbs-CZt3UuyO.cjs.map} +1 -1
  228. package/dist/chunks/{NcBreadcrumbs-CpXJ-OQ1.mjs → NcBreadcrumbs-CesoXxTs.mjs} +7 -7
  229. package/dist/chunks/{NcBreadcrumbs-CpU2Nbqu.cjs.map → NcBreadcrumbs-CesoXxTs.mjs.map} +1 -1
  230. package/dist/chunks/{NcButton-Dszi1Apb.cjs → NcButton-ByTFUhwJ.cjs} +14 -5
  231. package/dist/chunks/NcButton-ByTFUhwJ.cjs.map +1 -0
  232. package/dist/chunks/{NcButton-BaZAY-tN.mjs → NcButton-CCWEL9Ci.mjs} +14 -5
  233. package/dist/chunks/NcButton-CCWEL9Ci.mjs.map +1 -0
  234. package/dist/chunks/{NcCheckboxRadioSwitch-NOpZzkFR.cjs → NcCheckboxRadioSwitch-BQeglWXd.cjs} +8 -17
  235. package/dist/chunks/{NcCheckboxRadioSwitch-DJmw98x9.mjs.map → NcCheckboxRadioSwitch-BQeglWXd.cjs.map} +1 -1
  236. package/dist/chunks/{NcCheckboxRadioSwitch-DJmw98x9.mjs → NcCheckboxRadioSwitch-D4IV4zWy.mjs} +8 -17
  237. package/dist/chunks/{NcCheckboxRadioSwitch-NOpZzkFR.cjs.map → NcCheckboxRadioSwitch-D4IV4zWy.mjs.map} +1 -1
  238. package/dist/chunks/{NcCollectionList-DUQPwfcY.cjs → NcCollectionList-2jk5XCm8.cjs} +6 -6
  239. package/dist/chunks/{NcCollectionList-DUQPwfcY.cjs.map → NcCollectionList-2jk5XCm8.cjs.map} +1 -1
  240. package/dist/chunks/{NcCollectionList-U0EoWgeN.mjs → NcCollectionList-DOAZ13vO.mjs} +6 -6
  241. package/dist/chunks/{NcCollectionList-U0EoWgeN.mjs.map → NcCollectionList-DOAZ13vO.mjs.map} +1 -1
  242. package/dist/chunks/{NcColorPicker-CpIQU_eH.cjs → NcColorPicker-BTiAa5mm.cjs} +3 -3
  243. package/dist/chunks/{NcColorPicker-CpIQU_eH.cjs.map → NcColorPicker-BTiAa5mm.cjs.map} +1 -1
  244. package/dist/chunks/{NcColorPicker-BfApfazi.mjs → NcColorPicker-SlazeVcI.mjs} +3 -3
  245. package/dist/chunks/{NcColorPicker-BfApfazi.mjs.map → NcColorPicker-SlazeVcI.mjs.map} +1 -1
  246. package/dist/chunks/{NcContent-MiRvygrj.cjs → NcContent-BB-v-amq.cjs} +8 -6
  247. package/dist/chunks/{NcContent-MiRvygrj.cjs.map → NcContent-BB-v-amq.cjs.map} +1 -1
  248. package/dist/chunks/{NcContent-DFOsZ6pm.mjs → NcContent-BuTh0ZPb.mjs} +8 -6
  249. package/dist/chunks/{NcContent-DFOsZ6pm.mjs.map → NcContent-BuTh0ZPb.mjs.map} +1 -1
  250. package/dist/chunks/{NcDashboardWidget-Cp3DMHz7.mjs → NcDashboardWidget-CO1z9VUN.mjs} +3 -3
  251. package/dist/chunks/{NcDashboardWidget-Cp3DMHz7.mjs.map → NcDashboardWidget-CO1z9VUN.mjs.map} +1 -1
  252. package/dist/chunks/{NcDashboardWidget-BP9C-mPR.cjs → NcDashboardWidget-dMwnFBzc.cjs} +3 -3
  253. package/dist/chunks/{NcDashboardWidget-BP9C-mPR.cjs.map → NcDashboardWidget-dMwnFBzc.cjs.map} +1 -1
  254. package/dist/chunks/{NcDashboardWidgetItem-BCjppWNJ.mjs → NcDashboardWidgetItem-2VgB9qj2.mjs} +4 -4
  255. package/dist/chunks/{NcDashboardWidgetItem-BCjppWNJ.mjs.map → NcDashboardWidgetItem-2VgB9qj2.mjs.map} +1 -1
  256. package/dist/chunks/{NcDashboardWidgetItem-hwkr1yWB.cjs → NcDashboardWidgetItem-9tQgaPXS.cjs} +4 -4
  257. package/dist/chunks/{NcDashboardWidgetItem-hwkr1yWB.cjs.map → NcDashboardWidgetItem-9tQgaPXS.cjs.map} +1 -1
  258. package/dist/chunks/{NcDialog-CDFWleNp.mjs → NcDialog-DZ7xq7XA.mjs} +2 -2
  259. package/dist/chunks/{NcDialog-CDFWleNp.mjs.map → NcDialog-DZ7xq7XA.mjs.map} +1 -1
  260. package/dist/chunks/{NcDialog-gV238gzy.cjs → NcDialog-Qak1QTrv.cjs} +2 -2
  261. package/dist/chunks/{NcDialog-gV238gzy.cjs.map → NcDialog-Qak1QTrv.cjs.map} +1 -1
  262. package/dist/chunks/{NcDialogButton-BDYsOgo1.cjs → NcDialogButton-BoetK2zm.cjs} +2 -2
  263. package/dist/chunks/{NcDialogButton-BDYsOgo1.cjs.map → NcDialogButton-BoetK2zm.cjs.map} +1 -1
  264. package/dist/chunks/{NcDialogButton-tB5RGMME.mjs → NcDialogButton-KNF3Co74.mjs} +2 -2
  265. package/dist/chunks/{NcDialogButton-tB5RGMME.mjs.map → NcDialogButton-KNF3Co74.mjs.map} +1 -1
  266. package/dist/chunks/{NcEmojiPicker-CRRgA7eR.cjs → NcEmojiPicker-2KIJVstd.cjs} +6 -6
  267. package/dist/chunks/{NcEmojiPicker-CRRgA7eR.cjs.map → NcEmojiPicker-2KIJVstd.cjs.map} +1 -1
  268. package/dist/chunks/{NcEmojiPicker-Cw593Jp6.mjs → NcEmojiPicker-DNxcceCn.mjs} +6 -6
  269. package/dist/chunks/{NcEmojiPicker-Cw593Jp6.mjs.map → NcEmojiPicker-DNxcceCn.mjs.map} +1 -1
  270. package/dist/chunks/{NcFilePicker-Ct_uwON0.cjs → NcFilePicker-BL6iajt2.cjs} +3 -3
  271. package/dist/chunks/{NcFilePicker-Ct_uwON0.cjs.map → NcFilePicker-BL6iajt2.cjs.map} +1 -1
  272. package/dist/chunks/{NcFilePicker-CDHKrfPj.mjs → NcFilePicker-Ck9o-ia3.mjs} +3 -3
  273. package/dist/chunks/{NcFilePicker-CDHKrfPj.mjs.map → NcFilePicker-Ck9o-ia3.mjs.map} +1 -1
  274. package/dist/chunks/NcFormBox-DRGVpFeZ.cjs.map +1 -1
  275. package/dist/chunks/NcFormBox-DtoCXLMx.mjs.map +1 -1
  276. package/dist/chunks/{NcFormBoxButton-BQi11xQX.mjs → NcFormBoxButton-CFWCJ0-X.mjs} +2 -2
  277. package/dist/chunks/{NcFormBoxButton-BQi11xQX.mjs.map → NcFormBoxButton-CFWCJ0-X.mjs.map} +1 -1
  278. package/dist/chunks/{NcFormBoxButton-BO2bMnah.cjs → NcFormBoxButton-ozVuTgCZ.cjs} +2 -2
  279. package/dist/chunks/{NcFormBoxButton-BO2bMnah.cjs.map → NcFormBoxButton-ozVuTgCZ.cjs.map} +1 -1
  280. package/dist/chunks/{NcFormBoxCopyButton-B2GrmfEz.cjs → NcFormBoxCopyButton-BS9aM994.cjs} +2 -2
  281. package/dist/chunks/{NcFormBoxCopyButton-B2GrmfEz.cjs.map → NcFormBoxCopyButton-BS9aM994.cjs.map} +1 -1
  282. package/dist/chunks/{NcFormBoxCopyButton-BkunQ3me.mjs → NcFormBoxCopyButton-Da8RuDH1.mjs} +2 -2
  283. package/dist/chunks/{NcFormBoxCopyButton-BkunQ3me.mjs.map → NcFormBoxCopyButton-Da8RuDH1.mjs.map} +1 -1
  284. package/dist/chunks/{NcFormBoxItem-y2AfRFCy.cjs → NcFormBoxItem-3lI7Bu3S.cjs} +2 -2
  285. package/dist/chunks/{NcFormBoxItem-y2AfRFCy.cjs.map → NcFormBoxItem-3lI7Bu3S.cjs.map} +1 -1
  286. package/dist/chunks/{NcFormBoxItem-Cu3gWo1q.mjs → NcFormBoxItem-Bz-P0lVG.mjs} +2 -2
  287. package/dist/chunks/{NcFormBoxItem-Cu3gWo1q.mjs.map → NcFormBoxItem-Bz-P0lVG.mjs.map} +1 -1
  288. package/dist/chunks/{NcFormBoxSwitch-OoIgFMb9.cjs → NcFormBoxSwitch-7R8iAj1R.cjs} +2 -2
  289. package/dist/chunks/{NcFormBoxSwitch-OoIgFMb9.cjs.map → NcFormBoxSwitch-7R8iAj1R.cjs.map} +1 -1
  290. package/dist/chunks/{NcFormBoxSwitch-E6sxPL4n.mjs → NcFormBoxSwitch-DaaMuPnk.mjs} +2 -2
  291. package/dist/chunks/{NcFormBoxSwitch-E6sxPL4n.mjs.map → NcFormBoxSwitch-DaaMuPnk.mjs.map} +1 -1
  292. package/dist/chunks/{NcHeaderButton-KtkQRinp.cjs → NcHeaderButton-BndVfb3e.cjs} +2 -2
  293. package/dist/chunks/{NcHeaderButton-KtkQRinp.cjs.map → NcHeaderButton-BndVfb3e.cjs.map} +1 -1
  294. package/dist/chunks/{NcHeaderButton-BI15lyn_.mjs → NcHeaderButton-GtIbBhEd.mjs} +2 -2
  295. package/dist/chunks/{NcHeaderButton-BI15lyn_.mjs.map → NcHeaderButton-GtIbBhEd.mjs.map} +1 -1
  296. package/dist/chunks/{NcHeaderMenu-Bl4_eT2K.cjs → NcHeaderMenu-DUQ4pqU-.cjs} +2 -2
  297. package/dist/chunks/{NcHeaderMenu-Bl4_eT2K.cjs.map → NcHeaderMenu-DUQ4pqU-.cjs.map} +1 -1
  298. package/dist/chunks/{NcHeaderMenu-B2gYavD4.mjs → NcHeaderMenu-elBE_Ukl.mjs} +2 -2
  299. package/dist/chunks/{NcHeaderMenu-B2gYavD4.mjs.map → NcHeaderMenu-elBE_Ukl.mjs.map} +1 -1
  300. package/dist/chunks/{NcInputConfirmCancel-Ckda9G9Z.cjs → NcInputConfirmCancel-CEZVhgJR.cjs} +9 -5
  301. package/dist/chunks/NcInputConfirmCancel-CEZVhgJR.cjs.map +1 -0
  302. package/dist/chunks/{NcInputConfirmCancel-BvYpvopv.mjs → NcInputConfirmCancel-CwuZqsuC.mjs} +9 -5
  303. package/dist/chunks/NcInputConfirmCancel-CwuZqsuC.mjs.map +1 -0
  304. package/dist/chunks/{NcInputField-DDgBZ427.cjs → NcInputField-Brpn446B.cjs} +3 -3
  305. package/dist/chunks/{NcInputField-DDgBZ427.cjs.map → NcInputField-Brpn446B.cjs.map} +1 -1
  306. package/dist/chunks/{NcInputField-Cfm1bJR4.mjs → NcInputField-i4Z8nb4b.mjs} +3 -3
  307. package/dist/chunks/{NcInputField-Cfm1bJR4.mjs.map → NcInputField-i4Z8nb4b.mjs.map} +1 -1
  308. package/dist/chunks/{NcListItem-BLbG7272.cjs → NcListItem-C-e9iA9w.cjs} +2 -2
  309. package/dist/chunks/{NcListItem-BLbG7272.cjs.map → NcListItem-C-e9iA9w.cjs.map} +1 -1
  310. package/dist/chunks/{NcListItem-RKTfRg06.mjs → NcListItem-CaosvdEe.mjs} +2 -2
  311. package/dist/chunks/{NcListItem-RKTfRg06.mjs.map → NcListItem-CaosvdEe.mjs.map} +1 -1
  312. package/dist/chunks/{NcListItemIcon-CQzyGLEI.cjs → NcListItemIcon-BQ0f65Vg.cjs} +2 -2
  313. package/dist/chunks/{NcListItemIcon-CQzyGLEI.cjs.map → NcListItemIcon-BQ0f65Vg.cjs.map} +1 -1
  314. package/dist/chunks/{NcListItemIcon-D49wESTI.mjs → NcListItemIcon-DCKYv8Jr.mjs} +2 -2
  315. package/dist/chunks/{NcListItemIcon-D49wESTI.mjs.map → NcListItemIcon-DCKYv8Jr.mjs.map} +1 -1
  316. package/dist/chunks/{NcPasswordField-lE4m20vf.mjs → NcPasswordField-D4OFjLza.mjs} +7 -8
  317. package/dist/chunks/NcPasswordField-D4OFjLza.mjs.map +1 -0
  318. package/dist/chunks/{NcPasswordField-DNuolayr.cjs → NcPasswordField-PQt7wMbW.cjs} +7 -8
  319. package/dist/chunks/NcPasswordField-PQt7wMbW.cjs.map +1 -0
  320. package/dist/chunks/{NcRelatedResourcesPanel-C2sLodV8.mjs → NcRelatedResourcesPanel-I2ZOB3cx.mjs} +7 -7
  321. package/dist/chunks/{NcRelatedResourcesPanel-C2sLodV8.mjs.map → NcRelatedResourcesPanel-I2ZOB3cx.mjs.map} +1 -1
  322. package/dist/chunks/{NcRelatedResourcesPanel-Dge9WXUM.cjs → NcRelatedResourcesPanel-l1AlGr83.cjs} +7 -7
  323. package/dist/chunks/{NcRelatedResourcesPanel-Dge9WXUM.cjs.map → NcRelatedResourcesPanel-l1AlGr83.cjs.map} +1 -1
  324. package/dist/chunks/{NcRichContenteditable-SA1zbfkk.mjs → NcRichContenteditable-8ZA_LArB.mjs} +21 -19
  325. package/dist/chunks/NcRichContenteditable-8ZA_LArB.mjs.map +1 -0
  326. package/dist/chunks/{NcRichContenteditable-Bh-mMIQz.cjs → NcRichContenteditable-DZjIiOKo.cjs} +21 -19
  327. package/dist/chunks/NcRichContenteditable-DZjIiOKo.cjs.map +1 -0
  328. package/dist/chunks/{NcRichText-rNfwY_Oc.mjs → NcRichText-ByLPwUvM.mjs} +337 -325
  329. package/dist/chunks/NcRichText-ByLPwUvM.mjs.map +1 -0
  330. package/dist/chunks/{NcRichText-B1Fyj7k8.cjs → NcRichText-pqvg5l27.cjs} +338 -327
  331. package/dist/chunks/NcRichText-pqvg5l27.cjs.map +1 -0
  332. package/dist/chunks/{NcSelect-1P3nA044.cjs → NcSelect-BCcSawYf.cjs} +3 -3
  333. package/dist/chunks/{NcSelect-1P3nA044.cjs.map → NcSelect-BCcSawYf.cjs.map} +1 -1
  334. package/dist/chunks/{NcSelect-CbWXsDdZ.mjs → NcSelect-CHc1QupB.mjs} +3 -3
  335. package/dist/chunks/{NcSelect-CbWXsDdZ.mjs.map → NcSelect-CHc1QupB.mjs.map} +1 -1
  336. package/dist/chunks/{NcSelectTags-CqVn5iU9.mjs → NcSelectTags-Bokig7ar.mjs} +2 -2
  337. package/dist/chunks/{NcSelectTags-CqVn5iU9.mjs.map → NcSelectTags-Bokig7ar.mjs.map} +1 -1
  338. package/dist/chunks/{NcSelectTags-D0fZXXmB.cjs → NcSelectTags-uU_mHbSm.cjs} +2 -2
  339. package/dist/chunks/{NcSelectTags-D0fZXXmB.cjs.map → NcSelectTags-uU_mHbSm.cjs.map} +1 -1
  340. package/dist/chunks/{NcSelectUsers-DGnn4yBW.mjs → NcSelectUsers-B4w9UC_d.mjs} +3 -3
  341. package/dist/chunks/{NcSelectUsers-DGnn4yBW.mjs.map → NcSelectUsers-B4w9UC_d.mjs.map} +1 -1
  342. package/dist/chunks/{NcSelectUsers-BuehmXvD.cjs → NcSelectUsers-BB9ZIHeB.cjs} +3 -3
  343. package/dist/chunks/{NcSelectUsers-BuehmXvD.cjs.map → NcSelectUsers-BB9ZIHeB.cjs.map} +1 -1
  344. package/dist/chunks/{NcSettingsSelectGroup-BaSHNm1x.mjs → NcSettingsSelectGroup-BdXf7ytX.mjs} +2 -2
  345. package/dist/chunks/{NcSettingsSelectGroup-BaSHNm1x.mjs.map → NcSettingsSelectGroup-BdXf7ytX.mjs.map} +1 -1
  346. package/dist/chunks/{NcSettingsSelectGroup-CUQtMkR1.cjs → NcSettingsSelectGroup-BtNFBX1V.cjs} +2 -2
  347. package/dist/chunks/{NcSettingsSelectGroup-CUQtMkR1.cjs.map → NcSettingsSelectGroup-BtNFBX1V.cjs.map} +1 -1
  348. package/dist/chunks/{NcTextArea-UKiTMLga.cjs → NcTextArea-B9Vn3rQC.cjs} +2 -2
  349. package/dist/chunks/{NcTextArea-UKiTMLga.cjs.map → NcTextArea-B9Vn3rQC.cjs.map} +1 -1
  350. package/dist/chunks/{NcTextArea-fGUiK7p2.mjs → NcTextArea-DPJWqlJb.mjs} +2 -2
  351. package/dist/chunks/{NcTextArea-fGUiK7p2.mjs.map → NcTextArea-DPJWqlJb.mjs.map} +1 -1
  352. package/dist/chunks/{NcTextField-CkW-dl88.cjs → NcTextField-B92lM77I.cjs} +2 -2
  353. package/dist/chunks/{NcTextField-CkW-dl88.cjs.map → NcTextField-B92lM77I.cjs.map} +1 -1
  354. package/dist/chunks/{NcTextField-DZHP0Dfw.mjs → NcTextField-Czr9S6YO.mjs} +2 -2
  355. package/dist/chunks/{NcTextField-DZHP0Dfw.mjs.map → NcTextField-Czr9S6YO.mjs.map} +1 -1
  356. package/dist/chunks/{NcTimezonePicker-CI4FEzzK.cjs → NcTimezonePicker-D2e7hW-Z.cjs} +2 -2
  357. package/dist/chunks/{NcTimezonePicker-CI4FEzzK.cjs.map → NcTimezonePicker-D2e7hW-Z.cjs.map} +1 -1
  358. package/dist/chunks/{NcTimezonePicker-w7XtRhLb.mjs → NcTimezonePicker-n9kr9A4o.mjs} +2 -2
  359. package/dist/chunks/{NcTimezonePicker-w7XtRhLb.mjs.map → NcTimezonePicker-n9kr9A4o.mjs.map} +1 -1
  360. package/dist/chunks/{NcUserBubble-CIOqCO9S.mjs → NcUserBubble-BGfZAi4c.mjs} +2 -2
  361. package/dist/chunks/{NcUserBubble-CIOqCO9S.mjs.map → NcUserBubble-BGfZAi4c.mjs.map} +1 -1
  362. package/dist/chunks/{NcUserBubble-DTcWIk4G.cjs → NcUserBubble-CNQJUk2l.cjs} +2 -2
  363. package/dist/chunks/{NcUserBubble-DTcWIk4G.cjs.map → NcUserBubble-CNQJUk2l.cjs.map} +1 -1
  364. package/dist/chunks/{NcUserStatusIcon-Bw0m9Xza.cjs → NcUserStatusIcon-BnGtoiCy.cjs} +2 -2
  365. package/dist/chunks/{NcUserStatusIcon-Bw0m9Xza.cjs.map → NcUserStatusIcon-BnGtoiCy.cjs.map} +1 -1
  366. package/dist/chunks/{NcUserStatusIcon-Cq1RnTfF.mjs → NcUserStatusIcon-DdPPN-cP.mjs} +2 -2
  367. package/dist/chunks/{NcUserStatusIcon-Cq1RnTfF.mjs.map → NcUserStatusIcon-DdPPN-cP.mjs.map} +1 -1
  368. package/dist/chunks/{ScopeComponent-DvT_N_X8.mjs → ScopeComponent-77Az-4PS.mjs} +2 -2
  369. package/dist/chunks/{ScopeComponent-DvT_N_X8.mjs.map → ScopeComponent-77Az-4PS.mjs.map} +1 -1
  370. package/dist/chunks/{ScopeComponent-CjjPkFe1.cjs → ScopeComponent-BLaRYUFv.cjs} +2 -2
  371. package/dist/chunks/{ScopeComponent-CjjPkFe1.cjs.map → ScopeComponent-BLaRYUFv.cjs.map} +1 -1
  372. package/dist/chunks/{autolink-D2pIbi92.mjs → autolink-CeB9uxD9.mjs} +56 -21
  373. package/dist/chunks/autolink-CeB9uxD9.mjs.map +1 -0
  374. package/dist/chunks/{autolink-BPlRHRHR.cjs → autolink-VQMuzjxl.cjs} +57 -22
  375. package/dist/chunks/autolink-VQMuzjxl.cjs.map +1 -0
  376. package/dist/chunks/{colors-BmzDi7by.mjs → colors-Bp0JzIQ4.mjs} +5 -1
  377. package/dist/chunks/{colors-BmzDi7by.mjs.map → colors-Bp0JzIQ4.mjs.map} +1 -1
  378. package/dist/chunks/{colors-CND3oL8e.cjs → colors-CyIwf6gH.cjs} +5 -1
  379. package/dist/chunks/{colors-CND3oL8e.cjs.map → colors-CyIwf6gH.cjs.map} +1 -1
  380. package/dist/chunks/{emoji-BgZdRy3v.mjs → emoji-Dtn2mDf7.mjs} +2 -2
  381. package/dist/chunks/emoji-Dtn2mDf7.mjs.map +1 -0
  382. package/dist/chunks/{emoji-CEwczMT5.cjs → emoji-aWWWqkrJ.cjs} +2 -2
  383. package/dist/chunks/emoji-aWWWqkrJ.cjs.map +1 -0
  384. package/dist/chunks/{getAvatarUrl-Du9Y3cPO.cjs → getAvatarUrl-4HsuXa3l.cjs} +2 -2
  385. package/dist/chunks/{getAvatarUrl-Du9Y3cPO.cjs.map → getAvatarUrl-4HsuXa3l.cjs.map} +1 -1
  386. package/dist/chunks/{getAvatarUrl-IhLacDEr.mjs → getAvatarUrl-BGOeDmNO.mjs} +2 -2
  387. package/dist/chunks/{getAvatarUrl-IhLacDEr.mjs.map → getAvatarUrl-BGOeDmNO.mjs.map} +1 -1
  388. package/dist/chunks/{index-TmAR7I2T.mjs → index-BCqXu_og.mjs} +2 -2
  389. package/dist/chunks/{index-TmAR7I2T.mjs.map → index-BCqXu_og.mjs.map} +1 -1
  390. package/dist/chunks/{index-CgkN1xho.cjs → index-phHwkniW.cjs} +2 -2
  391. package/dist/chunks/{index-CgkN1xho.cjs.map → index-phHwkniW.cjs.map} +1 -1
  392. package/dist/chunks/legacy-Bk0qQxIg.cjs +8 -0
  393. package/dist/chunks/legacy-Bk0qQxIg.cjs.map +1 -0
  394. package/dist/chunks/legacy-DV3mGZdh.mjs +9 -0
  395. package/dist/chunks/legacy-DV3mGZdh.mjs.map +1 -0
  396. package/dist/chunks/{referencePickerModal-DD_GM6xV.mjs → referencePickerModal-B69WouiU.mjs} +6 -6
  397. package/dist/chunks/{referencePickerModal-DD_GM6xV.mjs.map → referencePickerModal-B69WouiU.mjs.map} +1 -1
  398. package/dist/chunks/{referencePickerModal-hGj81_Th.cjs → referencePickerModal-BGYbZYrX.cjs} +6 -6
  399. package/dist/chunks/{referencePickerModal-hGj81_Th.cjs.map → referencePickerModal-BGYbZYrX.cjs.map} +1 -1
  400. package/dist/index.cjs +55 -55
  401. package/dist/index.mjs +57 -57
  402. package/dist/utils/legacy.d.ts +1 -0
  403. package/dist/vendor.LICENSE.txt +4 -8
  404. package/package.json +15 -15
  405. package/dist/assets/NcAppSettingsDialog-N2RJYgHo.css +0 -103
  406. package/dist/assets/NcInputConfirmCancel-CkhRZCfD.css +0 -39
  407. package/dist/chunks/NcActionButton-1gSJfFUC.mjs.map +0 -1
  408. package/dist/chunks/NcActionButton-C5Dqge0c.cjs.map +0 -1
  409. package/dist/chunks/NcActionButtonGroup-CpZDTAQo.cjs.map +0 -1
  410. package/dist/chunks/NcActionButtonGroup-eZxqibUd.mjs.map +0 -1
  411. package/dist/chunks/NcActionInput-UPwE2Dky.mjs.map +0 -1
  412. package/dist/chunks/NcActionInput-eAmBylEO.cjs.map +0 -1
  413. package/dist/chunks/NcActionTextEditable-CIsAP-pp.mjs.map +0 -1
  414. package/dist/chunks/NcActionTextEditable-RFLtWxrl.cjs.map +0 -1
  415. package/dist/chunks/NcActions-BSDvtMJD.cjs.map +0 -1
  416. package/dist/chunks/NcActions-BcLis_nr.mjs.map +0 -1
  417. package/dist/chunks/NcAppNavigation-BfzJA6cb.mjs.map +0 -1
  418. package/dist/chunks/NcAppNavigation-D2Ds_2Dm.cjs.map +0 -1
  419. package/dist/chunks/NcAppNavigationItem-D30ztZfZ.mjs.map +0 -1
  420. package/dist/chunks/NcAppNavigationItem-Dc5Vdhb1.cjs.map +0 -1
  421. package/dist/chunks/NcAppSettingsDialog-Ckf6dRRJ.cjs.map +0 -1
  422. package/dist/chunks/NcAppSettingsDialog-vBeCGFqk.mjs.map +0 -1
  423. package/dist/chunks/NcAppSidebar-CPHVBBe0.cjs.map +0 -1
  424. package/dist/chunks/NcAppSidebar-Cx0PlofZ.mjs.map +0 -1
  425. package/dist/chunks/NcButton-BaZAY-tN.mjs.map +0 -1
  426. package/dist/chunks/NcButton-Dszi1Apb.cjs.map +0 -1
  427. package/dist/chunks/NcInputConfirmCancel-BvYpvopv.mjs.map +0 -1
  428. package/dist/chunks/NcInputConfirmCancel-Ckda9G9Z.cjs.map +0 -1
  429. package/dist/chunks/NcPasswordField-DNuolayr.cjs.map +0 -1
  430. package/dist/chunks/NcPasswordField-lE4m20vf.mjs.map +0 -1
  431. package/dist/chunks/NcRichContenteditable-Bh-mMIQz.cjs.map +0 -1
  432. package/dist/chunks/NcRichContenteditable-SA1zbfkk.mjs.map +0 -1
  433. package/dist/chunks/NcRichText-B1Fyj7k8.cjs.map +0 -1
  434. package/dist/chunks/NcRichText-rNfwY_Oc.mjs.map +0 -1
  435. package/dist/chunks/autolink-BPlRHRHR.cjs.map +0 -1
  436. package/dist/chunks/autolink-D2pIbi92.mjs.map +0 -1
  437. package/dist/chunks/emoji-BgZdRy3v.mjs.map +0 -1
  438. package/dist/chunks/emoji-CEwczMT5.cjs.map +0 -1
  439. package/dist/chunks/legacy-KBXhWdRy.cjs +0 -5
  440. package/dist/chunks/legacy-KBXhWdRy.cjs.map +0 -1
  441. package/dist/chunks/legacy-MK4GvP26.mjs +0 -6
  442. package/dist/chunks/legacy-MK4GvP26.mjs.map +0 -1
@@ -3,7 +3,7 @@ import axios from "@nextcloud/axios";
3
3
  import { getCapabilities } from "@nextcloud/capabilities";
4
4
  import { generateOcsUrl } from "@nextcloud/router";
5
5
  import { r as register, W as t53, X as t11, a as t } from "./_l10n-DVz9Qdzk.mjs";
6
- import { i as isLegacy32 } from "./legacy-MK4GvP26.mjs";
6
+ import { a as isLegacy32 } from "./legacy-DV3mGZdh.mjs";
7
7
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
8
8
  const awayLegacySvg = '<!--\n - SPDX-FileCopyrightText: 2020 Google Inc.\n - SPDX-License-Identifier: Apache-2.0\n-->\n<svg viewBox="-1 -1 18 18" 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';
9
9
  const awaySvg = '<!--\n - SPDX-FileCopyrightText: 2020 Google Inc.\n - SPDX-License-Identifier: Apache-2.0\n-->\n<svg viewBox="0 -960 960 960" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">\n <path\n fill="var(--user-status-color-away, var(--color-warning, #C88800))"\n d="m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"/>\n</svg>\n';
@@ -141,4 +141,4 @@ export {
141
141
  NcUserStatusIcon as N,
142
142
  getUserStatusText as g
143
143
  };
144
- //# sourceMappingURL=NcUserStatusIcon-Cq1RnTfF.mjs.map
144
+ //# sourceMappingURL=NcUserStatusIcon-DdPPN-cP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserStatusIcon-Cq1RnTfF.mjs","sources":["../../src/assets/status-icons/user-status-away-legacy.svg?raw","../../src/assets/status-icons/user-status-away.svg?raw","../../src/assets/status-icons/user-status-busy.svg?raw","../../src/assets/status-icons/user-status-dnd-legacy.svg?raw","../../src/assets/status-icons/user-status-dnd.svg?raw","../../src/assets/status-icons/user-status-invisible-legacy.svg?raw","../../src/assets/status-icons/user-status-invisible.svg?raw","../../src/assets/status-icons/user-status-online-legacy.svg?raw","../../src/assets/status-icons/user-status-online.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=\\\"-1 -1 18 18\\\" 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 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-away, var(--color-warning, #C88800))\\\"\\n\\t\\td=\\\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"-1 -1 18 18\\\" 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-border-error, 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 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M280-440h400v-80H280v80ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"-1 -1 18 18\\\" 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\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-offline, var(--color-text-maxcontrast, #6B6B6B))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"-1 -1 18 18\\\" 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 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-online, var(--color-success, #2D7B41))\\\"\\n\\t\\td=\\\"m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\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\n/**\n * Get the translated label for a given user status\n *\n * @param status - The user status\n */\nexport function getUserStatusText(status: Status): string {\n\tswitch (status) {\n\t\tcase 'away': return t('away') // TRANSLATORS: User status if the user is currently away from keyboard\n\t\tcase 'busy': return t('busy')\n\t\tcase 'dnd': return t('do not disturb')\n\t\tcase 'online': return t('online')\n\t\tcase 'invisible': return t('invisible')\n\t\tcase 'offline': return t('offline')\n\t\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=\"flex\">\n\t\t<div class=\"grid\">\n\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t<span>Online</span>\n\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t<span>Away</span>\n\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t<span>Busy</span>\n\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t<span>Do not disturb</span>\n\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t<span>Invisible</span>\n\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t<span>Offline</span>\n\t\t</div>\n\n\t\t<NcThemeProvider dark>\n\t\t\t<div class=\"grid\">\n\t\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t\t<span>Online</span>\n\t\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t\t<span>Away</span>\n\t\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t\t<span>Busy</span>\n\t\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t\t<span>Do not disturb</span>\n\t\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t\t<span>Invisible</span>\n\t\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t\t<span>Offline</span>\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</div>\n</template>\n\n<style>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: 20px 1fr;\n\tgap: 8px;\n\talign-items: center;\n\tpadding: 4px;\n\twidth: fit-content;\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span\n\t\tv-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 { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport awayLegacySvg from '../../assets/status-icons/user-status-away-legacy.svg?raw'\nimport awaySvg from '../../assets/status-icons/user-status-away.svg?raw'\nimport busySvg from '../../assets/status-icons/user-status-busy.svg?raw'\nimport dndLegacySvg from '../../assets/status-icons/user-status-dnd-legacy.svg?raw'\nimport dndSvg from '../../assets/status-icons/user-status-dnd.svg?raw'\nimport invisibleLegacySvg from '../../assets/status-icons/user-status-invisible-legacy.svg?raw'\nimport invisibleSvg from '../../assets/status-icons/user-status-invisible.svg?raw'\nimport onlineLegacySvg from '../../assets/status-icons/user-status-online-legacy.svg?raw'\nimport onlineSvg from '../../assets/status-icons/user-status-online.svg?raw'\nimport { t } from '../../l10n.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\n\nconst matchSvg = {\n\tonline: isLegacy32 ? onlineLegacySvg : onlineSvg,\n\taway: isLegacy32 ? awayLegacySvg : awaySvg,\n\tbusy: isLegacy32 ? awayLegacySvg : busySvg,\n\tdnd: isLegacy32 ? dndLegacySvg : dndSvg,\n\tinvisible: isLegacy32 ? invisibleLegacySvg : invisibleSvg,\n\toffline: isLegacy32 ? invisibleLegacySvg : invisibleSvg,\n}\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\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) {\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 {\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\t// Custom colors for the svg icons, to not rely on server variables\n\t--user-status-color-online: #2D7B41;\n\t--user-status-color-busy: #DB0606;\n\t--user-status-color-away: #C88800;\n\t--user-status-color-offline: #6B6B6B;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\n\t&--invisible {\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t:deep(svg) {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;;;;AAAA,MAAA,gBAAe;ACAf,MAAA,UAAe;ACAf,MAAA,UAAe;ACAf,MAAA,eAAe;ACAf,MAAA,SAAe;ACAf,MAAA,qBAAe;ACAf,MAAA,eAAe;ACAf,MAAA,kBAAe;ACAf,MAAA,YAAe;;;ACcR,SAAS,kBAAkB,QAAwB;AACzD,UAAQ,QAAA;AAAA,IACP,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA;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;AAAS,aAAO;AAAA,EAAA;AAElB;AC2EA,MAAA,WAAA;AAAA,EACA,QAAA,aAAA,kBAAA;AAAA,EACA,MAAA,aAAA,gBAAA;AAAA,EACA,MAAA,aAAA,gBAAA;AAAA,EACA,KAAA,aAAA,eAAA;AAAA,EACA,WAAA,aAAA,qBAAA;AAAA,EACA,SAAA,aAAA,qBAAA;AACA;AAEA,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,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,EAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA,QAAA,MAAA;AACA,YAAA,CAAA,QAAA,CAAA,gBAAA,GAAA,aAAA,SAAA;AACA,eAAA,oBAAA;AACA;AAAA,QACA;AACA,YAAA;AACA,gBAAA,EAAA,KAAA,IAAA,MAAA,MAAA,IAAA,eAAA,4CAAA,EAAA,MAAA,CAAA;AACA,eAAA,oBAAA,KAAA,KAAA,MAAA;AAAA,QACA,QAAA;AACA,eAAA,oBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcUserStatusIcon-DdPPN-cP.mjs","sources":["../../src/assets/status-icons/user-status-away-legacy.svg?raw","../../src/assets/status-icons/user-status-away.svg?raw","../../src/assets/status-icons/user-status-busy.svg?raw","../../src/assets/status-icons/user-status-dnd-legacy.svg?raw","../../src/assets/status-icons/user-status-dnd.svg?raw","../../src/assets/status-icons/user-status-invisible-legacy.svg?raw","../../src/assets/status-icons/user-status-invisible.svg?raw","../../src/assets/status-icons/user-status-online-legacy.svg?raw","../../src/assets/status-icons/user-status-online.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=\\\"-1 -1 18 18\\\" 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 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-away, var(--color-warning, #C88800))\\\"\\n\\t\\td=\\\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"-1 -1 18 18\\\" 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-border-error, 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 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M280-440h400v-80H280v80ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"-1 -1 18 18\\\" 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\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-offline, var(--color-text-maxcontrast, #6B6B6B))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"-1 -1 18 18\\\" 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 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-online, var(--color-success, #2D7B41))\\\"\\n\\t\\td=\\\"m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\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\n/**\n * Get the translated label for a given user status\n *\n * @param status - The user status\n */\nexport function getUserStatusText(status: Status): string {\n\tswitch (status) {\n\t\tcase 'away': return t('away') // TRANSLATORS: User status if the user is currently away from keyboard\n\t\tcase 'busy': return t('busy')\n\t\tcase 'dnd': return t('do not disturb')\n\t\tcase 'online': return t('online')\n\t\tcase 'invisible': return t('invisible')\n\t\tcase 'offline': return t('offline')\n\t\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=\"flex\">\n\t\t<div class=\"grid\">\n\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t<span>Online</span>\n\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t<span>Away</span>\n\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t<span>Busy</span>\n\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t<span>Do not disturb</span>\n\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t<span>Invisible</span>\n\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t<span>Offline</span>\n\t\t</div>\n\n\t\t<NcThemeProvider dark>\n\t\t\t<div class=\"grid\">\n\t\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t\t<span>Online</span>\n\t\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t\t<span>Away</span>\n\t\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t\t<span>Busy</span>\n\t\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t\t<span>Do not disturb</span>\n\t\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t\t<span>Invisible</span>\n\t\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t\t<span>Offline</span>\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</div>\n</template>\n\n<style>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: 20px 1fr;\n\tgap: 8px;\n\talign-items: center;\n\tpadding: 4px;\n\twidth: fit-content;\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span\n\t\tv-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 { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport awayLegacySvg from '../../assets/status-icons/user-status-away-legacy.svg?raw'\nimport awaySvg from '../../assets/status-icons/user-status-away.svg?raw'\nimport busySvg from '../../assets/status-icons/user-status-busy.svg?raw'\nimport dndLegacySvg from '../../assets/status-icons/user-status-dnd-legacy.svg?raw'\nimport dndSvg from '../../assets/status-icons/user-status-dnd.svg?raw'\nimport invisibleLegacySvg from '../../assets/status-icons/user-status-invisible-legacy.svg?raw'\nimport invisibleSvg from '../../assets/status-icons/user-status-invisible.svg?raw'\nimport onlineLegacySvg from '../../assets/status-icons/user-status-online-legacy.svg?raw'\nimport onlineSvg from '../../assets/status-icons/user-status-online.svg?raw'\nimport { t } from '../../l10n.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\n\nconst matchSvg = {\n\tonline: isLegacy32 ? onlineLegacySvg : onlineSvg,\n\taway: isLegacy32 ? awayLegacySvg : awaySvg,\n\tbusy: isLegacy32 ? awayLegacySvg : busySvg,\n\tdnd: isLegacy32 ? dndLegacySvg : dndSvg,\n\tinvisible: isLegacy32 ? invisibleLegacySvg : invisibleSvg,\n\toffline: isLegacy32 ? invisibleLegacySvg : invisibleSvg,\n}\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\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) {\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 {\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\t// Custom colors for the svg icons, to not rely on server variables\n\t--user-status-color-online: #2D7B41;\n\t--user-status-color-busy: #DB0606;\n\t--user-status-color-away: #C88800;\n\t--user-status-color-offline: #6B6B6B;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\n\t&--invisible {\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t:deep(svg) {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;;;;AAAA,MAAA,gBAAe;ACAf,MAAA,UAAe;ACAf,MAAA,UAAe;ACAf,MAAA,eAAe;ACAf,MAAA,SAAe;ACAf,MAAA,qBAAe;ACAf,MAAA,eAAe;ACAf,MAAA,kBAAe;ACAf,MAAA,YAAe;;;ACcR,SAAS,kBAAkB,QAAwB;AACzD,UAAQ,QAAA;AAAA,IACP,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA;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;AAAS,aAAO;AAAA,EAAA;AAElB;AC2EA,MAAA,WAAA;AAAA,EACA,QAAA,aAAA,kBAAA;AAAA,EACA,MAAA,aAAA,gBAAA;AAAA,EACA,MAAA,aAAA,gBAAA;AAAA,EACA,KAAA,aAAA,eAAA;AAAA,EACA,WAAA,aAAA,qBAAA;AAAA,EACA,SAAA,aAAA,qBAAA;AACA;AAEA,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,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,EAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA,QAAA,MAAA;AACA,YAAA,CAAA,QAAA,CAAA,gBAAA,GAAA,aAAA,SAAA;AACA,eAAA,oBAAA;AACA;AAAA,QACA;AACA,YAAA;AACA,gBAAA,EAAA,KAAA,IAAA,MAAA,MAAA,IAAA,eAAA,4CAAA,EAAA,MAAA,CAAA;AACA,eAAA,oBAAA,KAAA,KAAA,MAAA;AAAA,QACA,QAAA;AACA,eAAA,oBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
@@ -5,10 +5,10 @@ function ScopeComponent(Component) {
5
5
  Component.mounted = [Component.mounted];
6
6
  }
7
7
  Component.mounted.push(function() {
8
- this.$el.setAttribute(`data-v-${"5c3de0a"}`, "");
8
+ this.$el.setAttribute(`data-v-${"1e35ee1"}`, "");
9
9
  });
10
10
  }
11
11
  export {
12
12
  ScopeComponent as S
13
13
  };
14
- //# sourceMappingURL=ScopeComponent-DvT_N_X8.mjs.map
14
+ //# sourceMappingURL=ScopeComponent-77Az-4PS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeComponent-DvT_N_X8.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\n/**\n * Manually apply mixing to add data-v-SCOPE attribute on a component's root\n *\n * @param {import('vue').Component} Component - Vue component\n */\nfunction 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":"AAUA,SAAS,eAAe,WAAW;AAElC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAA;AAAA,EACrB,WAAW,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACvC;AAGA,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,SAAa,IAAI,EAAE;AAAA,EACpD,CAAC;AACF;"}
1
+ {"version":3,"file":"ScopeComponent-77Az-4PS.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\n/**\n * Manually apply mixing to add data-v-SCOPE attribute on a component's root\n *\n * @param {import('vue').Component} Component - Vue component\n */\nfunction 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":"AAUA,SAAS,eAAe,WAAW;AAElC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAA;AAAA,EACrB,WAAW,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACvC;AAGA,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,SAAa,IAAI,EAAE;AAAA,EACpD,CAAC;AACF;"}
@@ -6,8 +6,8 @@ function ScopeComponent(Component) {
6
6
  Component.mounted = [Component.mounted];
7
7
  }
8
8
  Component.mounted.push(function() {
9
- this.$el.setAttribute(`data-v-${"5c3de0a"}`, "");
9
+ this.$el.setAttribute(`data-v-${"1e35ee1"}`, "");
10
10
  });
11
11
  }
12
12
  exports.ScopeComponent = ScopeComponent;
13
- //# sourceMappingURL=ScopeComponent-CjjPkFe1.cjs.map
13
+ //# sourceMappingURL=ScopeComponent-BLaRYUFv.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeComponent-CjjPkFe1.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\n/**\n * Manually apply mixing to add data-v-SCOPE attribute on a component's root\n *\n * @param {import('vue').Component} Component - Vue component\n */\nfunction 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":";AAUA,SAAS,eAAe,WAAW;AAElC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAA;AAAA,EACrB,WAAW,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACvC;AAGA,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,SAAa,IAAI,EAAE;AAAA,EACpD,CAAC;AACF;;"}
1
+ {"version":3,"file":"ScopeComponent-BLaRYUFv.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\n/**\n * Manually apply mixing to add data-v-SCOPE attribute on a component's root\n *\n * @param {import('vue').Component} Component - Vue component\n */\nfunction 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":";AAUA,SAAS,eAAe,WAAW;AAElC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAA;AAAA,EACrB,WAAW,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACvC;AAGA,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,SAAa,IAAI,EAAE;AAAA,EACpD,CAAC;AACF;;"}
@@ -1,34 +1,68 @@
1
+ import '../assets/autolink-KPdaBewQ.css';
1
2
  import { getBaseUrl, getRootUrl } from "@nextcloud/router";
2
3
  import { u } from "unist-builder";
3
- import { visit, SKIP } from "unist-util-visit";
4
+ import { visitParents, SKIP } from "unist-util-visit-parents";
5
+ import { defineComponent } from "vue";
6
+ import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
4
7
  import { l as logger } from "./logger-D3RVzcfQ.mjs";
5
- const URL_PATTERN = /(\s|^)(https?:\/\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/ig;
6
- const URL_PATTERN_AUTOLINK = /(\s|\(|^)((https?:\/\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/ig;
7
- const NcLink = {
8
- name: "NcLink",
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "NcRichTextExternalLink",
9
10
  props: {
10
- href: {
11
- type: String,
12
- required: true
13
- }
11
+ href: null,
12
+ decorateExternal: { type: Boolean }
14
13
  },
15
- render(h) {
16
- return h("a", {
17
- attrs: {
18
- href: this.href,
19
- rel: "noopener noreferrer",
20
- target: "_blank",
21
- class: "rich-text--external-link"
22
- }
23
- }, [this.href.trim()]);
14
+ setup(__props) {
15
+ const { href, decorateExternal = false } = __props;
16
+ return { __sfc: true };
24
17
  }
18
+ });
19
+ const externalLink = "_externalLink_13JXa";
20
+ const externalLink_decorated = "_externalLink_decorated_-4s4L";
21
+ const style0 = {
22
+ "material-design-icon": "_material-design-icon_0S7Ib",
23
+ externalLink,
24
+ externalLink_decorated
25
+ };
26
+ var _sfc_render = function render() {
27
+ var _vm = this, _c = _vm._self._c;
28
+ _vm._self._setupProxy;
29
+ return _c("a", { class: [_vm.$style.externalLink, {
30
+ [_vm.$style.externalLink_decorated]: _vm.decorateExternal
31
+ }], attrs: { "href": _vm.href, "rel": "noopener noreferrer", "target": "_blank" } }, [_vm._t("default", function() {
32
+ return [_vm._v(_vm._s(_vm.href))];
33
+ })], 2);
34
+ };
35
+ var _sfc_staticRenderFns = [];
36
+ const __cssModules = {
37
+ "$style": style0
25
38
  };
39
+ function _sfc_injectStyles(ctx) {
40
+ for (var key in __cssModules) {
41
+ this[key] = __cssModules[key];
42
+ }
43
+ }
44
+ var __component__ = /* @__PURE__ */ normalizeComponent(
45
+ _sfc_main,
46
+ _sfc_render,
47
+ _sfc_staticRenderFns,
48
+ false,
49
+ _sfc_injectStyles,
50
+ null
51
+ );
52
+ const NcRichTextExternalLink = __component__.exports;
53
+ const URL_PATTERN = /(\s|^)(https?:\/\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/ig;
54
+ const URL_PATTERN_AUTOLINK = /(\s|\(|^)((https?:\/\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/ig;
26
55
  function remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {
27
56
  return function(tree) {
28
57
  if (useExtendedMarkdown || !useMarkdown || !autolink) {
29
58
  return;
30
59
  }
31
- visit(tree, (node) => node.type === "text", (node, index, parent) => {
60
+ visitParents(tree, (node) => node.type === "text", (node, ancestors) => {
61
+ if (ancestors.some((ancestor) => ancestor.type === "link" || ancestor.type === "linkReference")) {
62
+ return;
63
+ }
64
+ const parent = ancestors.at(-1);
65
+ const index = parent.children.indexOf(node) ?? 0;
32
66
  let parsed = parseUrl(node.value);
33
67
  parsed = parsed.map((n) => {
34
68
  if (typeof n === "string") {
@@ -61,7 +95,7 @@ function parseUrl(text) {
61
95
  textAfter = lastChar;
62
96
  }
63
97
  list.push(textBefore);
64
- list.push({ component: NcLink, props: { href } });
98
+ list.push({ component: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } });
65
99
  if (textAfter) {
66
100
  list.push(textAfter);
67
101
  }
@@ -103,9 +137,10 @@ function getRoute(router, url) {
103
137
  return route.fullPath;
104
138
  }
105
139
  export {
140
+ NcRichTextExternalLink as N,
106
141
  URL_PATTERN as U,
107
142
  getRoute as g,
108
143
  parseUrl as p,
109
144
  remarkAutolink as r
110
145
  };
111
- //# sourceMappingURL=autolink-D2pIbi92.mjs.map
146
+ //# sourceMappingURL=autolink-CeB9uxD9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autolink-CeB9uxD9.mjs","sources":["../../src/components/NcRichText/helpers.js","../../src/components/NcRichText/autolink.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Regex pattern to match links to be resolved by the link-reference provider\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN = /(\\s|^)(https?:\\/\\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig\n\n/**\n * Regex pattern to identify strings as links and then making them clickable\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBaseUrl, getRootUrl } from '@nextcloud/router'\nimport { u } from 'unist-builder'\nimport { SKIP, visitParents } from 'unist-util-visit-parents'\nimport NcRichTextExternalLink from './NcRichTextExternalLink.vue'\nimport { logger } from '../../utils/logger.ts'\nimport { URL_PATTERN_AUTOLINK } from './helpers.js'\n\n/**\n * Remark plugin for autolink parsing\n *\n * @param {object} root0 - Options\n * @param {boolean} root0.autolink - Whether to enable autolink parsing\n * @param {boolean} root0.useMarkdown - Whether markdown is being used\n * @param {boolean} root0.useExtendedMarkdown - Whether extended markdown is being used\n */\nexport function remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {\n\treturn function(tree) {\n\t\t// remark-gfm has its own autolink parser which can not be disabled\n\t\t// and thus a local one is not needed\n\t\tif (useExtendedMarkdown || !useMarkdown || !autolink) {\n\t\t\treturn\n\t\t}\n\n\t\tvisitParents(tree, (node) => node.type === 'text', (node, ancestors) => {\n\t\t\t// Do not autolink text already inside a link node\n\t\t\tif (ancestors.some((ancestor) => ancestor.type === 'link' || ancestor.type === 'linkReference')) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst parent = ancestors.at(-1)\n\t\t\tconst index = parent.children.indexOf(node) ?? 0\n\n\t\t\tlet parsed = parseUrl(node.value)\n\t\t\tparsed = parsed.map((n) => {\n\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\treturn u('text', n)\n\t\t\t\t}\n\n\t\t\t\treturn u('link', {\n\t\t\t\t\turl: n.props.href,\n\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t}).filter((x) => x)\n\n\t\t\tparent.children.splice(index, 1, ...parsed.flat())\n\t\t\treturn [SKIP, index + parsed.flat().length]\n\t\t})\n\t}\n}\n\n/**\n * Parse URLs in text and create link components\n *\n * @param {string} text - Text to parse\n * @return {Array<string | { component: typeof NcLink, props: { href: string } }>} Array of text parts - plain text and description of the link component to use\n */\nexport function parseUrl(text) {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\tconst list = []\n\tlet start = 0\n\twhile (match !== null) {\n\t\tlet href = match[2]\n\t\tlet textAfter\n\t\tlet textBefore = text.substring(start, match.index + match[1].length)\n\t\tif (href[0] === ' ') {\n\t\t\ttextBefore += href[0]\n\t\t\thref = href.substring(1).trim()\n\t\t}\n\t\tconst lastChar = href[(href.length - 1)]\n\t\tif (lastChar === '.' || lastChar === ',' || lastChar === ';' || (match[0][0] === '(' && lastChar === ')')) {\n\t\t\thref = href.substring(0, href.length - 1)\n\t\t\ttextAfter = lastChar\n\t\t}\n\t\tlist.push(textBefore)\n\t\tlist.push({ component: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } })\n\t\tif (textAfter) {\n\t\t\tlist.push(textAfter)\n\t\t}\n\t\tstart = match.index + match[0].length\n\t\tmatch = URL_PATTERN_AUTOLINK.exec(text)\n\t}\n\tlist.push(text.substring(start))\n\tconst joinedText = list.map((item) => typeof item === 'string' ? item : item.props.href).join('')\n\tif (text === joinedText) {\n\t\treturn list\n\t}\n\tlogger.error('Failed to reassemble the chunked text: ' + text)\n\treturn text\n}\n\n/**\n * Try to get path for router link from an absolute or relative URL.\n *\n * @param {import('vue-router').default} router - VueRouter instance of the router link\n * @param {string} url - absolute URL to parse\n * @return {string|null} a path that can be used in the router link or null if this URL doesn't match this router config\n * @example http://cloud.ltd/nextcloud/index.php/apps/files/favorites?fileid=2#fragment => /files/favorites?fileid=2#fragment\n */\nexport function getRoute(router, url) {\n\t/**\n\t * http://cloud.ltd /nextcloud /index.php /apps/files /favorites?fileid=2#fragment\n\t * |_____origin____|___________router-base____________| |\n\t * |__________base____________| |______________relative-url______________|\n\t * | |___root___|_optional_|__app-base__|_________router-path_______|\n\t */\n\n\tconst removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str\n\tconst removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str)\n\n\t// Router is not defined in the app => not an app route\n\tif (!router) {\n\t\treturn null\n\t}\n\n\tconst isAbsoluteURL = /^https?:\\/\\//.test(url)\n\n\t// URL is a \"mailto:\", \"tel:\" or any custom app protocol link\n\tconst isNonHttpLink = /^[a-z][a-z0-9+.-]*:.+/.test(url)\n\tif (!isAbsoluteURL && isNonHttpLink) {\n\t\treturn null\n\t}\n\n\t// URL is not a link to this Nextcloud server instance => not an app route\n\tif (isAbsoluteURL && !url.startsWith(getBaseUrl())) {\n\t\treturn null\n\t}\n\n\tif (!isAbsoluteURL && !url.startsWith('/')) {\n\t\t// Relative URL without a leading slash are not allowed\n\t\t// VueRouter handles such urls according to the URL RFC,\n\t\t// for example, being on /call/abc page, link \"def\" is resolved as \"/call/def\" relative to \"/call/\".\n\t\t// We don't want to support such links,\n\t\t// so relative URL MUST start with a slash.\n\t\treturn null\n\t}\n\n\t// URL relative to the instance root\n\tconst relativeUrl = isAbsoluteURL ? removePrefixes(url, getBaseUrl(), '/index.php') : url\n\n\t// Router base relative to the instance root (app-base above)\n\tconst relativeRouterBase = removePrefixes(router.history.base, getRootUrl(), '/index.php')\n\n\t// Root route may have an empty '' path, fallback to '/'\n\tconst potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || '/'\n\n\t// Check if there is actually matching route in the router for this path\n\tconst route = router.resolve(potentialRouterPath).route\n\n\tif (!route.matched.length) {\n\t\treturn null\n\t}\n\n\treturn route.fullPath\n}\n"],"names":[],"mappings":"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"}
@@ -1,35 +1,69 @@
1
+ require('../assets/autolink-KPdaBewQ.css');
1
2
  "use strict";
2
3
  const router = require("@nextcloud/router");
3
4
  const unistBuilder = require("unist-builder");
4
- const unistUtilVisit = require("unist-util-visit");
5
+ const unistUtilVisitParents = require("unist-util-visit-parents");
6
+ const Vue = require("vue");
7
+ const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
5
8
  const logger = require("./logger-3HuiEIF6.cjs");
6
- const URL_PATTERN = /(\s|^)(https?:\/\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/ig;
7
- const URL_PATTERN_AUTOLINK = /(\s|\(|^)((https?:\/\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/ig;
8
- const NcLink = {
9
- name: "NcLink",
9
+ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
10
+ __name: "NcRichTextExternalLink",
10
11
  props: {
11
- href: {
12
- type: String,
13
- required: true
14
- }
12
+ href: null,
13
+ decorateExternal: { type: Boolean }
15
14
  },
16
- render(h) {
17
- return h("a", {
18
- attrs: {
19
- href: this.href,
20
- rel: "noopener noreferrer",
21
- target: "_blank",
22
- class: "rich-text--external-link"
23
- }
24
- }, [this.href.trim()]);
15
+ setup(__props) {
16
+ const { href, decorateExternal = false } = __props;
17
+ return { __sfc: true };
25
18
  }
19
+ });
20
+ const externalLink = "_externalLink_13JXa";
21
+ const externalLink_decorated = "_externalLink_decorated_-4s4L";
22
+ const style0 = {
23
+ "material-design-icon": "_material-design-icon_0S7Ib",
24
+ externalLink,
25
+ externalLink_decorated
26
+ };
27
+ var _sfc_render = function render() {
28
+ var _vm = this, _c = _vm._self._c;
29
+ _vm._self._setupProxy;
30
+ return _c("a", { class: [_vm.$style.externalLink, {
31
+ [_vm.$style.externalLink_decorated]: _vm.decorateExternal
32
+ }], attrs: { "href": _vm.href, "rel": "noopener noreferrer", "target": "_blank" } }, [_vm._t("default", function() {
33
+ return [_vm._v(_vm._s(_vm.href))];
34
+ })], 2);
35
+ };
36
+ var _sfc_staticRenderFns = [];
37
+ const __cssModules = {
38
+ "$style": style0
26
39
  };
40
+ function _sfc_injectStyles(ctx) {
41
+ for (var key in __cssModules) {
42
+ this[key] = __cssModules[key];
43
+ }
44
+ }
45
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
46
+ _sfc_main,
47
+ _sfc_render,
48
+ _sfc_staticRenderFns,
49
+ false,
50
+ _sfc_injectStyles,
51
+ null
52
+ );
53
+ const NcRichTextExternalLink = __component__.exports;
54
+ const URL_PATTERN = /(\s|^)(https?:\/\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/ig;
55
+ const URL_PATTERN_AUTOLINK = /(\s|\(|^)((https?:\/\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/ig;
27
56
  function remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {
28
57
  return function(tree) {
29
58
  if (useExtendedMarkdown || !useMarkdown || !autolink) {
30
59
  return;
31
60
  }
32
- unistUtilVisit.visit(tree, (node) => node.type === "text", (node, index, parent) => {
61
+ unistUtilVisitParents.visitParents(tree, (node) => node.type === "text", (node, ancestors) => {
62
+ if (ancestors.some((ancestor) => ancestor.type === "link" || ancestor.type === "linkReference")) {
63
+ return;
64
+ }
65
+ const parent = ancestors.at(-1);
66
+ const index = parent.children.indexOf(node) ?? 0;
33
67
  let parsed = parseUrl(node.value);
34
68
  parsed = parsed.map((n) => {
35
69
  if (typeof n === "string") {
@@ -40,7 +74,7 @@ function remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {
40
74
  }, [unistBuilder.u("text", n.props.href)]);
41
75
  }).filter((x) => x);
42
76
  parent.children.splice(index, 1, ...parsed.flat());
43
- return [unistUtilVisit.SKIP, index + parsed.flat().length];
77
+ return [unistUtilVisitParents.SKIP, index + parsed.flat().length];
44
78
  });
45
79
  };
46
80
  }
@@ -62,7 +96,7 @@ function parseUrl(text) {
62
96
  textAfter = lastChar;
63
97
  }
64
98
  list.push(textBefore);
65
- list.push({ component: NcLink, props: { href } });
99
+ list.push({ component: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } });
66
100
  if (textAfter) {
67
101
  list.push(textAfter);
68
102
  }
@@ -103,8 +137,9 @@ function getRoute(router$1, url) {
103
137
  }
104
138
  return route.fullPath;
105
139
  }
140
+ exports.NcRichTextExternalLink = NcRichTextExternalLink;
106
141
  exports.URL_PATTERN = URL_PATTERN;
107
142
  exports.getRoute = getRoute;
108
143
  exports.parseUrl = parseUrl;
109
144
  exports.remarkAutolink = remarkAutolink;
110
- //# sourceMappingURL=autolink-BPlRHRHR.cjs.map
145
+ //# sourceMappingURL=autolink-VQMuzjxl.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autolink-VQMuzjxl.cjs","sources":["../../src/components/NcRichText/helpers.js","../../src/components/NcRichText/autolink.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Regex pattern to match links to be resolved by the link-reference provider\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN = /(\\s|^)(https?:\\/\\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig\n\n/**\n * Regex pattern to identify strings as links and then making them clickable\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBaseUrl, getRootUrl } from '@nextcloud/router'\nimport { u } from 'unist-builder'\nimport { SKIP, visitParents } from 'unist-util-visit-parents'\nimport NcRichTextExternalLink from './NcRichTextExternalLink.vue'\nimport { logger } from '../../utils/logger.ts'\nimport { URL_PATTERN_AUTOLINK } from './helpers.js'\n\n/**\n * Remark plugin for autolink parsing\n *\n * @param {object} root0 - Options\n * @param {boolean} root0.autolink - Whether to enable autolink parsing\n * @param {boolean} root0.useMarkdown - Whether markdown is being used\n * @param {boolean} root0.useExtendedMarkdown - Whether extended markdown is being used\n */\nexport function remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {\n\treturn function(tree) {\n\t\t// remark-gfm has its own autolink parser which can not be disabled\n\t\t// and thus a local one is not needed\n\t\tif (useExtendedMarkdown || !useMarkdown || !autolink) {\n\t\t\treturn\n\t\t}\n\n\t\tvisitParents(tree, (node) => node.type === 'text', (node, ancestors) => {\n\t\t\t// Do not autolink text already inside a link node\n\t\t\tif (ancestors.some((ancestor) => ancestor.type === 'link' || ancestor.type === 'linkReference')) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst parent = ancestors.at(-1)\n\t\t\tconst index = parent.children.indexOf(node) ?? 0\n\n\t\t\tlet parsed = parseUrl(node.value)\n\t\t\tparsed = parsed.map((n) => {\n\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\treturn u('text', n)\n\t\t\t\t}\n\n\t\t\t\treturn u('link', {\n\t\t\t\t\turl: n.props.href,\n\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t}).filter((x) => x)\n\n\t\t\tparent.children.splice(index, 1, ...parsed.flat())\n\t\t\treturn [SKIP, index + parsed.flat().length]\n\t\t})\n\t}\n}\n\n/**\n * Parse URLs in text and create link components\n *\n * @param {string} text - Text to parse\n * @return {Array<string | { component: typeof NcLink, props: { href: string } }>} Array of text parts - plain text and description of the link component to use\n */\nexport function parseUrl(text) {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\tconst list = []\n\tlet start = 0\n\twhile (match !== null) {\n\t\tlet href = match[2]\n\t\tlet textAfter\n\t\tlet textBefore = text.substring(start, match.index + match[1].length)\n\t\tif (href[0] === ' ') {\n\t\t\ttextBefore += href[0]\n\t\t\thref = href.substring(1).trim()\n\t\t}\n\t\tconst lastChar = href[(href.length - 1)]\n\t\tif (lastChar === '.' || lastChar === ',' || lastChar === ';' || (match[0][0] === '(' && lastChar === ')')) {\n\t\t\thref = href.substring(0, href.length - 1)\n\t\t\ttextAfter = lastChar\n\t\t}\n\t\tlist.push(textBefore)\n\t\tlist.push({ component: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } })\n\t\tif (textAfter) {\n\t\t\tlist.push(textAfter)\n\t\t}\n\t\tstart = match.index + match[0].length\n\t\tmatch = URL_PATTERN_AUTOLINK.exec(text)\n\t}\n\tlist.push(text.substring(start))\n\tconst joinedText = list.map((item) => typeof item === 'string' ? item : item.props.href).join('')\n\tif (text === joinedText) {\n\t\treturn list\n\t}\n\tlogger.error('Failed to reassemble the chunked text: ' + text)\n\treturn text\n}\n\n/**\n * Try to get path for router link from an absolute or relative URL.\n *\n * @param {import('vue-router').default} router - VueRouter instance of the router link\n * @param {string} url - absolute URL to parse\n * @return {string|null} a path that can be used in the router link or null if this URL doesn't match this router config\n * @example http://cloud.ltd/nextcloud/index.php/apps/files/favorites?fileid=2#fragment => /files/favorites?fileid=2#fragment\n */\nexport function getRoute(router, url) {\n\t/**\n\t * http://cloud.ltd /nextcloud /index.php /apps/files /favorites?fileid=2#fragment\n\t * |_____origin____|___________router-base____________| |\n\t * |__________base____________| |______________relative-url______________|\n\t * | |___root___|_optional_|__app-base__|_________router-path_______|\n\t */\n\n\tconst removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str\n\tconst removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str)\n\n\t// Router is not defined in the app => not an app route\n\tif (!router) {\n\t\treturn null\n\t}\n\n\tconst isAbsoluteURL = /^https?:\\/\\//.test(url)\n\n\t// URL is a \"mailto:\", \"tel:\" or any custom app protocol link\n\tconst isNonHttpLink = /^[a-z][a-z0-9+.-]*:.+/.test(url)\n\tif (!isAbsoluteURL && isNonHttpLink) {\n\t\treturn null\n\t}\n\n\t// URL is not a link to this Nextcloud server instance => not an app route\n\tif (isAbsoluteURL && !url.startsWith(getBaseUrl())) {\n\t\treturn null\n\t}\n\n\tif (!isAbsoluteURL && !url.startsWith('/')) {\n\t\t// Relative URL without a leading slash are not allowed\n\t\t// VueRouter handles such urls according to the URL RFC,\n\t\t// for example, being on /call/abc page, link \"def\" is resolved as \"/call/def\" relative to \"/call/\".\n\t\t// We don't want to support such links,\n\t\t// so relative URL MUST start with a slash.\n\t\treturn null\n\t}\n\n\t// URL relative to the instance root\n\tconst relativeUrl = isAbsoluteURL ? removePrefixes(url, getBaseUrl(), '/index.php') : url\n\n\t// Router base relative to the instance root (app-base above)\n\tconst relativeRouterBase = removePrefixes(router.history.base, getRootUrl(), '/index.php')\n\n\t// Root route may have an empty '' path, fallback to '/'\n\tconst potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || '/'\n\n\t// Check if there is actually matching route in the router for this path\n\tconst route = router.resolve(potentialRouterPath).route\n\n\tif (!route.matched.length) {\n\t\treturn null\n\t}\n\n\treturn route.fullPath\n}\n"],"names":["visitParents","u","SKIP","logger","router","getBaseUrl","getRootUrl"],"mappings":"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"}
@@ -17,6 +17,10 @@ class Color {
17
17
  this.b = Math.min(b, 255);
18
18
  this.name = name;
19
19
  }
20
+ r;
21
+ g;
22
+ b;
23
+ name;
20
24
  /**
21
25
  * The hexadecimal color string.
22
26
  */
@@ -112,4 +116,4 @@ export {
112
116
  defaultPalette as d,
113
117
  generatePalette as g
114
118
  };
115
- //# sourceMappingURL=colors-BmzDi7by.mjs.map
119
+ //# sourceMappingURL=colors-Bp0JzIQ4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors-BmzDi7by.mjs","sources":["../../src/utils/colors.ts"],"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\nexport class Color {\n\t/**\n\t * @param r - The red value\n\t * @param g - The green value\n\t * @param b - The blue value\n\t * @param name - The name of the color\n\t */\n\tconstructor(\n\t\tpublic readonly r: number,\n\t\tpublic readonly g: number,\n\t\tpublic readonly b: number,\n\t\tpublic readonly name?: string,\n\t) {\n\t\tthis.r = Math.min(r, 255)\n\t\tthis.g = Math.min(g, 255)\n\t\tthis.b = Math.min(b, 255)\n\t\tthis.name = name\n\t}\n\n\t/**\n\t * The hexadecimal color string.\n\t */\n\tget color(): string {\n\t\tconst toHex = (int: number) => `00${int.toString(16)}`.slice(-2)\n\t\treturn `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`\n\t}\n}\n\n/**\n * Calculate the increment needed to blend color1 into color2 within specified number of steps.\n *\n * @param steps - The number of steps\n * @param color1 - The color to start with\n * @param color2 - The color to end at\n * @return The increment needed per color channel\n */\nfunction calculateStepIncrement(steps: number, color1: Color, color2: Color): { r: number, g: number, b: number } {\n\treturn {\n\t\tr: (color2.r - color1.r) / steps,\n\t\tg: (color2.g - color1.g) / steps,\n\t\tb: (color2.b - color1.b) / steps,\n\t}\n}\n\n/**\n * Create a color palette from two colors\n *\n * @param steps - The number of steps the palette should have\n * @param color1 - The first color to mix\n * @param color2 - The second color to mix\n * @return The created palette array (mixed `color1` and `color2` with `steps` steps)\n */\nfunction mixPalette(steps: number, color1: Color, color2: Color): Color[] {\n\tconst palette: Color[] = []\n\tpalette.push(color1)\n\tconst increment = calculateStepIncrement(steps, color1, color2)\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = Math.floor(color1.r + increment.r * i)\n\t\tconst g = Math.floor(color1.g + increment.g * i)\n\t\tconst b = Math.floor(color1.b + increment.b * i)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n// This are our default base colors we use for mixing palettes\nconst COLOR_RED = new Color(182, 70, 157, t('Purple'))\nconst COLOR_YELLOW = new Color(221, 203, 85, t('Gold'))\nconst COLOR_BLUE = new Color(0, 130, 201, t('Nextcloud blue'))\n// Special \"none\"-colors\nexport const COLOR_BLACK = new Color(0, 0, 0, t('Black'))\nexport const COLOR_WHITE = new Color(255, 255, 255, t('White'))\n\n/**\n * Like GenColor(4) but with labels\n */\nexport const defaultPalette = [\n\tCOLOR_RED,\n\tnew Color(\n\t\t...[191, 103, 139],\n\t\tt('Rosy brown'), // TRANSLATORS: A color name for RGB(191, 103, 139)\n\t),\n\tnew Color(\n\t\t...[201, 136, 121],\n\t\tt('Feldspar'), // TRANSLATORS: A color name for RGB(201, 136, 121)\n\t),\n\tnew Color(\n\t\t...[211, 169, 103],\n\t\tt('Whiskey'), // TRANSLATORS: A color name for RGB(211, 169, 103)\n\t),\n\tCOLOR_YELLOW,\n\tnew Color(\n\t\t...[165, 184, 114],\n\t\tt('Olivine'), // TRANSLATORS: A color name for RGB(165, 184, 114)\n\t),\n\tnew Color(\n\t\t...[110, 166, 143],\n\t\tt('Acapulco'), // TRANSLATORS: A color name for RGB(110, 166, 143)\n\t),\n\tnew Color(\n\t\t...[55, 148, 172],\n\t\tt('Boston Blue'), // TRANSLATORS: A color name for RGB(55, 148, 172)\n\t),\n\tCOLOR_BLUE,\n\tnew Color(\n\t\t...[45, 115, 190],\n\t\tt('Mariner'), // TRANSLATORS: A color name for RGB(45, 115, 190)\n\t),\n\tnew Color(\n\t\t...[91, 100, 179],\n\t\tt('Blue Violet'), // TRANSLATORS: A color name for RGB(91, 100, 179)\n\t),\n\tnew Color(\n\t\t...[136, 85, 168],\n\t\tt('Deluge'), // TRANSLATORS: A color name for RGB(136, 85, 168)\n\t),\n]\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3).\n *\n * For example if steps is set to 6, then 3 colors * 6 will result in 18 generated colors.\n *\n * @param steps - Number of steps to go from a color to another\n */\nexport function generatePalette(steps: number): Color[] {\n\tif (steps <= 0) {\n\t\tsteps = 6\n\t}\n\n\tif (steps === 4) {\n\t\treturn [...defaultPalette]\n\t}\n\n\tconst palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW)\n\tconst palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE)\n\tconst palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colors-Bp0JzIQ4.mjs","sources":["../../src/utils/colors.ts"],"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\nexport class Color {\n\t/**\n\t * @param r - The red value\n\t * @param g - The green value\n\t * @param b - The blue value\n\t * @param name - The name of the color\n\t */\n\tconstructor(\n\t\tpublic readonly r: number,\n\t\tpublic readonly g: number,\n\t\tpublic readonly b: number,\n\t\tpublic readonly name?: string,\n\t) {\n\t\tthis.r = Math.min(r, 255)\n\t\tthis.g = Math.min(g, 255)\n\t\tthis.b = Math.min(b, 255)\n\t\tthis.name = name\n\t}\n\n\t/**\n\t * The hexadecimal color string.\n\t */\n\tget color(): string {\n\t\tconst toHex = (int: number) => `00${int.toString(16)}`.slice(-2)\n\t\treturn `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`\n\t}\n}\n\n/**\n * Calculate the increment needed to blend color1 into color2 within specified number of steps.\n *\n * @param steps - The number of steps\n * @param color1 - The color to start with\n * @param color2 - The color to end at\n * @return The increment needed per color channel\n */\nfunction calculateStepIncrement(steps: number, color1: Color, color2: Color): { r: number, g: number, b: number } {\n\treturn {\n\t\tr: (color2.r - color1.r) / steps,\n\t\tg: (color2.g - color1.g) / steps,\n\t\tb: (color2.b - color1.b) / steps,\n\t}\n}\n\n/**\n * Create a color palette from two colors\n *\n * @param steps - The number of steps the palette should have\n * @param color1 - The first color to mix\n * @param color2 - The second color to mix\n * @return The created palette array (mixed `color1` and `color2` with `steps` steps)\n */\nfunction mixPalette(steps: number, color1: Color, color2: Color): Color[] {\n\tconst palette: Color[] = []\n\tpalette.push(color1)\n\tconst increment = calculateStepIncrement(steps, color1, color2)\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = Math.floor(color1.r + increment.r * i)\n\t\tconst g = Math.floor(color1.g + increment.g * i)\n\t\tconst b = Math.floor(color1.b + increment.b * i)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n// This are our default base colors we use for mixing palettes\nconst COLOR_RED = new Color(182, 70, 157, t('Purple'))\nconst COLOR_YELLOW = new Color(221, 203, 85, t('Gold'))\nconst COLOR_BLUE = new Color(0, 130, 201, t('Nextcloud blue'))\n// Special \"none\"-colors\nexport const COLOR_BLACK = new Color(0, 0, 0, t('Black'))\nexport const COLOR_WHITE = new Color(255, 255, 255, t('White'))\n\n/**\n * Like GenColor(4) but with labels\n */\nexport const defaultPalette = [\n\tCOLOR_RED,\n\tnew Color(\n\t\t...[191, 103, 139],\n\t\tt('Rosy brown'), // TRANSLATORS: A color name for RGB(191, 103, 139)\n\t),\n\tnew Color(\n\t\t...[201, 136, 121],\n\t\tt('Feldspar'), // TRANSLATORS: A color name for RGB(201, 136, 121)\n\t),\n\tnew Color(\n\t\t...[211, 169, 103],\n\t\tt('Whiskey'), // TRANSLATORS: A color name for RGB(211, 169, 103)\n\t),\n\tCOLOR_YELLOW,\n\tnew Color(\n\t\t...[165, 184, 114],\n\t\tt('Olivine'), // TRANSLATORS: A color name for RGB(165, 184, 114)\n\t),\n\tnew Color(\n\t\t...[110, 166, 143],\n\t\tt('Acapulco'), // TRANSLATORS: A color name for RGB(110, 166, 143)\n\t),\n\tnew Color(\n\t\t...[55, 148, 172],\n\t\tt('Boston Blue'), // TRANSLATORS: A color name for RGB(55, 148, 172)\n\t),\n\tCOLOR_BLUE,\n\tnew Color(\n\t\t...[45, 115, 190],\n\t\tt('Mariner'), // TRANSLATORS: A color name for RGB(45, 115, 190)\n\t),\n\tnew Color(\n\t\t...[91, 100, 179],\n\t\tt('Blue Violet'), // TRANSLATORS: A color name for RGB(91, 100, 179)\n\t),\n\tnew Color(\n\t\t...[136, 85, 168],\n\t\tt('Deluge'), // TRANSLATORS: A color name for RGB(136, 85, 168)\n\t),\n]\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3).\n *\n * For example if steps is set to 6, then 3 colors * 6 will result in 18 generated colors.\n *\n * @param steps - Number of steps to go from a color to another\n */\nexport function generatePalette(steps: number): Color[] {\n\tif (steps <= 0) {\n\t\tsteps = 6\n\t}\n\n\tif (steps === 4) {\n\t\treturn [...defaultPalette]\n\t}\n\n\tconst palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW)\n\tconst palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE)\n\tconst palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ class Color {
18
18
  this.b = Math.min(b, 255);
19
19
  this.name = name;
20
20
  }
21
+ r;
22
+ g;
23
+ b;
24
+ name;
21
25
  /**
22
26
  * The hexadecimal color string.
23
27
  */
@@ -111,4 +115,4 @@ exports.COLOR_WHITE = COLOR_WHITE;
111
115
  exports.Color = Color;
112
116
  exports.defaultPalette = defaultPalette;
113
117
  exports.generatePalette = generatePalette;
114
- //# sourceMappingURL=colors-CND3oL8e.cjs.map
118
+ //# sourceMappingURL=colors-CyIwf6gH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors-CND3oL8e.cjs","sources":["../../src/utils/colors.ts"],"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\nexport class Color {\n\t/**\n\t * @param r - The red value\n\t * @param g - The green value\n\t * @param b - The blue value\n\t * @param name - The name of the color\n\t */\n\tconstructor(\n\t\tpublic readonly r: number,\n\t\tpublic readonly g: number,\n\t\tpublic readonly b: number,\n\t\tpublic readonly name?: string,\n\t) {\n\t\tthis.r = Math.min(r, 255)\n\t\tthis.g = Math.min(g, 255)\n\t\tthis.b = Math.min(b, 255)\n\t\tthis.name = name\n\t}\n\n\t/**\n\t * The hexadecimal color string.\n\t */\n\tget color(): string {\n\t\tconst toHex = (int: number) => `00${int.toString(16)}`.slice(-2)\n\t\treturn `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`\n\t}\n}\n\n/**\n * Calculate the increment needed to blend color1 into color2 within specified number of steps.\n *\n * @param steps - The number of steps\n * @param color1 - The color to start with\n * @param color2 - The color to end at\n * @return The increment needed per color channel\n */\nfunction calculateStepIncrement(steps: number, color1: Color, color2: Color): { r: number, g: number, b: number } {\n\treturn {\n\t\tr: (color2.r - color1.r) / steps,\n\t\tg: (color2.g - color1.g) / steps,\n\t\tb: (color2.b - color1.b) / steps,\n\t}\n}\n\n/**\n * Create a color palette from two colors\n *\n * @param steps - The number of steps the palette should have\n * @param color1 - The first color to mix\n * @param color2 - The second color to mix\n * @return The created palette array (mixed `color1` and `color2` with `steps` steps)\n */\nfunction mixPalette(steps: number, color1: Color, color2: Color): Color[] {\n\tconst palette: Color[] = []\n\tpalette.push(color1)\n\tconst increment = calculateStepIncrement(steps, color1, color2)\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = Math.floor(color1.r + increment.r * i)\n\t\tconst g = Math.floor(color1.g + increment.g * i)\n\t\tconst b = Math.floor(color1.b + increment.b * i)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n// This are our default base colors we use for mixing palettes\nconst COLOR_RED = new Color(182, 70, 157, t('Purple'))\nconst COLOR_YELLOW = new Color(221, 203, 85, t('Gold'))\nconst COLOR_BLUE = new Color(0, 130, 201, t('Nextcloud blue'))\n// Special \"none\"-colors\nexport const COLOR_BLACK = new Color(0, 0, 0, t('Black'))\nexport const COLOR_WHITE = new Color(255, 255, 255, t('White'))\n\n/**\n * Like GenColor(4) but with labels\n */\nexport const defaultPalette = [\n\tCOLOR_RED,\n\tnew Color(\n\t\t...[191, 103, 139],\n\t\tt('Rosy brown'), // TRANSLATORS: A color name for RGB(191, 103, 139)\n\t),\n\tnew Color(\n\t\t...[201, 136, 121],\n\t\tt('Feldspar'), // TRANSLATORS: A color name for RGB(201, 136, 121)\n\t),\n\tnew Color(\n\t\t...[211, 169, 103],\n\t\tt('Whiskey'), // TRANSLATORS: A color name for RGB(211, 169, 103)\n\t),\n\tCOLOR_YELLOW,\n\tnew Color(\n\t\t...[165, 184, 114],\n\t\tt('Olivine'), // TRANSLATORS: A color name for RGB(165, 184, 114)\n\t),\n\tnew Color(\n\t\t...[110, 166, 143],\n\t\tt('Acapulco'), // TRANSLATORS: A color name for RGB(110, 166, 143)\n\t),\n\tnew Color(\n\t\t...[55, 148, 172],\n\t\tt('Boston Blue'), // TRANSLATORS: A color name for RGB(55, 148, 172)\n\t),\n\tCOLOR_BLUE,\n\tnew Color(\n\t\t...[45, 115, 190],\n\t\tt('Mariner'), // TRANSLATORS: A color name for RGB(45, 115, 190)\n\t),\n\tnew Color(\n\t\t...[91, 100, 179],\n\t\tt('Blue Violet'), // TRANSLATORS: A color name for RGB(91, 100, 179)\n\t),\n\tnew Color(\n\t\t...[136, 85, 168],\n\t\tt('Deluge'), // TRANSLATORS: A color name for RGB(136, 85, 168)\n\t),\n]\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3).\n *\n * For example if steps is set to 6, then 3 colors * 6 will result in 18 generated colors.\n *\n * @param steps - Number of steps to go from a color to another\n */\nexport function generatePalette(steps: number): Color[] {\n\tif (steps <= 0) {\n\t\tsteps = 6\n\t}\n\n\tif (steps === 4) {\n\t\treturn [...defaultPalette]\n\t}\n\n\tconst palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW)\n\tconst palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE)\n\tconst palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n"],"names":["t"],"mappings":"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"}
1
+ {"version":3,"file":"colors-CyIwf6gH.cjs","sources":["../../src/utils/colors.ts"],"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\nexport class Color {\n\t/**\n\t * @param r - The red value\n\t * @param g - The green value\n\t * @param b - The blue value\n\t * @param name - The name of the color\n\t */\n\tconstructor(\n\t\tpublic readonly r: number,\n\t\tpublic readonly g: number,\n\t\tpublic readonly b: number,\n\t\tpublic readonly name?: string,\n\t) {\n\t\tthis.r = Math.min(r, 255)\n\t\tthis.g = Math.min(g, 255)\n\t\tthis.b = Math.min(b, 255)\n\t\tthis.name = name\n\t}\n\n\t/**\n\t * The hexadecimal color string.\n\t */\n\tget color(): string {\n\t\tconst toHex = (int: number) => `00${int.toString(16)}`.slice(-2)\n\t\treturn `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`\n\t}\n}\n\n/**\n * Calculate the increment needed to blend color1 into color2 within specified number of steps.\n *\n * @param steps - The number of steps\n * @param color1 - The color to start with\n * @param color2 - The color to end at\n * @return The increment needed per color channel\n */\nfunction calculateStepIncrement(steps: number, color1: Color, color2: Color): { r: number, g: number, b: number } {\n\treturn {\n\t\tr: (color2.r - color1.r) / steps,\n\t\tg: (color2.g - color1.g) / steps,\n\t\tb: (color2.b - color1.b) / steps,\n\t}\n}\n\n/**\n * Create a color palette from two colors\n *\n * @param steps - The number of steps the palette should have\n * @param color1 - The first color to mix\n * @param color2 - The second color to mix\n * @return The created palette array (mixed `color1` and `color2` with `steps` steps)\n */\nfunction mixPalette(steps: number, color1: Color, color2: Color): Color[] {\n\tconst palette: Color[] = []\n\tpalette.push(color1)\n\tconst increment = calculateStepIncrement(steps, color1, color2)\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = Math.floor(color1.r + increment.r * i)\n\t\tconst g = Math.floor(color1.g + increment.g * i)\n\t\tconst b = Math.floor(color1.b + increment.b * i)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n// This are our default base colors we use for mixing palettes\nconst COLOR_RED = new Color(182, 70, 157, t('Purple'))\nconst COLOR_YELLOW = new Color(221, 203, 85, t('Gold'))\nconst COLOR_BLUE = new Color(0, 130, 201, t('Nextcloud blue'))\n// Special \"none\"-colors\nexport const COLOR_BLACK = new Color(0, 0, 0, t('Black'))\nexport const COLOR_WHITE = new Color(255, 255, 255, t('White'))\n\n/**\n * Like GenColor(4) but with labels\n */\nexport const defaultPalette = [\n\tCOLOR_RED,\n\tnew Color(\n\t\t...[191, 103, 139],\n\t\tt('Rosy brown'), // TRANSLATORS: A color name for RGB(191, 103, 139)\n\t),\n\tnew Color(\n\t\t...[201, 136, 121],\n\t\tt('Feldspar'), // TRANSLATORS: A color name for RGB(201, 136, 121)\n\t),\n\tnew Color(\n\t\t...[211, 169, 103],\n\t\tt('Whiskey'), // TRANSLATORS: A color name for RGB(211, 169, 103)\n\t),\n\tCOLOR_YELLOW,\n\tnew Color(\n\t\t...[165, 184, 114],\n\t\tt('Olivine'), // TRANSLATORS: A color name for RGB(165, 184, 114)\n\t),\n\tnew Color(\n\t\t...[110, 166, 143],\n\t\tt('Acapulco'), // TRANSLATORS: A color name for RGB(110, 166, 143)\n\t),\n\tnew Color(\n\t\t...[55, 148, 172],\n\t\tt('Boston Blue'), // TRANSLATORS: A color name for RGB(55, 148, 172)\n\t),\n\tCOLOR_BLUE,\n\tnew Color(\n\t\t...[45, 115, 190],\n\t\tt('Mariner'), // TRANSLATORS: A color name for RGB(45, 115, 190)\n\t),\n\tnew Color(\n\t\t...[91, 100, 179],\n\t\tt('Blue Violet'), // TRANSLATORS: A color name for RGB(91, 100, 179)\n\t),\n\tnew Color(\n\t\t...[136, 85, 168],\n\t\tt('Deluge'), // TRANSLATORS: A color name for RGB(136, 85, 168)\n\t),\n]\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3).\n *\n * For example if steps is set to 6, then 3 colors * 6 will result in 18 generated colors.\n *\n * @param steps - Number of steps to go from a color to another\n */\nexport function generatePalette(steps: number): Color[] {\n\tif (steps <= 0) {\n\t\tsteps = 6\n\t}\n\n\tif (steps === 4) {\n\t\treturn [...defaultPalette]\n\t}\n\n\tconst palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW)\n\tconst palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE)\n\tconst palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n"],"names":["t"],"mappings":"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"}
@@ -29,7 +29,7 @@ function emojiSearch(query, maxResults = 10) {
29
29
  return results.map((emoji) => emoji.getSkin(currentSkinTone));
30
30
  }
31
31
  function emojiAddRecent(emojiOrEmojiData) {
32
- let emojiData = null;
32
+ let emojiData;
33
33
  if (typeof emojiOrEmojiData === "string") {
34
34
  if (!emojiIndex) {
35
35
  emojiIndex = new EmojiIndex(data);
@@ -73,4 +73,4 @@ export {
73
73
  getCurrentSkinTone as g,
74
74
  setCurrentSkinTone as s
75
75
  };
76
- //# sourceMappingURL=emoji-BgZdRy3v.mjs.map
76
+ //# sourceMappingURL=emoji-Dtn2mDf7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-Dtn2mDf7.mjs","sources":["../../src/functions/emoji/emoji.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { EmojiIndex, frequently } from 'emoji-mart-vue-fast'\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\nconst storage = getBuilder('nextcloud-vue').persist(true).build()\n\n// Shared emoji index and skinTone for all emojiSearch function calls\n// Will be initialized on the first call\nlet emojiIndex\n\n/**\n * Object type returned by EmojiIndex\n * (keep only required properties)\n */\ntype EmojiData = {\n\tid: string\n}\n\n/**\n * Skin tones supported by Unicode Emojis (Fitzpatrick scale)\n * The numeric values align with `emoji-mart-vue`\n */\nexport enum EmojiSkinTone {\n\tNeutral = 1,\n\tLight = 2,\n\tMediumLight = 3,\n\tMedium = 4,\n\tMediumDark = 5,\n\tDark = 6,\n}\n\n/**\n * Get the list of emojis by search filter or the list of frequently used emojis\n *\n * @param query Emoji search filter string; if no string or empty string is given, the list of frequently used emojis is returned\n * @param maxResults Maximum of returned emojis\n * @return list of found emojis in the same format as the emoji-mart-vue-fast's EmojiIndex\n */\nexport function emojiSearch(query: string, maxResults: number = 10): object[] {\n\t// If this is the first call of function - initialize EmojiIndex\n\tif (!emojiIndex) {\n\t\temojiIndex = new EmojiIndex(data)\n\t}\n\tconst currentSkinTone = getCurrentSkinTone()\n\n\tlet results\n\tif (query) {\n\t\tresults = emojiIndex.search(`:${query}`, maxResults)\n\t\tif (results.length < maxResults) {\n\t\t\tresults = results.concat(emojiIndex.search(query, maxResults - results.length))\n\t\t}\n\t} else {\n\t\tresults = frequently.get(maxResults).map((id: number) => emojiIndex.emoji(id)) || []\n\t}\n\n\treturn results.map((emoji) => emoji.getSkin(currentSkinTone))\n}\n\n/**\n * Add emoji to the list of recent emojis.\n * This list can be got from emojiSearch function and it is used in NcEmojiPicker.\n *\n * @param emojiOrEmojiData object with `id` property, or emoji string. When string provided, object is looked up in EmojiIndex\n * @param emojiOrEmojiData.id the emoji ID from emoji index. Mandatory property to modify 'frequently' array\n */\nexport function emojiAddRecent(emojiOrEmojiData: EmojiData | string | null): void {\n\tlet emojiData: EmojiData | null\n\n\tif (typeof emojiOrEmojiData === 'string') {\n\t\t// If this is the first call of function - initialize EmojiIndex\n\t\tif (!emojiIndex) {\n\t\t\temojiIndex = new EmojiIndex(data)\n\t\t}\n\t\temojiData = emojiIndex.findEmoji(emojiOrEmojiData) as EmojiData | null\n\t} else {\n\t\temojiData = emojiOrEmojiData\n\t}\n\n\tif (emojiData && 'id' in emojiData) {\n\t\tfrequently.add(emojiData)\n\t}\n}\n\n/**\n * Get the current skin tone index used for emojis\n *\n * @return The skin tone\n */\nexport function getCurrentSkinTone(): EmojiSkinTone {\n\tconst skinTone = Number.parseInt(storage.getItem('NcEmojiPicker::currentSkinTone') ?? '1')\n\t// Clamp skinTone to valid ranges\n\treturn Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n}\n\n/**\n * Set the current active skin tone for emojis\n *\n * @param skinTone Skin tone\n */\nexport function setCurrentSkinTone(skinTone: EmojiSkinTone): void {\n\t// Clamp skinTone to valid ranges\n\tskinTone = Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n\tstorage.setItem('NcEmojiPicker::currentSkinTone', skinTone.toString())\n}\n"],"names":["EmojiSkinTone"],"mappings":";;;AASA,MAAM,UAAU,WAAW,eAAe,EAAE,QAAQ,IAAI,EAAE,MAAA;AAI1D,IAAI;AAcG,IAAK,kCAAAA,mBAAL;AACNA,iBAAAA,eAAA,aAAU,CAAA,IAAV;AACAA,iBAAAA,eAAA,WAAQ,CAAA,IAAR;AACAA,iBAAAA,eAAA,iBAAc,CAAA,IAAd;AACAA,iBAAAA,eAAA,YAAS,CAAA,IAAT;AACAA,iBAAAA,eAAA,gBAAa,CAAA,IAAb;AACAA,iBAAAA,eAAA,UAAO,CAAA,IAAP;AANW,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAgBL,SAAS,YAAY,OAAe,aAAqB,IAAc;AAE7E,MAAI,CAAC,YAAY;AAChB,iBAAa,IAAI,WAAW,IAAI;AAAA,EACjC;AACA,QAAM,kBAAkB,mBAAA;AAExB,MAAI;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,KAAK,IAAI,UAAU;AACnD,QAAI,QAAQ,SAAS,YAAY;AAChC,gBAAU,QAAQ,OAAO,WAAW,OAAO,OAAO,aAAa,QAAQ,MAAM,CAAC;AAAA,IAC/E;AAAA,EACD,OAAO;AACN,cAAU,WAAW,IAAI,UAAU,EAAE,IAAI,CAAC,OAAe,WAAW,MAAM,EAAE,CAAC,KAAK,CAAA;AAAA,EACnF;AAEA,SAAO,QAAQ,IAAI,CAAC,UAAU,MAAM,QAAQ,eAAe,CAAC;AAC7D;AASO,SAAS,eAAe,kBAAmD;AACjF,MAAI;AAEJ,MAAI,OAAO,qBAAqB,UAAU;AAEzC,QAAI,CAAC,YAAY;AAChB,mBAAa,IAAI,WAAW,IAAI;AAAA,IACjC;AACA,gBAAY,WAAW,UAAU,gBAAgB;AAAA,EAClD,OAAO;AACN,gBAAY;AAAA,EACb;AAEA,MAAI,aAAa,QAAQ,WAAW;AACnC,eAAW,IAAI,SAAS;AAAA,EACzB;AACD;AAOO,SAAS,qBAAoC;AACnD,QAAM,WAAW,OAAO,SAAS,QAAQ,QAAQ,gCAAgC,KAAK,GAAG;AAEzF,SAAO,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC5D;AAOO,SAAS,mBAAmB,UAA+B;AAEjE,aAAW,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC/D,UAAQ,QAAQ,kCAAkC,SAAS,SAAA,CAAU;AACtE;"}
@@ -32,7 +32,7 @@ function emojiSearch(query, maxResults = 10) {
32
32
  return results.map((emoji) => emoji.getSkin(currentSkinTone));
33
33
  }
34
34
  function emojiAddRecent(emojiOrEmojiData) {
35
- let emojiData = null;
35
+ let emojiData;
36
36
  if (typeof emojiOrEmojiData === "string") {
37
37
  if (!emojiIndex) {
38
38
  emojiIndex = new emojiMartVueFast.EmojiIndex(data__default.default);
@@ -74,4 +74,4 @@ exports.emojiAddRecent = emojiAddRecent;
74
74
  exports.emojiSearch = emojiSearch;
75
75
  exports.getCurrentSkinTone = getCurrentSkinTone;
76
76
  exports.setCurrentSkinTone = setCurrentSkinTone;
77
- //# sourceMappingURL=emoji-CEwczMT5.cjs.map
77
+ //# sourceMappingURL=emoji-aWWWqkrJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-aWWWqkrJ.cjs","sources":["../../src/functions/emoji/emoji.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { EmojiIndex, frequently } from 'emoji-mart-vue-fast'\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\nconst storage = getBuilder('nextcloud-vue').persist(true).build()\n\n// Shared emoji index and skinTone for all emojiSearch function calls\n// Will be initialized on the first call\nlet emojiIndex\n\n/**\n * Object type returned by EmojiIndex\n * (keep only required properties)\n */\ntype EmojiData = {\n\tid: string\n}\n\n/**\n * Skin tones supported by Unicode Emojis (Fitzpatrick scale)\n * The numeric values align with `emoji-mart-vue`\n */\nexport enum EmojiSkinTone {\n\tNeutral = 1,\n\tLight = 2,\n\tMediumLight = 3,\n\tMedium = 4,\n\tMediumDark = 5,\n\tDark = 6,\n}\n\n/**\n * Get the list of emojis by search filter or the list of frequently used emojis\n *\n * @param query Emoji search filter string; if no string or empty string is given, the list of frequently used emojis is returned\n * @param maxResults Maximum of returned emojis\n * @return list of found emojis in the same format as the emoji-mart-vue-fast's EmojiIndex\n */\nexport function emojiSearch(query: string, maxResults: number = 10): object[] {\n\t// If this is the first call of function - initialize EmojiIndex\n\tif (!emojiIndex) {\n\t\temojiIndex = new EmojiIndex(data)\n\t}\n\tconst currentSkinTone = getCurrentSkinTone()\n\n\tlet results\n\tif (query) {\n\t\tresults = emojiIndex.search(`:${query}`, maxResults)\n\t\tif (results.length < maxResults) {\n\t\t\tresults = results.concat(emojiIndex.search(query, maxResults - results.length))\n\t\t}\n\t} else {\n\t\tresults = frequently.get(maxResults).map((id: number) => emojiIndex.emoji(id)) || []\n\t}\n\n\treturn results.map((emoji) => emoji.getSkin(currentSkinTone))\n}\n\n/**\n * Add emoji to the list of recent emojis.\n * This list can be got from emojiSearch function and it is used in NcEmojiPicker.\n *\n * @param emojiOrEmojiData object with `id` property, or emoji string. When string provided, object is looked up in EmojiIndex\n * @param emojiOrEmojiData.id the emoji ID from emoji index. Mandatory property to modify 'frequently' array\n */\nexport function emojiAddRecent(emojiOrEmojiData: EmojiData | string | null): void {\n\tlet emojiData: EmojiData | null\n\n\tif (typeof emojiOrEmojiData === 'string') {\n\t\t// If this is the first call of function - initialize EmojiIndex\n\t\tif (!emojiIndex) {\n\t\t\temojiIndex = new EmojiIndex(data)\n\t\t}\n\t\temojiData = emojiIndex.findEmoji(emojiOrEmojiData) as EmojiData | null\n\t} else {\n\t\temojiData = emojiOrEmojiData\n\t}\n\n\tif (emojiData && 'id' in emojiData) {\n\t\tfrequently.add(emojiData)\n\t}\n}\n\n/**\n * Get the current skin tone index used for emojis\n *\n * @return The skin tone\n */\nexport function getCurrentSkinTone(): EmojiSkinTone {\n\tconst skinTone = Number.parseInt(storage.getItem('NcEmojiPicker::currentSkinTone') ?? '1')\n\t// Clamp skinTone to valid ranges\n\treturn Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n}\n\n/**\n * Set the current active skin tone for emojis\n *\n * @param skinTone Skin tone\n */\nexport function setCurrentSkinTone(skinTone: EmojiSkinTone): void {\n\t// Clamp skinTone to valid ranges\n\tskinTone = Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n\tstorage.setItem('NcEmojiPicker::currentSkinTone', skinTone.toString())\n}\n"],"names":["getBuilder","EmojiSkinTone","EmojiIndex","data","frequently"],"mappings":";;;;;;AASA,MAAM,UAAUA,eAAAA,WAAW,eAAe,EAAE,QAAQ,IAAI,EAAE,MAAA;AAI1D,IAAI;AAcG,IAAK,kCAAAC,mBAAL;AACNA,iBAAAA,eAAA,aAAU,CAAA,IAAV;AACAA,iBAAAA,eAAA,WAAQ,CAAA,IAAR;AACAA,iBAAAA,eAAA,iBAAc,CAAA,IAAd;AACAA,iBAAAA,eAAA,YAAS,CAAA,IAAT;AACAA,iBAAAA,eAAA,gBAAa,CAAA,IAAb;AACAA,iBAAAA,eAAA,UAAO,CAAA,IAAP;AANW,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAgBL,SAAS,YAAY,OAAe,aAAqB,IAAc;AAE7E,MAAI,CAAC,YAAY;AAChB,iBAAa,IAAIC,iBAAAA,WAAWC,qBAAI;AAAA,EACjC;AACA,QAAM,kBAAkB,mBAAA;AAExB,MAAI;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,KAAK,IAAI,UAAU;AACnD,QAAI,QAAQ,SAAS,YAAY;AAChC,gBAAU,QAAQ,OAAO,WAAW,OAAO,OAAO,aAAa,QAAQ,MAAM,CAAC;AAAA,IAC/E;AAAA,EACD,OAAO;AACN,cAAUC,iBAAAA,WAAW,IAAI,UAAU,EAAE,IAAI,CAAC,OAAe,WAAW,MAAM,EAAE,CAAC,KAAK,CAAA;AAAA,EACnF;AAEA,SAAO,QAAQ,IAAI,CAAC,UAAU,MAAM,QAAQ,eAAe,CAAC;AAC7D;AASO,SAAS,eAAe,kBAAmD;AACjF,MAAI;AAEJ,MAAI,OAAO,qBAAqB,UAAU;AAEzC,QAAI,CAAC,YAAY;AAChB,mBAAa,IAAIF,iBAAAA,WAAWC,qBAAI;AAAA,IACjC;AACA,gBAAY,WAAW,UAAU,gBAAgB;AAAA,EAClD,OAAO;AACN,gBAAY;AAAA,EACb;AAEA,MAAI,aAAa,QAAQ,WAAW;AACnCC,qBAAAA,WAAW,IAAI,SAAS;AAAA,EACzB;AACD;AAOO,SAAS,qBAAoC;AACnD,QAAM,WAAW,OAAO,SAAS,QAAQ,QAAQ,gCAAgC,KAAK,GAAG;AAEzF,SAAO,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC5D;AAOO,SAAS,mBAAmB,UAA+B;AAEjE,aAAW,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC/D,UAAQ,QAAQ,kCAAkC,SAAS,SAAA,CAAU;AACtE;;;;;;"}
@@ -5,10 +5,10 @@ function getAvatarUrl(user, options) {
5
5
  const size = (options?.size || 64) <= 64 ? 64 : 512;
6
6
  const guestUrl = options?.isGuest ? "/guest" : "";
7
7
  const themeUrl = options?.isDarkTheme ?? Functions_isDarkTheme.checkIfDarkTheme(document.body) ? "/dark" : "";
8
- return router.generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {
8
+ return router.generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}?guestFallback=true`, {
9
9
  user,
10
10
  size
11
11
  });
12
12
  }
13
13
  exports.getAvatarUrl = getAvatarUrl;
14
- //# sourceMappingURL=getAvatarUrl-Du9Y3cPO.cjs.map
14
+ //# sourceMappingURL=getAvatarUrl-4HsuXa3l.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAvatarUrl-Du9Y3cPO.cjs","sources":["../../src/utils/getAvatarUrl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { checkIfDarkTheme } from '../functions/isDarkTheme/index.ts'\n\ninterface AvatarUrlOptions {\n\t/**\n\t * Should the dark theme variant be used.\n\t */\n\tisDarkTheme?: boolean\n\n\t/**\n\t * Is the user a guest user.\n\t */\n\tisGuest?: boolean\n\n\t/**\n\t * Size of the avatar.\n\t *\n\t * @default 64\n\t */\n\tsize?: 64 | 512\n}\n\n/**\n * Get the avatar URL for a given user.\n *\n * @param user - The user id\n * @param options - Adjustments for the avatar format\n */\nexport function getAvatarUrl(user: string, options?: AvatarUrlOptions): string {\n\t// backend only supports 64 and 512px\n\t// so we only requrest the needed size for better caching of the request.\n\tconst size = (options?.size || 64) <= 64\n\t\t? 64\n\t\t: 512\n\n\tconst guestUrl = options?.isGuest\n\t\t? '/guest'\n\t\t: ''\n\tconst themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body)\n\t\t? '/dark'\n\t\t: ''\n\n\treturn generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n\t\tuser,\n\t\tsize,\n\t})\n}\n"],"names":["checkIfDarkTheme","generateUrl"],"mappings":";;;AAiCO,SAAS,aAAa,MAAc,SAAoC;AAG9E,QAAM,QAAQ,SAAS,QAAQ,OAAO,KACnC,KACA;AAEH,QAAM,WAAW,SAAS,UACvB,WACA;AACH,QAAM,WAAW,SAAS,eAAeA,sBAAAA,iBAAiB,SAAS,IAAI,IACpE,UACA;AAEH,SAAOC,OAAAA,YAAY,UAAU,QAAQ,iBAAiB,QAAQ,IAAI;AAAA,IACjE;AAAA,IACA;AAAA,EAAA,CACA;AACF;;"}
1
+ {"version":3,"file":"getAvatarUrl-4HsuXa3l.cjs","sources":["../../src/utils/getAvatarUrl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { checkIfDarkTheme } from '../functions/isDarkTheme/index.ts'\n\ninterface AvatarUrlOptions {\n\t/**\n\t * Should the dark theme variant be used.\n\t */\n\tisDarkTheme?: boolean\n\n\t/**\n\t * Is the user a guest user.\n\t */\n\tisGuest?: boolean\n\n\t/**\n\t * Size of the avatar.\n\t *\n\t * @default 64\n\t */\n\tsize?: 64 | 512\n}\n\n/**\n * Get the avatar URL for a given user.\n *\n * @param user - The user id\n * @param options - Adjustments for the avatar format\n */\nexport function getAvatarUrl(user: string, options?: AvatarUrlOptions): string {\n\t// backend only supports 64 and 512px\n\t// so we only request the needed size for better caching of the request.\n\tconst size = (options?.size || 64) <= 64\n\t\t? 64\n\t\t: 512\n\n\tconst guestUrl = options?.isGuest\n\t\t? '/guest'\n\t\t: ''\n\tconst themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body)\n\t\t? '/dark'\n\t\t: ''\n\n\treturn generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}?guestFallback=true`, {\n\t\tuser,\n\t\tsize,\n\t})\n}\n"],"names":["checkIfDarkTheme","generateUrl"],"mappings":";;;AAiCO,SAAS,aAAa,MAAc,SAAoC;AAG9E,QAAM,QAAQ,SAAS,QAAQ,OAAO,KACnC,KACA;AAEH,QAAM,WAAW,SAAS,UACvB,WACA;AACH,QAAM,WAAW,SAAS,eAAeA,sBAAAA,iBAAiB,SAAS,IAAI,IACpE,UACA;AAEH,SAAOC,OAAAA,YAAY,UAAU,QAAQ,iBAAiB,QAAQ,uBAAuB;AAAA,IACpF;AAAA,IACA;AAAA,EAAA,CACA;AACF;;"}