@nextcloud/vue 9.0.0-alpha.3 → 9.0.0-alpha.4

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 (568) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +5 -0
  3. package/dist/Components/NcActionButton.mjs +1 -1
  4. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  5. package/dist/Components/NcActionCaption.mjs +1 -1
  6. package/dist/Components/NcActionCheckbox.mjs +1 -1
  7. package/dist/Components/NcActionInput.mjs +1 -1
  8. package/dist/Components/NcActionLink.mjs +1 -1
  9. package/dist/Components/NcActionRadio.mjs +1 -1
  10. package/dist/Components/NcActionRouter.mjs +1 -1
  11. package/dist/Components/NcActionSeparator.mjs +1 -1
  12. package/dist/Components/NcActionText.mjs +1 -1
  13. package/dist/Components/NcActionTextEditable.mjs +1 -1
  14. package/dist/Components/NcActions.mjs +1 -1
  15. package/dist/Components/NcAppContent.mjs +1 -1
  16. package/dist/Components/NcAppNavigation.mjs +1 -1
  17. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  18. package/dist/Components/NcAppNavigationIconBullet.mjs +1 -1
  19. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  20. package/dist/Components/NcAppNavigationList.mjs +1 -1
  21. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  22. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  23. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  24. package/dist/Components/NcAppNavigationSpacer.mjs +1 -1
  25. package/dist/Components/NcAppNavigationToggle.mjs +1 -21
  26. package/dist/Components/NcAppNavigationToggle.mjs.map +1 -1
  27. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  28. package/dist/Components/NcAppSettingsSection.mjs +1 -1
  29. package/dist/Components/NcAppSidebar.mjs +1 -1
  30. package/dist/Components/NcAppSidebarTab.mjs +1 -1
  31. package/dist/Components/NcAvatar.mjs +1 -1
  32. package/dist/Components/NcBreadcrumb.mjs +1 -1
  33. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  34. package/dist/Components/NcButton.mjs +1 -1
  35. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  36. package/dist/Components/NcChip.mjs +4 -0
  37. package/dist/Components/NcChip.mjs.map +1 -0
  38. package/dist/Components/NcColorPicker.mjs +1 -1
  39. package/dist/Components/NcContent.mjs +1 -1
  40. package/dist/Components/NcCounterBubble.mjs +1 -1
  41. package/dist/Components/NcDashboardWidget.mjs +1 -1
  42. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  43. package/dist/Components/NcDateTime.mjs +1 -1
  44. package/dist/Components/NcDateTimePicker.mjs +1 -1
  45. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  46. package/dist/Components/NcDialog.mjs +1 -1
  47. package/dist/Components/NcDialogButton.mjs +1 -1
  48. package/dist/Components/NcEllipsisedOption.mjs +1 -1
  49. package/dist/Components/NcEmojiPicker.mjs +1 -1
  50. package/dist/Components/NcEmptyContent.mjs +1 -1
  51. package/dist/Components/NcGuestContent.mjs +1 -1
  52. package/dist/Components/NcHeaderMenu.mjs +1 -1
  53. package/dist/Components/NcHighlight.mjs +1 -1
  54. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  55. package/dist/Components/NcInputField.mjs +1 -1
  56. package/dist/Components/NcListItem.mjs +1 -1
  57. package/dist/Components/NcListItemIcon.mjs +1 -1
  58. package/dist/Components/NcLoadingIcon.mjs +1 -1
  59. package/dist/Components/NcModal.mjs +14 -53
  60. package/dist/Components/NcModal.mjs.map +1 -1
  61. package/dist/Components/NcNoteCard.mjs +1 -1
  62. package/dist/Components/NcPasswordField.mjs +1 -1
  63. package/dist/Components/NcPopover.mjs +1 -1
  64. package/dist/Components/NcProgressBar.mjs +1 -1
  65. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  66. package/dist/Components/NcRichContenteditable.mjs +2 -2
  67. package/dist/Components/NcRichText.mjs +3 -24
  68. package/dist/Components/NcRichText.mjs.map +1 -1
  69. package/dist/Components/NcSelect.mjs +1 -1
  70. package/dist/Components/NcSelectTags.mjs +1 -1
  71. package/dist/Components/NcSettingsInputText.mjs +1 -1
  72. package/dist/Components/NcSettingsSection.mjs +1 -1
  73. package/dist/Components/NcSettingsSelectGroup.mjs +1 -22
  74. package/dist/Components/NcSettingsSelectGroup.mjs.map +1 -1
  75. package/dist/Components/NcTextArea.mjs +1 -1
  76. package/dist/Components/NcTextField.mjs +1 -1
  77. package/dist/Components/NcTimezonePicker.mjs +1 -1
  78. package/dist/Components/NcUserBubble.mjs +1 -1
  79. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  80. package/dist/Components/NcVNodes.mjs.map +1 -1
  81. package/dist/Composables/useIsFullscreen.mjs +0 -21
  82. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  83. package/dist/Composables/useIsMobile.mjs +0 -21
  84. package/dist/Composables/useIsMobile.mjs.map +1 -1
  85. package/dist/Directives/Focus.mjs +0 -21
  86. package/dist/Directives/Focus.mjs.map +1 -1
  87. package/dist/Directives/Linkify.mjs +1 -1
  88. package/dist/Directives/Linkify.mjs.map +1 -1
  89. package/dist/Directives/Tooltip.mjs +1 -23
  90. package/dist/Directives/Tooltip.mjs.map +1 -1
  91. package/dist/Functions/a11y.mjs +0 -21
  92. package/dist/Functions/a11y.mjs.map +1 -1
  93. package/dist/Functions/emoji.mjs +1 -1
  94. package/dist/Functions/reference.mjs +1 -1
  95. package/dist/Functions/usernameToColor.mjs +1 -1
  96. package/dist/Mixins/clickOutsideOptions.mjs +0 -21
  97. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  98. package/dist/Mixins/richEditor.mjs +2 -2
  99. package/dist/assets/NcActionButton-tvMk0Dz-.css +107 -0
  100. package/dist/assets/{NcActionButtonGroup-CvloX35s.css → NcActionButtonGroup-CQxLn2fv.css} +6 -20
  101. package/dist/assets/NcActionCaption-D-VXTPLI.css +32 -0
  102. package/dist/assets/NcActionCheckbox-DzmNTqwC.css +78 -0
  103. package/dist/assets/NcActionInput-4qR5N5lV.css +222 -0
  104. package/dist/assets/NcActionLink-Djp7wPGg.css +92 -0
  105. package/dist/assets/NcActionRadio-ZRQheAZT.css +78 -0
  106. package/dist/assets/NcActionRouter-B0l-dISs.css +103 -0
  107. package/dist/assets/NcActionSeparator-CEbb5P6P.css +24 -0
  108. package/dist/assets/NcActionText-Ip9hRt85.css +107 -0
  109. package/dist/assets/NcActionTextEditable-1JPkW_4o.css +238 -0
  110. package/dist/assets/NcActions-pRTZ3RyK.css +83 -0
  111. package/dist/assets/NcAppContent-CK9aL637.css +125 -0
  112. package/dist/assets/NcAppNavigation-BjnW8PQn.css +103 -0
  113. package/dist/assets/NcAppNavigationCaption-NPhURS5E.css +48 -0
  114. package/dist/assets/NcAppNavigationIconBullet-EfIZU7x-.css +30 -0
  115. package/dist/assets/{NcAppNavigationItem-DBjQubbD.css → NcAppNavigationItem-wQ3n8jc-.css} +50 -74
  116. package/dist/assets/NcAppNavigationList-BIbyyT7b.css +29 -0
  117. package/dist/assets/NcAppNavigationNew-R0QcGqvG.css +27 -0
  118. package/dist/assets/{NcAppNavigationNewItem-wTDYmQmA.css → NcAppNavigationNewItem-CO3GnR26.css} +42 -52
  119. package/dist/assets/NcAppNavigationSettings-Cyn2gy0W.css +79 -0
  120. package/dist/assets/NcAppNavigationSpacer-DiE3sVy0.css +6 -0
  121. package/dist/assets/NcAppNavigationToggle-CNPQvWtG.css +27 -0
  122. package/dist/assets/NcAppSettingsDialog-ksK-DMgk.css +74 -0
  123. package/dist/assets/NcAppSettingsSection-CcRbdcD-.css +30 -0
  124. package/dist/assets/{NcAppSidebar-v-H-37nV.css → NcAppSidebar-CxMCtTtn.css} +98 -149
  125. package/dist/assets/NcAppSidebarTab-Cp0hG2NU.css +34 -0
  126. package/dist/assets/NcAvatar-BnHiRwVr.css +129 -0
  127. package/dist/assets/NcBreadcrumb-CJ7KeSKQ.css +68 -0
  128. package/dist/assets/NcBreadcrumbs-C05lySw_.css +37 -0
  129. package/dist/assets/{NcButton-BqOBMPBj.css → NcButton-D3_Qd5cl.css} +58 -71
  130. package/dist/assets/{NcCheckboxRadioSwitch-BrP8x4oD.css → NcCheckboxRadioSwitch-By6afmQ3.css} +53 -81
  131. package/dist/assets/NcChip-Cho4h_Kr.css +61 -0
  132. package/dist/assets/NcColorPicker-vEZb9dRS.css +122 -0
  133. package/dist/assets/NcContent-DljiVMLl.css +80 -0
  134. package/dist/assets/NcCounterBubble-DT16e2bg.css +53 -0
  135. package/dist/assets/NcDashboardWidget-CvGZT_xf.css +73 -0
  136. package/dist/assets/NcDashboardWidgetItem-JCtQhwhS.css +85 -0
  137. package/dist/assets/{NcDateTimePicker-DBxgtJoU.css → NcDateTimePicker-BLEg7GJo.css} +38 -76
  138. package/dist/assets/NcDateTimePickerNative-DLch-JRA.css +47 -0
  139. package/dist/assets/NcDialog-BmN7gR6_.css +132 -0
  140. package/dist/assets/NcEllipsisedOption-DZK2vWD1.css +34 -0
  141. package/dist/assets/{NcEmojiPicker-DPDnLnba.css → NcEmojiPicker-C18M6LHu.css} +16 -44
  142. package/dist/assets/NcEmptyContent-C-nruaFh.css +65 -0
  143. package/dist/assets/NcGuestContent-Dh5z5Dgm.css +50 -0
  144. package/dist/assets/NcHeaderMenu-C-0GR7Si.css +77 -0
  145. package/dist/assets/NcIconSvgWrapper-CtTf2c7f.css +39 -0
  146. package/dist/assets/NcInputConfirmCancel-DBjIHKvN.css +39 -0
  147. package/dist/assets/{NcInputField-CSuJUlgW.css → NcInputField-DXzhRkiY.css} +42 -55
  148. package/dist/assets/NcListItem-Cs-R5Xpu.css +156 -0
  149. package/dist/assets/NcListItemIcon-C2zhDUEr.css +64 -0
  150. package/dist/assets/NcLoadingIcon-BSONDy7x.css +21 -0
  151. package/dist/assets/NcMentionBubble-B-xYaJDc.css +70 -0
  152. package/dist/assets/{NcModal-JZMyM8zO.css → NcModal-B5iEU9Qr.css} +70 -87
  153. package/dist/assets/NcNoteCard-BLPU1den.css +50 -0
  154. package/dist/assets/{NcPopover-BwI1hPzy.css → NcPopover-BDlL00qZ.css} +6 -20
  155. package/dist/assets/NcProgressBar-BsqdCn-x.css +56 -0
  156. package/dist/assets/NcRelatedResourcesPanel-C56aj2M3.css +158 -0
  157. package/dist/assets/{NcRichContenteditable-C9Sikuur.css → NcRichContenteditable-B_YH-89_.css} +55 -97
  158. package/dist/assets/NcRichText-yqgOn353.css +217 -0
  159. package/dist/assets/{NcSelect-Fmyu7qyl.css → NcSelect-9AZOhTlS.css} +9 -21
  160. package/dist/assets/NcSettingsInputText-C3j73xA0.css +35 -0
  161. package/dist/assets/NcSettingsSection-CFKAEs4p.css +52 -0
  162. package/dist/assets/NcSettingsSelectGroup-CGfaysRv.css +23 -0
  163. package/dist/assets/{NcTextArea-n0qdPImB.css → NcTextArea-BjB_qSH0.css} +30 -42
  164. package/dist/assets/NcUserBubble-CIfQjmmP.css +48 -0
  165. package/dist/assets/NcUserStatusIcon-D9N1ER72.css +30 -0
  166. package/dist/assets/{Tooltip-jHgt4m-W.css → Tooltip-4CSl8xev.css} +10 -30
  167. package/dist/assets/referencePickerModal-DeIfdfau.css +413 -0
  168. package/dist/chunks/{GenColors-BjorWIgA.mjs → GenColors-BidEIqUL.mjs} +1 -23
  169. package/dist/chunks/GenColors-BidEIqUL.mjs.map +1 -0
  170. package/dist/chunks/GenRandomId-CMooMQt0.mjs +6 -0
  171. package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +1 -0
  172. package/dist/chunks/Linkify-BtgR-dXX.mjs +14 -0
  173. package/dist/chunks/Linkify-BtgR-dXX.mjs.map +1 -0
  174. package/dist/chunks/{NcActionButton-BFQnlisT.mjs → NcActionButton-Bqkgltcz.mjs} +4 -4
  175. package/dist/chunks/NcActionButton-Bqkgltcz.mjs.map +1 -0
  176. package/dist/chunks/{NcActionButtonGroup-D-8C3HSO.mjs → NcActionButtonGroup-BeQ4mLmQ.mjs} +3 -3
  177. package/dist/chunks/NcActionButtonGroup-BeQ4mLmQ.mjs.map +1 -0
  178. package/dist/chunks/{NcActionCaption-CV_zDfFg.mjs → NcActionCaption-Cb_uvgZc.mjs} +2 -2
  179. package/dist/chunks/{NcActionCaption-CV_zDfFg.mjs.map → NcActionCaption-Cb_uvgZc.mjs.map} +1 -1
  180. package/dist/chunks/{NcActionCheckbox-CjZH6kjg.mjs → NcActionCheckbox-A6JNjini.mjs} +4 -4
  181. package/dist/chunks/NcActionCheckbox-A6JNjini.mjs.map +1 -0
  182. package/dist/chunks/{NcActionInput-ClUviDGB.mjs → NcActionInput-DCe8K_gs.mjs} +10 -10
  183. package/dist/chunks/NcActionInput-DCe8K_gs.mjs.map +1 -0
  184. package/dist/chunks/{NcActionLink-CQEzoS_a.mjs → NcActionLink-C0mINC5i.mjs} +4 -4
  185. package/dist/chunks/NcActionLink-C0mINC5i.mjs.map +1 -0
  186. package/dist/chunks/{NcActionRadio-D6VrxjcX.mjs → NcActionRadio-BqAyH2zq.mjs} +4 -4
  187. package/dist/chunks/NcActionRadio-BqAyH2zq.mjs.map +1 -0
  188. package/dist/chunks/{NcActionRouter-DmrWV-q1.mjs → NcActionRouter-Dr-j-IUI.mjs} +4 -4
  189. package/dist/chunks/NcActionRouter-Dr-j-IUI.mjs.map +1 -0
  190. package/dist/chunks/{NcActionSeparator-ib21YUAE.mjs → NcActionSeparator-DKFXmIJ5.mjs} +2 -2
  191. package/dist/chunks/NcActionSeparator-DKFXmIJ5.mjs.map +1 -0
  192. package/dist/chunks/{NcActionText-dj38IHk6.mjs → NcActionText-C5ZPI56c.mjs} +4 -4
  193. package/dist/chunks/NcActionText-C5ZPI56c.mjs.map +1 -0
  194. package/dist/chunks/{NcActionTextEditable-W1wFQ9dc.mjs → NcActionTextEditable-CLXTDGjr.mjs} +4 -4
  195. package/dist/chunks/NcActionTextEditable-CLXTDGjr.mjs.map +1 -0
  196. package/dist/chunks/{NcActions-B6QL_4DD.mjs → NcActions-COaRMDe5.mjs} +7 -7
  197. package/dist/chunks/NcActions-COaRMDe5.mjs.map +1 -0
  198. package/dist/chunks/{NcAppContent-jvz75P8O.mjs → NcAppContent-D2in9bd7.mjs} +5 -5
  199. package/dist/chunks/NcAppContent-D2in9bd7.mjs.map +1 -0
  200. package/dist/chunks/NcAppContentDetails-Ch6NJvAl.mjs.map +1 -1
  201. package/dist/chunks/NcAppContentList-DGwk3AvB.mjs.map +1 -1
  202. package/dist/chunks/{NcAppNavigation-D0RINQda.mjs → NcAppNavigation-Dz1n-CeR.mjs} +5 -5
  203. package/dist/chunks/NcAppNavigation-Dz1n-CeR.mjs.map +1 -0
  204. package/dist/chunks/{NcAppNavigationCaption-BnhoAPkJ.mjs → NcAppNavigationCaption-6odGo1iM.mjs} +3 -3
  205. package/dist/chunks/NcAppNavigationCaption-6odGo1iM.mjs.map +1 -0
  206. package/dist/chunks/{NcAppNavigationIconBullet-JoIYov5C.mjs → NcAppNavigationIconBullet-DuqQFciH.mjs} +2 -2
  207. package/dist/chunks/NcAppNavigationIconBullet-DuqQFciH.mjs.map +1 -0
  208. package/dist/chunks/{NcAppNavigationItem-s0czI8KR.mjs → NcAppNavigationItem-BHtzDfb2.mjs} +10 -10
  209. package/dist/chunks/NcAppNavigationItem-BHtzDfb2.mjs.map +1 -0
  210. package/dist/chunks/{NcAppNavigationList-DzTic3Q7.mjs → NcAppNavigationList-DCmrqe9N.mjs} +2 -2
  211. package/dist/chunks/NcAppNavigationList-DCmrqe9N.mjs.map +1 -0
  212. package/dist/chunks/{NcAppNavigationNew-RBp5Nk-2.mjs → NcAppNavigationNew-CRonFKWJ.mjs} +3 -3
  213. package/dist/chunks/NcAppNavigationNew-CRonFKWJ.mjs.map +1 -0
  214. package/dist/chunks/{NcAppNavigationNewItem-u85Ffz-V.mjs → NcAppNavigationNewItem-Ctbp1kb-.mjs} +4 -4
  215. package/dist/chunks/NcAppNavigationNewItem-Ctbp1kb-.mjs.map +1 -0
  216. package/dist/chunks/{NcAppNavigationSettings-D_4gHC9H.mjs → NcAppNavigationSettings-ynYeFb6Z.mjs} +4 -4
  217. package/dist/chunks/NcAppNavigationSettings-ynYeFb6Z.mjs.map +1 -0
  218. package/dist/chunks/{NcAppNavigationSpacer-Ctbl-q5I.mjs → NcAppNavigationSpacer-BQFYpMbq.mjs} +2 -2
  219. package/dist/chunks/NcAppNavigationSpacer-BQFYpMbq.mjs.map +1 -0
  220. package/dist/chunks/{NcAppNavigationToggle-BtC5hBww.mjs → NcAppNavigationToggle-DYG8u5dW.mjs} +4 -4
  221. package/dist/chunks/NcAppNavigationToggle-DYG8u5dW.mjs.map +1 -0
  222. package/dist/chunks/{NcAppSettingsDialog-DXpamfEo.mjs → NcAppSettingsDialog-CjpGb_I4.mjs} +4 -4
  223. package/dist/chunks/NcAppSettingsDialog-CjpGb_I4.mjs.map +1 -0
  224. package/dist/chunks/{NcAppSettingsSection-PG8OLRbP.mjs → NcAppSettingsSection-a7OfJ9GT.mjs} +2 -2
  225. package/dist/chunks/NcAppSettingsSection-a7OfJ9GT.mjs.map +1 -0
  226. package/dist/chunks/{NcAppSidebar-B0pjWsoI.mjs → NcAppSidebar-BGCuCKk_.mjs} +232 -200
  227. package/dist/chunks/NcAppSidebar-BGCuCKk_.mjs.map +1 -0
  228. package/dist/chunks/{NcAppSidebarTab-BTuuQoW5.mjs → NcAppSidebarTab-zBqyKIgn.mjs} +2 -2
  229. package/dist/chunks/NcAppSidebarTab-zBqyKIgn.mjs.map +1 -0
  230. package/dist/chunks/{NcAvatar-BKmfsBcY.mjs → NcAvatar-OjWzLdGK.mjs} +15 -36
  231. package/dist/chunks/NcAvatar-OjWzLdGK.mjs.map +1 -0
  232. package/dist/chunks/{NcBreadcrumb-C3k6T3Bj.mjs → NcBreadcrumb-Df7Nn5jU.mjs} +5 -5
  233. package/dist/chunks/NcBreadcrumb-Df7Nn5jU.mjs.map +1 -0
  234. package/dist/chunks/{NcBreadcrumbs-Crc4BkfA.mjs → NcBreadcrumbs-CighY87i.mjs} +12 -16
  235. package/dist/chunks/NcBreadcrumbs-CighY87i.mjs.map +1 -0
  236. package/dist/chunks/{NcButton-B27fpd1m.mjs → NcButton-DvO0XwJf.mjs} +6 -31
  237. package/dist/chunks/NcButton-DvO0XwJf.mjs.map +1 -0
  238. package/dist/chunks/{NcCheckboxRadioSwitch-DdG8AL_h.mjs → NcCheckboxRadioSwitch-BW7W0ToW.mjs} +6 -6
  239. package/dist/chunks/NcCheckboxRadioSwitch-BW7W0ToW.mjs.map +1 -0
  240. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs +3 -0
  241. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs.map +1 -0
  242. package/dist/chunks/NcChip-Crkkyllt.mjs +143 -0
  243. package/dist/chunks/NcChip-Crkkyllt.mjs.map +1 -0
  244. package/dist/chunks/{NcColorPicker-D4IB1shI.mjs → NcColorPicker-Bq2-21Np.mjs} +7 -7
  245. package/dist/chunks/NcColorPicker-Bq2-21Np.mjs.map +1 -0
  246. package/dist/chunks/NcContent-WcbDFG2f.mjs +130 -0
  247. package/dist/chunks/NcContent-WcbDFG2f.mjs.map +1 -0
  248. package/dist/chunks/{NcCounterBubble-BVDNwJiw.mjs → NcCounterBubble-B0Sk58x_.mjs} +2 -2
  249. package/dist/chunks/NcCounterBubble-B0Sk58x_.mjs.map +1 -0
  250. package/dist/chunks/{NcDashboardWidget-B5H6n5qG.mjs → NcDashboardWidget-xBpqAct1.mjs} +7 -7
  251. package/dist/chunks/NcDashboardWidget-xBpqAct1.mjs.map +1 -0
  252. package/dist/chunks/{NcDashboardWidgetItem-BbgZpZ-D.mjs → NcDashboardWidgetItem-BwemNzvL.mjs} +5 -5
  253. package/dist/chunks/NcDashboardWidgetItem-BwemNzvL.mjs.map +1 -0
  254. package/dist/chunks/{NcDateTime-p5872lEX.mjs → NcDateTime-BVQqC6rO.mjs} +1 -22
  255. package/dist/chunks/NcDateTime-BVQqC6rO.mjs.map +1 -0
  256. package/dist/chunks/{NcDateTimePicker-C1gBl-W0.mjs → NcDateTimePicker-CjuFbS-2.mjs} +7 -7
  257. package/dist/chunks/NcDateTimePicker-CjuFbS-2.mjs.map +1 -0
  258. package/dist/chunks/{NcDateTimePickerNative-CyCL5Ovh.mjs → NcDateTimePickerNative-DwJ_yIEg.mjs} +3 -3
  259. package/dist/chunks/NcDateTimePickerNative-DwJ_yIEg.mjs.map +1 -0
  260. package/dist/chunks/{NcDialog-Dq3Qnbke.mjs → NcDialog-CE2gyz2g.mjs} +4 -4
  261. package/dist/chunks/NcDialog-CE2gyz2g.mjs.map +1 -0
  262. package/dist/chunks/{NcDialogButton-C6SudZTq.mjs → NcDialogButton-DAb0CNtg.mjs} +11 -3
  263. package/dist/chunks/NcDialogButton-DAb0CNtg.mjs.map +1 -0
  264. package/dist/chunks/{NcEllipsisedOption-DsCFqgUF.mjs → NcEllipsisedOption-CufdpPBu.mjs} +9 -3
  265. package/dist/chunks/NcEllipsisedOption-CufdpPBu.mjs.map +1 -0
  266. package/dist/chunks/{NcEmojiPicker-BwQ8VxQZ.mjs → NcEmojiPicker-DNbUUyLY.mjs} +9 -9
  267. package/dist/chunks/NcEmojiPicker-DNbUUyLY.mjs.map +1 -0
  268. package/dist/chunks/{NcEmptyContent-CdgacgQe.mjs → NcEmptyContent-BoGB3vFC.mjs} +2 -2
  269. package/dist/chunks/NcEmptyContent-BoGB3vFC.mjs.map +1 -0
  270. package/dist/chunks/{NcGuestContent-DfnVEtGM.mjs → NcGuestContent-DVqg5Bq4.mjs} +2 -2
  271. package/dist/chunks/NcGuestContent-DVqg5Bq4.mjs.map +1 -0
  272. package/dist/chunks/{NcHeaderMenu-CJVtnKpb.mjs → NcHeaderMenu-CIWkk8T1.mjs} +6 -6
  273. package/dist/chunks/NcHeaderMenu-CIWkk8T1.mjs.map +1 -0
  274. package/dist/chunks/{NcHighlight-CR5kySMp.mjs → NcHighlight-BHtRIzqk.mjs} +0 -21
  275. package/dist/chunks/NcHighlight-BHtRIzqk.mjs.map +1 -0
  276. package/dist/chunks/{NcIconSvgWrapper-C0csZ9zg.mjs → NcIconSvgWrapper-DbL6OP85.mjs} +3 -3
  277. package/dist/chunks/NcIconSvgWrapper-DbL6OP85.mjs.map +1 -0
  278. package/dist/chunks/{NcInputConfirmCancel-Rk8B1Q0j.mjs → NcInputConfirmCancel-Cwh6_J6A.mjs} +4 -4
  279. package/dist/chunks/NcInputConfirmCancel-Cwh6_J6A.mjs.map +1 -0
  280. package/dist/chunks/{NcInputField-DX0Brmlk.mjs → NcInputField-BrAvsgA4.mjs} +4 -4
  281. package/dist/chunks/NcInputField-BrAvsgA4.mjs.map +1 -0
  282. package/dist/chunks/{NcListItem-CgZoQEIf.mjs → NcListItem-D3yyUn7h.mjs} +5 -5
  283. package/dist/chunks/{NcListItem-CgZoQEIf.mjs.map → NcListItem-D3yyUn7h.mjs.map} +1 -1
  284. package/dist/chunks/{NcListItemIcon-A5o8HkQv.mjs → NcListItemIcon-B06oTqsI.mjs} +6 -6
  285. package/dist/chunks/NcListItemIcon-B06oTqsI.mjs.map +1 -0
  286. package/dist/chunks/{NcLoadingIcon-DwbO7gAy.mjs → NcLoadingIcon-DREmHXr2.mjs} +2 -2
  287. package/dist/chunks/NcLoadingIcon-DREmHXr2.mjs.map +1 -0
  288. package/dist/chunks/{NcNoteCard-CdZRsd8-.mjs → NcNoteCard-CQgzjr2r.mjs} +2 -2
  289. package/dist/chunks/NcNoteCard-CQgzjr2r.mjs.map +1 -0
  290. package/dist/chunks/{NcPasswordField-B7CiEElO.mjs → NcPasswordField-CaRDsoPg.mjs} +4 -3
  291. package/dist/chunks/NcPasswordField-CaRDsoPg.mjs.map +1 -0
  292. package/dist/chunks/{NcPopover-B9UbiGTv.mjs → NcPopover-BXfbq-Vs.mjs} +2 -2
  293. package/dist/chunks/NcPopover-BXfbq-Vs.mjs.map +1 -0
  294. package/dist/chunks/{NcProgressBar-CAXfza4R.mjs → NcProgressBar-C2r8oqsv.mjs} +3 -3
  295. package/dist/chunks/NcProgressBar-C2r8oqsv.mjs.map +1 -0
  296. package/dist/chunks/{NcRelatedResourcesPanel-Dr4jL2gw.mjs → NcRelatedResourcesPanel-Bg_z2tZT.mjs} +8 -8
  297. package/dist/chunks/NcRelatedResourcesPanel-Bg_z2tZT.mjs.map +1 -0
  298. package/dist/chunks/{NcRichContenteditable-P06ORHyg.mjs → NcRichContenteditable-Cx8Fv6sx.mjs} +51 -29
  299. package/dist/chunks/NcRichContenteditable-Cx8Fv6sx.mjs.map +1 -0
  300. package/dist/chunks/{NcRichText-BfreYq5m.mjs → NcRichText-2N_x-ark.mjs} +11 -10
  301. package/dist/chunks/NcRichText-2N_x-ark.mjs.map +1 -0
  302. package/dist/chunks/NcSavingIndicatorIcon-BiGAtlKQ.mjs.map +1 -1
  303. package/dist/chunks/{NcSelect-Dt3JJc9b.mjs → NcSelect-CPlvJjcY.mjs} +6 -6
  304. package/dist/chunks/NcSelect-CPlvJjcY.mjs.map +1 -0
  305. package/dist/chunks/{NcSelectTags-F8Z_SdXE.mjs → NcSelectTags-Hpq3uQ0b.mjs} +3 -24
  306. package/dist/chunks/NcSelectTags-Hpq3uQ0b.mjs.map +1 -0
  307. package/dist/chunks/{NcSettingsInputText-BtDwhhX0.mjs → NcSettingsInputText-oIYmufF3.mjs} +4 -4
  308. package/dist/chunks/NcSettingsInputText-oIYmufF3.mjs.map +1 -0
  309. package/dist/chunks/{NcSettingsSection-BN98AV4b.mjs → NcSettingsSection-CMw4W_UL.mjs} +3 -3
  310. package/dist/chunks/NcSettingsSection-CMw4W_UL.mjs.map +1 -0
  311. package/dist/chunks/{NcSettingsSelectGroup-61ylzaOo.mjs → NcSettingsSelectGroup-BTVYUUsQ.mjs} +5 -5
  312. package/dist/chunks/NcSettingsSelectGroup-BTVYUUsQ.mjs.map +1 -0
  313. package/dist/chunks/{NcTextArea-DOXp3B2R.mjs → NcTextArea-qvR02aYz.mjs} +3 -3
  314. package/dist/chunks/NcTextArea-qvR02aYz.mjs.map +1 -0
  315. package/dist/chunks/{NcTextField-5CbWAUlw.mjs → NcTextField-W5cVvjob.mjs} +2 -2
  316. package/dist/chunks/NcTextField-W5cVvjob.mjs.map +1 -0
  317. package/dist/chunks/NcTimezonePicker-DQ7LMeQo.mjs +187 -0
  318. package/dist/chunks/NcTimezonePicker-DQ7LMeQo.mjs.map +1 -0
  319. package/dist/chunks/{NcUserBubble-B1nO-OgL.mjs → NcUserBubble-DrQahQl0.mjs} +4 -4
  320. package/dist/chunks/NcUserBubble-DrQahQl0.mjs.map +1 -0
  321. package/dist/chunks/{NcUserStatusIcon-DXxHWiO9.mjs → NcUserStatusIcon-CA3yJfmu.mjs} +7 -28
  322. package/dist/chunks/NcUserStatusIcon-CA3yJfmu.mjs.map +1 -0
  323. package/dist/chunks/ScopeComponent-C5tGtO7l.mjs +14 -0
  324. package/dist/chunks/ScopeComponent-C5tGtO7l.mjs.map +1 -0
  325. package/dist/chunks/{_l10n-ipRV_dfs.mjs → _l10n-C3nxU4O-.mjs} +10 -10
  326. package/dist/chunks/_l10n-C3nxU4O-.mjs.map +1 -0
  327. package/dist/chunks/actionGlobal-BZFdtdJL.mjs +25 -0
  328. package/dist/chunks/actionGlobal-BZFdtdJL.mjs.map +1 -0
  329. package/dist/chunks/{actionText-CBxkao_8.mjs → actionText-aI0owku1.mjs} +1 -43
  330. package/dist/chunks/actionText-aI0owku1.mjs.map +1 -0
  331. package/dist/chunks/{autolink-CuPhRJIL.mjs → autolink-CKPk5rzg.mjs} +7 -24
  332. package/dist/chunks/autolink-CKPk5rzg.mjs.map +1 -0
  333. package/dist/chunks/{emoji-BjUFGMrw.mjs → emoji-Ba55f8iV.mjs} +0 -21
  334. package/dist/chunks/emoji-Ba55f8iV.mjs.map +1 -0
  335. package/dist/chunks/focusTrap-Cecv_gjR.mjs +7 -0
  336. package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +1 -0
  337. package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs +11 -0
  338. package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs.map +1 -0
  339. package/dist/chunks/{index-5AsHlmYO.mjs → index-BKkaCvJ0.mjs} +4 -25
  340. package/dist/chunks/index-BKkaCvJ0.mjs.map +1 -0
  341. package/dist/chunks/index-CtoB4eIp.mjs.map +1 -1
  342. package/dist/chunks/{referencePickerModal-Tr-vmVPW.mjs → referencePickerModal-Cho5o36L.mjs} +19 -238
  343. package/dist/chunks/referencePickerModal-Cho5o36L.mjs.map +1 -0
  344. package/dist/chunks/usernameToColor-4ci35wWd.mjs +26 -0
  345. package/dist/chunks/usernameToColor-4ci35wWd.mjs.map +1 -0
  346. package/dist/components/NcActionButton/NcActionButton.vue.d.ts +3 -7
  347. package/dist/components/NcActionButtonGroup/NcActionButtonGroup.vue.d.ts +1 -1
  348. package/dist/components/NcActionCheckbox/NcActionCheckbox.vue.d.ts +4 -4
  349. package/dist/components/NcActionInput/NcActionInput.vue.d.ts +11 -11
  350. package/dist/components/NcActionRadio/NcActionRadio.vue.d.ts +4 -4
  351. package/dist/components/NcActionTextEditable/NcActionTextEditable.vue.d.ts +4 -4
  352. package/dist/components/NcActions/NcActions.vue.d.ts +5 -5
  353. package/dist/components/NcAppContent/NcAppContent.vue.d.ts +1 -1
  354. package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +1 -1
  355. package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +5 -5
  356. package/dist/components/NcAppNavigationItem/NcInputConfirmCancel.vue.d.ts +3 -3
  357. package/dist/components/NcAppNavigationSettings/NcAppNavigationSettings.vue.d.ts +3 -3
  358. package/dist/components/NcAppSidebar/NcAppSidebar.vue.d.ts +47 -15
  359. package/dist/components/NcAvatar/NcAvatar.vue.d.ts +3 -3
  360. package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +5 -5
  361. package/dist/components/NcButton/NcButton.vue.d.ts +16 -13
  362. package/dist/components/NcButton/index.d.ts +2 -19
  363. package/dist/components/NcChip/NcChip.vue.d.ts +113 -0
  364. package/dist/components/NcChip/index.d.ts +5 -0
  365. package/dist/components/NcContent/NcContent.vue.d.ts +1 -1
  366. package/dist/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue.d.ts +1 -1
  367. package/dist/components/NcEllipsisedOption/NcEllipsisedOption.vue.d.ts +12 -0
  368. package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +2 -2
  369. package/dist/components/NcHeaderMenu/NcHeaderMenu.vue.d.ts +3 -3
  370. package/dist/components/NcHighlight/NcHighlight.vue.d.ts +1 -1
  371. package/dist/components/NcIconSvgWrapper/NcIconSvgWrapper.vue.d.ts +4 -4
  372. package/dist/components/NcInputField/NcInputField.vue.d.ts +6 -6
  373. package/dist/components/NcListItem/NcListItem.vue.d.ts +1 -1
  374. package/dist/components/NcListItemIcon/NcListItemIcon.vue.d.ts +2 -2
  375. package/dist/components/NcLoadingIcon/NcLoadingIcon.vue.d.ts +1 -1
  376. package/dist/components/NcNoteCard/NcNoteCard.vue.d.ts +1 -1
  377. package/dist/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +2 -2
  378. package/dist/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +1 -1
  379. package/dist/components/NcRelatedResourcesPanel/NcTeamResources.vue.d.ts +1 -1
  380. package/dist/components/NcRichContenteditable/NcAutoCompleteResult.vue.d.ts +5 -5
  381. package/dist/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +22 -10
  382. package/dist/components/NcRichText/NcReferencePicker/NcSearch.vue.d.ts +1 -1
  383. package/dist/components/NcRichText/NcReferenceWidget.vue.d.ts +1 -1
  384. package/dist/components/NcRichText/NcRichText.vue.d.ts +2 -2
  385. package/dist/components/NcRichText/helpers.d.ts +4 -0
  386. package/dist/components/NcSavingIndicatorIcon/NcSavingIndicatorIcon.vue.d.ts +2 -2
  387. package/dist/components/NcSelect/NcSelect.vue.d.ts +2 -2
  388. package/dist/components/NcSelectTags/NcSelectTags.vue.d.ts +1 -1
  389. package/dist/components/NcSettingsInputText/NcSettingsInputText.vue.d.ts +4 -4
  390. package/dist/components/NcSettingsSelectGroup/NcSettingsSelectGroup.vue.d.ts +5 -5
  391. package/dist/components/NcTextArea/NcTextArea.vue.d.ts +3 -3
  392. package/dist/components/NcTimezonePicker/NcTimezonePicker.vue.d.ts +1 -1
  393. package/dist/components/NcUserBubble/NcUserBubble.vue.d.ts +3 -3
  394. package/dist/components/NcVNodes/NcVNodes.vue.d.ts +3 -3
  395. package/dist/components/index.d.ts +6 -19
  396. package/dist/composables/useFormatDateTime.d.ts +5 -5
  397. package/dist/directives/index.d.ts +2 -19
  398. package/dist/functions/a11y/index.d.ts +2 -19
  399. package/dist/functions/emoji/emoji.d.ts +2 -19
  400. package/dist/functions/emoji/index.d.ts +2 -19
  401. package/dist/functions/reference/widgets.d.ts +4 -0
  402. package/dist/index.d.ts +2 -19
  403. package/dist/index.mjs +90 -119
  404. package/dist/index.mjs.map +1 -1
  405. package/dist/l10n.d.ts +2 -2
  406. package/dist/mixins/clickOutsideOptions/index.d.ts +1 -1
  407. package/dist/mixins/richEditor/index.d.ts +1 -1
  408. package/dist/utils/FindRanges.d.ts +2 -19
  409. package/dist/utils/GenRandomId.d.ts +2 -19
  410. package/dist/utils/GetChildren.d.ts +2 -19
  411. package/dist/utils/GetParent.d.ts +2 -19
  412. package/dist/utils/ScopeComponent.d.ts +2 -19
  413. package/dist/utils/Timer.d.ts +4 -38
  414. package/dist/utils/UserStatus.d.ts +2 -19
  415. package/dist/utils/getAvatarUrl.d.ts +2 -19
  416. package/dist/vendor.LICENSE.txt +4 -4
  417. package/package.json +31 -33
  418. package/LICENSE +0 -661
  419. package/dist/assets/NcActionButton-DilAGmID.css +0 -139
  420. package/dist/assets/NcActionCaption-sfcjBZnu.css +0 -46
  421. package/dist/assets/NcActionCheckbox-BPTe8v7j.css +0 -110
  422. package/dist/assets/NcActionInput-BCm3Bb6i.css +0 -271
  423. package/dist/assets/NcActionLink-ufhOZDI9.css +0 -124
  424. package/dist/assets/NcActionRadio-BgKkAdF8.css +0 -110
  425. package/dist/assets/NcActionRouter-DJDXSMeq.css +0 -135
  426. package/dist/assets/NcActionSeparator-CB59y4di.css +0 -38
  427. package/dist/assets/NcActionText-FrsQgrnA.css +0 -139
  428. package/dist/assets/NcActionTextEditable-pgsRQJ7l.css +0 -287
  429. package/dist/assets/NcActions-6uFGQVJQ.css +0 -111
  430. package/dist/assets/NcAppContent-CVWf32qC.css +0 -153
  431. package/dist/assets/NcAppNavigation-B_aG01bd.css +0 -131
  432. package/dist/assets/NcAppNavigationCaption-B32FjjW3.css +0 -62
  433. package/dist/assets/NcAppNavigationIconBullet-B8q3pUL5.css +0 -44
  434. package/dist/assets/NcAppNavigationList-DnIxrbVX.css +0 -43
  435. package/dist/assets/NcAppNavigationNew-B29SvI0s.css +0 -41
  436. package/dist/assets/NcAppNavigationSettings-RpFZX7Hx.css +0 -93
  437. package/dist/assets/NcAppNavigationSpacer-C12GX5n6.css +0 -6
  438. package/dist/assets/NcAppNavigationToggle-Bb19ZkjT.css +0 -41
  439. package/dist/assets/NcAppSettingsDialog-CQY4VVRw.css +0 -88
  440. package/dist/assets/NcAppSettingsSection-BUxPrhYB.css +0 -44
  441. package/dist/assets/NcAppSidebarTab-WhMYMxlI.css +0 -48
  442. package/dist/assets/NcAvatar-xxyc0_S6.css +0 -143
  443. package/dist/assets/NcBreadcrumb-BKgJHxzd.css +0 -82
  444. package/dist/assets/NcBreadcrumbs-Dq8VnSzJ.css +0 -51
  445. package/dist/assets/NcColorPicker-q8nVYCvu.css +0 -136
  446. package/dist/assets/NcContent-CQqz6KXD.css +0 -108
  447. package/dist/assets/NcCounterBubble-CWi_P1Tb.css +0 -67
  448. package/dist/assets/NcDashboardWidget-DzDAv3ER.css +0 -87
  449. package/dist/assets/NcDashboardWidgetItem-BevETFRF.css +0 -99
  450. package/dist/assets/NcDateTimePickerNative-DHZcOvOf.css +0 -61
  451. package/dist/assets/NcDialog-CvmjNcgn.css +0 -160
  452. package/dist/assets/NcEllipsisedOption-ClDzkIX6.css +0 -48
  453. package/dist/assets/NcEmptyContent-CMM4BKRc.css +0 -79
  454. package/dist/assets/NcGuestContent-BTahASdv.css +0 -78
  455. package/dist/assets/NcHeaderMenu-fYpidmuR.css +0 -91
  456. package/dist/assets/NcIconSvgWrapper-C95UOHYS.css +0 -53
  457. package/dist/assets/NcInputConfirmCancel-dYsxq6pH.css +0 -53
  458. package/dist/assets/NcListItem-CJa4SoZs.css +0 -170
  459. package/dist/assets/NcListItemIcon-KqKY7_tj.css +0 -78
  460. package/dist/assets/NcLoadingIcon-gxK0ujO0.css +0 -35
  461. package/dist/assets/NcMentionBubble-DmzU72Mw.css +0 -84
  462. package/dist/assets/NcNoteCard-e7-Bxio8.css +0 -64
  463. package/dist/assets/NcProgressBar-D5VftcJm.css +0 -70
  464. package/dist/assets/NcRelatedResourcesPanel-CbFY3Cdm.css +0 -200
  465. package/dist/assets/NcRichText-Cc65tYYs.css +0 -240
  466. package/dist/assets/NcSettingsInputText-DR4Wv2XP.css +0 -49
  467. package/dist/assets/NcSettingsSection-DrlA06-W.css +0 -66
  468. package/dist/assets/NcSettingsSelectGroup-Ba_9qqBq.css +0 -37
  469. package/dist/assets/NcUserBubble-a6zTGwWG.css +0 -62
  470. package/dist/assets/NcUserStatusIcon-DYNzsng_.css +0 -44
  471. package/dist/assets/referencePickerModal-4K_FZwca.css +0 -539
  472. package/dist/chunks/GenColors-BjorWIgA.mjs.map +0 -1
  473. package/dist/chunks/GenRandomId-CXkjMlAT.mjs +0 -27
  474. package/dist/chunks/GenRandomId-CXkjMlAT.mjs.map +0 -1
  475. package/dist/chunks/Linkify-BBPJHBma.mjs +0 -35
  476. package/dist/chunks/Linkify-BBPJHBma.mjs.map +0 -1
  477. package/dist/chunks/NcActionButton-BFQnlisT.mjs.map +0 -1
  478. package/dist/chunks/NcActionButtonGroup-D-8C3HSO.mjs.map +0 -1
  479. package/dist/chunks/NcActionCheckbox-CjZH6kjg.mjs.map +0 -1
  480. package/dist/chunks/NcActionInput-ClUviDGB.mjs.map +0 -1
  481. package/dist/chunks/NcActionLink-CQEzoS_a.mjs.map +0 -1
  482. package/dist/chunks/NcActionRadio-D6VrxjcX.mjs.map +0 -1
  483. package/dist/chunks/NcActionRouter-DmrWV-q1.mjs.map +0 -1
  484. package/dist/chunks/NcActionSeparator-ib21YUAE.mjs.map +0 -1
  485. package/dist/chunks/NcActionText-dj38IHk6.mjs.map +0 -1
  486. package/dist/chunks/NcActionTextEditable-W1wFQ9dc.mjs.map +0 -1
  487. package/dist/chunks/NcActions-B6QL_4DD.mjs.map +0 -1
  488. package/dist/chunks/NcAppContent-jvz75P8O.mjs.map +0 -1
  489. package/dist/chunks/NcAppNavigation-D0RINQda.mjs.map +0 -1
  490. package/dist/chunks/NcAppNavigationCaption-BnhoAPkJ.mjs.map +0 -1
  491. package/dist/chunks/NcAppNavigationIconBullet-JoIYov5C.mjs.map +0 -1
  492. package/dist/chunks/NcAppNavigationItem-s0czI8KR.mjs.map +0 -1
  493. package/dist/chunks/NcAppNavigationList-DzTic3Q7.mjs.map +0 -1
  494. package/dist/chunks/NcAppNavigationNew-RBp5Nk-2.mjs.map +0 -1
  495. package/dist/chunks/NcAppNavigationNewItem-u85Ffz-V.mjs.map +0 -1
  496. package/dist/chunks/NcAppNavigationSettings-D_4gHC9H.mjs.map +0 -1
  497. package/dist/chunks/NcAppNavigationSpacer-Ctbl-q5I.mjs.map +0 -1
  498. package/dist/chunks/NcAppNavigationToggle-BtC5hBww.mjs.map +0 -1
  499. package/dist/chunks/NcAppSettingsDialog-DXpamfEo.mjs.map +0 -1
  500. package/dist/chunks/NcAppSettingsSection-PG8OLRbP.mjs.map +0 -1
  501. package/dist/chunks/NcAppSidebar-B0pjWsoI.mjs.map +0 -1
  502. package/dist/chunks/NcAppSidebarTab-BTuuQoW5.mjs.map +0 -1
  503. package/dist/chunks/NcAvatar-BKmfsBcY.mjs.map +0 -1
  504. package/dist/chunks/NcBreadcrumb-C3k6T3Bj.mjs.map +0 -1
  505. package/dist/chunks/NcBreadcrumbs-Crc4BkfA.mjs.map +0 -1
  506. package/dist/chunks/NcButton-B27fpd1m.mjs.map +0 -1
  507. package/dist/chunks/NcCheckboxRadioSwitch-DdG8AL_h.mjs.map +0 -1
  508. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_9bdeea42_lang-C9ptCbXx.mjs +0 -3
  509. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_9bdeea42_lang-C9ptCbXx.mjs.map +0 -1
  510. package/dist/chunks/NcColorPicker-D4IB1shI.mjs.map +0 -1
  511. package/dist/chunks/NcContent-CMQytlSd.mjs +0 -129
  512. package/dist/chunks/NcContent-CMQytlSd.mjs.map +0 -1
  513. package/dist/chunks/NcCounterBubble-BVDNwJiw.mjs.map +0 -1
  514. package/dist/chunks/NcDashboardWidget-B5H6n5qG.mjs.map +0 -1
  515. package/dist/chunks/NcDashboardWidgetItem-BbgZpZ-D.mjs.map +0 -1
  516. package/dist/chunks/NcDateTime-p5872lEX.mjs.map +0 -1
  517. package/dist/chunks/NcDateTimePicker-C1gBl-W0.mjs.map +0 -1
  518. package/dist/chunks/NcDateTimePickerNative-CyCL5Ovh.mjs.map +0 -1
  519. package/dist/chunks/NcDialog-Dq3Qnbke.mjs.map +0 -1
  520. package/dist/chunks/NcDialogButton-C6SudZTq.mjs.map +0 -1
  521. package/dist/chunks/NcEllipsisedOption-DsCFqgUF.mjs.map +0 -1
  522. package/dist/chunks/NcEmojiPicker-BwQ8VxQZ.mjs.map +0 -1
  523. package/dist/chunks/NcEmptyContent-CdgacgQe.mjs.map +0 -1
  524. package/dist/chunks/NcGuestContent-DfnVEtGM.mjs.map +0 -1
  525. package/dist/chunks/NcHeaderMenu-CJVtnKpb.mjs.map +0 -1
  526. package/dist/chunks/NcHighlight-CR5kySMp.mjs.map +0 -1
  527. package/dist/chunks/NcIconSvgWrapper-C0csZ9zg.mjs.map +0 -1
  528. package/dist/chunks/NcInputConfirmCancel-Rk8B1Q0j.mjs.map +0 -1
  529. package/dist/chunks/NcInputField-DX0Brmlk.mjs.map +0 -1
  530. package/dist/chunks/NcListItemIcon-A5o8HkQv.mjs.map +0 -1
  531. package/dist/chunks/NcLoadingIcon-DwbO7gAy.mjs.map +0 -1
  532. package/dist/chunks/NcNoteCard-CdZRsd8-.mjs.map +0 -1
  533. package/dist/chunks/NcPasswordField-B7CiEElO.mjs.map +0 -1
  534. package/dist/chunks/NcPopover-B9UbiGTv.mjs.map +0 -1
  535. package/dist/chunks/NcProgressBar-CAXfza4R.mjs.map +0 -1
  536. package/dist/chunks/NcRelatedResourcesPanel-Dr4jL2gw.mjs.map +0 -1
  537. package/dist/chunks/NcRichContenteditable-P06ORHyg.mjs.map +0 -1
  538. package/dist/chunks/NcRichText-BfreYq5m.mjs.map +0 -1
  539. package/dist/chunks/NcSelect-Dt3JJc9b.mjs.map +0 -1
  540. package/dist/chunks/NcSelectTags-F8Z_SdXE.mjs.map +0 -1
  541. package/dist/chunks/NcSettingsInputText-BtDwhhX0.mjs.map +0 -1
  542. package/dist/chunks/NcSettingsSection-BN98AV4b.mjs.map +0 -1
  543. package/dist/chunks/NcSettingsSelectGroup-61ylzaOo.mjs.map +0 -1
  544. package/dist/chunks/NcTextArea-DOXp3B2R.mjs.map +0 -1
  545. package/dist/chunks/NcTextField-5CbWAUlw.mjs.map +0 -1
  546. package/dist/chunks/NcTimezonePicker-Cs2arCUX.mjs +0 -4051
  547. package/dist/chunks/NcTimezonePicker-Cs2arCUX.mjs.map +0 -1
  548. package/dist/chunks/NcUserBubble-B1nO-OgL.mjs.map +0 -1
  549. package/dist/chunks/NcUserStatusIcon-DXxHWiO9.mjs.map +0 -1
  550. package/dist/chunks/ScopeComponent-B2OE7k3z.mjs +0 -35
  551. package/dist/chunks/ScopeComponent-B2OE7k3z.mjs.map +0 -1
  552. package/dist/chunks/_l10n-ipRV_dfs.mjs.map +0 -1
  553. package/dist/chunks/actionGlobal-BIN1Dngv.mjs +0 -46
  554. package/dist/chunks/actionGlobal-BIN1Dngv.mjs.map +0 -1
  555. package/dist/chunks/actionText-CBxkao_8.mjs.map +0 -1
  556. package/dist/chunks/autolink-CuPhRJIL.mjs.map +0 -1
  557. package/dist/chunks/emoji-BjUFGMrw.mjs.map +0 -1
  558. package/dist/chunks/focusTrap-hWDNhn4t.mjs +0 -28
  559. package/dist/chunks/focusTrap-hWDNhn4t.mjs.map +0 -1
  560. package/dist/chunks/getAvatarUrl-BBvqBOJD.mjs +0 -32
  561. package/dist/chunks/getAvatarUrl-BBvqBOJD.mjs.map +0 -1
  562. package/dist/chunks/index-5AsHlmYO.mjs.map +0 -1
  563. package/dist/chunks/logger-C7ZZ6zFQ.mjs +0 -25
  564. package/dist/chunks/logger-C7ZZ6zFQ.mjs.map +0 -1
  565. package/dist/chunks/referencePickerModal-Tr-vmVPW.mjs.map +0 -1
  566. package/dist/chunks/usernameToColor-BpeOvoed.mjs +0 -47
  567. package/dist/chunks/usernameToColor-BpeOvoed.mjs.map +0 -1
  568. package/dist/utils/IsOutOfViewport.d.ts +0 -8
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcTimezonePicker-Cs2arCUX.mjs","sources":["../../src/components/NcTimezonePicker/timezone.js","../../src/components/NcTimezonePicker/timezoneDataProviderService.js","../../src/components/NcTimezonePicker/NcTimezonePicker.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { t } from '../../l10n.js'\n\n/**\n *\n * @param {string[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @return {Array}\n */\nexport function getSortedTimezoneList(timezoneList = [], additionalTimezones = []) {\n\tconst sortedByContinent = {}\n\tconst sortedList = []\n\n\tfor (const timezoneId of timezoneList) {\n\t\tconst components = timezoneId.split('/')\n\t\tlet [continent, name] = [components.shift(), components.join('/')]\n\t\tif (!name) {\n\t\t\tname = continent\n\t\t\t// TRANSLATORS This refers to global timezones in the timezone picker\n\t\t\tcontinent = t('Global')\n\t\t}\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel: getReadableTimezoneName(name),\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const additionalTimezone of additionalTimezones) {\n\t\tconst { continent, label, timezoneId } = additionalTimezone\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel,\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const continent in sortedByContinent) {\n\t\tif (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tsortedByContinent[continent].regions.sort((a, b) => {\n\t\t\tif (a.label < b.label) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\treturn 1\n\t\t})\n\t\tsortedList.push(sortedByContinent[continent])\n\t}\n\n\t// Sort continents by name\n\tsortedList.sort((a, b) => {\n\t\tif (a.continent < b.continent) {\n\t\t\treturn -1\n\t\t}\n\n\t\treturn 1\n\t})\n\n\treturn sortedList\n}\n\n/**\n * Get human-readable name for timezoneId\n *\n * @param {string} timezoneId TimezoneId to turn human-readable\n * @return {string}\n */\nexport function getReadableTimezoneName(timezoneId) {\n\treturn timezoneId\n\t\t.split('_')\n\t\t.join(' ')\n\t\t.replace('St ', 'St. ')\n\t\t.split('/')\n\t\t.join(' - ')\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport tzData from '../../../resources/timezones/zones.json'\nimport logger from '../../utils/logger.js'\n\nimport { getTimezoneManager } from '@nextcloud/calendar-js'\n\nconst timezoneManager = getTimezoneManager()\nlet initialized = false\n\n/**\n * Gets the timezone-manager\n * initializes it if necessary\n *\n * @return {object}\n */\nexport default function() {\n\tif (!initialized) {\n\t\tinitialize()\n\t}\n\n\treturn timezoneManager\n}\n\n/**\n * Initializes the timezone-manager with all timezones shipped by the calendar app\n */\nfunction initialize() {\n\tlogger.debug(`Using version ${tzData.version} of the timezone database`)\n\n\tfor (const tzid in tzData.zones) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n\t\t\tconst ics = [\n\t\t\t\t'BEGIN:VTIMEZONE',\n\t\t\t\t'TZID:' + tzid,\n\t\t\t\t...tzData.zones[tzid].ics,\n\t\t\t\t'END:VTIMEZONE',\n\t\t\t].join('\\r\\n')\n\t\t\ttimezoneManager.registerTimezoneFromICS(tzid, ics)\n\t\t}\n\t}\n\n\tfor (const tzid in tzData.aliases) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n\t\t\ttimezoneManager.registerAlias(tzid, tzData.aliases[tzid].aliasTo)\n\t\t}\n\t}\n\n\tinitialized = true\n}\n","<!--\n - @copyright Copyright (c) 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### Example\n```vue\n<template>\n\t<span>\n\t\t<NcTimezonePicker v-model=\"tz\" />\n\t\t{{ tz }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttz: 'Hawaiian Standard Time',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcSelect :aria-label-combobox=\"t('Search for time zone')\"\n\t\t:clearable=\"false\"\n\t\t:filter-by=\"filterBy\"\n\t\t:model-value=\"selectedTimezone\"\n\t\t:multiple=\"false\"\n\t\t:options=\"options\"\n\t\t:placeholder=\"placeholder\"\n\t\t:selectable=\"isSelectable\"\n\t\t:uid=\"uid\"\n\t\tlabel=\"label\"\n\t\t@option:selected=\"change\" />\n</template>\n\n<script>\nimport {\n\tgetReadableTimezoneName,\n\tgetSortedTimezoneList,\n} from './timezone.js'\nimport getTimezoneManager from './timezoneDataProviderService.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcSelect from '../NcSelect/index.js'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcTimezonePicker',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\t/**\n\t\t * An array of additional timezones to include with the standard database. Useful if there is a custom timezone, e.g. read from user data\n\t\t */\n\t\tadditionalTimezones: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\t/**\n\t\t * The selected timezone. Use v-model for two-way binding. The default timezone is floating, which means a time independent of timezone. See https://icalendar.org/CalDAV-Access-RFC-4791/7-3-date-and-floating-time.html for details.\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: 'floating',\n\t\t},\n\t\t/**\n\t\t * ID of the inner vue-select element, can be used for labels like: `vs-${uid}__combobox`\n\t\t */\n\t\tuid: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: () => `tz-${GenRandomId(5)}`,\n\t\t},\n\t},\n\temits: ['update:modelValue'],\n\tcomputed: {\n\t\tplaceholder() {\n\t\t\treturn t('Type to search time zone')\n\t\t},\n\t\tselectedTimezone() {\n\t\t\tfor (const additionalTimezone of this.additionalTimezones) {\n\t\t\t\tif (additionalTimezone.timezoneId === this.modelValue) {\n\t\t\t\t\treturn additionalTimezone\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tlabel: getReadableTimezoneName(this.modelValue),\n\t\t\t\ttimezoneId: this.modelValue,\n\t\t\t}\n\t\t},\n\t\toptions() {\n\t\t\tconst timezoneManager = getTimezoneManager()\n\t\t\tconst timezoneList = getSortedTimezoneList(timezoneManager.listAllTimezones(), this.additionalTimezones)\n\t\t\t/**\n\t\t\t * Since NcSelect does not support groups,\n\t\t\t * we create an object with the grouped timezones and continent labels.\n\t\t\t *\n\t\t\t * NOTE for now we are removing the grouping from the fields to fix an accessibility issue\n\t\t\t * in the future, other options can be introduced to better display the different areas\n\t\t\t */\n\t\t\tlet timezonesGrouped = []\n\t\t\tObject.values(timezoneList).forEach(group => {\n\t\t\t\t// Add an entry as group label\n\t\t\t\t// timezonesGrouped.push({\n\t\t\t\t// label: group.continent,\n\t\t\t\t// timezoneId: `tz-group__${group.continent}`,\n\t\t\t\t// regions: group.regions,\n\t\t\t\t// })\n\t\t\t\ttimezonesGrouped = timezonesGrouped.concat(group.regions)\n\t\t\t})\n\t\t\treturn timezonesGrouped\n\t\t},\n\t},\n\tmethods: {\n\t\tt,\n\n\t\tchange(newValue) {\n\t\t\tif (!newValue) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Two-way binding of the value prop. Use v-model=\"selectedTimezone\" for two-way binding\n\t\t\t */\n\t\t\tthis.$emit('update:modelValue', newValue.timezoneId)\n\t\t},\n\n\t\t/**\n\t\t * Returns whether this is a continent label,\n\t\t * or an actual timezone. Continent labels are not selectable.\n\t\t *\n\t\t * @param {string} option The option\n\t\t * @return {boolean}\n\t\t */\n\t\tisSelectable(option) {\n\t\t\treturn !option.timezoneId.startsWith('tz-group__')\n\t\t},\n\n\t\t/**\n\t\t * Function to filter the timezone list.\n\t\t * We search in the timezoneId, so both continent and region names can be matched.\n\t\t *\n\t\t * @param {object} option The timezone option\n\t\t * @param {string} label The label of the timezone\n\t\t * @param {string} search The search string\n\t\t * @return {boolean}\n\t\t */\n\t\tfilterBy(option, label, search) {\n\t\t\t// We split the search term in case one searches \"<continent> <region>\".\n\t\t\tconst terms = search.trim().split(' ')\n\n\t\t\t// For the continent labels, we have to check if one region matches every search term.\n\t\t\tif (option.timezoneId.startsWith('tz-group__')) {\n\t\t\t\treturn option.regions.some(region => {\n\t\t\t\t\treturn this.matchTimezoneId(region.timezoneId, terms)\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// For a region, every search term must be found.\n\t\t\treturn this.matchTimezoneId(option.timezoneId, terms)\n\t\t},\n\n\t\tmatchTimezoneId(timezoneId, terms) {\n\t\t\treturn terms.every(term => timezoneId.toLowerCase().includes(term.toLowerCase()))\n\t\t},\n\t},\n}\n</script>\n"],"names":["getTimezoneManager","timezoneManager","_createBlock"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcUserBubble-B1nO-OgL.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"!!$slots.default ? 'NcPopover' : 'NcUserBubbleDiv'\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"!!$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport { warn } from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Displayed label\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn !!url\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\twarn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","_createElementBlock","_renderSlot","_openBlock","_createBlock","_resolveDynamicComponent","_withCtx","_mergeProps","_createVNode","_normalizeStyle","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcUserStatusIcon-DXxHWiO9.mjs","sources":["../../src/assets/status-icons/user-status-online.svg?raw","../../src/assets/status-icons/user-status-away.svg?raw","../../src/assets/status-icons/user-status-dnd.svg?raw","../../src/assets/status-icons/user-status-invisible.svg?raw","../../src/utils/UserStatus.ts","../../src/components/NcUserStatusIcon/NcUserStatusIcon.vue"],"sourcesContent":["export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"var(--color-success)\\\" d=\\\"M4.8 11.2h6.4V4.8H4.8v6.4zM8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4z\\\" />\\n\\t<path fill=\\\"var(--color-warning)\\\" d=\\\"M6.9.1C3 .6-.1 4-.1 8c0 4.4 3.6 8 8 8 4 0 7.4-3 8-6.9-1.2 1.3-2.9 2.1-4.7 2.1-3.5 0-6.4-2.9-6.4-6.4 0-1.9.8-3.6 2.1-4.7z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4V-4z\\\" />\\n\\t<path fill=\\\"var(--color-error)\\\" d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\" />\\n\\t<path fill=\\\"#fdffff\\\" d=\\\"M5 6.5h6c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5H5c-.8 0-1.5-.7-1.5-1.5S4.2 6.5 5 6.5z\\\" />\\n</svg>\\n\"","export default \"<!-- This icon is part of Material UI Icons. Copyright 2020 Google Inc., Apache-2.0 License -->\\n<svg viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" height=\\\"16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path fill=\\\"none\\\" d=\\\"M-4-4h24v24H-4V-4z\\\" />\\n\\t<path d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 3.2c2.7 0 4.8 2.1 4.8 4.8s-2.1 4.8-4.8 4.8S3.2 10.7 3.2 8 5.3 3.2 8 3.2z\\\" />\\n</svg>\\n\"","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { t } from '../l10n.js'\n\ntype Status = 'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'\n\nexport const getUserStatusText = (status: Status): string => {\n\tswitch (status) {\n\tcase 'away': return t('away') // TRANSLATORS: User status if the user is currently away from keyboard\n\tcase 'busy': return t('busy')\n\tcase 'dnd': return t('do not disturb')\n\tcase 'online': return t('online')\n\tcase 'invisible': return t('invisible')\n\tcase 'offline': return t('offline')\n\tdefault: return status\n\t}\n}\n","<!--\n - @copyright 2024 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Description\n\nThis component displays a user status icon.\n\n### Example\n\n```vue\n<template>\n\t<div class=\"row\">\n\t\t<NcUserStatusIcon status=\"online\" />\n\t\t<NcUserStatusIcon status=\"away\" />\n\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t<NcUserStatusIcon status=\"invisible\" />\n\t</div>\n</template>\n\n<style>\n.row {\n\tdisplay: flex;\n\tgap: 10px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span v-if=\"activeStatus\"\n\t\tclass=\"user-status-icon\"\n\t\t:class=\"{\n\t\t\t'user-status-icon--invisible': ['invisible', 'offline'].includes(status),\n\t\t}\"\n\t\trole=\"img\"\n\t\t:aria-hidden=\"ariaHidden\"\n\t\t:aria-label=\"ariaLabel\"\n\t\tv-html=\"activeSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<script>\nimport { warn } from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nimport onlineSvg from '../../assets/status-icons/user-status-online.svg?raw'\nimport awaySvg from '../../assets/status-icons/user-status-away.svg?raw'\nimport dndSvg from '../../assets/status-icons/user-status-dnd.svg?raw'\nimport invisibleSvg from '../../assets/status-icons/user-status-invisible.svg?raw'\n\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcUserStatusIcon',\n\n\tprops: {\n\t\t/**\n\t\t * Set the user id to fetch the status\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Set the status\n\t\t *\n\t\t * @type {'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'}\n\t\t */\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => [\n\t\t\t\t'online',\n\t\t\t\t'away',\n\t\t\t\t'busy',\n\t\t\t\t'dnd',\n\t\t\t\t'invisible',\n\t\t\t\t'offline',\n\t\t\t].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * Set the `aria-hidden` attribute\n\t\t *\n\t\t * @type {'true' | 'false'}\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => [\n\t\t\t\t'true',\n\t\t\t\t'false',\n\t\t\t].includes(value),\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfetchedUserStatus: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tactiveStatus() {\n\t\t\treturn this.status ?? this.fetchedUserStatus\n\t\t},\n\n\t\tactiveSvg() {\n\t\t\tconst matchSvg = {\n\t\t\t\tonline: onlineSvg,\n\t\t\t\taway: awaySvg,\n\t\t\t\tbusy: awaySvg,\n\t\t\t\tdnd: dndSvg,\n\t\t\t\tinvisible: invisibleSvg,\n\t\t\t\toffline: invisibleSvg,\n\t\t\t}\n\t\t\treturn matchSvg[this.activeStatus] ?? null\n\t\t},\n\n\t\tariaLabel() {\n\t\t\tif (this.ariaHidden === 'true') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn t('User status: {status}', { status: getUserStatusText(this.activeStatus) })\n\t\t},\n\t},\n\n\twatch: {\n\t\tuser: {\n\t\t\timmediate: true,\n\t\t\tasync handler(user) {\n\t\t\t\tif (!user || !getCapabilities()?.user_status?.enabled) {\n\t\t\t\t\tthis.fetchedUserStatus = null\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tconst { data } = await axios.get(generateOcsUrl('/apps/user_status/api/v1/statuses/{user}', { user }))\n\t\t\t\t\tthis.fetchedUserStatus = data.ocs?.data?.status\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.fetchedUserStatus = null\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.user && !this.status) {\n\t\t\twarn('[NcUserStatusIcon] The `user` or `status` prop should be set.')\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-status-icon {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 16px;\n\tmin-height: 16px;\n\tmax-width: 20px;\n\tmax-height: 20px;\n\n\t&--invisible {\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","_createCommentVNode"],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
3
- *
4
- * @author John Molakvoæ <skjnldsv@protonmail.com>
5
- *
6
- * @license AGPL-3.0-or-later
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU Affero General Public License as
10
- * published by the Free Software Foundation, either version 3 of the
11
- * License, or (at your option) any later version.
12
- *
13
- * This program is distributed in the hope that it will be useful,
14
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- * GNU Affero General Public License for more details.
17
- *
18
- * You should have received a copy of the GNU Affero General Public License
19
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
- *
21
- */
22
- const ScopeComponent = (Component) => {
23
- if (!Component.mounted) {
24
- Component.mounted = [];
25
- } else if (!Array.isArray(Component.mounted)) {
26
- Component.mounted = [Component.mounted];
27
- }
28
- Component.mounted.push(function() {
29
- this.$el.setAttribute(`data-v-${"2f9dba7"}`, "");
30
- });
31
- return Component;
32
- };
33
- export {
34
- ScopeComponent as S
35
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScopeComponent-B2OE7k3z.mjs","sources":["../../src/utils/ScopeComponent.js"],"sourcesContent":["/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst ScopeComponent = (Component) => {\n\t// Init mounted vue if none\n\tif (!Component.mounted) {\n\t\tComponent.mounted = []\n\t} else if (!Array.isArray(Component.mounted)) {\n\t\tComponent.mounted = [Component.mounted]\n\t}\n\n\t// Inject root scoping function\n\tComponent.mounted.push(function() {\n\t\tthis.$el.setAttribute(`data-v-${SCOPE_VERSION}`, '')\n\t})\n\n\treturn Component\n}\n\nexport default ScopeComponent\n"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBK,MAAC,iBAAiB,CAAC,cAAc;AAErC,MAAI,CAAC,UAAU,SAAS;AACvB,cAAU,UAAU,CAAE;AAAA,EACtB,WAAU,CAAC,MAAM,QAAQ,UAAU,OAAO,GAAG;AAC7C,cAAU,UAAU,CAAC,UAAU,OAAO;AAAA,EACtC;AAGD,YAAU,QAAQ,KAAK,WAAW;AACjC,SAAK,IAAI,aAAa,UAAU,SAAa,IAAI,EAAE;AAAA,EACrD,CAAE;AAED,SAAO;AACR;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_l10n-ipRV_dfs.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,46 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
3
- *
4
- * @author John Molakvoæ <skjnldsv@protonmail.com>
5
- *
6
- * @license AGPL-3.0-or-later
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU Affero General Public License as
10
- * published by the Free Software Foundation, either version 3 of the
11
- * License, or (at your option) any later version.
12
- *
13
- * This program is distributed in the hope that it will be useful,
14
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- * GNU Affero General Public License for more details.
17
- *
18
- * You should have received a copy of the GNU Affero General Public License
19
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
- *
21
- */
22
- const ActionGlobalMixin = {
23
- beforeUpdate() {
24
- this.text = this.getText();
25
- },
26
- data() {
27
- return {
28
- // $slots are not reactive.
29
- // We need to update the content manually
30
- text: this.getText()
31
- };
32
- },
33
- computed: {
34
- isLongText() {
35
- return this.text && this.text.trim().length > 20;
36
- }
37
- },
38
- methods: {
39
- getText() {
40
- return this.$slots.default?.()[0].children?.trim?.() || "";
41
- }
42
- }
43
- };
44
- export {
45
- ActionGlobalMixin as A
46
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionGlobal-BIN1Dngv.mjs","sources":["../../src/mixins/actionGlobal.js"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport default {\n\tbeforeUpdate() {\n\t\tthis.text = this.getText()\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// $slots are not reactive.\n\t\t\t// We need to update the content manually\n\t\t\ttext: this.getText(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisLongText() {\n\t\t\treturn this.text && this.text.trim().length > 20\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetText() {\n\t\t\treturn this.$slots.default?.()[0].children?.trim?.() || ''\n\t\t},\n\t},\n}\n"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBA,MAAe,oBAAA;AAAA,EACd,eAAe;AACd,SAAK,OAAO,KAAK,QAAS;AAAA,EAC1B;AAAA,EAED,OAAO;AACN,WAAO;AAAA;AAAA;AAAA,MAGN,MAAM,KAAK,QAAS;AAAA,IACpB;AAAA,EACD;AAAA,EAED,UAAU;AAAA,IACT,aAAa;AACZ,aAAO,KAAK,QAAQ,KAAK,KAAK,KAAI,EAAG,SAAS;AAAA,IAC9C;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACR,UAAU;AACT,aAAO,KAAK,OAAO,UAAW,EAAC,CAAC,EAAE,UAAU,OAAI,KAAQ;AAAA,IACxD;AAAA,EACD;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionText-CBxkao_8.mjs","sources":["../../src/utils/GetParent.js","../../src/mixins/actionText.js"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Get the first parent component matching the provided name\n *\n * @param {object} context the context to search from (usually this)\n * @param {string} name the parent name\n * @return {object|undefined} the parent component\n */\nconst GetParent = function(context, name) {\n\tlet parent = context.$parent\n\twhile (parent) {\n\t\tif (parent.$options.name === name) {\n\t\t\treturn parent\n\t\t}\n\t\tparent = parent.$parent\n\t}\n}\n\nexport default GetParent\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport actionGlobal from './actionGlobal.js'\nimport GetParent from '../utils/GetParent.js'\n\nexport default {\n\tmixins: [actionGlobal],\n\tprops: {\n\t\t/**\n\t\t * Icon to show with the action, can be either a CSS class or an URL\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The main text content of the entry.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The title attribute of the element.\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Whether we close the Actions menu after the click\n\t\t */\n\t\tcloseAfterClick: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Aria label for the button. Not needed if the button has text.\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n\t\t * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n\t\t * otherwise root element will inherit incorrect aria-hidden.\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tcomputed: {\n\t\t/**\n\t\t * Check if icon prop is an URL\n\t\t * @return {boolean} Whether the icon prop is an URL\n\t\t */\n\t\tisIconUrl() {\n\t\t\ttry {\n\t\t\t\treturn !!(new URL(this.icon, this.icon.startsWith('/') ? window.location.origin : undefined))\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonClick(event) {\n\t\t\t/**\n\t\t\t * Emitted when the action is clicked\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('click', event)\n\n\t\t\tif (this.closeAfterClick) {\n\t\t\t\tconst parent = GetParent(this, 'NcActions')\n\t\t\t\tif (parent && parent.closeMenu) {\n\t\t\t\t\tparent.closeMenu(false)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n}\n"],"names":["actionGlobal"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BA,MAAM,YAAY,SAAS,SAAS,MAAM;AACzC,MAAI,SAAS,QAAQ;AACrB,SAAO,QAAQ;AACd,QAAI,OAAO,SAAS,SAAS,MAAM;AAClC,aAAO;AAAA,IACP;AACD,aAAS,OAAO;AAAA,EAChB;AACF;ACrCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBA,MAAe,kBAAA;AAAA,EACd,QAAQ,CAACA,iBAAY;AAAA,EACrB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,iBAAiB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,WAAW;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,EACD;AAAA,EAED,OAAO;AAAA,IACN;AAAA,EACA;AAAA,EAED,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,IAKT,YAAY;AACX,UAAI;AACH,eAAO,CAAC,CAAE,IAAI,IAAI,KAAK,MAAM,KAAK,KAAK,WAAW,GAAG,IAAI,OAAO,SAAS,SAAS,MAAS;AAAA,MAC3F,SAAQ,OAAO;AACf,eAAO;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACR,QAAQ,OAAO;AAMd,WAAK,MAAM,SAAS,KAAK;AAEzB,UAAI,KAAK,iBAAiB;AACzB,cAAM,SAAS,UAAU,MAAM,WAAW;AAC1C,YAAI,UAAU,OAAO,WAAW;AAC/B,iBAAO,UAAU,KAAK;AAAA,QACtB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"autolink-CuPhRJIL.mjs","sources":["../../src/components/NcRichText/helpers.js","../../src/components/NcRichText/autolink.ts"],"sourcesContent":["/**\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 * @copyright Copyright (c) 2022 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n * @author Maksim Sukharev <antreesy.web@gmail.com>\n * @author Grigorii K. Shartsev <me@shgk.me>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { URL_PATTERN_AUTOLINK } from './helpers.js'\n\nimport type { Router } from 'vue-router'\nimport { getBaseUrl, getRootUrl } from '@nextcloud/router'\nimport { u } from 'unist-builder'\nimport { visit, SKIP } from 'unist-util-visit'\nimport { defineComponent, h } from 'vue'\n\nconst NcLink = defineComponent({\n\tname: 'NcLink',\n\tprops: {\n\t\thref: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\trender() {\n\t\treturn h('a', {\n\t\t\thref: this.href,\n\t\t\trel: 'noopener noreferrer',\n\t\t\ttarget: '_blank',\n\t\t\tclass: 'rich-text--external-link',\n\t\t}, [this.href.trim()])\n\t},\n})\n\nexport const remarkAutolink = function({ 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\tvisit(tree, (node) => node.type === 'text', (node, index, parent) => {\n\t\t\tlet parsed = parseUrl(node.value)\n\t\t\tif (typeof parsed === 'string') {\n\t\t\t\tparsed = [u('text', parsed)]\n\t\t\t} else {\n\t\t\t\tparsed = parsed\n\t\t\t\t\t.map((n) => {\n\t\t\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\t\t\treturn u('text', n)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn u('link', {\n\t\t\t\t\t\t\turl: n.props.href,\n\t\t\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t\t\t})\n\t\t\t\t\t.filter((x) => x)\n\t\t\t\t\t.flat()\n\t\t\t}\n\n\t\t\tparent.children.splice(index, 1, ...parsed)\n\t\t\treturn [SKIP, (index ?? 0) + parsed.length]\n\t\t})\n\t}\n}\n\nexport const parseUrl = (text: string) => {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tconst list: (string|Record<string, any>)[] = []\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: NcLink, props: { href } })\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\tconsole.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 {Router} 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 const getRoute = (router: Router, url: string): string | null => {\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 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\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.options.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)\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 +0,0 @@
1
- {"version":3,"file":"emoji-BjUFGMrw.mjs","sources":["../../src/functions/emoji/emoji.ts"],"sourcesContent":["/**\n * @copyright Copyright (c) 2021 Jonas Meurer <jonas@freesources.org>\n *\n * @author Jonas Meurer <jonas@freesources.org>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { EmojiIndex, frequently } from 'emoji-mart-vue-fast'\n\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 * 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 * @param {string} query Emoji search string\n * @param {number} maxResults Maximum of returned emojis\n * @return {Array} list of found emojis\n */\nexport const emojiSearch = (query: string, maxResults: number = 10) => {\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\nexport const emojiAddRecent = function(id) {\n\tfrequently.add(id)\n}\n\n/**\n * Get the current skin tone index used for emojis\n * @return {EmojiSkinTone} The skin tone\n */\nexport const getCurrentSkinTone = () => {\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 * @param {EmojiSkinTone} skinTone Skin tone\n */\nexport const setCurrentSkinTone = (skinTone: EmojiSkinTone) => {\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":";;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA,MAAM,UAAU,WAAW,eAAe,EAAE,QAAQ,IAAI,EAAE;AAI1D,IAAI;AAMQ,IAAA,kCAAAA,mBAAL;AACNA,iBAAAA,eAAA,aAAU,CAAV,IAAA;AACAA,iBAAAA,eAAA,WAAQ,CAAR,IAAA;AACAA,iBAAAA,eAAA,iBAAc,CAAd,IAAA;AACAA,iBAAAA,eAAA,YAAS,CAAT,IAAA;AACAA,iBAAAA,eAAA,gBAAa,CAAb,IAAA;AACAA,iBAAAA,eAAA,UAAO,CAAP,IAAA;AANWA,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAcL,MAAM,cAAc,CAAC,OAAe,aAAqB,OAAO;AAEtE,MAAI,CAAC,YAAY;AACH,iBAAA,IAAI,WAAW,IAAI;AAAA,EACjC;AACA,QAAM,kBAAkB;AAEpB,MAAA;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,KAAK,IAAI,UAAU;AAC/C,QAAA,QAAQ,SAAS,YAAY;AACtB,gBAAA,QAAQ,OAAO,WAAW,OAAO,OAAO,aAAa,QAAQ,MAAM,CAAC;AAAA,IAC/E;AAAA,EAAA,OACM;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;AAEa,MAAA,iBAAiB,SAAS,IAAI;AAC1C,aAAW,IAAI,EAAE;AAClB;AAMO,MAAM,qBAAqB,MAAM;AACvC,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;AAC5D;AAMa,MAAA,qBAAqB,CAAC,aAA4B;AAE9D,aAAW,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA;IAAwB;AAAA;AAAA;AAC/D,UAAQ,QAAQ,kCAAkC,SAAS,SAAU,CAAA;AACtE;"}
@@ -1,28 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>
3
- *
4
- * @author John Molakvoæ <skjnldsv@protonmail.com>
5
- *
6
- * @license AGPL-3.0-or-later
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU Affero General Public License as
10
- * published by the Free Software Foundation, either version 3 of the
11
- * License, or (at your option) any later version.
12
- *
13
- * This program is distributed in the hope that it will be useful,
14
- * but WITHOUT ANY WARRANTY without even the implied warranty of
15
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- * GNU Affero General Public License for more details.
17
- *
18
- * You should have received a copy of the GNU Affero General Public License
19
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
- *
21
- */
22
- const getTrapStack = function() {
23
- Object.assign(window, { _nc_focus_trap: window._nc_focus_trap || [] });
24
- return window._nc_focus_trap;
25
- };
26
- export {
27
- getTrapStack as g
28
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"focusTrap-hWDNhn4t.mjs","sources":["../../src/utils/focusTrap.js"],"sourcesContent":["/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Return the default global focus trap stack\n *\n * @return {import('focus-trap').FocusTrap[]}\n */\nexport const getTrapStack = function() {\n\t// Create global stack if undefined\n\tObject.assign(window, { _nc_focus_trap: window._nc_focus_trap || [] })\n\n\treturn window._nc_focus_trap\n}\n"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BY,MAAC,eAAe,WAAW;AAEtC,SAAO,OAAO,QAAQ,EAAE,gBAAgB,OAAO,kBAAkB,CAAA,GAAI;AAErE,SAAO,OAAO;AACf;"}
@@ -1,32 +0,0 @@
1
- import { generateUrl } from "@nextcloud/router";
2
- /**
3
- * @copyright Copyright (c) 2024 Maksim Sukharev <antreesy.web@gmail.com>
4
- *
5
- * @author Maksim Sukharev <antreesy.web@gmail.com>
6
- *
7
- * @license AGPL-3.0-or-later
8
- *
9
- * This program is free software: you can redistribute it and/or modify
10
- * it under the terms of the GNU Affero General Public License as
11
- * published by the Free Software Foundation, either version 3 of the
12
- * License, or (at your option) any later version.
13
- *
14
- * This program is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- * GNU Affero General Public License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
- *
22
- */
23
- const getAvatarUrl = (user, size, isGuest) => {
24
- const darkTheme = window.getComputedStyle(document.body).getPropertyValue("--background-invert-if-dark") === "invert(100%)";
25
- return generateUrl("/avatar" + (isGuest ? "/guest" : "") + "/{user}/{size}" + (darkTheme ? "/dark" : ""), {
26
- user,
27
- size
28
- });
29
- };
30
- export {
31
- getAvatarUrl as g
32
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAvatarUrl-BBvqBOJD.mjs","sources":["../../src/utils/getAvatarUrl.ts"],"sourcesContent":["/**\n * @copyright Copyright (c) 2024 Maksim Sukharev <antreesy.web@gmail.com>\n *\n * @author Maksim Sukharev <antreesy.web@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateUrl } from '@nextcloud/router'\n\nexport const getAvatarUrl = (user: string, size: number | string, isGuest?: boolean): string => {\n\tconst darkTheme = window.getComputedStyle(document.body)\n\t\t.getPropertyValue('--background-invert-if-dark') === 'invert(100%)'\n\n\treturn generateUrl('/avatar' + (isGuest ? '/guest' : '') + '/{user}/{size}' + (darkTheme ? '/dark' : ''), {\n\t\tuser,\n\t\tsize,\n\t})\n}\n"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,MAAM,eAAe,CAAC,MAAc,MAAuB,YAA8B;AACzF,QAAA,YAAY,OAAO,iBAAiB,SAAS,IAAI,EACrD,iBAAiB,6BAA6B,MAAM;AAE/C,SAAA,YAAY,aAAa,UAAU,WAAW,MAAM,oBAAoB,YAAY,UAAU,KAAK;AAAA,IACzG;AAAA,IACA;AAAA,EAAA,CACA;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-5AsHlmYO.mjs","sources":["../../src/components/NcRichContenteditable/NcMentionBubble.vue","../../src/mixins/richEditor/index.js"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"labelWithFallback\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\n\nexport default {\n\tname: 'NcMentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * @deprecated Use `label` instead\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticonUrl: {\n\t\t\ttype: [String, null],\n\t\t\tdefault: null,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\tif (this.iconUrl) {\n\t\t\t\treturn this.iconUrl\n\t\t\t}\n\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn !this.id.includes(' ') && !this.id.includes('/')\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t\t// Fallback to title for compatibility\n\t\tlabelWithFallback() {\n\t\t\treturn this.label || this.title\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: math.div($bubble-height, 2);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: math.div($bubble-avatar-size, 2);\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put title in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n</style>\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport NcMentionBubble from '../../components/NcRichContenteditable/NcMentionBubble.vue'\nimport Linkify from '../../utils/Linkify.js'\n\nimport escapeHtml from 'escape-html'\nimport stripTags from 'striptags'\nimport { createApp } from 'vue'\n\n// Referenced from public function getMentions(): https://github.com/nextcloud/server/blob/master/lib/private/Comments/Comment.php\n// Beginning or whitespace. Non-capturing group within word boundary\nconst MENTION_START = /\\B(?<![^a-z0-9_\\-@.'\\s])/.source\n// Capturing groups like: @user-id, @\"guest/abc16def\", @\"federated_user/user-id\", @\"user-id with space\"\nconst MENTION_SIMPLE = /(@[a-z0-9_\\-@.']+)/.source\nconst MENTION_GUEST = /@&quot;guest\\/[a-f0-9]+&quot;/.source\nconst MENTION_PREFIXED = /@&quot;(?:federated_)?(?:group|team|user){1}\\/[a-z0-9_\\-@.' /:]+&quot;/.source\nconst MENTION_WITH_SPACE = /@&quot;[a-z0-9_\\-@.' ]+&quot;/.source\nconst MENTION_COMPLEX = `(${MENTION_GUEST}|${MENTION_PREFIXED}|${MENTION_WITH_SPACE})`\n// Concatenated regular expressions\nexport const USERID_REGEX = new RegExp(`${MENTION_START}${MENTION_SIMPLE}`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}${MENTION_COMPLEX}`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @return {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\t// This part doesn't contain a mention, let's make sure links are parsed\n\t\t\t\t\t\treturn Linkify(part)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the leading @ and all \"\n\t\t\t\t\tconst id = part.slice(1).replace(/&quot;/gi, '')\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&amp;/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @return {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content\n\t\t\t// Consecutive spaces in HTML tags should collapse\n\t\t\ttext = text.replace(/>\\s+</g, '><')\n\t\t\t// Replace break lines with new lines\n\t\t\ttext = text.replace(/<br>/gmi, '\\n')\n\t\t\t// Replace some html special characters\n\t\t\ttext = text.replace(/&nbsp;/gmi, ' ')\n\t\t\ttext = text.replace(/&amp;/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @return {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\t// The value returned by this function will replace the trigger '@'\n\t\t\t// and the search text, so when there is no match we simply return\n\t\t\t// '@' and the text.\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn `${this.autocompleteTribute.current.collection.trigger}${this.autocompleteTribute.current.mentionText}`\n\t\t\t}\n\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return @value if matches MENTION_SIMPLE, @\"value\" otherwise\n\t\t\t\treturn [' ', '/', ':'].every(char => !value.includes(char))\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, NcMentionBubble).replace(/[\\n\\t]/gmi, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {object} props the props to pass to the component\n\t\t * @param {object} component the component to render\n\t\t * @return {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(props, component) {\n\t\t\tconst Item = createApp(component, {\n\t\t\t\t...props,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst mount = document.createElement('div')\n\t\t\tmount.style.display = 'none'\n\t\t\tdocument.body.appendChild(mount)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.mount(mount)\n\t\t\tconst renderedHtml = mount.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.unmount()\n\t\t\tmount.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_toDisplayString"],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { getLoggerBuilder } from "@nextcloud/logger";
2
- /**
3
- * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
4
- *
5
- * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
6
- *
7
- * @license AGPL-3.0-or-later
8
- *
9
- * This program is free software: you can redistribute it and/or modify
10
- * it under the terms of the GNU Affero General Public License as
11
- * published by the Free Software Foundation, either version 3 of the
12
- * License, or (at your option) any later version.
13
- *
14
- * This program is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- * GNU Affero General Public License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
- */
22
- const logger = getLoggerBuilder().detectUser().setApp("@nextcloud/vue").build();
23
- export {
24
- logger as l
25
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-C7ZZ6zFQ.mjs","sources":["../../src/utils/logger.js"],"sourcesContent":["/**\n * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.detectUser()\n\t.setApp('@nextcloud/vue')\n\t.build()\n"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA,MAAA,SAAe,iBAAkB,EAC/B,WAAY,EACZ,OAAO,gBAAgB,EACvB,MAAK;"}