@nextcloud/vue 8.11.3 → 8.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (784) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/README.md +5 -0
  3. package/dist/Components/NcActionButton.cjs +3 -3
  4. package/dist/Components/NcActionButton.cjs.map +1 -1
  5. package/dist/Components/NcActionButton.mjs +3 -3
  6. package/dist/Components/NcActionButton.mjs.map +1 -1
  7. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  8. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  9. package/dist/Components/NcActionCaption.cjs +2 -2
  10. package/dist/Components/NcActionCaption.cjs.map +1 -1
  11. package/dist/Components/NcActionCaption.mjs +2 -2
  12. package/dist/Components/NcActionCaption.mjs.map +1 -1
  13. package/dist/Components/NcActionCheckbox.cjs +6 -8
  14. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  15. package/dist/Components/NcActionCheckbox.mjs +6 -8
  16. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  17. package/dist/Components/NcActionInput.cjs +1 -1
  18. package/dist/Components/NcActionInput.mjs +1 -1
  19. package/dist/Components/NcActionLink.cjs +3 -3
  20. package/dist/Components/NcActionLink.cjs.map +1 -1
  21. package/dist/Components/NcActionLink.mjs +3 -3
  22. package/dist/Components/NcActionLink.mjs.map +1 -1
  23. package/dist/Components/NcActionRadio.cjs +6 -8
  24. package/dist/Components/NcActionRadio.cjs.map +1 -1
  25. package/dist/Components/NcActionRadio.mjs +6 -8
  26. package/dist/Components/NcActionRadio.mjs.map +1 -1
  27. package/dist/Components/NcActionRouter.cjs +3 -3
  28. package/dist/Components/NcActionRouter.cjs.map +1 -1
  29. package/dist/Components/NcActionRouter.mjs +3 -3
  30. package/dist/Components/NcActionRouter.mjs.map +1 -1
  31. package/dist/Components/NcActionSeparator.cjs +2 -2
  32. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  33. package/dist/Components/NcActionSeparator.mjs +2 -2
  34. package/dist/Components/NcActionSeparator.mjs.map +1 -1
  35. package/dist/Components/NcActionText.cjs +3 -3
  36. package/dist/Components/NcActionText.cjs.map +1 -1
  37. package/dist/Components/NcActionText.mjs +3 -3
  38. package/dist/Components/NcActionText.mjs.map +1 -1
  39. package/dist/Components/NcActionTextEditable.cjs +4 -4
  40. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  41. package/dist/Components/NcActionTextEditable.mjs +4 -4
  42. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  43. package/dist/Components/NcActions.cjs +1 -1
  44. package/dist/Components/NcActions.mjs +1 -1
  45. package/dist/Components/NcAppContent.cjs +1 -1
  46. package/dist/Components/NcAppContent.mjs +1 -1
  47. package/dist/Components/NcAppContentDetails.cjs.map +1 -1
  48. package/dist/Components/NcAppContentDetails.mjs.map +1 -1
  49. package/dist/Components/NcAppContentList.cjs.map +1 -1
  50. package/dist/Components/NcAppContentList.mjs.map +1 -1
  51. package/dist/Components/NcAppNavigation.cjs +1 -1
  52. package/dist/Components/NcAppNavigation.mjs +1 -1
  53. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  54. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  55. package/dist/Components/NcAppNavigationIconBullet.cjs +2 -2
  56. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  57. package/dist/Components/NcAppNavigationIconBullet.mjs +2 -2
  58. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  59. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  60. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  61. package/dist/Components/NcAppNavigationList.cjs +2 -2
  62. package/dist/Components/NcAppNavigationList.cjs.map +1 -1
  63. package/dist/Components/NcAppNavigationList.mjs +2 -2
  64. package/dist/Components/NcAppNavigationList.mjs.map +1 -1
  65. package/dist/Components/NcAppNavigationNew.cjs +2 -2
  66. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  67. package/dist/Components/NcAppNavigationNew.mjs +2 -2
  68. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  69. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  70. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  71. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  72. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  73. package/dist/Components/NcAppNavigationSpacer.cjs +2 -2
  74. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  75. package/dist/Components/NcAppNavigationSpacer.mjs +2 -2
  76. package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
  77. package/dist/Components/NcAppNavigationToggle.cjs +1 -21
  78. package/dist/Components/NcAppNavigationToggle.cjs.map +1 -1
  79. package/dist/Components/NcAppNavigationToggle.mjs +1 -21
  80. package/dist/Components/NcAppNavigationToggle.mjs.map +1 -1
  81. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  82. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  83. package/dist/Components/NcAppSettingsSection.cjs +2 -2
  84. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  85. package/dist/Components/NcAppSettingsSection.mjs +2 -2
  86. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  87. package/dist/Components/NcAppSidebar.cjs +1 -1
  88. package/dist/Components/NcAppSidebar.mjs +1 -1
  89. package/dist/Components/NcAppSidebarTab.cjs +2 -2
  90. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  91. package/dist/Components/NcAppSidebarTab.mjs +2 -2
  92. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  93. package/dist/Components/NcAvatar.cjs +1 -1
  94. package/dist/Components/NcAvatar.mjs +1 -1
  95. package/dist/Components/NcBreadcrumb.cjs +1 -1
  96. package/dist/Components/NcBreadcrumb.mjs +1 -1
  97. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  98. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  99. package/dist/Components/NcButton.cjs +2 -2
  100. package/dist/Components/NcButton.cjs.map +1 -1
  101. package/dist/Components/NcButton.mjs +2 -2
  102. package/dist/Components/NcButton.mjs.map +1 -1
  103. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  104. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  105. package/dist/Components/NcChip.cjs +111 -0
  106. package/dist/Components/NcChip.cjs.map +1 -0
  107. package/dist/Components/NcChip.mjs +112 -0
  108. package/dist/Components/NcChip.mjs.map +1 -0
  109. package/dist/Components/NcColorPicker.cjs +1 -1
  110. package/dist/Components/NcColorPicker.mjs +1 -1
  111. package/dist/Components/NcContent.cjs +1 -1
  112. package/dist/Components/NcContent.mjs +1 -1
  113. package/dist/Components/NcCounterBubble.cjs +2 -2
  114. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  115. package/dist/Components/NcCounterBubble.mjs +2 -2
  116. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  117. package/dist/Components/NcDashboardWidget.cjs +1 -1
  118. package/dist/Components/NcDashboardWidget.mjs +1 -1
  119. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  120. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  121. package/dist/Components/NcDateTime.cjs +1 -1
  122. package/dist/Components/NcDateTime.mjs +1 -1
  123. package/dist/Components/NcDateTimePicker.cjs +7 -28
  124. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  125. package/dist/Components/NcDateTimePicker.mjs +7 -28
  126. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  127. package/dist/Components/NcDateTimePickerNative.cjs +3 -24
  128. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  129. package/dist/Components/NcDateTimePickerNative.mjs +3 -24
  130. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  131. package/dist/Components/NcDialog.cjs +1 -1
  132. package/dist/Components/NcDialog.mjs +1 -1
  133. package/dist/Components/NcDialogButton.cjs +1 -1
  134. package/dist/Components/NcDialogButton.mjs +1 -1
  135. package/dist/Components/NcEllipsisedOption.cjs +9 -3
  136. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  137. package/dist/Components/NcEllipsisedOption.mjs +9 -3
  138. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  139. package/dist/Components/NcEmojiPicker.cjs +1 -1
  140. package/dist/Components/NcEmojiPicker.mjs +1 -1
  141. package/dist/Components/NcEmptyContent.cjs +2 -2
  142. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  143. package/dist/Components/NcEmptyContent.mjs +2 -2
  144. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  145. package/dist/Components/NcGuestContent.cjs +2 -2
  146. package/dist/Components/NcGuestContent.cjs.map +1 -1
  147. package/dist/Components/NcGuestContent.mjs +2 -2
  148. package/dist/Components/NcGuestContent.mjs.map +1 -1
  149. package/dist/Components/NcHeaderMenu.cjs +1 -1
  150. package/dist/Components/NcHeaderMenu.mjs +1 -1
  151. package/dist/Components/NcHighlight.cjs +1 -1
  152. package/dist/Components/NcHighlight.mjs +1 -1
  153. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  154. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  155. package/dist/Components/NcInputField.cjs +3 -3
  156. package/dist/Components/NcInputField.cjs.map +1 -1
  157. package/dist/Components/NcInputField.mjs +3 -3
  158. package/dist/Components/NcInputField.mjs.map +1 -1
  159. package/dist/Components/NcListItem.cjs +1 -1
  160. package/dist/Components/NcListItem.mjs +1 -1
  161. package/dist/Components/NcListItemIcon.cjs +1 -1
  162. package/dist/Components/NcListItemIcon.mjs +1 -1
  163. package/dist/Components/NcLoadingIcon.cjs +2 -2
  164. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  165. package/dist/Components/NcLoadingIcon.mjs +2 -2
  166. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  167. package/dist/Components/NcModal.cjs +9 -52
  168. package/dist/Components/NcModal.cjs.map +1 -1
  169. package/dist/Components/NcModal.mjs +9 -52
  170. package/dist/Components/NcModal.mjs.map +1 -1
  171. package/dist/Components/NcNoteCard.cjs +2 -2
  172. package/dist/Components/NcNoteCard.cjs.map +1 -1
  173. package/dist/Components/NcNoteCard.mjs +2 -2
  174. package/dist/Components/NcNoteCard.mjs.map +1 -1
  175. package/dist/Components/NcPasswordField.cjs +1 -1
  176. package/dist/Components/NcPasswordField.mjs +1 -1
  177. package/dist/Components/NcPopover.cjs +1 -1
  178. package/dist/Components/NcPopover.mjs +1 -1
  179. package/dist/Components/NcProgressBar.cjs +1 -1
  180. package/dist/Components/NcProgressBar.mjs +1 -1
  181. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  182. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  183. package/dist/Components/NcRichContenteditable.cjs +2 -2
  184. package/dist/Components/NcRichContenteditable.mjs +2 -2
  185. package/dist/Components/NcRichText.cjs +2 -23
  186. package/dist/Components/NcRichText.cjs.map +1 -1
  187. package/dist/Components/NcRichText.mjs +3 -24
  188. package/dist/Components/NcRichText.mjs.map +1 -1
  189. package/dist/Components/NcSelect.cjs +1 -1
  190. package/dist/Components/NcSelect.mjs +1 -1
  191. package/dist/Components/NcSelectTags.cjs +1 -1
  192. package/dist/Components/NcSelectTags.mjs +1 -1
  193. package/dist/Components/NcSettingsInputText.cjs +1 -1
  194. package/dist/Components/NcSettingsInputText.mjs +1 -1
  195. package/dist/Components/NcSettingsSection.cjs +1 -1
  196. package/dist/Components/NcSettingsSection.mjs +1 -1
  197. package/dist/Components/NcSettingsSelectGroup.cjs +1 -22
  198. package/dist/Components/NcSettingsSelectGroup.cjs.map +1 -1
  199. package/dist/Components/NcSettingsSelectGroup.mjs +1 -22
  200. package/dist/Components/NcSettingsSelectGroup.mjs.map +1 -1
  201. package/dist/Components/NcTextArea.cjs +3 -3
  202. package/dist/Components/NcTextArea.cjs.map +1 -1
  203. package/dist/Components/NcTextArea.mjs +3 -3
  204. package/dist/Components/NcTextArea.mjs.map +1 -1
  205. package/dist/Components/NcTextField.cjs +1 -1
  206. package/dist/Components/NcTextField.mjs +1 -1
  207. package/dist/Components/NcTimezonePicker.cjs +1 -1
  208. package/dist/Components/NcTimezonePicker.mjs +1 -1
  209. package/dist/Components/NcUserBubble.cjs +1 -1
  210. package/dist/Components/NcUserBubble.mjs +1 -1
  211. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  212. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  213. package/dist/Components/NcVNodes.cjs.map +1 -1
  214. package/dist/Components/NcVNodes.mjs.map +1 -1
  215. package/dist/Composables/useIsFullscreen.cjs +0 -21
  216. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  217. package/dist/Composables/useIsFullscreen.mjs +0 -21
  218. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  219. package/dist/Composables/useIsMobile.cjs +0 -21
  220. package/dist/Composables/useIsMobile.cjs.map +1 -1
  221. package/dist/Composables/useIsMobile.mjs +0 -21
  222. package/dist/Composables/useIsMobile.mjs.map +1 -1
  223. package/dist/Directives/Focus.cjs +0 -21
  224. package/dist/Directives/Focus.cjs.map +1 -1
  225. package/dist/Directives/Focus.mjs +0 -21
  226. package/dist/Directives/Focus.mjs.map +1 -1
  227. package/dist/Directives/Linkify.cjs +1 -1
  228. package/dist/Directives/Linkify.cjs.map +1 -1
  229. package/dist/Directives/Linkify.mjs +1 -1
  230. package/dist/Directives/Linkify.mjs.map +1 -1
  231. package/dist/Directives/Tooltip.cjs +1 -23
  232. package/dist/Directives/Tooltip.cjs.map +1 -1
  233. package/dist/Directives/Tooltip.mjs +1 -23
  234. package/dist/Directives/Tooltip.mjs.map +1 -1
  235. package/dist/Functions/a11y.cjs +0 -21
  236. package/dist/Functions/a11y.cjs.map +1 -1
  237. package/dist/Functions/a11y.mjs +0 -21
  238. package/dist/Functions/a11y.mjs.map +1 -1
  239. package/dist/Functions/emoji.cjs +1 -1
  240. package/dist/Functions/emoji.mjs +1 -1
  241. package/dist/Functions/reference.cjs +1 -1
  242. package/dist/Functions/reference.mjs +1 -1
  243. package/dist/Functions/usernameToColor.cjs +1 -1
  244. package/dist/Functions/usernameToColor.mjs +1 -1
  245. package/dist/Mixins/clickOutsideOptions.cjs +0 -21
  246. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  247. package/dist/Mixins/clickOutsideOptions.mjs +0 -21
  248. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  249. package/dist/Mixins/isFullscreen.cjs +0 -21
  250. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  251. package/dist/Mixins/isFullscreen.mjs +0 -21
  252. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  253. package/dist/Mixins/isMobile.cjs +0 -21
  254. package/dist/Mixins/isMobile.cjs.map +1 -1
  255. package/dist/Mixins/isMobile.mjs +0 -21
  256. package/dist/Mixins/isMobile.mjs.map +1 -1
  257. package/dist/Mixins/richEditor.cjs +2 -2
  258. package/dist/Mixins/richEditor.mjs +2 -2
  259. package/dist/assets/NcActionButton-BQGADRoe.css +107 -0
  260. package/dist/assets/{NcActionButtonGroup-CvloX35s.css → NcActionButtonGroup-CQxLn2fv.css} +6 -20
  261. package/dist/assets/NcActionCaption-D-VXTPLI.css +32 -0
  262. package/dist/assets/NcActionCheckbox-_DSvRrCm.css +78 -0
  263. package/dist/assets/NcActionInput-K-aWGceI.css +222 -0
  264. package/dist/assets/NcActionLink-Djp7wPGg.css +92 -0
  265. package/dist/assets/NcActionRadio-mQBhh9vp.css +78 -0
  266. package/dist/assets/NcActionRouter-DzcScCc6.css +103 -0
  267. package/dist/assets/NcActionSeparator-CEbb5P6P.css +24 -0
  268. package/dist/assets/NcActionText-DSk64KBl.css +107 -0
  269. package/dist/assets/NcActionTextEditable-BIjM-JsZ.css +238 -0
  270. package/dist/assets/NcActions-DtkhUUGj.css +83 -0
  271. package/dist/assets/NcAppContent-D0DGjfq9.css +125 -0
  272. package/dist/assets/NcAppNavigation-DvCTUTpR.css +103 -0
  273. package/dist/assets/NcAppNavigationCaption-32LhJ9Co.css +48 -0
  274. package/dist/assets/NcAppNavigationIconBullet-EfIZU7x-.css +30 -0
  275. package/dist/assets/{NcAppNavigationItem-Dy9C3jxc.css → NcAppNavigationItem-CflKjlYl.css} +52 -76
  276. package/dist/assets/NcAppNavigationList-BIbyyT7b.css +29 -0
  277. package/dist/assets/NcAppNavigationNew-BKfawNII.css +27 -0
  278. package/dist/assets/{NcAppNavigationNewItem-DF3nldsK.css → NcAppNavigationNewItem-CO3GnR26.css} +44 -54
  279. package/dist/assets/NcAppNavigationSettings-CbV2ZQ9_.css +79 -0
  280. package/dist/assets/NcAppNavigationSpacer-CfNqmQeR.css +6 -0
  281. package/dist/assets/NcAppNavigationToggle-DzpFNOgZ.css +27 -0
  282. package/dist/assets/NcAppSettingsDialog-DkvJ9cKe.css +74 -0
  283. package/dist/assets/NcAppSettingsSection-B5r6VWct.css +30 -0
  284. package/dist/assets/{NcAppSidebar-Bi22qfW1.css → NcAppSidebar-ITHlK5rW.css} +141 -143
  285. package/dist/assets/NcAppSidebarTab-BieYhqvk.css +34 -0
  286. package/dist/assets/NcAvatar-m0lTnGXX.css +129 -0
  287. package/dist/assets/NcBreadcrumb-rVleA0T6.css +68 -0
  288. package/dist/assets/NcBreadcrumbs-Bue16qCC.css +37 -0
  289. package/dist/assets/NcButton-BlkIlpQf.css +191 -0
  290. package/dist/assets/{NcCheckboxRadioSwitch-DArK1Q95.css → NcCheckboxRadioSwitch-CFKCb80n.css} +53 -81
  291. package/dist/assets/NcChip-CQm1mq2C.css +61 -0
  292. package/dist/assets/NcColorPicker-DH3H7HLS.css +122 -0
  293. package/dist/assets/NcContent--2CGtswk.css +82 -0
  294. package/dist/assets/NcCounterBubble-DT16e2bg.css +53 -0
  295. package/dist/assets/NcDashboardWidget-CwzqyUG9.css +73 -0
  296. package/dist/assets/NcDashboardWidgetItem-JCtQhwhS.css +85 -0
  297. package/dist/assets/{NcDateTimePicker-D1jwoP61.css → NcDateTimePicker-Cs-VgGon.css} +38 -76
  298. package/dist/assets/NcDateTimePickerNative-BAcKr0B3.css +47 -0
  299. package/dist/assets/NcDialog-BR3cQR_R.css +132 -0
  300. package/dist/assets/NcEllipsisedOption-DZK2vWD1.css +34 -0
  301. package/dist/assets/{NcEmojiPicker-XL3oUsqE.css → NcEmojiPicker-ielwHIhs.css} +16 -44
  302. package/dist/assets/NcEmptyContent-BU0QVo3d.css +65 -0
  303. package/dist/assets/NcGuestContent-BLJ37yLM.css +50 -0
  304. package/dist/assets/NcHeaderMenu-BbpDtHjf.css +77 -0
  305. package/dist/assets/NcIconSvgWrapper-BwsJ8wBM.css +39 -0
  306. package/dist/assets/NcInputConfirmCancel-SGr0-6w8.css +39 -0
  307. package/dist/assets/{NcInputField-CXoTqF9T.css → NcInputField-CyNcetxP.css} +42 -55
  308. package/dist/assets/NcListItem-DTaecNLV.css +156 -0
  309. package/dist/assets/NcListItemIcon-Cd4723rU.css +64 -0
  310. package/dist/assets/NcLoadingIcon-BSONDy7x.css +21 -0
  311. package/dist/assets/NcMentionBubble-B-xYaJDc.css +70 -0
  312. package/dist/assets/{NcModal-Cof88czY.css → NcModal-6bpKFk4w.css} +69 -86
  313. package/dist/assets/NcNoteCard-BLPU1den.css +50 -0
  314. package/dist/assets/{NcPopover-BwI1hPzy.css → NcPopover-BDlL00qZ.css} +6 -20
  315. package/dist/assets/NcProgressBar-BsqdCn-x.css +56 -0
  316. package/dist/assets/NcRelatedResourcesPanel-i_FBo7DY.css +158 -0
  317. package/dist/assets/{NcRichContenteditable-C-eZyVQM.css → NcRichContenteditable-BIclrp8v.css} +55 -97
  318. package/dist/assets/NcRichText-BKoK9ulg.css +217 -0
  319. package/dist/assets/{NcSelect-Fmyu7qyl.css → NcSelect-9AZOhTlS.css} +9 -21
  320. package/dist/assets/NcSettingsInputText-DbTNj9E6.css +35 -0
  321. package/dist/assets/NcSettingsSection-B_Dat_E8.css +56 -0
  322. package/dist/assets/NcSettingsSelectGroup-CzD7YrGm.css +23 -0
  323. package/dist/assets/{NcTextArea-XCi8a16Y.css → NcTextArea-D8bZi2fT.css} +30 -42
  324. package/dist/assets/NcUserBubble-DMjZyrGY.css +48 -0
  325. package/dist/assets/NcUserStatusIcon-DMxcdM51.css +30 -0
  326. package/dist/assets/{Tooltip-jHgt4m-W.css → Tooltip-4CSl8xev.css} +10 -30
  327. package/dist/assets/referencePickerModal-C_c_8fEM.css +413 -0
  328. package/dist/chunks/{GenColors-DjFwlIhX.mjs → GenColors-BvNpSI9g.mjs} +1 -23
  329. package/dist/chunks/GenColors-BvNpSI9g.mjs.map +1 -0
  330. package/dist/chunks/{GenColors-B1GUK4zF.cjs → GenColors-Cf5olCPx.cjs} +1 -23
  331. package/dist/chunks/GenColors-Cf5olCPx.cjs.map +1 -0
  332. package/dist/chunks/GenRandomId-BQDud3d4.cjs +5 -0
  333. package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +1 -0
  334. package/dist/chunks/GenRandomId-CMooMQt0.mjs +6 -0
  335. package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +1 -0
  336. package/dist/chunks/Linkify-BtgR-dXX.mjs +14 -0
  337. package/dist/chunks/Linkify-BtgR-dXX.mjs.map +1 -0
  338. package/dist/chunks/Linkify-yeOn5L6T.cjs +15 -0
  339. package/dist/chunks/Linkify-yeOn5L6T.cjs.map +1 -0
  340. package/dist/chunks/{NcActionButtonGroup-iKUlQ6Sg.cjs → NcActionButtonGroup-BO4eSfV4.cjs} +3 -3
  341. package/dist/chunks/NcActionButtonGroup-BO4eSfV4.cjs.map +1 -0
  342. package/dist/chunks/{NcActionButtonGroup-BISuGifY.mjs → NcActionButtonGroup-DCKhQnHH.mjs} +3 -3
  343. package/dist/chunks/NcActionButtonGroup-DCKhQnHH.mjs.map +1 -0
  344. package/dist/chunks/{NcActionInput-GJBTX1-r.mjs → NcActionInput-9zrp0_WC.mjs} +8 -8
  345. package/dist/chunks/NcActionInput-9zrp0_WC.mjs.map +1 -0
  346. package/dist/chunks/{NcActionInput-CU4Ycto_.cjs → NcActionInput-CEjCUwt0.cjs} +8 -8
  347. package/dist/chunks/NcActionInput-CEjCUwt0.cjs.map +1 -0
  348. package/dist/chunks/{NcActions-ePQTvWyX.cjs → NcActions-B4kN_x_I.cjs} +6 -6
  349. package/dist/chunks/NcActions-B4kN_x_I.cjs.map +1 -0
  350. package/dist/chunks/{NcActions-CZe78ai2.mjs → NcActions-VXT4YqSd.mjs} +6 -6
  351. package/dist/chunks/NcActions-VXT4YqSd.mjs.map +1 -0
  352. package/dist/chunks/{NcAppContent-gyRkh2hd.mjs → NcAppContent-B-VnA8x6.mjs} +4 -4
  353. package/dist/chunks/NcAppContent-B-VnA8x6.mjs.map +1 -0
  354. package/dist/chunks/{NcAppContent-BCShRsQU.cjs → NcAppContent-CoKCN5M3.cjs} +4 -4
  355. package/dist/chunks/NcAppContent-CoKCN5M3.cjs.map +1 -0
  356. package/dist/chunks/{NcAppNavigation-DjlepJn1.mjs → NcAppNavigation-BoSCCzgq.mjs} +5 -6
  357. package/dist/chunks/NcAppNavigation-BoSCCzgq.mjs.map +1 -0
  358. package/dist/chunks/{NcAppNavigation-NMvbfe_y.cjs → NcAppNavigation-Bto5gXEz.cjs} +5 -6
  359. package/dist/chunks/NcAppNavigation-Bto5gXEz.cjs.map +1 -0
  360. package/dist/chunks/{NcAppNavigationCaption-B-flkujS.cjs → NcAppNavigationCaption-7V2xr2JU.cjs} +21 -5
  361. package/dist/chunks/NcAppNavigationCaption-7V2xr2JU.cjs.map +1 -0
  362. package/dist/chunks/{NcAppNavigationCaption-PZDKx81g.mjs → NcAppNavigationCaption-D5IlWwqU.mjs} +21 -5
  363. package/dist/chunks/NcAppNavigationCaption-D5IlWwqU.mjs.map +1 -0
  364. package/dist/chunks/{NcAppNavigationItem-CFyEP8wP.mjs → NcAppNavigationItem-BvTE5-IF.mjs} +9 -11
  365. package/dist/chunks/NcAppNavigationItem-BvTE5-IF.mjs.map +1 -0
  366. package/dist/chunks/{NcAppNavigationItem-D-j_j_i5.cjs → NcAppNavigationItem-D0BY5hCQ.cjs} +9 -11
  367. package/dist/chunks/NcAppNavigationItem-D0BY5hCQ.cjs.map +1 -0
  368. package/dist/chunks/{NcAppNavigationNewItem-DU1Va5Qs.cjs → NcAppNavigationNewItem-DI3F9V41.cjs} +3 -3
  369. package/dist/chunks/NcAppNavigationNewItem-DI3F9V41.cjs.map +1 -0
  370. package/dist/chunks/{NcAppNavigationNewItem-0C1S6gig.mjs → NcAppNavigationNewItem-a_KNNkkf.mjs} +3 -3
  371. package/dist/chunks/NcAppNavigationNewItem-a_KNNkkf.mjs.map +1 -0
  372. package/dist/chunks/{NcAppNavigationSettings-CnuxB4p7.cjs → NcAppNavigationSettings-CkdNLEGg.cjs} +4 -4
  373. package/dist/chunks/NcAppNavigationSettings-CkdNLEGg.cjs.map +1 -0
  374. package/dist/chunks/{NcAppNavigationSettings-BVYD-_ON.mjs → NcAppNavigationSettings-ZYhJhZza.mjs} +4 -4
  375. package/dist/chunks/NcAppNavigationSettings-ZYhJhZza.mjs.map +1 -0
  376. package/dist/chunks/{NcAppNavigationToggle-xOyRbwls.mjs → NcAppNavigationToggle-dHmyeRMf.mjs} +3 -3
  377. package/dist/chunks/NcAppNavigationToggle-dHmyeRMf.mjs.map +1 -0
  378. package/dist/chunks/{NcAppNavigationToggle--6uvG5sY.cjs → NcAppNavigationToggle-dTKw7Sw8.cjs} +3 -3
  379. package/dist/chunks/NcAppNavigationToggle-dTKw7Sw8.cjs.map +1 -0
  380. package/dist/chunks/{NcAppSettingsDialog-CMknLVAP.mjs → NcAppSettingsDialog-B_JHYQei.mjs} +5 -6
  381. package/dist/chunks/NcAppSettingsDialog-B_JHYQei.mjs.map +1 -0
  382. package/dist/chunks/{NcAppSettingsDialog-CAYJSfm3.cjs → NcAppSettingsDialog-DB9IGg_1.cjs} +5 -6
  383. package/dist/chunks/NcAppSettingsDialog-DB9IGg_1.cjs.map +1 -0
  384. package/dist/chunks/{NcAppSidebar-D4v3Msgl.cjs → NcAppSidebar-Be2hX08l.cjs} +145 -70
  385. package/dist/chunks/NcAppSidebar-Be2hX08l.cjs.map +1 -0
  386. package/dist/chunks/{NcAppSidebar-DWb4MNeo.mjs → NcAppSidebar-DfMS3rRN.mjs} +145 -70
  387. package/dist/chunks/NcAppSidebar-DfMS3rRN.mjs.map +1 -0
  388. package/dist/chunks/{NcAvatar-DvV77AjU.cjs → NcAvatar-B1PwcHhO.cjs} +10 -31
  389. package/dist/chunks/NcAvatar-B1PwcHhO.cjs.map +1 -0
  390. package/dist/chunks/{NcAvatar-BYvbqQP3.mjs → NcAvatar-DrN_43xE.mjs} +10 -31
  391. package/dist/chunks/NcAvatar-DrN_43xE.mjs.map +1 -0
  392. package/dist/chunks/{NcBreadcrumb-CccFNtmn.mjs → NcBreadcrumb-BB7O3NvV.mjs} +4 -4
  393. package/dist/chunks/NcBreadcrumb-BB7O3NvV.mjs.map +1 -0
  394. package/dist/chunks/{NcBreadcrumb-D_B838UO.cjs → NcBreadcrumb-C1VWgdNk.cjs} +4 -4
  395. package/dist/chunks/NcBreadcrumb-C1VWgdNk.cjs.map +1 -0
  396. package/dist/chunks/{NcBreadcrumbs-BhBkulau.mjs → NcBreadcrumbs-BRl8V6ie.mjs} +8 -33
  397. package/dist/chunks/NcBreadcrumbs-BRl8V6ie.mjs.map +1 -0
  398. package/dist/chunks/{NcBreadcrumbs-CaLzYM5s.cjs → NcBreadcrumbs-BZFTIrPp.cjs} +8 -33
  399. package/dist/chunks/NcBreadcrumbs-BZFTIrPp.cjs.map +1 -0
  400. package/dist/chunks/{NcCheckboxRadioSwitch-ByOy5xz5.mjs → NcCheckboxRadioSwitch-08IiPYnO.mjs} +5 -5
  401. package/dist/chunks/NcCheckboxRadioSwitch-08IiPYnO.mjs.map +1 -0
  402. package/dist/chunks/{NcCheckboxRadioSwitch-0kVQhCVw.cjs → NcCheckboxRadioSwitch-BC-PCCMB.cjs} +5 -5
  403. package/dist/chunks/NcCheckboxRadioSwitch-BC-PCCMB.cjs.map +1 -0
  404. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DM3kps3m.cjs +4 -0
  405. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DM3kps3m.cjs.map +1 -0
  406. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DP6Ws4da.mjs +3 -0
  407. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DP6Ws4da.mjs.map +1 -0
  408. package/dist/chunks/{NcColorPicker-BZ8w5NOJ.mjs → NcColorPicker-C5AAUZow.mjs} +6 -6
  409. package/dist/chunks/NcColorPicker-C5AAUZow.mjs.map +1 -0
  410. package/dist/chunks/{NcColorPicker-BhdOJcFp.cjs → NcColorPicker-DQVfrnSU.cjs} +6 -6
  411. package/dist/chunks/NcColorPicker-DQVfrnSU.cjs.map +1 -0
  412. package/dist/chunks/NcContent-DlpAl0Ng.mjs +105 -0
  413. package/dist/chunks/NcContent-DlpAl0Ng.mjs.map +1 -0
  414. package/dist/chunks/NcContent-DqUD53yw.cjs +104 -0
  415. package/dist/chunks/NcContent-DqUD53yw.cjs.map +1 -0
  416. package/dist/chunks/{NcDashboardWidget-hoZw8Qfz.mjs → NcDashboardWidget-Bgws_A-4.mjs} +5 -5
  417. package/dist/chunks/NcDashboardWidget-Bgws_A-4.mjs.map +1 -0
  418. package/dist/chunks/{NcDashboardWidget-Bt_AiMLT.cjs → NcDashboardWidget-DHZ91zbH.cjs} +5 -5
  419. package/dist/chunks/NcDashboardWidget-DHZ91zbH.cjs.map +1 -0
  420. package/dist/chunks/{NcDashboardWidgetItem-DjSXMVgm.cjs → NcDashboardWidgetItem-7POJ_0UL.cjs} +4 -4
  421. package/dist/chunks/NcDashboardWidgetItem-7POJ_0UL.cjs.map +1 -0
  422. package/dist/chunks/{NcDashboardWidgetItem-C-Wa9TNk.mjs → NcDashboardWidgetItem-yOTSuJJW.mjs} +4 -4
  423. package/dist/chunks/NcDashboardWidgetItem-yOTSuJJW.mjs.map +1 -0
  424. package/dist/chunks/{NcDateTime-iW-kErE1.mjs → NcDateTime-DBvDI3ZP.mjs} +1 -22
  425. package/dist/chunks/NcDateTime-DBvDI3ZP.mjs.map +1 -0
  426. package/dist/chunks/{NcDateTime-kvWumSJA.cjs → NcDateTime-DPpc-ffs.cjs} +1 -22
  427. package/dist/chunks/NcDateTime-DPpc-ffs.cjs.map +1 -0
  428. package/dist/chunks/{NcDialog-1TWFrsjf.mjs → NcDialog-CDQmAtFa.mjs} +4 -4
  429. package/dist/chunks/NcDialog-CDQmAtFa.mjs.map +1 -0
  430. package/dist/chunks/{NcDialog-G7XA1Z88.cjs → NcDialog-dCyByQCG.cjs} +4 -4
  431. package/dist/chunks/NcDialog-dCyByQCG.cjs.map +1 -0
  432. package/dist/chunks/{NcDialogButton-NiGZGBjq.cjs → NcDialogButton-CNWF4urB.cjs} +9 -2
  433. package/dist/chunks/NcDialogButton-CNWF4urB.cjs.map +1 -0
  434. package/dist/chunks/{NcDialogButton-jh2GOQ_7.mjs → NcDialogButton-JvyN3X6S.mjs} +9 -2
  435. package/dist/chunks/NcDialogButton-JvyN3X6S.mjs.map +1 -0
  436. package/dist/chunks/{NcEmojiPicker-Drc9tYzl.mjs → NcEmojiPicker-CEeN-AZM.mjs} +8 -8
  437. package/dist/chunks/NcEmojiPicker-CEeN-AZM.mjs.map +1 -0
  438. package/dist/chunks/{NcEmojiPicker-Ju0ogVxs.cjs → NcEmojiPicker-CNiHLIbP.cjs} +8 -8
  439. package/dist/chunks/NcEmojiPicker-CNiHLIbP.cjs.map +1 -0
  440. package/dist/chunks/{NcHeaderMenu-2n5GDt37.mjs → NcHeaderMenu-BEp6lzuy.mjs} +5 -5
  441. package/dist/chunks/NcHeaderMenu-BEp6lzuy.mjs.map +1 -0
  442. package/dist/chunks/{NcHeaderMenu-830tFszI.cjs → NcHeaderMenu-C7peZLEA.cjs} +5 -5
  443. package/dist/chunks/NcHeaderMenu-C7peZLEA.cjs.map +1 -0
  444. package/dist/chunks/{NcIconSvgWrapper-5v5HBSpx.mjs → NcIconSvgWrapper-Ckqpz-vm.mjs} +7 -15
  445. package/dist/chunks/NcIconSvgWrapper-Ckqpz-vm.mjs.map +1 -0
  446. package/dist/chunks/{NcIconSvgWrapper-D4GEZPIc.cjs → NcIconSvgWrapper-DaSgIT19.cjs} +6 -14
  447. package/dist/chunks/NcIconSvgWrapper-DaSgIT19.cjs.map +1 -0
  448. package/dist/chunks/{NcInputConfirmCancel-uSZodQXZ.mjs → NcInputConfirmCancel-BojmHIVt.mjs} +6 -9
  449. package/dist/chunks/NcInputConfirmCancel-BojmHIVt.mjs.map +1 -0
  450. package/dist/chunks/{NcInputConfirmCancel-_SvdghX9.cjs → NcInputConfirmCancel-CD8NS4jj.cjs} +6 -9
  451. package/dist/chunks/NcInputConfirmCancel-CD8NS4jj.cjs.map +1 -0
  452. package/dist/chunks/{NcListItem-DwXB_QT2.cjs → NcListItem-Bt5RbZT6.cjs} +5 -6
  453. package/dist/chunks/{NcListItem-R4rlqTZ-.mjs.map → NcListItem-Bt5RbZT6.cjs.map} +1 -1
  454. package/dist/chunks/{NcListItem-R4rlqTZ-.mjs → NcListItem-PX9C1UU4.mjs} +5 -6
  455. package/dist/chunks/{NcListItem-DwXB_QT2.cjs.map → NcListItem-PX9C1UU4.mjs.map} +1 -1
  456. package/dist/chunks/{NcListItemIcon-DKSzgujO.cjs → NcListItemIcon-CSD8rRYj.cjs} +6 -6
  457. package/dist/chunks/NcListItemIcon-CSD8rRYj.cjs.map +1 -0
  458. package/dist/chunks/{NcListItemIcon-DONcrnT_.mjs → NcListItemIcon-NtOXrncP.mjs} +6 -6
  459. package/dist/chunks/NcListItemIcon-NtOXrncP.mjs.map +1 -0
  460. package/dist/chunks/{NcPasswordField-Vyt7Pk2z.mjs → NcPasswordField-XxjYVmM9.mjs} +3 -2
  461. package/dist/chunks/NcPasswordField-XxjYVmM9.mjs.map +1 -0
  462. package/dist/chunks/{NcPasswordField-CGhVkWI2.cjs → NcPasswordField-Y4-be0L7.cjs} +4 -3
  463. package/dist/chunks/NcPasswordField-Y4-be0L7.cjs.map +1 -0
  464. package/dist/chunks/{NcPopover-BS1bBSkg.cjs → NcPopover-Cl1AvQ5o.cjs} +2 -2
  465. package/dist/chunks/NcPopover-Cl1AvQ5o.cjs.map +1 -0
  466. package/dist/chunks/{NcPopover-foxJPAfG.mjs → NcPopover-VxUr4c6P.mjs} +2 -2
  467. package/dist/chunks/NcPopover-VxUr4c6P.mjs.map +1 -0
  468. package/dist/chunks/{NcProgressBar-mFqoqB4L.cjs → NcProgressBar-BnKA91Pj.cjs} +3 -3
  469. package/dist/chunks/NcProgressBar-BnKA91Pj.cjs.map +1 -0
  470. package/dist/chunks/{NcProgressBar-BafFcKiu.mjs → NcProgressBar-CZtllSde.mjs} +3 -3
  471. package/dist/chunks/NcProgressBar-CZtllSde.mjs.map +1 -0
  472. package/dist/chunks/{NcRelatedResourcesPanel-Ci31S2dU.cjs → NcRelatedResourcesPanel-Dlf-t8iR.cjs} +7 -7
  473. package/dist/chunks/NcRelatedResourcesPanel-Dlf-t8iR.cjs.map +1 -0
  474. package/dist/chunks/{NcRelatedResourcesPanel-BY8X00Zd.mjs → NcRelatedResourcesPanel-wFENPmmn.mjs} +7 -7
  475. package/dist/chunks/NcRelatedResourcesPanel-wFENPmmn.mjs.map +1 -0
  476. package/dist/chunks/{NcRichContenteditable-BpHLlt5A.mjs → NcRichContenteditable-BGW5Ut1z.mjs} +58 -47
  477. package/dist/chunks/NcRichContenteditable-BGW5Ut1z.mjs.map +1 -0
  478. package/dist/chunks/{NcRichContenteditable-DnukwC1y.cjs → NcRichContenteditable-DdG9-ftG.cjs} +58 -47
  479. package/dist/chunks/NcRichContenteditable-DdG9-ftG.cjs.map +1 -0
  480. package/dist/chunks/{NcRichText-U0Ral4-y.cjs → NcRichText-B0CKR0jj.cjs} +9 -8
  481. package/dist/chunks/NcRichText-B0CKR0jj.cjs.map +1 -0
  482. package/dist/chunks/{NcRichText-Ba2D7EQq.mjs → NcRichText-D3knHFLh.mjs} +9 -8
  483. package/dist/chunks/NcRichText-D3knHFLh.mjs.map +1 -0
  484. package/dist/chunks/NcSavingIndicatorIcon-Bhy7wcoT.mjs.map +1 -1
  485. package/dist/chunks/NcSavingIndicatorIcon-BzKAIkhk.cjs.map +1 -1
  486. package/dist/chunks/{NcSelect-EnQUx7gf.mjs → NcSelect-BVltxWdw.mjs} +4 -4
  487. package/dist/chunks/NcSelect-BVltxWdw.mjs.map +1 -0
  488. package/dist/chunks/{NcSelect-uODI-lly.cjs → NcSelect-BXjYMf6X.cjs} +4 -4
  489. package/dist/chunks/NcSelect-BXjYMf6X.cjs.map +1 -0
  490. package/dist/chunks/{NcSelectTags-tEADv0cv.mjs → NcSelectTags-BA6aGEca.mjs} +2 -23
  491. package/dist/chunks/NcSelectTags-BA6aGEca.mjs.map +1 -0
  492. package/dist/chunks/{NcSelectTags-BzQxtK0g.cjs → NcSelectTags-DzNoReBn.cjs} +2 -23
  493. package/dist/chunks/NcSelectTags-DzNoReBn.cjs.map +1 -0
  494. package/dist/chunks/{NcSettingsInputText-Bg_VDGoS.cjs → NcSettingsInputText-B3aogzD0.cjs} +4 -4
  495. package/dist/chunks/NcSettingsInputText-B3aogzD0.cjs.map +1 -0
  496. package/dist/chunks/{NcSettingsInputText-BdjyNei5.mjs → NcSettingsInputText-CXURkBMD.mjs} +4 -4
  497. package/dist/chunks/NcSettingsInputText-CXURkBMD.mjs.map +1 -0
  498. package/dist/chunks/{NcSettingsSection-CWQHnXy4.cjs → NcSettingsSection-B8Nn29kV.cjs} +15 -6
  499. package/dist/chunks/NcSettingsSection-B8Nn29kV.cjs.map +1 -0
  500. package/dist/chunks/{NcSettingsSection-CWUIg3WZ.mjs → NcSettingsSection-PZ3JkBWO.mjs} +15 -6
  501. package/dist/chunks/NcSettingsSection-PZ3JkBWO.mjs.map +1 -0
  502. package/dist/chunks/{NcSettingsSelectGroup-I_qUQ6nA.mjs → NcSettingsSelectGroup-Z3yYfNTs.mjs} +5 -5
  503. package/dist/chunks/NcSettingsSelectGroup-Z3yYfNTs.mjs.map +1 -0
  504. package/dist/chunks/{NcSettingsSelectGroup-DyQfy9P5.cjs → NcSettingsSelectGroup-k5AMJoPl.cjs} +5 -5
  505. package/dist/chunks/NcSettingsSelectGroup-k5AMJoPl.cjs.map +1 -0
  506. package/dist/chunks/{NcTextField-Bu1cvjSc.mjs → NcTextField-C8iERu7z.mjs} +1 -1
  507. package/dist/chunks/NcTextField-C8iERu7z.mjs.map +1 -0
  508. package/dist/chunks/{NcTextField-CO0wnb8n.cjs → NcTextField-Y_QNDoeN.cjs} +1 -1
  509. package/dist/chunks/NcTextField-Y_QNDoeN.cjs.map +1 -0
  510. package/dist/chunks/NcTimezonePicker-BlnrXG8A.mjs +185 -0
  511. package/dist/chunks/NcTimezonePicker-BlnrXG8A.mjs.map +1 -0
  512. package/dist/chunks/NcTimezonePicker-DDNT7-mK.cjs +184 -0
  513. package/dist/chunks/NcTimezonePicker-DDNT7-mK.cjs.map +1 -0
  514. package/dist/chunks/{NcUserBubble-h9Zo3CCT.mjs → NcUserBubble-BiLpvdja.mjs} +4 -4
  515. package/dist/chunks/NcUserBubble-BiLpvdja.mjs.map +1 -0
  516. package/dist/chunks/{NcUserBubble-CSAU8jCM.cjs → NcUserBubble-eXO4wtN5.cjs} +4 -4
  517. package/dist/chunks/NcUserBubble-eXO4wtN5.cjs.map +1 -0
  518. package/dist/chunks/{NcUserStatusIcon-BC9qDAzb.mjs → NcUserStatusIcon-DLhfp6bb.mjs} +7 -34
  519. package/dist/chunks/NcUserStatusIcon-DLhfp6bb.mjs.map +1 -0
  520. package/dist/chunks/{NcUserStatusIcon-BpLvFq3p.cjs → NcUserStatusIcon-J509k6M1.cjs} +7 -35
  521. package/dist/chunks/NcUserStatusIcon-J509k6M1.cjs.map +1 -0
  522. package/dist/chunks/ScopeComponent-BJmRUKzI.mjs +13 -0
  523. package/dist/chunks/ScopeComponent-BJmRUKzI.mjs.map +1 -0
  524. package/dist/chunks/ScopeComponent-Dn9AdAJf.cjs +12 -0
  525. package/dist/chunks/ScopeComponent-Dn9AdAJf.cjs.map +1 -0
  526. package/dist/chunks/_l10n-B6zipH_A.mjs +122 -0
  527. package/dist/chunks/_l10n-B6zipH_A.mjs.map +1 -0
  528. package/dist/chunks/_l10n-BGF_R72e.cjs +121 -0
  529. package/dist/chunks/{_l10n-ftziezFF.cjs.map → _l10n-BGF_R72e.cjs.map} +1 -1
  530. package/dist/chunks/actionGlobal-DqVa7c7G.mjs +25 -0
  531. package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -0
  532. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs +24 -0
  533. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -0
  534. package/dist/chunks/{actionText-BnA6RS9I.cjs → actionText-BcrK4uH1.cjs} +1 -43
  535. package/dist/chunks/actionText-BcrK4uH1.cjs.map +1 -0
  536. package/dist/chunks/{actionText-BaGktsVf.mjs → actionText-fFcUPi2g.mjs} +1 -43
  537. package/dist/chunks/actionText-fFcUPi2g.mjs.map +1 -0
  538. package/dist/chunks/{autolink-Bgjz08wN.cjs → autolink-BAgL31EZ.cjs} +7 -24
  539. package/dist/chunks/autolink-BAgL31EZ.cjs.map +1 -0
  540. package/dist/chunks/{autolink-DA7VzS8Y.mjs → autolink-cbuFALXr.mjs} +7 -24
  541. package/dist/chunks/autolink-cbuFALXr.mjs.map +1 -0
  542. package/dist/chunks/{emoji-CWr00EYY.cjs → emoji-BCCCB3t3.cjs} +9 -30
  543. package/dist/chunks/emoji-BCCCB3t3.cjs.map +1 -0
  544. package/dist/chunks/{emoji-CbOkKZx5.mjs → emoji-V6ytyzoR.mjs} +9 -30
  545. package/dist/chunks/emoji-V6ytyzoR.mjs.map +1 -0
  546. package/dist/chunks/focusTrap-Cecv_gjR.mjs +7 -0
  547. package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +1 -0
  548. package/dist/chunks/focusTrap-EeXFmjdI.cjs +6 -0
  549. package/dist/chunks/focusTrap-EeXFmjdI.cjs.map +1 -0
  550. package/dist/chunks/getAvatarUrl-6z9qRNH-.cjs +10 -0
  551. package/dist/chunks/getAvatarUrl-6z9qRNH-.cjs.map +1 -0
  552. package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs +11 -0
  553. package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs.map +1 -0
  554. package/dist/chunks/{index-Dl-SBuhJ.cjs → index-BANjku4q.cjs} +0 -21
  555. package/dist/chunks/index-BANjku4q.cjs.map +1 -0
  556. package/dist/chunks/index-BwyQ2N-M.mjs.map +1 -1
  557. package/dist/chunks/{index-D0euettC.cjs → index-C8XDBNYC.cjs} +4 -25
  558. package/dist/chunks/index-C8XDBNYC.cjs.map +1 -0
  559. package/dist/chunks/{index-BRQQ9NaL.mjs → index-CVcTbcD3.mjs} +4 -25
  560. package/dist/chunks/index-CVcTbcD3.mjs.map +1 -0
  561. package/dist/chunks/{index-DYccGIvD.mjs → index-CsogA-K5.mjs} +0 -21
  562. package/dist/chunks/index-CsogA-K5.mjs.map +1 -0
  563. package/dist/chunks/index-Dsgv-f-l.cjs.map +1 -1
  564. package/dist/chunks/referencePickerModal-CGhrhjCk.mjs +1114 -0
  565. package/dist/chunks/referencePickerModal-CGhrhjCk.mjs.map +1 -0
  566. package/dist/chunks/referencePickerModal-D7ZD0avR.cjs +1116 -0
  567. package/dist/chunks/referencePickerModal-D7ZD0avR.cjs.map +1 -0
  568. package/dist/chunks/usernameToColor-BKMu6XL_.cjs +27 -0
  569. package/dist/chunks/usernameToColor-BKMu6XL_.cjs.map +1 -0
  570. package/dist/chunks/usernameToColor-BkmF7_85.mjs +26 -0
  571. package/dist/chunks/usernameToColor-BkmF7_85.mjs.map +1 -0
  572. package/dist/composables/useFormatDateTime.d.ts +6 -6
  573. package/dist/functions/a11y/index.d.ts +2 -19
  574. package/dist/functions/emoji/emoji.d.ts +23 -27
  575. package/dist/functions/emoji/index.d.ts +2 -19
  576. package/dist/functions/reference/widgets.d.ts +4 -0
  577. package/dist/index.cjs +60 -92
  578. package/dist/index.cjs.map +1 -1
  579. package/dist/index.mjs +62 -94
  580. package/dist/index.mjs.map +1 -1
  581. package/dist/utils/UserStatus.d.ts +2 -19
  582. package/dist/utils/getAvatarUrl.d.ts +2 -19
  583. package/dist/vendor.LICENSE.txt +4 -4
  584. package/package.json +10 -9
  585. package/LICENSE +0 -661
  586. package/dist/assets/NcActionButton-CkChpLnH.css +0 -139
  587. package/dist/assets/NcActionCaption-sfcjBZnu.css +0 -46
  588. package/dist/assets/NcActionCheckbox-DTlI7y7p.css +0 -110
  589. package/dist/assets/NcActionInput-B8l22cnm.css +0 -271
  590. package/dist/assets/NcActionLink-C-NDmERH.css +0 -124
  591. package/dist/assets/NcActionRadio-syUIsm9B.css +0 -110
  592. package/dist/assets/NcActionRouter-BbTCI4sn.css +0 -135
  593. package/dist/assets/NcActionSeparator-CB59y4di.css +0 -38
  594. package/dist/assets/NcActionText-Ceh88fy8.css +0 -139
  595. package/dist/assets/NcActionTextEditable-BoxziChR.css +0 -287
  596. package/dist/assets/NcActions-9_rnkpG4.css +0 -111
  597. package/dist/assets/NcAppContent-C08OMmgh.css +0 -153
  598. package/dist/assets/NcAppNavigation-ClImKhvx.css +0 -126
  599. package/dist/assets/NcAppNavigationCaption-BbwgabsF.css +0 -61
  600. package/dist/assets/NcAppNavigationIconBullet-B8q3pUL5.css +0 -44
  601. package/dist/assets/NcAppNavigationList-DnIxrbVX.css +0 -43
  602. package/dist/assets/NcAppNavigationNew-BPZ1O8Xm.css +0 -41
  603. package/dist/assets/NcAppNavigationSettings-BCkvRAy8.css +0 -93
  604. package/dist/assets/NcAppNavigationSpacer-Cb4q1zb5.css +0 -6
  605. package/dist/assets/NcAppNavigationToggle-0yhQ9xse.css +0 -41
  606. package/dist/assets/NcAppSettingsDialog-CajWZJNV.css +0 -88
  607. package/dist/assets/NcAppSettingsSection-BDvzWKkd.css +0 -44
  608. package/dist/assets/NcAppSidebarTab-CBFET-hQ.css +0 -48
  609. package/dist/assets/NcAvatar-DaftSb4x.css +0 -143
  610. package/dist/assets/NcBreadcrumb-AES5eSWo.css +0 -82
  611. package/dist/assets/NcBreadcrumbs-tYrp1DVs.css +0 -51
  612. package/dist/assets/NcButton-D4HxnscK.css +0 -204
  613. package/dist/assets/NcColorPicker-CzKZjMxY.css +0 -136
  614. package/dist/assets/NcContent-Cuv2HvFH.css +0 -110
  615. package/dist/assets/NcCounterBubble-CWi_P1Tb.css +0 -67
  616. package/dist/assets/NcDashboardWidget-CGOA8X60.css +0 -87
  617. package/dist/assets/NcDashboardWidgetItem-BevETFRF.css +0 -99
  618. package/dist/assets/NcDateTimePickerNative-CV_VuzvQ.css +0 -61
  619. package/dist/assets/NcDialog-DFMxsFp5.css +0 -160
  620. package/dist/assets/NcEllipsisedOption-ClDzkIX6.css +0 -48
  621. package/dist/assets/NcEmptyContent--xKgddPn.css +0 -79
  622. package/dist/assets/NcGuestContent-CeRLfUEi.css +0 -78
  623. package/dist/assets/NcHeaderMenu-N5y8yFGd.css +0 -91
  624. package/dist/assets/NcIconSvgWrapper-C5vV6-c0.css +0 -53
  625. package/dist/assets/NcInputConfirmCancel-UcHrm0al.css +0 -53
  626. package/dist/assets/NcListItem-DMYcn1cc.css +0 -170
  627. package/dist/assets/NcListItemIcon-B9UQBQSa.css +0 -78
  628. package/dist/assets/NcLoadingIcon-gxK0ujO0.css +0 -35
  629. package/dist/assets/NcMentionBubble-DmzU72Mw.css +0 -84
  630. package/dist/assets/NcNoteCard-e7-Bxio8.css +0 -64
  631. package/dist/assets/NcProgressBar-D5VftcJm.css +0 -70
  632. package/dist/assets/NcRelatedResourcesPanel-BrXxbjgR.css +0 -200
  633. package/dist/assets/NcRichText-Cdp_2wEm.css +0 -240
  634. package/dist/assets/NcSettingsInputText-CU65Coab.css +0 -49
  635. package/dist/assets/NcSettingsSection-e9XGyBq8.css +0 -70
  636. package/dist/assets/NcSettingsSelectGroup-CPauLI-o.css +0 -37
  637. package/dist/assets/NcUserBubble-D5ieZC-f.css +0 -62
  638. package/dist/assets/NcUserStatusIcon-BcLArDqV.css +0 -44
  639. package/dist/assets/referencePickerModal-C0ibN2gO.css +0 -539
  640. package/dist/chunks/GenColors-B1GUK4zF.cjs.map +0 -1
  641. package/dist/chunks/GenColors-DjFwlIhX.mjs.map +0 -1
  642. package/dist/chunks/GenRandomId-CXkjMlAT.mjs +0 -27
  643. package/dist/chunks/GenRandomId-CXkjMlAT.mjs.map +0 -1
  644. package/dist/chunks/GenRandomId-kBCcgMJd.cjs +0 -26
  645. package/dist/chunks/GenRandomId-kBCcgMJd.cjs.map +0 -1
  646. package/dist/chunks/Linkify-BBPJHBma.mjs +0 -35
  647. package/dist/chunks/Linkify-BBPJHBma.mjs.map +0 -1
  648. package/dist/chunks/Linkify-CIO279AG.cjs +0 -36
  649. package/dist/chunks/Linkify-CIO279AG.cjs.map +0 -1
  650. package/dist/chunks/NcActionButtonGroup-BISuGifY.mjs.map +0 -1
  651. package/dist/chunks/NcActionButtonGroup-iKUlQ6Sg.cjs.map +0 -1
  652. package/dist/chunks/NcActionInput-CU4Ycto_.cjs.map +0 -1
  653. package/dist/chunks/NcActionInput-GJBTX1-r.mjs.map +0 -1
  654. package/dist/chunks/NcActions-CZe78ai2.mjs.map +0 -1
  655. package/dist/chunks/NcActions-ePQTvWyX.cjs.map +0 -1
  656. package/dist/chunks/NcAppContent-BCShRsQU.cjs.map +0 -1
  657. package/dist/chunks/NcAppContent-gyRkh2hd.mjs.map +0 -1
  658. package/dist/chunks/NcAppNavigation-DjlepJn1.mjs.map +0 -1
  659. package/dist/chunks/NcAppNavigation-NMvbfe_y.cjs.map +0 -1
  660. package/dist/chunks/NcAppNavigationCaption-B-flkujS.cjs.map +0 -1
  661. package/dist/chunks/NcAppNavigationCaption-PZDKx81g.mjs.map +0 -1
  662. package/dist/chunks/NcAppNavigationItem-CFyEP8wP.mjs.map +0 -1
  663. package/dist/chunks/NcAppNavigationItem-D-j_j_i5.cjs.map +0 -1
  664. package/dist/chunks/NcAppNavigationNewItem-0C1S6gig.mjs.map +0 -1
  665. package/dist/chunks/NcAppNavigationNewItem-DU1Va5Qs.cjs.map +0 -1
  666. package/dist/chunks/NcAppNavigationSettings-BVYD-_ON.mjs.map +0 -1
  667. package/dist/chunks/NcAppNavigationSettings-CnuxB4p7.cjs.map +0 -1
  668. package/dist/chunks/NcAppNavigationToggle--6uvG5sY.cjs.map +0 -1
  669. package/dist/chunks/NcAppNavigationToggle-xOyRbwls.mjs.map +0 -1
  670. package/dist/chunks/NcAppSettingsDialog-CAYJSfm3.cjs.map +0 -1
  671. package/dist/chunks/NcAppSettingsDialog-CMknLVAP.mjs.map +0 -1
  672. package/dist/chunks/NcAppSidebar-D4v3Msgl.cjs.map +0 -1
  673. package/dist/chunks/NcAppSidebar-DWb4MNeo.mjs.map +0 -1
  674. package/dist/chunks/NcAvatar-BYvbqQP3.mjs.map +0 -1
  675. package/dist/chunks/NcAvatar-DvV77AjU.cjs.map +0 -1
  676. package/dist/chunks/NcBreadcrumb-CccFNtmn.mjs.map +0 -1
  677. package/dist/chunks/NcBreadcrumb-D_B838UO.cjs.map +0 -1
  678. package/dist/chunks/NcBreadcrumbs-BhBkulau.mjs.map +0 -1
  679. package/dist/chunks/NcBreadcrumbs-CaLzYM5s.cjs.map +0 -1
  680. package/dist/chunks/NcCheckboxRadioSwitch-0kVQhCVw.cjs.map +0 -1
  681. package/dist/chunks/NcCheckboxRadioSwitch-ByOy5xz5.mjs.map +0 -1
  682. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-BhTGXTuA.mjs +0 -3
  683. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-BhTGXTuA.mjs.map +0 -1
  684. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CrbKZag1.cjs +0 -4
  685. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CrbKZag1.cjs.map +0 -1
  686. package/dist/chunks/NcColorPicker-BZ8w5NOJ.mjs.map +0 -1
  687. package/dist/chunks/NcColorPicker-BhdOJcFp.cjs.map +0 -1
  688. package/dist/chunks/NcContent-DW28aXMb.mjs +0 -104
  689. package/dist/chunks/NcContent-DW28aXMb.mjs.map +0 -1
  690. package/dist/chunks/NcContent-JMqroMPc.cjs +0 -103
  691. package/dist/chunks/NcContent-JMqroMPc.cjs.map +0 -1
  692. package/dist/chunks/NcDashboardWidget-Bt_AiMLT.cjs.map +0 -1
  693. package/dist/chunks/NcDashboardWidget-hoZw8Qfz.mjs.map +0 -1
  694. package/dist/chunks/NcDashboardWidgetItem-C-Wa9TNk.mjs.map +0 -1
  695. package/dist/chunks/NcDashboardWidgetItem-DjSXMVgm.cjs.map +0 -1
  696. package/dist/chunks/NcDateTime-iW-kErE1.mjs.map +0 -1
  697. package/dist/chunks/NcDateTime-kvWumSJA.cjs.map +0 -1
  698. package/dist/chunks/NcDialog-1TWFrsjf.mjs.map +0 -1
  699. package/dist/chunks/NcDialog-G7XA1Z88.cjs.map +0 -1
  700. package/dist/chunks/NcDialogButton-NiGZGBjq.cjs.map +0 -1
  701. package/dist/chunks/NcDialogButton-jh2GOQ_7.mjs.map +0 -1
  702. package/dist/chunks/NcEmojiPicker-Drc9tYzl.mjs.map +0 -1
  703. package/dist/chunks/NcEmojiPicker-Ju0ogVxs.cjs.map +0 -1
  704. package/dist/chunks/NcHeaderMenu-2n5GDt37.mjs.map +0 -1
  705. package/dist/chunks/NcHeaderMenu-830tFszI.cjs.map +0 -1
  706. package/dist/chunks/NcIconSvgWrapper-5v5HBSpx.mjs.map +0 -1
  707. package/dist/chunks/NcIconSvgWrapper-D4GEZPIc.cjs.map +0 -1
  708. package/dist/chunks/NcInputConfirmCancel-_SvdghX9.cjs.map +0 -1
  709. package/dist/chunks/NcInputConfirmCancel-uSZodQXZ.mjs.map +0 -1
  710. package/dist/chunks/NcListItemIcon-DKSzgujO.cjs.map +0 -1
  711. package/dist/chunks/NcListItemIcon-DONcrnT_.mjs.map +0 -1
  712. package/dist/chunks/NcPasswordField-CGhVkWI2.cjs.map +0 -1
  713. package/dist/chunks/NcPasswordField-Vyt7Pk2z.mjs.map +0 -1
  714. package/dist/chunks/NcPopover-BS1bBSkg.cjs.map +0 -1
  715. package/dist/chunks/NcPopover-foxJPAfG.mjs.map +0 -1
  716. package/dist/chunks/NcProgressBar-BafFcKiu.mjs.map +0 -1
  717. package/dist/chunks/NcProgressBar-mFqoqB4L.cjs.map +0 -1
  718. package/dist/chunks/NcRelatedResourcesPanel-BY8X00Zd.mjs.map +0 -1
  719. package/dist/chunks/NcRelatedResourcesPanel-Ci31S2dU.cjs.map +0 -1
  720. package/dist/chunks/NcRichContenteditable-BpHLlt5A.mjs.map +0 -1
  721. package/dist/chunks/NcRichContenteditable-DnukwC1y.cjs.map +0 -1
  722. package/dist/chunks/NcRichText-Ba2D7EQq.mjs.map +0 -1
  723. package/dist/chunks/NcRichText-U0Ral4-y.cjs.map +0 -1
  724. package/dist/chunks/NcSelect-EnQUx7gf.mjs.map +0 -1
  725. package/dist/chunks/NcSelect-uODI-lly.cjs.map +0 -1
  726. package/dist/chunks/NcSelectTags-BzQxtK0g.cjs.map +0 -1
  727. package/dist/chunks/NcSelectTags-tEADv0cv.mjs.map +0 -1
  728. package/dist/chunks/NcSettingsInputText-BdjyNei5.mjs.map +0 -1
  729. package/dist/chunks/NcSettingsInputText-Bg_VDGoS.cjs.map +0 -1
  730. package/dist/chunks/NcSettingsSection-CWQHnXy4.cjs.map +0 -1
  731. package/dist/chunks/NcSettingsSection-CWUIg3WZ.mjs.map +0 -1
  732. package/dist/chunks/NcSettingsSelectGroup-DyQfy9P5.cjs.map +0 -1
  733. package/dist/chunks/NcSettingsSelectGroup-I_qUQ6nA.mjs.map +0 -1
  734. package/dist/chunks/NcTextField-Bu1cvjSc.mjs.map +0 -1
  735. package/dist/chunks/NcTextField-CO0wnb8n.cjs.map +0 -1
  736. package/dist/chunks/NcTimezonePicker-BA3AYCBm.mjs +0 -3833
  737. package/dist/chunks/NcTimezonePicker-BA3AYCBm.mjs.map +0 -1
  738. package/dist/chunks/NcTimezonePicker-D1jVCuUh.cjs +0 -3832
  739. package/dist/chunks/NcTimezonePicker-D1jVCuUh.cjs.map +0 -1
  740. package/dist/chunks/NcUserBubble-CSAU8jCM.cjs.map +0 -1
  741. package/dist/chunks/NcUserBubble-h9Zo3CCT.mjs.map +0 -1
  742. package/dist/chunks/NcUserStatusIcon-BC9qDAzb.mjs.map +0 -1
  743. package/dist/chunks/NcUserStatusIcon-BpLvFq3p.cjs.map +0 -1
  744. package/dist/chunks/ScopeComponent-B9RptB1A.mjs +0 -34
  745. package/dist/chunks/ScopeComponent-B9RptB1A.mjs.map +0 -1
  746. package/dist/chunks/ScopeComponent-Cmn9OSZb.cjs +0 -33
  747. package/dist/chunks/ScopeComponent-Cmn9OSZb.cjs.map +0 -1
  748. package/dist/chunks/_l10n-DwEsZ6zb.mjs +0 -122
  749. package/dist/chunks/_l10n-DwEsZ6zb.mjs.map +0 -1
  750. package/dist/chunks/_l10n-ftziezFF.cjs +0 -121
  751. package/dist/chunks/actionGlobal-BfK-CImU.cjs +0 -45
  752. package/dist/chunks/actionGlobal-BfK-CImU.cjs.map +0 -1
  753. package/dist/chunks/actionGlobal-DV5ZiuS0.mjs +0 -46
  754. package/dist/chunks/actionGlobal-DV5ZiuS0.mjs.map +0 -1
  755. package/dist/chunks/actionText-BaGktsVf.mjs.map +0 -1
  756. package/dist/chunks/actionText-BnA6RS9I.cjs.map +0 -1
  757. package/dist/chunks/autolink-Bgjz08wN.cjs.map +0 -1
  758. package/dist/chunks/autolink-DA7VzS8Y.mjs.map +0 -1
  759. package/dist/chunks/emoji-CWr00EYY.cjs.map +0 -1
  760. package/dist/chunks/emoji-CbOkKZx5.mjs.map +0 -1
  761. package/dist/chunks/focusTrap-Dsmd28wG.cjs +0 -27
  762. package/dist/chunks/focusTrap-Dsmd28wG.cjs.map +0 -1
  763. package/dist/chunks/focusTrap-hWDNhn4t.mjs +0 -28
  764. package/dist/chunks/focusTrap-hWDNhn4t.mjs.map +0 -1
  765. package/dist/chunks/getAvatarUrl-BBvqBOJD.mjs +0 -32
  766. package/dist/chunks/getAvatarUrl-BBvqBOJD.mjs.map +0 -1
  767. package/dist/chunks/getAvatarUrl-C40xfr4C.cjs +0 -31
  768. package/dist/chunks/getAvatarUrl-C40xfr4C.cjs.map +0 -1
  769. package/dist/chunks/index-BRQQ9NaL.mjs.map +0 -1
  770. package/dist/chunks/index-D0euettC.cjs.map +0 -1
  771. package/dist/chunks/index-DYccGIvD.mjs.map +0 -1
  772. package/dist/chunks/index-Dl-SBuhJ.cjs.map +0 -1
  773. package/dist/chunks/logger-BcZGm6Un.cjs +0 -24
  774. package/dist/chunks/logger-BcZGm6Un.cjs.map +0 -1
  775. package/dist/chunks/logger-C7ZZ6zFQ.mjs +0 -25
  776. package/dist/chunks/logger-C7ZZ6zFQ.mjs.map +0 -1
  777. package/dist/chunks/referencePickerModal-DBIqS1ep.mjs +0 -3474
  778. package/dist/chunks/referencePickerModal-DBIqS1ep.mjs.map +0 -1
  779. package/dist/chunks/referencePickerModal-XXILzgbd.cjs +0 -3476
  780. package/dist/chunks/referencePickerModal-XXILzgbd.cjs.map +0 -1
  781. package/dist/chunks/usernameToColor-3O2cQhM4.mjs +0 -47
  782. package/dist/chunks/usernameToColor-3O2cQhM4.mjs.map +0 -1
  783. package/dist/chunks/usernameToColor-DiRnOvlG.cjs +0 -48
  784. package/dist/chunks/usernameToColor-DiRnOvlG.cjs.map +0 -1
@@ -1,45 +0,0 @@
1
- "use strict";
2
- /**
3
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
4
- *
5
- * @author John Molakvoæ <skjnldsv@protonmail.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 ActionGlobalMixin = {
24
- beforeUpdate() {
25
- this.text = this.getText();
26
- },
27
- data() {
28
- return {
29
- // $slots are not reactive.
30
- // We need to update the content manually
31
- text: this.getText()
32
- };
33
- },
34
- computed: {
35
- isLongText() {
36
- return this.text && this.text.trim().length > 20;
37
- }
38
- },
39
- methods: {
40
- getText() {
41
- return this.$slots.default ? this.$slots.default[0].text.trim() : "";
42
- }
43
- }
44
- };
45
- exports.ActionGlobalMixin = ActionGlobalMixin;
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionGlobal-BfK-CImU.cjs","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 ? this.$slots.default[0].text.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,UAAU,KAAK,OAAO,QAAQ,CAAC,EAAE,KAAK,KAAM,IAAG;AAAA,IAClE;AAAA,EACD;AACF;;"}
@@ -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 ? this.$slots.default[0].text.trim() : "";
41
- }
42
- }
43
- };
44
- export {
45
- ActionGlobalMixin as A
46
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionGlobal-DV5ZiuS0.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 ? this.$slots.default[0].text.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,UAAU,KAAK,OAAO,QAAQ,CAAC,EAAE,KAAK,KAAM,IAAG;AAAA,IAClE;AAAA,EACD;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionText-BaGktsVf.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":"actionText-BnA6RS9I.cjs","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,aAAAA,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-Bgjz08wN.cjs","sources":["../../src/components/NcRichText/helpers.js","../../src/components/NcRichText/autolink.js"],"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 { visit, SKIP } from 'unist-util-visit'\nimport { u } from 'unist-builder'\nimport { getBaseUrl, getRootUrl } from '@nextcloud/router'\n\nconst NcLink = {\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(h) {\n\t\treturn h('a', {\n\t\t\tattrs: {\n\t\t\t\thref: this.href,\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\ttarget: '_blank',\n\t\t\t\tclass: 'rich-text--external-link',\n\t\t\t},\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\tparsed = parsed.map((n) => {\n\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\treturn u('text', n)\n\t\t\t\t}\n\n\t\t\t\treturn u('link', {\n\t\t\t\t\turl: n.props.href,\n\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t}).filter((x) => x)\n\n\t\t\tparent.children.splice(index, 1, ...parsed.flat())\n\t\t\treturn [SKIP, index + parsed.flat().length]\n\t\t})\n\t}\n}\n\nexport const parseUrl = (text) => {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\tconst list = []\n\tlet start = 0\n\twhile (match !== null) {\n\t\tlet href = match[2]\n\t\tlet textAfter\n\t\tlet textBefore = text.substring(start, match.index + match[1].length)\n\t\tif (href[0] === ' ') {\n\t\t\ttextBefore += href[0]\n\t\t\thref = href.substring(1).trim()\n\t\t}\n\t\tconst lastChar = href[(href.length - 1)]\n\t\tif (lastChar === '.' || lastChar === ',' || lastChar === ';' || (match[0][0] === '(' && lastChar === ')')) {\n\t\t\thref = href.substring(0, href.length - 1)\n\t\t\ttextAfter = lastChar\n\t\t}\n\t\tlist.push(textBefore)\n\t\tlist.push({ component: 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 {import('vue-router').default} router - VueRouter instance of the router link\n * @param {string} url - absolute URL to parse\n * @return {string|null} a path that can be used in the router link or null if this URL doesn't match this router config\n * @example http://cloud.ltd/nextcloud/index.php/apps/files/favorites?fileid=2#fragment => /files/favorites?fileid=2#fragment\n */\nexport const getRoute = (router, url) => {\n\t/**\n\t * http://cloud.ltd /nextcloud /index.php /apps/files /favorites?fileid=2#fragment\n\t * |_____origin____|___________router-base____________| |\n\t * |__________base____________| |______________relative-url______________|\n\t * | |___root___|_optional_|__app-base__|_________router-path_______|\n\t */\n\n\tconst removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str\n\tconst removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str)\n\n\t// Router is not defined in the app => not an app route\n\tif (!router) {\n\t\treturn null\n\t}\n\n\tconst isAbsoluteURL = /^https?:\\/\\//.test(url)\n\n\t// URL is 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.history.base, getRootUrl(), '/index.php')\n\n\t// Root route may have an empty '' path, fallback to '/'\n\tconst potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || '/'\n\n\t// Check if there is actually matching route in the router for this path\n\tconst route = router.resolve(potentialRouterPath).route\n\n\tif (!route.matched.length) {\n\t\treturn null\n\t}\n\n\treturn route.fullPath\n}\n"],"names":["visit","u","SKIP","router","getBaseUrl","getRootUrl"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"autolink-DA7VzS8Y.mjs","sources":["../../src/components/NcRichText/helpers.js","../../src/components/NcRichText/autolink.js"],"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 { visit, SKIP } from 'unist-util-visit'\nimport { u } from 'unist-builder'\nimport { getBaseUrl, getRootUrl } from '@nextcloud/router'\n\nconst NcLink = {\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(h) {\n\t\treturn h('a', {\n\t\t\tattrs: {\n\t\t\t\thref: this.href,\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\ttarget: '_blank',\n\t\t\t\tclass: 'rich-text--external-link',\n\t\t\t},\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\tparsed = parsed.map((n) => {\n\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\treturn u('text', n)\n\t\t\t\t}\n\n\t\t\t\treturn u('link', {\n\t\t\t\t\turl: n.props.href,\n\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t}).filter((x) => x)\n\n\t\t\tparent.children.splice(index, 1, ...parsed.flat())\n\t\t\treturn [SKIP, index + parsed.flat().length]\n\t\t})\n\t}\n}\n\nexport const parseUrl = (text) => {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\tconst list = []\n\tlet start = 0\n\twhile (match !== null) {\n\t\tlet href = match[2]\n\t\tlet textAfter\n\t\tlet textBefore = text.substring(start, match.index + match[1].length)\n\t\tif (href[0] === ' ') {\n\t\t\ttextBefore += href[0]\n\t\t\thref = href.substring(1).trim()\n\t\t}\n\t\tconst lastChar = href[(href.length - 1)]\n\t\tif (lastChar === '.' || lastChar === ',' || lastChar === ';' || (match[0][0] === '(' && lastChar === ')')) {\n\t\t\thref = href.substring(0, href.length - 1)\n\t\t\ttextAfter = lastChar\n\t\t}\n\t\tlist.push(textBefore)\n\t\tlist.push({ component: 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 {import('vue-router').default} router - VueRouter instance of the router link\n * @param {string} url - absolute URL to parse\n * @return {string|null} a path that can be used in the router link or null if this URL doesn't match this router config\n * @example http://cloud.ltd/nextcloud/index.php/apps/files/favorites?fileid=2#fragment => /files/favorites?fileid=2#fragment\n */\nexport const getRoute = (router, url) => {\n\t/**\n\t * http://cloud.ltd /nextcloud /index.php /apps/files /favorites?fileid=2#fragment\n\t * |_____origin____|___________router-base____________| |\n\t * |__________base____________| |______________relative-url______________|\n\t * | |___root___|_optional_|__app-base__|_________router-path_______|\n\t */\n\n\tconst removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str\n\tconst removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str)\n\n\t// Router is not defined in the app => not an app route\n\tif (!router) {\n\t\treturn null\n\t}\n\n\tconst isAbsoluteURL = /^https?:\\/\\//.test(url)\n\n\t// URL is 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.history.base, getRootUrl(), '/index.php')\n\n\t// Root route may have an empty '' path, fallback to '/'\n\tconst potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || '/'\n\n\t// Check if there is actually matching route in the router for this path\n\tconst route = router.resolve(potentialRouterPath).route\n\n\tif (!route.matched.length) {\n\t\treturn null\n\t}\n\n\treturn route.fullPath\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"emoji-CWr00EYY.cjs","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":["getBuilder","EmojiSkinTone","EmojiIndex","data","frequently"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA,MAAM,UAAUA,eAAW,WAAA,eAAe,EAAE,QAAQ,IAAI,EAAE;AAI1D,IAAI;AAMQ,IAAA,kCAAAC,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,IAAIC,4BAAWC,cAAAA,OAAI;AAAA,EACjC;AACA,QAAM,kBAAkB;AAEpB,MAAA;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,OAAA,KAAA,GAAS,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,cAAUC,iBAAW,WAAA,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;AAC1CA,8BAAW,IAAI,EAAE;AAClB;AAMO,MAAM,qBAAqB,MAAM;AA/ExC,MAAA;AAgFO,QAAA,WAAW,OAAO,UAAS,KAAA,QAAQ,QAAQ,gCAAgC,MAAhD,YAAqD,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 +0,0 @@
1
- {"version":3,"file":"emoji-CbOkKZx5.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,OAAA,KAAA,GAAS,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;AA/ExC,MAAA;AAgFO,QAAA,WAAW,OAAO,UAAS,KAAA,QAAQ,QAAQ,gCAAgC,MAAhD,YAAqD,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,27 +0,0 @@
1
- "use strict";
2
- /**
3
- * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>
4
- *
5
- * @author John Molakvoæ <skjnldsv@protonmail.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 getTrapStack = function() {
24
- Object.assign(window, { _nc_focus_trap: window._nc_focus_trap || [] });
25
- return window._nc_focus_trap;
26
- };
27
- exports.getTrapStack = getTrapStack;
@@ -1 +0,0 @@
1
- {"version":3,"file":"focusTrap-Dsmd28wG.cjs","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,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,31 +0,0 @@
1
- "use strict";
2
- const router = require("@nextcloud/router");
3
- /**
4
- * @copyright Copyright (c) 2024 Maksim Sukharev <antreesy.web@gmail.com>
5
- *
6
- * @author Maksim Sukharev <antreesy.web@gmail.com>
7
- *
8
- * @license AGPL-3.0-or-later
9
- *
10
- * This program is free software: you can redistribute it and/or modify
11
- * it under the terms of the GNU Affero General Public License as
12
- * published by the Free Software Foundation, either version 3 of the
13
- * License, or (at your option) any later version.
14
- *
15
- * This program is distributed in the hope that it will be useful,
16
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
- * GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License
21
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
22
- *
23
- */
24
- const getAvatarUrl = (user, size, isGuest) => {
25
- const darkTheme = window.getComputedStyle(document.body).getPropertyValue("--background-invert-if-dark") === "invert(100%)";
26
- return router.generateUrl("/avatar" + (isGuest ? "/guest" : "") + "/{user}/{size}" + (darkTheme ? "/dark" : ""), {
27
- user,
28
- size
29
- });
30
- };
31
- exports.getAvatarUrl = getAvatarUrl;
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAvatarUrl-C40xfr4C.cjs","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":["generateUrl"],"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,SAAAA,mBAAY,aAAa,UAAU,WAAW,MAAM,oBAAoB,YAAY,UAAU,KAAK;AAAA,IACzG;AAAA,IACA;AAAA,EAAA,CACA;AACF;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BRQQ9NaL.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 Vue 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} propsData 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(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-D0euettC.cjs","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 Vue 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} propsData 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(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n"],"names":["getAvatarUrl","escapeHtml","Linkify","stripTags","Vue"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DYccGIvD.mjs","sources":["../../src/utils/FindRanges.js","../../src/components/NcHighlight/NcHighlight.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.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\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {string} text The text to search in\n * @param {string} search The text to search for\n * @return {Array} The array of ranges to highlight\n */\nconst FindRanges = (text, search) => {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","<!--\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\n<docs>\n\n### General description\n\nHighlight a string with html &lt;strong&gt;. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<NcHighlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<NcHighlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges.js'\n\nexport default {\n\tname: 'NcHighlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @return {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Ensure that the start of each range is equal to or smaller than the end\n\t\t\t */\n\t\t\tranges.forEach((range, i) => {\n\t\t\t\tif (range.end < range.start) {\n\t\t\t\t\tranges[i] = {\n\t\t\t\t\t\tstart: range.end,\n\t\t\t\t\t\tend: range.start,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\tranges = ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\n\t\t\t/**\n\t\t\t * Sort ranges ascendingly (necessary for next step)\n\t\t\t */\n\t\t\tranges.sort((a, b) => {\n\t\t\t\treturn a.start - b.start\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Merge overlapping or adjacent ranges\n\t\t\t */\n\t\t\tranges = ranges.reduce((mergedRanges, range) => {\n\t\t\t\t// If there are no ranges, just add the range\n\t\t\t\tif (!mergedRanges.length) {\n\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t} else {\n\t\t\t\t\t// If the range overlaps the last range, merge them\n\t\t\t\t\tconst idx = mergedRanges.length - 1\n\t\t\t\t\tif (mergedRanges[idx].end >= range.start) {\n\t\t\t\t\t\tmergedRanges[idx] = {\n\t\t\t\t\t\t\tstart: mergedRanges[idx].start,\n\t\t\t\t\t\t\tend: Math.max(mergedRanges[idx].end, range.end),\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn mergedRanges\n\t\t\t}, [])\n\n\t\t\treturn ranges\n\t\t},\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @return {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.slice(range.start, range.end),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.slice(currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.slice(currentIndex, range.start),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} h The function to create VNodes\n\t * @return {object} The created VNode\n\t */\n\trender(h) {\n\t\tif (!this.ranges.length) {\n\t\t\treturn h('span', {}, this.text)\n\t\t}\n\n\t\treturn h('span', {}, this.chunks.map(chunk => {\n\t\t\treturn chunk.highlight ? h('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Dl-SBuhJ.cjs","sources":["../../src/utils/FindRanges.js","../../src/components/NcHighlight/NcHighlight.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.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\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {string} text The text to search in\n * @param {string} search The text to search for\n * @return {Array} The array of ranges to highlight\n */\nconst FindRanges = (text, search) => {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","<!--\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\n<docs>\n\n### General description\n\nHighlight a string with html &lt;strong&gt;. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<NcHighlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<NcHighlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges.js'\n\nexport default {\n\tname: 'NcHighlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @return {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Ensure that the start of each range is equal to or smaller than the end\n\t\t\t */\n\t\t\tranges.forEach((range, i) => {\n\t\t\t\tif (range.end < range.start) {\n\t\t\t\t\tranges[i] = {\n\t\t\t\t\t\tstart: range.end,\n\t\t\t\t\t\tend: range.start,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\tranges = ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\n\t\t\t/**\n\t\t\t * Sort ranges ascendingly (necessary for next step)\n\t\t\t */\n\t\t\tranges.sort((a, b) => {\n\t\t\t\treturn a.start - b.start\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Merge overlapping or adjacent ranges\n\t\t\t */\n\t\t\tranges = ranges.reduce((mergedRanges, range) => {\n\t\t\t\t// If there are no ranges, just add the range\n\t\t\t\tif (!mergedRanges.length) {\n\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t} else {\n\t\t\t\t\t// If the range overlaps the last range, merge them\n\t\t\t\t\tconst idx = mergedRanges.length - 1\n\t\t\t\t\tif (mergedRanges[idx].end >= range.start) {\n\t\t\t\t\t\tmergedRanges[idx] = {\n\t\t\t\t\t\t\tstart: mergedRanges[idx].start,\n\t\t\t\t\t\t\tend: Math.max(mergedRanges[idx].end, range.end),\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn mergedRanges\n\t\t\t}, [])\n\n\t\t\treturn ranges\n\t\t},\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @return {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.slice(range.start, range.end),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.slice(currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.slice(currentIndex, range.start),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} h The function to create VNodes\n\t * @return {object} The created VNode\n\t */\n\trender(h) {\n\t\tif (!this.ranges.length) {\n\t\t\treturn h('span', {}, this.text)\n\t\t}\n\n\t\treturn h('span', {}, this.chunks.map(chunk => {\n\t\t\treturn chunk.highlight ? h('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- const logger$1 = require("@nextcloud/logger");
3
- /**
4
- * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
5
- *
6
- * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
7
- *
8
- * @license AGPL-3.0-or-later
9
- *
10
- * This program is free software: you can redistribute it and/or modify
11
- * it under the terms of the GNU Affero General Public License as
12
- * published by the Free Software Foundation, either version 3 of the
13
- * License, or (at your option) any later version.
14
- *
15
- * This program is distributed in the hope that it will be useful,
16
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
- * GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License
21
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
22
- */
23
- const logger = logger$1.getLoggerBuilder().detectUser().setApp("@nextcloud/vue").build();
24
- exports.logger = logger;
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-BcZGm6Un.cjs","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":["getLoggerBuilder"],"mappings":";;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA,MAAA,SAAeA,0BAAkB,EAC/B,WAAY,EACZ,OAAO,gBAAgB,EACvB,MAAK;;"}
@@ -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;"}