@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,16 +1,17 @@
1
- require('../assets/NcRichText-Cdp_2wEm.css');
2
- require('../assets/NcRichContenteditable-C-eZyVQM.css');
1
+ require('../assets/NcRichText-BKoK9ulg.css');
2
+ require('../assets/NcRichContenteditable-BIclrp8v.css');
3
3
  "use strict";
4
- const _l10n = require("./_l10n-ftziezFF.cjs");
5
- const getAvatarUrl = require("./getAvatarUrl-C40xfr4C.cjs");
6
- const NcUserStatusIcon = require("./NcUserStatusIcon-BpLvFq3p.cjs");
4
+ const _l10n = require("./_l10n-BGF_R72e.cjs");
5
+ const getAvatarUrl = require("./getAvatarUrl-6z9qRNH-.cjs");
6
+ const NcUserStatusIcon = require("./NcUserStatusIcon-J509k6M1.cjs");
7
7
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-DbFIE4_M.cjs");
8
- const Mixins_richEditor = require("./index-D0euettC.cjs");
8
+ const Mixins_richEditor = require("./index-C8XDBNYC.cjs");
9
9
  require("../Directives/Tooltip.cjs");
10
- const emoji = require("./emoji-CWr00EYY.cjs");
10
+ const emoji = require("./emoji-BCCCB3t3.cjs");
11
11
  require("@vueuse/core");
12
12
  require("vue");
13
- const referencePickerModal = require("./referencePickerModal-XXILzgbd.cjs");
13
+ require("vue-router");
14
+ const referencePickerModal = require("./referencePickerModal-D7ZD0avR.cjs");
14
15
  require("unist-util-visit");
15
16
  require("unist-builder");
16
17
  require("@nextcloud/router");
@@ -19,8 +20,8 @@ require("../Components/NcButton.cjs");
19
20
  require("@nextcloud/axios");
20
21
  ;/* empty css */
21
22
  require("../Components/NcLoadingIcon.cjs");
22
- require("./NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CrbKZag1.cjs");
23
- const GenRandomId = require("./GenRandomId-kBCcgMJd.cjs");
23
+ require("./NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_45bd1a5d_lang-DM3kps3m.cjs");
24
+ const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
24
25
  require("unified");
25
26
  require("remark-parse");
26
27
  require("remark-gfm");
@@ -29,8 +30,8 @@ require("remark-rehype");
29
30
  require("rehype-react");
30
31
  require("rehype-external-links");
31
32
  require("../Components/NcEmptyContent.cjs");
32
- require("./NcSelect-uODI-lly.cjs");
33
- require("./NcTextField-CO0wnb8n.cjs");
33
+ require("./NcSelect-BXjYMf6X.cjs");
34
+ require("./NcTextField-Y_QNDoeN.cjs");
34
35
  require("../Components/NcModal.cjs");
35
36
  require("@nextcloud/event-bus");
36
37
  const Tribute = require("tributejs/dist/tribute.esm.js");
@@ -112,24 +113,24 @@ var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
112
113
  _sfc_staticRenderFns$1,
113
114
  false,
114
115
  null,
115
- "41703e53",
116
+ "6279218f",
116
117
  null,
117
118
  null
118
119
  );
119
120
  const NcAutoCompleteResult = __component__$1.exports;
120
121
  _l10n.register(_l10n.t28, _l10n.t31);
121
122
  const style1 = {
122
- "material-design-icon": "_material-design-icon_pq0s6_26",
123
- "tribute-container": "_tribute-container_pq0s6_34",
124
- "tribute-container__item": "_tribute-container__item_pq0s6_46",
125
- "tribute-container--focus-visible": "_tribute-container--focus-visible_pq0s6_63",
126
- "tribute-container-autocomplete": "_tribute-container-autocomplete_pq0s6_67",
127
- "tribute-container-emoji": "_tribute-container-emoji_pq0s6_73",
128
- "tribute-container-link": "_tribute-container-link_pq0s6_74",
129
- "tribute-item": "_tribute-item_pq0s6_79",
130
- "tribute-item__emoji": "_tribute-item__emoji_pq0s6_85",
131
- "tribute-item__title": "_tribute-item__title_pq0s6_98",
132
- "tribute-item__icon": "_tribute-item__icon_pq0s6_103"
123
+ "material-design-icon": "_material-design-icon_wg6zi_12",
124
+ "tribute-container": "_tribute-container_wg6zi_20",
125
+ "tribute-container__item": "_tribute-container__item_wg6zi_32",
126
+ "tribute-container--focus-visible": "_tribute-container--focus-visible_wg6zi_49",
127
+ "tribute-container-autocomplete": "_tribute-container-autocomplete_wg6zi_53",
128
+ "tribute-container-emoji": "_tribute-container-emoji_wg6zi_59",
129
+ "tribute-container-link": "_tribute-container-link_wg6zi_60",
130
+ "tribute-item": "_tribute-item_wg6zi_65",
131
+ "tribute-item__emoji": "_tribute-item__emoji_wg6zi_71",
132
+ "tribute-item__title": "_tribute-item__title_wg6zi_84",
133
+ "tribute-item__icon": "_tribute-item__icon_wg6zi_89"
133
134
  };
134
135
  const smilesCharacters = ["d", "D", "p", "P", "s", "S", "x", "X", ")", "(", "|", "/"];
135
136
  const textSmiles = [];
@@ -657,6 +658,7 @@ const _sfc_main = {
657
658
  if (isActive) {
658
659
  this.getTributeContainer().setAttribute("class", this.tribute.current.collection.containerClass || this.$style["tribute-container"]);
659
660
  this.setupTributeIntegration();
661
+ document.removeEventListener("click", this.hideTribute, true);
660
662
  } else {
661
663
  this.debouncedAutoComplete.clear();
662
664
  this.autocompleteActiveId = void 0;
@@ -713,6 +715,26 @@ const _sfc_main = {
713
715
  } else {
714
716
  this.getTributeContainer().classList.remove(this.$style["tribute-container--focus-visible"]);
715
717
  }
718
+ },
719
+ /**
720
+ * Show tribute menu programmatically.
721
+ * @param {string} trigger - trigger character, can be '/', '@', or ':'
722
+ *
723
+ * @public
724
+ */
725
+ showTribute(trigger) {
726
+ this.focus();
727
+ const index = this.tribute.collection.findIndex((collection) => collection.trigger === trigger);
728
+ this.tribute.showMenuForCollection(this.$refs.contenteditable, index);
729
+ document.addEventListener("click", this.hideTribute, true);
730
+ },
731
+ /**
732
+ * Hide tribute menu programmatically
733
+ *
734
+ */
735
+ hideTribute() {
736
+ this.tribute.hideMenu();
737
+ document.removeEventListener("click", this.hideTribute, true);
716
738
  }
717
739
  }
718
740
  };
@@ -729,42 +751,31 @@ var _sfc_render = function render2() {
729
751
  }, "compositionend": function($event) {
730
752
  _vm.isComposing = false;
731
753
  }, "keydown": [function($event) {
732
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "delete", [8, 46], $event.key, ["Backspace", "Delete", "Del"]))
733
- return null;
754
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "delete", [8, 46], $event.key, ["Backspace", "Delete", "Del"])) return null;
734
755
  return _vm.onDelete.apply(null, arguments);
735
756
  }, function($event) {
736
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter"))
737
- return null;
738
- if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey)
739
- return null;
757
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
758
+ if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;
740
759
  return _vm.onEnter.apply(null, arguments);
741
760
  }, function($event) {
742
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter"))
743
- return null;
744
- if (!$event.ctrlKey)
745
- return null;
746
- if ($event.shiftKey || $event.altKey || $event.metaKey)
747
- return null;
761
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
762
+ if (!$event.ctrlKey) return null;
763
+ if ($event.shiftKey || $event.altKey || $event.metaKey) return null;
748
764
  $event.stopPropagation();
749
765
  $event.preventDefault();
750
766
  return _vm.onCtrlEnter.apply(null, arguments);
751
767
  }, function($event) {
752
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"]))
753
- return null;
754
- if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey)
755
- return null;
768
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"])) return null;
769
+ if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;
756
770
  $event.stopPropagation();
757
771
  return _vm.onTributeArrowKeyDown.apply(null, arguments);
758
772
  }, function($event) {
759
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "down", 40, $event.key, ["Down", "ArrowDown"]))
760
- return null;
761
- if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey)
762
- return null;
773
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "down", 40, $event.key, ["Down", "ArrowDown"])) return null;
774
+ if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;
763
775
  $event.stopPropagation();
764
776
  return _vm.onTributeArrowKeyDown.apply(null, arguments);
765
777
  }], "!keydown": function($event) {
766
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"]))
767
- return null;
778
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) return null;
768
779
  return _vm.onKeyEsc.apply(null, arguments);
769
780
  }, "paste": _vm.onPaste, "!keyup": function($event) {
770
781
  $event.stopPropagation();
@@ -791,7 +802,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
791
802
  _sfc_staticRenderFns,
792
803
  false,
793
804
  _sfc_injectStyles,
794
- "2d2d4f42",
805
+ "f2e5d2bb",
795
806
  null,
796
807
  null
797
808
  );
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcRichContenteditable-DdG9-ftG.cjs","sources":["../../src/components/NcRichContenteditable/NcAutoCompleteResult.vue","../../src/components/NcRichContenteditable/NcRichContenteditable.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"autocomplete-result\">\n\t\t<!-- Avatar or icon -->\n\t\t<div :class=\"[icon, `autocomplete-result__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null \"\n\t\t\tclass=\"autocomplete-result__icon\">\n\t\t\t<span v-if=\"status.icon\"\n\t\t\t\tclass=\"autocomplete-result__status autocomplete-result__status--icon\">\n\t\t\t\t{{ status && status.icon || '' }}\n\t\t\t</span>\n\t\t\t<NcUserStatusIcon v-else-if=\"status.status && status.status !== 'offline'\"\n\t\t\t\tclass=\"autocomplete-result__status\"\n\t\t\t\t:status=\"status.status\" />\n\t\t</div>\n\n\t\t<!-- Label and subline -->\n\t\t<span class=\"autocomplete-result__content\">\n\t\t\t<span class=\"autocomplete-result__title\" :title=\"labelWithFallback\">\n\t\t\t\t{{ labelWithFallback }}\n\t\t\t</span>\n\t\t\t<span v-if=\"subline\" class=\"autocomplete-result__subline\">\n\t\t\t\t{{ subline }}\n\t\t\t</span>\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\n\nimport NcUserStatusIcon from '../NcUserStatusIcon/index.js'\n\nexport default {\n\tname: 'NcAutoCompleteResult',\n\n\tcomponents: {\n\t\tNcUserStatusIcon,\n\t},\n\n\tprops: {\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\tsubline: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\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,\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\tstatus: {\n\t\t\ttype: [Object, Array],\n\t\t\tdefault: () => ({}),\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\t// For backwards 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.autocomplete-result {\n\tdisplay: flex;\n\theight: var(--default-clickable-area);\n\tpadding: var(--default-grid-baseline) 0;\n\n\t&__icon {\n\t\tposition: relative;\n\t\tflex: 0 0 var(--default-clickable-area);\n\t\twidth: var(--default-clickable-area);\n\t\tmin-width: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\tborder-radius: var(--default-clickable-area);\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: contain;\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__status {\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tmin-width: 18px;\n\t\tmin-height: 18px;\n\t\twidth: 18px;\n\t\theight: 18px;\n\t\tborder: 2px solid var(--color-main-background);\n\t\tborder-radius: 50%;\n\t\tbackground-color: var(--color-main-background);\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: 15px;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex: 1 1 100%;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t\tpadding-left: calc(var(--default-grid-baseline) * 2);\n\t}\n\n\t&__title,\n\t&__subline {\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__subline {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis component displays contenteditable div with automated `@` [at] autocompletion and `:` [colon] emoji autocompletion.\n\n### Examples\n\nTry mentioning user @Test01 or inserting emoji :smile\n\n```vue\n<template>\n\t<div>\n\t\t<NcRichContenteditable\n\t\t\tlabel=\"Write a comment\"\n\t\t\t:value.sync=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"100\"\n\t\t\t:user-data=\"userData\"\n\t\t\t@submit=\"onSubmit\" />\n\t\t<br>\n\n\t\t<NcRichContenteditable\n\t\t\t:value.sync=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"400\"\n\t\t\t:multiline=\"true\"\n\t\t\t:user-data=\"userData\"\n\t\t\t@submit=\"onSubmit\" />\n\n\t\t<h5>Output - raw</h5>\n\t\t{{ JSON.stringify(message) }}\n\n\t\t<h5>Output - preformatted</h5>\n\t\t<p class=\"pre-line\">{{ message }}</p>\n\n\t\t<h5>Output - in NcRichText with markdown support</h5>\n\t\t<NcRichText :text=\"text\" :arguments=\"userMentions\" autolink use-markdown />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tmessage: '**Lorem ipsum** dolor sit amet.',\n\t\t\t// You need to provide this for the inline mention to understand what to display or not.\n\t\t\t// Key should be a string with leading '@', like @Test02 or @\"Test Offline\"\n\t\t\tuserData: {\n\t\t\t\tTest01: {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\tid: 'Test01',\n\t\t\t\t\tlabel: 'Test01',\n\t\t\t\t\tsource: 'users',\n\t\t\t\t\tprimary: true,\n\t\t\t\t},\n\t\t\t\tTest02: {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\tid: 'Test02',\n\t\t\t\t\tlabel: 'Test02',\n\t\t\t\t\tsource: 'users',\n\t\t\t\t\tstatus: {\n\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\tmessage: 'Visiting London',\n\t\t\t\t\t\tstatus: 'away',\n\t\t\t\t\t},\n\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t},\n\t\t\t\t'Test@User': {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\tid: 'Test@User',\n\t\t\t\t\tlabel: 'Test 03',\n\t\t\t\t\tsource: 'users',\n\t\t\t\t\tstatus: {\n\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\tmessage: 'Having space in my name',\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t},\n\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t},\n\t\t\t\t'Test Offline': {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\tid: 'Test Offline',\n\t\t\t\t\tlabel: 'Test Offline',\n\t\t\t\t\tsource: 'users',\n\t\t\t\t\tstatus: {\n\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\tstatus: 'offline',\n\t\t\t\t\t},\n\t\t\t\t\tsubline: null,\n\t\t\t\t},\n\t\t\t\t'Test DND': {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\tid: 'Test DND',\n\t\t\t\t\tlabel: 'Test DND',\n\t\t\t\t\tsource: 'users',\n\t\t\t\t\tstatus: {\n\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\tmessage: 'Out sick',\n\t\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\t},\n\t\t\t\t\tsubline: 'Out sick',\n\t\t\t\t},\n\t\t\t},\n\t\t\t// To display user bubbles in NcRichText, special format of data should be provided:\n\t\t\t// Key should be in curly brackets without '@' and ' ' symbols, like {user-2}\n\t\t\tuserMentions: {\n\t\t\t\t'user-1': {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Test01',\n\t\t\t\t\t\tuser: 'Test01',\n\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'user-2': {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Test02',\n\t\t\t\t\t\tuser: 'Test02',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'user-3': {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Test 03',\n\t\t\t\t\t\tuser: 'Test@User',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'user-4': {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Test Offline',\n\t\t\t\t\t\tuser: 'Test Offline',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'user-5': {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Test DND',\n\t\t\t\t\t\tuser: 'Test DND',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\ttext() {\n\t\t\treturn this.message\n\t\t\t\t\t.replace('@Test01', '{user-1}')\n\t\t\t\t\t.replace('@Test02', '{user-2}')\n\t\t\t\t\t.replace('@Test@User', '{user-3}')\n\t\t\t\t\t.replace('@\"Test Offline\"', '{user-4}')\n\t\t\t\t\t.replace('@\"Test DND\"', '{user-5}')\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t* Do your own query to the autocompletion api.\n\t\t* The returned data bellow is a fake data example.\n\t\t* The callback expects the same format returned by the core/autocomplete/get ocs api endpoint!\n\t\t* @see userData example above\n\t\t*\n\t\t* @param {string} search the query\n\t\t* @param {Function} callback the callback to process the results with\n\t\t*/\n\t\tautoComplete(search, callback) {\n\t\t\tcallback(Object.values(this.userData))\n\t\t},\n\t\tonSubmit() {\n\t\t\talert(this.message)\n\t\t}\n\t}\n}\n</script>\n<style lang=\"scss\" scoped>\n\th5 {\n\t\tfont-weight: bold;\n\t\tmargin: 40px 0 20px 0;\n\t}\n\n\t.pre-line {\n\t\twhite-space: pre-line;\n\t}\n</style>\n```\n\n### Using public methods\n\n```vue\n<template>\n\t<div>\n\t\t<div class=\"buttons-wrapper\">\n\t\t\t<NcButton class=\"show-slash-button\" @click=\"showSlashCommands\">Slash commands</NcButton>\n\t\t\t<NcButton class=\"focus-button\" @click=\"focus\">Focus on input</NcButton>\n\t\t</div>\n\t\t<NcRichContenteditable\n\t\t\tref=\"contenteditable\"\n\t\t\tlabel=\"Write a comment\"\n\t\t\t:value.sync=\"message\"\n\t\t\t:maxlength=\"100\"/>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tmessage: '**Lorem ipsum** dolor sit amet. ',\n\t\t}\n\t},\n\tmethods: {\n\t\tshowSlashCommands() {\n\t\t\tthis.$refs.contenteditable.showTribute('/')\n\t\t},\n\t\tfocus() {\n\t\t\tthis.$refs.contenteditable.focus()\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n\t.buttons-wrapper {\n\t\tdisplay: flex;\n\t\tgap: 10px;\n\t\tmargin-bottom: 20px;\n\t}\n</style>\n```\n\n</docs>\n\n<template>\n\t<div class=\"rich-contenteditable\">\n\t\t<div :id=\"id\"\n\t\t\tref=\"contenteditable\"\n\t\t\tv-tooltip=\"tooltipString\"\n\t\t\t:class=\"{\n\t\t\t\t'rich-contenteditable__input--empty': isEmptyValue,\n\t\t\t\t'rich-contenteditable__input--multiline': multiline,\n\t\t\t\t'rich-contenteditable__input--has-label': label,\n\t\t\t\t'rich-contenteditable__input--overflow': isOverMaxlength,\n\t\t\t\t'rich-contenteditable__input--disabled': disabled,\n\t\t\t}\"\n\t\t\t:contenteditable=\"canEdit\"\n\t\t\t:aria-labelledby=\"label ? labelId : undefined\"\n\t\t\t:aria-placeholder=\"placeholder\"\n\t\t\taria-multiline=\"true\"\n\t\t\tclass=\"rich-contenteditable__input\"\n\t\t\trole=\"textbox\"\n\t\t\taria-haspopup=\"listbox\"\n\t\t\taria-autocomplete=\"inline\"\n\t\t\t:aria-controls=\"tributeId\"\n\t\t\t:aria-expanded=\"isAutocompleteOpen ? 'true' : 'false'\"\n\t\t\t:aria-activedescendant=\"autocompleteActiveId\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\tv-on=\"listeners\"\n\t\t\t@focus=\"moveCursorToEnd\"\n\t\t\t@input=\"onInput\"\n\t\t\t@compositionstart=\"isComposing = true\"\n\t\t\t@compositionend=\"isComposing = false\"\n\t\t\t@keydown.delete=\"onDelete\"\n\t\t\t@keydown.esc.capture=\"onKeyEsc\"\n\t\t\t@keydown.enter.exact=\"onEnter\"\n\t\t\t@keydown.ctrl.enter.exact.stop.prevent=\"onCtrlEnter\"\n\t\t\t@paste=\"onPaste\"\n\t\t\t@keyup.stop.prevent.capture=\"onKeyUp\"\n\t\t\t@keydown.up.exact.stop=\"onTributeArrowKeyDown\"\n\t\t\t@keydown.down.exact.stop=\"onTributeArrowKeyDown\"\n\t\t\t@tribute-active-true=\"onTributeActive(true)\"\n\t\t\t@tribute-active-false=\"onTributeActive(false)\" />\n\t\t<div v-if=\"label\"\n\t\t\t:id=\"labelId\"\n\t\t\tclass=\"rich-contenteditable__label\">\n\t\t\t{{ label }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport NcAutoCompleteResult from './NcAutoCompleteResult.vue'\nimport richEditor from '../../mixins/richEditor/index.js'\nimport Tooltip from '../../directives/Tooltip/index.js'\nimport { emojiSearch, emojiAddRecent } from '../../functions/emoji/index.ts'\nimport { searchProvider, getLinkWithPicker } from '../NcRichText/index.js'\n\nimport Tribute from 'tributejs/dist/tribute.esm.js'\nimport debounce from 'debounce'\nimport stringLength from 'string-length'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\n/**\n * Populate the list of text smiles we want to offer via Tribute.\n * We add the colon `:)` and colon-dash `:-)` version for each of them.\n */\nconst smilesCharacters = ['d', 'D', 'p', 'P', 's', 'S', 'x', 'X', ')', '(', '|', '/']\nconst textSmiles = []\nsmilesCharacters.forEach((char) => {\n\ttextSmiles.push(':' + char)\n\ttextSmiles.push(':-' + char)\n})\n\nexport default {\n\tname: 'NcRichContenteditable',\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\n\tmixins: [richEditor],\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\t/**\n\t\t * The ID attribute of the content editable\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => GenRandomId(7),\n\t\t},\n\n\t\t/**\n\t\t * Visual label of the contenteditable\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Write a message …'),\n\t\t},\n\n\t\tautoComplete: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\tmenuContainer: {\n\t\t\ttype: Element,\n\t\t\tdefault: () => document.body,\n\t\t},\n\n\t\t/**\n\t\t * Make the contenteditable looks like a textarea or not.\n\t\t * Default looks like a single-line input.\n\t\t * This also handle the default enter/shift+enter behaviour.\n\t\t * if multiline, enter = newline; otherwise enter = submit\n\t\t * shift+enter always add a new line. ctrl+enter always submits\n\t\t */\n\t\tmultiline: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Is the content editable ?\n\t\t */\n\t\tcontenteditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Disable the editing and show specific disabled design\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Max allowed length\n\t\t */\n\t\tmaxlength: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Enable or disable emoji autocompletion\n\t\t */\n\t\temojiAutocomplete: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Enable or disable link autocompletion\n\t\t */\n\t\tlinkAutocomplete: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\temits: [\n\t\t'submit',\n\t\t'paste',\n\t\t'update:value',\n\t\t'smart-picker-submit',\n\t],\n\n\tsetup() {\n\t\tconst uid = GenRandomId(5)\n\t\treturn {\n\t\t\t// Constants\n\t\t\tlabelId: `nc-rich-contenteditable-${uid}-label`,\n\t\t\ttributeId: `nc-rich-contenteditable-${uid}-tribute`,\n\t\t\t/**\n\t\t\t * Non-reactive property to store Tribute instance\n\t\t\t *\n\t\t\t * @type {import('tributejs').default | null}\n\t\t\t */\n\t\t\ttribute: null,\n\t\t\ttributeStyleMutationObserver: null,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// Represent the raw untrimmed text of the contenteditable\n\t\t\t// serves no other purpose than to check whether the\n\t\t\t// content is empty or not\n\t\t\tlocalValue: this.value,\n\n\t\t\t// Is in text composition session in IME\n\t\t\tisComposing: false,\n\n\t\t\t// Tribute autocomplete\n\t\t\tisAutocompleteOpen: false,\n\t\t\tautocompleteActiveId: undefined,\n\t\t\tisTributeIntegrationDone: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is the current trimmed value empty?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmptyValue() {\n\t\t\treturn !this.localValue || this.localValue.trim() === ''\n\t\t},\n\n\t\t/**\n\t\t * Is this Firefox? 🙄\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisFF() {\n\t\t\treturn !!navigator.userAgent.match(/firefox/i)\n\t\t},\n\n\t\t/**\n\t\t * Is the current value over maxlength?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisOverMaxlength() {\n\t\t\tif (this.isEmptyValue || !this.maxlength) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn stringLength(this.localValue) > this.maxlength\n\t\t},\n\n\t\t/**\n\t\t * Tooltip to show if characters count is over limit\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\ttooltipString() {\n\t\t\tif (!this.isOverMaxlength) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcontent: t('Message limit of {count} characters reached', { count: this.maxlength }),\n\t\t\t\tshown: true,\n\t\t\t\ttrigger: 'manual',\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Edit is only allowed when contenteditableis true and disabled is false\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanEdit() {\n\t\t\treturn this.contenteditable && !this.disabled\n\t\t},\n\n\t\t/**\n\t\t * Proxied native event handlers without custom event handlers\n\t\t *\n\t\t * @return {Record<string, Function>}\n\t\t */\n\t\tlisteners() {\n\t\t\t/**\n\t\t\t * All component's event handlers are set as native event handlers with by v-on directive.\n\t\t\t * The component also raised custom events manually by $emit for corresponding events.\n\t\t\t * As a result, it triggers handlers twice.\n\t\t\t * The v-on=\"listeners\" directive should only set proxied native events handler without custom events\n\t\t\t */\n\t\t\tconst listeners = { ...this.$listeners }\n\t\t\tdelete listeners.paste\n\t\t\treturn listeners\n\t\t},\n\n\t\t/**\n\t\t * Compute debounce function for the autocomplete function\n\t\t */\n\t\t debouncedAutoComplete() {\n\t\t\treturn debounce(async (search, callback) => {\n\t\t\t\tthis.autoComplete(search, callback)\n\t\t\t}, 100)\n\t\t},\n\t},\n\n\twatch: {\n\t\t/**\n\t\t * If the parent value change, we compare the plain text rendering\n\t\t * If it's different, we render everything and update the main content\n\t\t */\n\t\tvalue() {\n\t\t\tconst html = this.$refs.contenteditable.innerHTML\n\t\t\t// Compare trimmed versions to be safe\n\t\t\tif (this.value.trim() !== this.parseContent(html).trim()) {\n\t\t\t\tthis.updateContent(this.value)\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.initializeTribute()\n\n\t\t// Update default value\n\t\tthis.updateContent(this.value)\n\n\t\t// Removes the contenteditable attribute at first load if the prop is\n\t\t// set to false.\n\t\tthis.$refs.contenteditable.contentEditable = this.canEdit\n\t},\n\n\tbeforeDestroy() {\n\t\tif (this.tribute) {\n\t\t\tthis.tribute.detach(this.$refs.contenteditable)\n\t\t}\n\n\t\tif (this.tributeStyleMutationObserver) {\n\t\t\tthis.tributeStyleMutationObserver.disconnect()\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the richContenteditable\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.contenteditable.focus()\n\t\t},\n\n\t\tinitializeTribute() {\n\t\t\tconst renderMenuItem = (content) => `<div id=\"nc-rich-contenteditable-tribute-item-${GenRandomId(5)}\" class=\"${this.$style['tribute-item']}\" role=\"option\">${content}</div>`\n\n\t\t\tconst tributesCollection = []\n\t\t\ttributesCollection.push({\n\t\t\t\tfillAttr: 'id',\n\t\t\t\t// Search against id and label (display name) (fallback to title for v8.0.0..8.6.1 compatibility)\n\t\t\t\tlookup: result => `${result.id} ${result.label ?? result.title}`,\n\t\t\t\trequireLeadingSpace: true,\n\t\t\t\t// Popup mention autocompletion templates\n\t\t\t\tmenuItemTemplate: item => renderMenuItem(this.renderComponentHtml(item.original, NcAutoCompleteResult)),\n\t\t\t\t// Hide if no results\n\t\t\t\tnoMatchTemplate: () => '<span class=\"hidden\"></span>',\n\t\t\t\t// Inner display of mentions\n\t\t\t\tselectTemplate: item => this.genSelectTemplate(item?.original?.id),\n\t\t\t\t// Autocompletion results\n\t\t\t\tvalues: this.debouncedAutoComplete,\n\t\t\t\t// Class added to the menu container\n\t\t\t\tcontainerClass: `${this.$style['tribute-container']} ${this.$style['tribute-container-autocomplete']}`,\n\t\t\t\t// Class added to each list item\n\t\t\t\titemClass: this.$style['tribute-container__item'],\n\n\t\t\t})\n\n\t\t\tif (this.emojiAutocomplete) {\n\t\t\t\ttributesCollection.push({\n\t\t\t\t\ttrigger: ':',\n\t\t\t\t\t// Don't use the tribute search function at all\n\t\t\t\t\t// We pass search results as values (see below)\n\t\t\t\t\tlookup: (result, query) => query,\n\t\t\t\t\trequireLeadingSpace: true,\n\t\t\t\t\t// Popup mention autocompletion templates\n\t\t\t\t\tmenuItemTemplate: item => {\n\t\t\t\t\t\tif (textSmiles.includes(item.original)) {\n\t\t\t\t\t\t\t// Display the raw text string for :), :-D, … for non emoji results,\n\t\t\t\t\t\t\t// instead of trying to show an image and their name.\n\t\t\t\t\t\t\treturn item.original\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn renderMenuItem(`<span class=\"${this.$style['tribute-item__emoji']}\">${item.original.native}</span> :${item.original.short_name}`)\n\t\t\t\t\t},\n\t\t\t\t\t// Hide if no results\n\t\t\t\t\tnoMatchTemplate: () => t('No emoji found'),\n\t\t\t\t\t// Display raw emoji along with its name\n\t\t\t\t\tselectTemplate: (item) => {\n\t\t\t\t\t\tif (textSmiles.includes(item.original)) {\n\t\t\t\t\t\t\t// Replace the selection with the raw text string for :), :-D, … for non emoji results\n\t\t\t\t\t\t\treturn item.original\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojiAddRecent(item.original)\n\t\t\t\t\t\treturn item.original.native\n\t\t\t\t\t},\n\t\t\t\t\t// Pass the search results as values\n\t\t\t\t\tvalues: (text, cb) => {\n\t\t\t\t\t\tconst emojiResults = emojiSearch(text)\n\t\t\t\t\t\tif (textSmiles.includes(':' + text)) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Prepend text smiles to the search results so that Tribute\n\t\t\t\t\t\t\t * is not interfering with normal writing, aka. \"Cocos Island Meme\".\n\t\t\t\t\t\t\t * E.g. `:)` and `:-)` got replaced by the flag of Cocos Island,\n\t\t\t\t\t\t\t * when submitting the input with Enter after writing them\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\temojiResults.unshift(':' + text)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcb(emojiResults)\n\t\t\t\t\t},\n\t\t\t\t\t// Class added to the menu container\n\t\t\t\t\tcontainerClass: `${this.$style['tribute-container']} ${this.$style['tribute-container-emoji']}`,\n\t\t\t\t\t// Class added to each list item\n\t\t\t\t\titemClass: this.$style['tribute-container__item'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (this.linkAutocomplete) {\n\t\t\t\ttributesCollection.push({\n\t\t\t\t\ttrigger: '/',\n\t\t\t\t\t// Don't use the tribute search function at all\n\t\t\t\t\t// We pass search results as values (see below)\n\t\t\t\t\tlookup: (result, query) => query,\n\t\t\t\t\trequireLeadingSpace: true,\n\t\t\t\t\t// Popup mention autocompletion templates\n\t\t\t\t\tmenuItemTemplate: item => renderMenuItem(`<img class=\"${this.$style['tribute-item__icon']}\" src=\"${item.original.icon_url}\"> <span class=\"${this.$style['tribute-item__title']}\">${item.original.title}</span>`),\n\t\t\t\t\t// Hide if no results\n\t\t\t\t\tnoMatchTemplate: () => t('No link provider found'),\n\t\t\t\t\tselectTemplate: this.getLink,\n\t\t\t\t\t// Pass the search results as values\n\t\t\t\t\tvalues: (text, cb) => cb(searchProvider(text)),\n\t\t\t\t\t// Class added to the menu container\n\t\t\t\t\tcontainerClass: `${this.$style['tribute-container']} ${this.$style['tribute-container-link']}`,\n\t\t\t\t\t// Class added to each list item\n\t\t\t\t\titemClass: this.$style['tribute-container__item'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.tribute = new Tribute({\n\t\t\t\tcollection: tributesCollection,\n\t\t\t\t// FIXME: tributejs doesn't support allowSpaces as a collection option, only as a global one\n\t\t\t\t// Requires to fork a library to allow spaces only in the middle of mentions ('@' trigger)\n\t\t\t\tallowSpaces: false,\n\t\t\t\t// Where to inject the menu popup\n\t\t\t\tmenuContainer: this.menuContainer,\n\t\t\t})\n\t\t\tthis.tribute.attach(this.$refs.contenteditable)\n\t\t},\n\n\t\tgetLink(item) {\n\t\t\t// there is no way to get a tribute result asynchronously\n\t\t\t// so we immediately insert a node and replace it when the result comes\n\t\t\tgetLinkWithPicker(item.original.id)\n\t\t\t\t.then(result => {\n\t\t\t\t\t// replace dummy temp element by a text node which contains the picker result\n\t\t\t\t\tconst tmpElem = document.getElementById('tmp-smart-picker-result-node')\n\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\tresult,\n\t\t\t\t\t\tinsertText: true,\n\t\t\t\t\t}\n\t\t\t\t\tthis.$emit('smart-picker-submit', eventData)\n\t\t\t\t\tif (eventData.insertText) {\n\t\t\t\t\t\tconst newElem = document.createTextNode(result)\n\t\t\t\t\t\ttmpElem.replaceWith(newElem)\n\t\t\t\t\t\tthis.setCursorAfter(newElem)\n\t\t\t\t\t\tthis.updateValue(this.$refs.contenteditable.innerHTML)\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttmpElem.remove()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.debug('Smart picker promise rejected:', error)\n\t\t\t\t\tconst tmpElem = document.getElementById('tmp-smart-picker-result-node')\n\t\t\t\t\tthis.setCursorAfter(tmpElem)\n\t\t\t\t\ttmpElem.remove()\n\t\t\t\t})\n\t\t\treturn '<span id=\"tmp-smart-picker-result-node\"></span>'\n\t\t},\n\t\tsetCursorAfter(element) {\n\t\t\tconst range = document.createRange()\n\t\t\trange.setEndAfter(element)\n\t\t\trange.collapse()\n\t\t\tconst selection = window.getSelection()\n\t\t\tselection.removeAllRanges()\n\t\t\tselection.addRange(range)\n\t\t},\n\t\tmoveCursorToEnd() {\n\t\t\tif (!document.createRange) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst range = document.createRange()\n\t\t\trange.selectNodeContents(this.$refs.contenteditable)\n\t\t\trange.collapse(false)\n\t\t\tconst selection = window.getSelection()\n\t\t\tselection.removeAllRanges()\n\t\t\tselection.addRange(range)\n\t\t},\n\t\t/**\n\t\t * Re-emit the input event to the parent\n\t\t *\n\t\t * @param {Event} event the input event\n\t\t */\n\t\tonInput(event) {\n\t\t\tthis.updateValue(event.target.innerHTML)\n\t\t},\n\n\t\t/**\n\t\t * When pasting, sanitize the content, extract text\n\t\t * and render it again\n\t\t *\n\t\t * @param {Event} event the paste event\n\t\t * @fires Event paste the original paste event\n\t\t */\n\t\tonPaste(event) {\n\t\t\t// Either disabled or edit deactivated\n\t\t\tif (!this.canEdit) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tevent.preventDefault()\n\t\t\tconst clipboardData = event.clipboardData\n\n\t\t\t/** The original paste event */\n\t\t\tthis.$emit('paste', event)\n\n\t\t\t// If we have a file or if we don't have any text, ignore\n\t\t\tif (clipboardData.files.length !== 0\n\t\t\t\t|| !Object.values(clipboardData.items).find(item => item?.type.startsWith('text'))) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst text = clipboardData.getData('text')\n\t\t\tconst selection = window.getSelection()\n\n\t\t\t// If no selection, replace the whole data\n\t\t\tif (!selection.rangeCount) {\n\t\t\t\tthis.updateValue(text)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Generate text and insert\n\t\t\tconst range = selection.getRangeAt(0)\n\t\t\tselection.deleteFromDocument()\n\t\t\trange.insertNode(document.createTextNode(text))\n\n\t\t\t// Put cursor at the end of the selection\n\t\t\tconst newRange = document.createRange()\n\t\t\tnewRange.setStart(event.target, range.endOffset)\n\t\t\tnewRange.collapse(true)\n\t\t\tselection.removeAllRanges()\n\t\t\tselection.addRange(newRange)\n\n\t\t\t// Propagate data\n\t\t\tthis.updateValue(this.$refs.contenteditable.innerHTML)\n\t\t},\n\n\t\t/**\n\t\t * Update the value text from the provided html\n\t\t *\n\t\t * @param {string} htmlOrText the html content (or raw text with @mentions)\n\t\t */\n\t\tupdateValue(htmlOrText) {\n\t\t\tconst text = this.parseContent(htmlOrText)\n\t\t\tthis.localValue = text\n\t\t\tthis.$emit('update:value', text)\n\t\t},\n\n\t\t/**\n\t\t * Update content and local value\n\t\t *\n\t\t * @param {string} value the message value\n\t\t */\n\t\tupdateContent(value) {\n\t\t\tconst renderedContent = this.renderContent(value)\n\t\t\tthis.$refs.contenteditable.innerHTML = renderedContent\n\t\t\tthis.localValue = value\n\t\t},\n\n\t\t/**\n\t\t * Because FF have a decade old bug preventing contenteditable=false\n\t\t * to properly be deleted on backspace, we have to hack 👀\n\t\t * https://stackoverflow.com/a/59383394/3885878\n\t\t * https://stackoverflow.com/a/30574622\n\t\t *\n\t\t * @param {Event} event the delete keydown event\n\t\t */\n\t\tonDelete(event) {\n\t\t\tif (!this.isFF || !window.getSelection) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Either disabled or edit deactivated\n\t\t\tif (!this.canEdit) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// fix backspace bug in FF\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=685445\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=1665167\n\t\t\tconst selection = window.getSelection()\n\t\t\tconst node = event.target\n\t\t\tif (!selection.isCollapsed || !selection.rangeCount) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst curRange = selection.getRangeAt(selection.rangeCount - 1)\n\t\t\tif (curRange.commonAncestorContainer.nodeType === 3 && curRange.startOffset > 0) {\n\t\t\t\t// we are in child selection. The characters of the text node is being deleted\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst range = document.createRange()\n\t\t\tif (selection.anchorNode !== node) {\n\t\t\t\t// selection is in character mode. expand it to the whole editable field\n\t\t\t\trange.selectNodeContents(node)\n\t\t\t\trange.setEndBefore(selection.anchorNode)\n\t\t\t} else if (selection.anchorOffset > 0) {\n\t\t\t\trange.setEnd(node, selection.anchorOffset)\n\t\t\t} else {\n\t\t\t\t// reached the beginning of editable field\n\t\t\t\treturn\n\t\t\t}\n\t\t\trange.setStart(node, range.endOffset - 1)\n\n\t\t\tconst previousNode = range.cloneContents().lastChild\n\t\t\tif (previousNode && previousNode.contentEditable === 'false') {\n\t\t\t\t// this is some rich content, e.g. smile. We should help the user to delete it\n\t\t\t\trange.deleteContents()\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enter key pressed. Submits if not multiline\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tonEnter(event) {\n\t\t\t// Prevent submitting if multiline\n\t\t\t// or length is over maxlength\n\t\t\t// or autocompletion menu is opened\n\t\t\t// or in a text composition session with IME\n\t\t\tif (this.multiline\n\t\t\t\t|| this.isOverMaxlength\n\t\t\t\t|| this.tribute.isActive\n\t\t\t\t|| this.isComposing) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\tthis.$emit('submit', event)\n\t\t},\n\n\t\t/**\n\t\t * Ctrl + Enter key pressed is used to submit\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tonCtrlEnter(event) {\n\t\t\tif (this.isOverMaxlength) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.$emit('submit', event)\n\t\t},\n\n\t\tonKeyUp(event) {\n\t\t\t// prevent tribute from opening on keyup\n\t\t\tevent.stopImmediatePropagation()\n\t\t},\n\n\t\tonKeyEsc(event) {\n\t\t\t// prevent event from bubbling when tribute is open\n\t\t\tif (this.tribute && this.isAutocompleteOpen) {\n\t\t\t\tevent.stopImmediatePropagation()\n\t\t\t\tthis.tribute.hideMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get HTML element with Tribute.js container\n\t\t * @return {HTMLElement}\n\t\t */\n\t\tgetTributeContainer() {\n\t\t\treturn this.tribute.menu\n\t\t},\n\n\t\t/**\n\t\t * Get the currently selected item element id in Tribute.js container\n\t\t * @return {HTMLElement}\n\t\t */\n\t\tgetTributeSelectedItem() {\n\t\t\t// Tribute does not provide a way to get the active item, only the data index\n\t\t\t// So we have to find it manually by select class\n\t\t\treturn this.getTributeContainer().querySelector('.highlight [id^=\"nc-rich-contenteditable-tribute-item-\"]')\n\t\t},\n\n\t\t/**\n\t\t * Handle Tribute activation\n\t\t * @param {boolean} isActive - is active\n\t\t */\n\t\tonTributeActive(isActive) {\n\t\t\tthis.isAutocompleteOpen = isActive\n\n\t\t\tif (isActive) {\n\t\t\t\t// Tribute.js doesn't support containerClass update when new collection is open\n\t\t\t\t// The first opened collection's containerClass stays forever\n\t\t\t\t// https://github.com/zurb/tribute/issues/595\n\t\t\t\t// https://github.com/zurb/tribute/issues/627\n\t\t\t\t// So we have to manually update the class\n\t\t\t\t// The default class is \"tribute-container\"\n\t\t\t\tthis.getTributeContainer().setAttribute('class', this.tribute.current.collection.containerClass || this.$style['tribute-container'])\n\n\t\t\t\tthis.setupTributeIntegration()\n\t\t\t\t// Remove the event handler if any\n\t\t\t\tdocument.removeEventListener('click', this.hideTribute, true)\n\t\t\t} else {\n\t\t\t\t// Cancel loading data for autocomplete\n\t\t\t\t// Otherwise it could be received when another autocomplete is already opened\n\t\t\t\tthis.debouncedAutoComplete.clear()\n\n\t\t\t\t// Reset active item\n\t\t\t\tthis.autocompleteActiveId = undefined\n\n\t\t\t\tthis.setTributeFocusVisible(false)\n\t\t\t}\n\t\t},\n\n\t\tonTributeArrowKeyDown() {\n\t\t\tif (!this.isAutocompleteOpen) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.setTributeFocusVisible(true)\n\t\t\tthis.onTributeSelectedItemWillChange()\n\t\t},\n\n\t\tonTributeSelectedItemWillChange() {\n\t\t\t// Wait until tribute has updated the selected item\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tthis.autocompleteActiveId = this.getTributeSelectedItem()?.id\n\t\t\t})\n\t\t},\n\n\t\tsetupTributeIntegration() {\n\t\t\t// Setup integration only once on the first open\n\t\t\tif (this.isTributeIntegrationDone) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.isTributeIntegrationDone = true\n\n\t\t\tconst tributeContainer = this.getTributeContainer()\n\n\t\t\t// For aria-controls\n\t\t\ttributeContainer.id = this.tributeId\n\n\t\t\t// Container with options must be a listbox\n\t\t\ttributeContainer.setAttribute('role', 'listbox')\n\t\t\t// Reset list+listitem role from ul+li\n\t\t\tconst ul = tributeContainer.children[0]\n\t\t\tul.setAttribute('role', 'presentation')\n\n\t\t\t// Tribute.js does not provide a way to react on show/hide\n\t\t\t// tribute-active-true/false events are fired on initial activation, which is too early with async autoComplete function\n\t\t\tthis.tributeStyleMutationObserver = new MutationObserver(([{ target }]) => {\n\t\t\t\tif (target.style.display !== 'none') {\n\t\t\t\t\t// Tribute is visible - there will be selected item\n\t\t\t\t\tthis.onTributeSelectedItemWillChange()\n\t\t\t\t}\n\t\t\t}).observe(tributeContainer, {\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['style'],\n\t\t\t})\n\n\t\t\t// Handle selecting new item on mouse selection\n\t\t\ttributeContainer.addEventListener('mousemove', () => {\n\t\t\t\tthis.setTributeFocusVisible(false)\n\t\t\t\tthis.onTributeSelectedItemWillChange()\n\t\t\t}, { passive: true })\n\t\t},\n\n\t\t/**\n\t\t * Set tribute-container--focus-visible class on the Tribute container when the user navigates the listbox via keyboard.\n\t\t *\n\t\t * Because the real focus is kept on the textbox, we cannot use the :focus-visible pseudo-class\n\t\t * to style selected options in the autocomplete listbox.\n\t\t *\n\t\t * @param {boolean} withFocusVisible - should the focus-visible class be added\n\t\t */\n\t\tsetTributeFocusVisible(withFocusVisible) {\n\t\t\tif (withFocusVisible) {\n\t\t\t\tthis.getTributeContainer().classList.add(this.$style['tribute-container--focus-visible'])\n\t\t\t} else {\n\t\t\t\tthis.getTributeContainer().classList.remove(this.$style['tribute-container--focus-visible'])\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Show tribute menu programmatically.\n\t\t * @param {string} trigger - trigger character, can be '/', '@', or ':'\n\t\t *\n\t\t * @public\n\t\t */\n\t\tshowTribute(trigger) {\n\t\t\tthis.focus()\n\t\t\tconst index = this.tribute.collection.findIndex(collection => collection.trigger === trigger)\n\t\t\tthis.tribute.showMenuForCollection(this.$refs.contenteditable, index)\n\t\t\tdocument.addEventListener('click', this.hideTribute, true)\n\t\t},\n\n\t\t/**\n\t\t * Hide tribute menu programmatically\n\t\t *\n\t\t */\n\t\thideTribute() {\n\t\t\tthis.tribute.hideMenu()\n\t\t\tdocument.removeEventListener('click', this.hideTribute, true)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// Standalone styling, independent from server\n.rich-contenteditable {\n\tposition: relative;\n\twidth: auto;\n\n\t&__label {\n\t\tposition: absolute;\n\t\tmargin-inline: 14px 0;\n\t\tmax-width: fit-content;\n\t\tinset-block-start: 11px;\n\t\tinset-inline: 0;\n\t\t// Fix color so that users do not think the input already has content\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t// only one line labels are allowed\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\t// forward events to input\n\t\tpointer-events: none;\n\t\t// Position transition\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick), background-color var(--animation-quick) var(--animation-slow);\n\t}\n\n\t&__input:focus + &__label,\n\t&__input:not(&__input--empty) + &__label {\n\t\tinset-block-start: -10px;\n\t\tline-height: 1.5; // minimum allowed line height for accessibility\n\t\tfont-size: 13px; // minimum allowed font size for accessibility\n\t\tfont-weight: 500;\n\t\tborder-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding-inline: 5px;\n\t\tmargin-inline-start: 9px;\n\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick);\n\t}\n\n\t&__input {\n\t\toverflow-y: auto;\n\t\twidth: auto;\n\t\tmargin: 0;\n\t\tpadding: 8px;\n\t\tcursor: text;\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tcolor: var(--color-main-text);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\tborder-radius: var(--border-radius-large);\n\t\toutline: none;\n\t\tbackground-color: var(--color-main-background);\n\t\tfont-family: var(--font-face);\n\t\tfont-size: inherit;\n\t\tmin-height: $clickable-area;\n\t\tmax-height: $clickable-area * 5.5;\n\n\t\t&--has-label {\n\t\t\tmargin-top: 10px;\n\t\t}\n\n\t\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\n\t\t&--empty:focus:before,\n\t\t&--empty:not(&--has-label):before {\n\t\t\tcontent: attr(aria-placeholder);\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&[contenteditable='false']:not(&--disabled) {\n\t\t\tcursor: default;\n\t\t\tbackground-color: transparent;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-color: transparent;\n\t\t\topacity: 1;\n\t\t\tborder-radius: 0;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tmin-height: $clickable-area * 3;\n\t\t\t// No max for mutiline\n\t\t\tmax-height: none;\n\t\t}\n\n\t\t&--disabled {\n\t\t\topacity: $opacity_disabled;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tborder: 2px solid var(--color-background-darker);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t}\n\t}\n}\n\n</style>\n\n<style lang=\"scss\" module>\n.tribute-container {\n\tz-index: 9000;\n\toverflow: auto;\n\t// Hide container root element while initialising\n\tposition: absolute;\n\tleft: -10000px;\n\t// Space it out a bit from the text\n\tmargin: var(--default-grid-baseline) 0;\n\tpadding: var(--default-grid-baseline);\n\tcolor: var(--color-text-maxcontrast);\n\tborder-radius: var(--border-radius);\n\tbackground: var(--color-main-background);\n\tbox-shadow: 0 1px 5px var(--color-box-shadow);\n\n\t.tribute-container__item {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tborder-radius: var(--border-radius);\n\t\tpadding: var(--default-grid-baseline) calc(2 * var(--default-grid-baseline));\n\t\tmargin-bottom: var(--default-grid-baseline);\n\t\tcursor: pointer;\n\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t&:global(.highlight) {\n\t\t\tcolor: var(--color-main-text);\n\t\t\tbackground: var(--color-background-hover);\n\n\t\t\t&, * {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.tribute-container--focus-visible {\n\t\t:global(.highlight).tribute-container__item {\n\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t}\n\t}\n}\n\n.tribute-container-autocomplete {\n\tmin-width: 250px;\n\tmax-width: 300px;\n\t// Show maximum 4 entries and a half to show scroll\n\t// Autocomplete height\n\t// + 2 paddings around autocomplete\n\t// + 2 paddings arouind tribute item\n\t// + 1 padding gap\n\t// And 1.5 paddings - container's padding without the last gap\n\tmax-height: calc((var(--default-clickable-area) + 5 * var(--default-grid-baseline)) * 4.5 - 1.5 * var(--default-grid-baseline));\n}\n\n.tribute-container-emoji,\n.tribute-container-link {\n\tmin-width: 200px;\n\tmax-width: 200px;\n\t// Show maximum 5 entries and a half to show scroll\n\t// Item height\n\t// + 2 paddings around autocomplete\n\t// + 2 paddings arouind tribute item\n\t// + 1 padding gap\n\t// And 1.5 paddings - container's padding without the last gap\n\tmax-height: calc((24px + 3 * var(--default-grid-baseline)) * 5.5 - 1.5 * var(--default-grid-baseline));\n\n\t.tribute-item {\n\t\t// Take care of long names\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\n\t\t&__emoji {\n\t\t\tpadding-right: calc(var(--default-grid-baseline) * 2);\n\t\t}\n\t}\n}\n\n.tribute-container-link {\n\tmin-width: 200px;\n\tmax-width: 300px;\n\t.tribute-item {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t&__title {\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\t\t&__icon {\n\t\t\tmargin: auto 0;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tobject-fit: contain;\n\t\t\tpadding-right: calc(var(--default-grid-baseline) * 2);\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","NcUserStatusIcon","getAvatarUrl","Tooltip","richEditor","GenRandomId","t","stringLength","debounce","emojiAddRecent","emojiSearch","searchProvider","Tribute","getLinkWithPicker"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- require('../assets/NcRichText-Cdp_2wEm.css');
1
+ require('../assets/NcRichText-BKoK9ulg.css');
2
2
  "use strict";
3
- const referencePickerModal = require("./referencePickerModal-XXILzgbd.cjs");
4
- const autolink = require("./autolink-Bgjz08wN.cjs");
3
+ const referencePickerModal = require("./referencePickerModal-D7ZD0avR.cjs");
4
+ const autolink = require("./autolink-BAgL31EZ.cjs");
5
5
  const axios = require("@nextcloud/axios");
6
6
  const router = require("@nextcloud/router");
7
7
  ;/* empty css */
8
8
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-DbFIE4_M.cjs");
9
- const NcCheckboxRadioSwitch = require("./NcCheckboxRadioSwitch-0kVQhCVw.cjs");
9
+ const NcCheckboxRadioSwitch = require("./NcCheckboxRadioSwitch-BC-PCCMB.cjs");
10
10
  const unistUtilVisit = require("unist-util-visit");
11
11
  const unistBuilder = require("unist-builder");
12
- const GenRandomId = require("./GenRandomId-kBCcgMJd.cjs");
12
+ const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
13
13
  const unified = require("unified");
14
14
  const remarkParse = require("remark-parse");
15
15
  const remarkGfm = require("remark-gfm");
@@ -17,6 +17,7 @@ const breaks = require("remark-breaks");
17
17
  const remark2rehype = require("remark-rehype");
18
18
  const rehype2react = require("rehype-react");
19
19
  const rehypeExternalLinks = require("rehype-external-links");
20
+ const vueRouter = require("vue-router");
20
21
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
21
22
  const axios__default = /* @__PURE__ */ _interopDefault(axios);
22
23
  const remarkParse__default = /* @__PURE__ */ _interopDefault(remarkParse);
@@ -148,7 +149,7 @@ var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
148
149
  _sfc_staticRenderFns$1,
149
150
  false,
150
151
  null,
151
- "84219a41",
152
+ "69858434",
152
153
  null,
153
154
  null
154
155
  );
@@ -353,7 +354,7 @@ const _sfc_main = {
353
354
  if (route) {
354
355
  delete attrs.attrs.href;
355
356
  delete attrs.attrs.target;
356
- return h(referencePickerModal.Link, {
357
+ return h(vueRouter.RouterLink, {
357
358
  ...attrs,
358
359
  props: {
359
360
  to: route
@@ -410,7 +411,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
410
411
  _sfc_staticRenderFns,
411
412
  false,
412
413
  null,
413
- "6233f030",
414
+ "3b61be27",
414
415
  null,
415
416
  null
416
417
  );
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcRichText-B0CKR0jj.cjs","sources":["../../src/components/NcRichText/NcReferenceList.vue","../../src/components/NcRichText/placeholder.js","../../src/components/NcRichText/NcRichText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div v-if=\"isVisible\" class=\"widgets--list\" :class=\"{'icon-loading': loading }\">\n\t\t<div v-for=\"reference in displayedReferences\" :key=\"reference?.openGraphObject?.id\">\n\t\t\t<NcReferenceWidget :reference=\"reference\" :interactive=\"interactive\" :interactive-opt-in=\"interactiveOptIn\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport NcReferenceWidget from './NcReferenceWidget.vue'\nimport { URL_PATTERN } from './helpers.js'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'NcReferenceList',\n\tcomponents: {\n\t\tNcReferenceWidget,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\treferenceData: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1,\n\t\t},\n\t\tdisplayFallback: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tinteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\treferences: null,\n\t\t\tloading: true,\n\t\t}\n\t},\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn this.loading || this.displayedReferences.length !== 0\n\t\t},\n\t\tvalues() {\n\t\t\tif (this.referenceData) {\n\t\t\t\treturn this.referenceData\n\t\t\t}\n\n\t\t\tif (this.displayFallback && !this.loading && !this.references) {\n\t\t\t\treturn [this.fallbackReference]\n\t\t\t}\n\n\t\t\treturn this.references ? Object.values(this.references) : []\n\t\t},\n\t\tfirstReference() {\n\t\t\treturn this.values[0] ?? null\n\t\t},\n\t\tdisplayedReferences() {\n\t\t\treturn this.values.slice(0, this.limit)\n\t\t},\n\t\tfallbackReference() {\n\t\t\treturn {\n\t\t\t\taccessible: true,\n\t\t\t\topenGraphObject: {\n\t\t\t\t\tid: this.text,\n\t\t\t\t\tlink: this.text,\n\t\t\t\t\tname: this.text,\n\t\t\t\t},\n\t\t\t\trichObjectType: 'open-graph',\n\t\t\t}\n\t\t},\n\t},\n\twatch: {\n\t\ttext: 'fetch',\n\t},\n\tmounted() {\n\t\tthis.fetch()\n\t},\n\tmethods: {\n\t\tfetch() {\n\t\t\tthis.loading = true\n\t\t\tif (this.referenceData) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!(new RegExp(URL_PATTERN).exec(this.text))) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.resolve().then((response) => {\n\t\t\t\tthis.references = response.data.ocs.data.references\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error('Failed to extract references', error)\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t})\n\t\t},\n\t\tresolve() {\n\t\t\tconst match = (new RegExp(URL_PATTERN).exec(this.text.trim()))\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn axios.get(generateOcsUrl('references/resolve', 2) + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn axios.post(generateOcsUrl('references/extract', 2), {\n\t\t\t\ttext: this.text,\n\t\t\t\tresolve: true,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widget--list {\n\twidth: var(--widget-full-width, 100%);\n}\n\n.widgets--list.icon-loading {\n\tmin-height: 44px;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { parseUrl } from './autolink.js'\n\nimport { visit } from 'unist-util-visit'\nimport { u } from 'unist-builder'\n\nexport const remarkPlaceholder = function() {\n\treturn function(ast) {\n\t\tvisit(ast, (node) => node.type === 'text', visitor)\n\n\t\t/**\n\t\t *\n\t\t * @param {object} node The node\n\t\t * @param {number} index The index of the node\n\t\t * @param {object} parent The parent node\n\t\t */\n\t\tfunction visitor(node, index, parent) {\n\t\t\tconst placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig)\n\t\t\t\t.map((entry, index, list) => {\n\t\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\treturn u('text', entry)\n\t\t\t\t\t}\n\t\t\t\t\tconst [, component] = matches\n\t\t\t\t\treturn u('element', {\n\t\t\t\t\t\ttagName: `#${component}`,\n\t\t\t\t\t})\n\t\t\t\t})\n\n\t\t\tparent.children.splice(index, 1, ...placeholders)\n\t\t}\n\t}\n}\n\nexport const prepareTextNode = ({ h, context }, text) => {\n\tif (context.autolink) {\n\t\ttext = parseUrl(text)\n\t}\n\tif (Array.isArray(text)) {\n\t\treturn text.map((entry) => {\n\t\t\tif (typeof entry === 'string') {\n\t\t\t\treturn entry\n\t\t\t}\n\t\t\tconst { component, props } = entry\n\t\t\t// do not override class of NcLink\n\t\t\tconst componentClass = component.name === 'NcLink' ? undefined : 'rich-text--component'\n\t\t\treturn h(component, {\n\t\t\t\tprops,\n\t\t\t\tclass: componentClass,\n\t\t\t})\n\t\t})\n\t}\n\treturn text\n}\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component displays rich text with optional autolink or [Markdown support](https://www.markdownguide.org/basic-syntax/).\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText\n\t\t\t:class=\"{'plain-text': !useMarkdown }\"\n\t\t\t:text=\"text\" :autolink=\"autolink\" :arguments=\"args\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: `## Hello everyone 🎉\nThe file {file} was added by {username}. Visit https://nextcloud.com to check it!\n\nSome examples for markdown syntax:\n1. **bold text**\n2. _italic text_\n3. example of \\`inline code\\`\n\n> blockquote example\n`,\n\t\t\tautolink: true,\n\t\t\tuseMarkdown: true,\n\t\t\targs: {\n\t\t\t\tfile: 'MyDocument.odt',\n\t\t\t\tusername: {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Jane Doe'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n\n.plain-text {\n\twhite-space: pre-line;\n}\n</style>\n```\n\n### Flavored Markdown\n\nThis component can support [Github Flavored Markdown](https://github.github.com/gfm/).\nIt adds such elements, as tables, task lists, strikethrough, and supports autolinks by default\n\nIt is also possible to make a rendered content interactive and listen for events\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:use-extended-markdown=\"true\"\n\t\t\t:interactive=\"true\"\n\t\t\t@interact:todo=\"handleInteraction\"/>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttext: `## Try flavored markdown right now!\n\n~~strikethrough~~\n\n- [ ] task to be done\n- [x] task completed\n\nTable header | Column A | Column B\n-- | -- | --\nTable row | value A | value B\n`,\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\thandleInteraction(id) {\n\t\t\t\tconst parentId = id.split('-markdown-input-')[0]\n\t\t\t\tconst index = Array.from(document.querySelectorAll(`span[id^=\"${parentId}-markdown-input-\"]`)).findIndex((el) => el.id.includes(id))\n\t\t\t\tif (index === -1 ) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet checkBoxIndex = 0\n\t\t\t\tlines = this.text.split('\\n')\n\t\t\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\t\t\tif (lines[i].includes('[ ]') || lines[i].includes('[x]')) {\n\t\t\t\t\t\tif (checkBoxIndex === index) {\n\t\t\t\t\t\t\tconst isChecked = lines[i].includes('[x]')\n\t\t\t\t\t\t\tif (isChecked) {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[x]', '[ ]')\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[ ]', '[x]')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcheckBoxIndex++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.text = lines.join('\\n')\n\t\t\t},\n\t\t},\n\t}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n</style>\n```\n\n### Usage with NcRichContenteditable\n\nSee [NcRichContenteditable](#/Components/NcRichContenteditable) documentation for more information\n\n```vue\n<template>\n\t<div>\n\t\t<NcRichContenteditable :value.sync=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"100\"\n\t\t\t:user-data=\"userData\"\n\t\t\tplaceholder=\"Try mentioning user @Test01 or inserting emoji :smile\"\n\t\t\t@submit=\"onSubmit\" />\n\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useExtendedMarkdown\" type=\"checkbox\">Use extended Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:autolink=\"autolink\"\n\t\t\t:arguments=\"userMentions\"\n\t\t\t:use-markdown=\"useMarkdown\"\n\t\t\t:use-extended-markdown=\"useExtendedMarkdown\" />\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmessage: '',\n\t\t\t\tautolink: true,\n\t\t\t\tuseMarkdown: true,\n\t\t\t\tuseExtendedMarkdown: true,\n\t\t\t\tuserData: {\n\t\t\t\t\tTest01: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test01',\n\t\t\t\t\t\tlabel: 'Test01',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t},\n\t\t\t\t\tTest02: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test02',\n\t\t\t\t\t\tlabel: 'Test02',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Visiting London',\n\t\t\t\t\t\t\tstatus: 'away',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test@User': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test@User',\n\t\t\t\t\t\tlabel: 'Test 03',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Having space in my name',\n\t\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test Offline': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test Offline',\n\t\t\t\t\t\tlabel: 'Test Offline',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\t\tstatus: 'offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: null,\n\t\t\t\t\t},\n\t\t\t\t\t'Test DND': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test DND',\n\t\t\t\t\t\tlabel: 'Test DND',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: 'Out sick',\n\t\t\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Out sick',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tuserMentions: {\n\t\t\t\t\t'user-1': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test01',\n\t\t\t\t\t\t\tuser: 'Test01',\n\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-2': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test02',\n\t\t\t\t\t\t\tuser: 'Test02',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-3': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test 03',\n\t\t\t\t\t\t\tuser: 'Test@User',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-4': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test Offline',\n\t\t\t\t\t\t\tuser: 'Test Offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-5': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test DND',\n\t\t\t\t\t\t\tuser: 'Test DND',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\ttext() {\n\t\t\t\treturn this.message\n\t\t\t\t\t\t.replace('@Test01', '{user-1}')\n\t\t\t\t\t\t.replace('@Test02', '{user-2}')\n\t\t\t\t\t\t.replace('@Test@User', '{user-3}')\n\t\t\t\t\t\t.replace('@\"Test Offline\"', '{user-4}')\n\t\t\t\t\t\t.replace('@\"Test DND\"', '{user-5}')\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\tautoComplete(search, callback) {\n\t\t\t\tcallback(Object.values(this.userData))\n\t\t\t},\n\t\t\tonSubmit() {\n\t\t\t\talert(this.message)\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n</docs>\n\n<script>\nimport NcReferenceList from './NcReferenceList.vue'\nimport NcCheckboxRadioSwitch from '../NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue'\nimport { getRoute, remarkAutolink } from './autolink.js'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkGfm from 'remark-gfm'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\nimport { RouterLink } from 'vue-router'\n\nexport default {\n\tname: 'NcRichText',\n\tcomponents: {\n\t\tNcReferenceList,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\targuments: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {}\n\t\t\t},\n\t\t},\n\t\treferenceLimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\treferenceInteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/** Provide data upfront to avoid extra http request */\n\t\treferences: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tmarkdownCssClasses: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\ta: 'rich-text--external-link',\n\t\t\t\t\tol: 'rich-text--ordered-list',\n\t\t\t\t\tul: 'rich-text--un-ordered-list',\n\t\t\t\t\tli: 'rich-text--list-item',\n\t\t\t\t\tstrong: 'rich-text--strong',\n\t\t\t\t\tem: 'rich-text--italic',\n\t\t\t\t\th1: 'rich-text--heading rich-text--heading-1',\n\t\t\t\t\th2: 'rich-text--heading rich-text--heading-2',\n\t\t\t\t\th3: 'rich-text--heading rich-text--heading-3',\n\t\t\t\t\th4: 'rich-text--heading rich-text--heading-4',\n\t\t\t\t\th5: 'rich-text--heading rich-text--heading-5',\n\t\t\t\t\th6: 'rich-text--heading rich-text--heading-6',\n\t\t\t\t\thr: 'rich-text--hr',\n\t\t\t\t\ttable: 'rich-text--table',\n\t\t\t\t\tpre: 'rich-text--pre',\n\t\t\t\t\tcode: 'rich-text--code',\n\t\t\t\t\tblockquote: 'rich-text--blockquote',\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tuseMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide GitHub Flavored Markdown syntax */\n\t\tuseExtendedMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide event from rendered markdown inputs */\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tautolink: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\temits: ['interact:todo'],\n\n\tdata() {\n\t\treturn {\n\t\t\tparentId: GenRandomId(5),\n\t\t}\n\t},\n\n\tmethods: {\n\t\trenderPlaintext(h) {\n\t\t\tconst context = this\n\t\t\tconst placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list) {\n\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t// just return plain string nodes as text\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn prepareTextNode({ h, context }, entry)\n\t\t\t\t}\n\t\t\t\t// return component instance if argument is an object\n\t\t\t\tconst argumentId = matches[1]\n\t\t\t\tconst argument = context.arguments[argumentId]\n\t\t\t\tif (typeof argument === 'object') {\n\t\t\t\t\tconst { component, props } = argument\n\t\t\t\t\treturn h(component, {\n\t\t\t\t\t\tprops,\n\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (argument) {\n\t\t\t\t\treturn h('span', { class: 'rich-text--fallback' }, argument)\n\t\t\t\t}\n\t\t\t\treturn entry\n\t\t\t})\n\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\th('div', {}, placeholders.flat()),\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t\trenderMarkdown(h) {\n\t\t\tconst renderedMarkdown = unified()\n\t\t\t\t.use(remarkParse)\n\t\t\t\t.use(remarkAutolink, {\n\t\t\t\t\tautolink: this.autolink,\n\t\t\t\t\tuseMarkdown: this.useMarkdown,\n\t\t\t\t\tuseExtendedMarkdown: this.useExtendedMarkdown,\n\t\t\t\t})\n\t\t\t\t.use(this.useExtendedMarkdown ? remarkGfm : undefined)\n\t\t\t\t.use(breaks)\n\t\t\t\t.use(remark2rehype, {\n\t\t\t\t\thandlers: {\n\t\t\t\t\t\tcomponent(toHast, node) {\n\t\t\t\t\t\t\treturn toHast(node, node.component, { value: node.value })\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t// .use(rehypeAddClasses, this.markdownCssClasses)\n\t\t\t\t.use(remarkPlaceholder)\n\t\t\t\t.use(rehypeExternalLinks, {\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\trel: ['noopener noreferrer'],\n\t\t\t\t})\n\t\t\t\t.use(rehype2react, {\n\t\t\t\t\tcreateElement: (tag, attrs, children) => {\n\t\t\t\t\t\t// unescape special symbol \"<\" for simple text nodes\n\t\t\t\t\t\tchildren = children?.map(child => typeof child === 'string'\n\t\t\t\t\t\t\t? child.replace(/&lt;/gmi, '<')\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tif (!tag.startsWith('#')) {\n\t\t\t\t\t\t\tif (this.useExtendedMarkdown) {\n\t\t\t\t\t\t\t\tlet nestedNode = null\n\t\t\t\t\t\t\t\tif (tag === 'li' && Array.isArray(children)\n\t\t\t\t\t\t\t\t\t&& children[0].tag === 'input'\n\t\t\t\t\t\t\t\t\t&& children[0].data.attrs.type === 'checkbox') {\n\t\t\t\t\t\t\t\t\tconst [inputNode, ...labelParts] = children\n\n\t\t\t\t\t\t\t\t\tconst nestedNodeIndex = labelParts.findIndex((child) => ['ul', 'ol', 'li', 'blockquote', 'pre'].includes(child.tag))\n\t\t\t\t\t\t\t\t\tif (nestedNodeIndex !== -1) {\n\t\t\t\t\t\t\t\t\t\tnestedNode = labelParts[nestedNodeIndex]\n\t\t\t\t\t\t\t\t\t\tlabelParts.splice(nestedNodeIndex)\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst id = this.parentId + '-markdown-input-' + GenRandomId(5)\n\t\t\t\t\t\t\t\t\tconst inputComponent = h(NcCheckboxRadioSwitch, {\n\t\t\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\t\t\t...inputNode.data.attrs,\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tdisabled: !this.interactive,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\t\t\t\t'update:checked': () => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.$emit('interact:todo', id)\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, labelParts)\n\n\t\t\t\t\t\t\t\t\treturn h(tag, attrs, [inputComponent, nestedNode])\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (tag === 'a') {\n\t\t\t\t\t\t\t\tconst route = getRoute(this.$router, attrs.attrs.href)\n\t\t\t\t\t\t\t\tif (route) {\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.href\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.target\n\n\t\t\t\t\t\t\t\t\treturn h(RouterLink, {\n\t\t\t\t\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn h(tag, attrs, children)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst placeholder = this.arguments[tag.slice(1)]\n\t\t\t\t\t\tif (!placeholder) {\n\t\t\t\t\t\t\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!placeholder.component) {\n\t\t\t\t\t\t\treturn h('span', attrs, [placeholder])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn h(\n\t\t\t\t\t\t\tplaceholder.component,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tattrs,\n\t\t\t\t\t\t\t\tprops: placeholder.props,\n\t\t\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tprefix: false,\n\t\t\t\t})\n\t\t\t\t.processSync(this.text\n\t\t\t\t\t// escape special symbol \"<\" to not treat text as HTML\n\t\t\t\t\t.replace(/</gmi, '&lt;')\n\t\t\t\t\t// unescape special symbol \">\" to parse blockquotes\n\t\t\t\t\t.replace(/&gt;/gmi, '>'),\n\t\t\t\t)\n\t\t\t\t.result\n\n\t\t\treturn h('div', { class: 'rich-text--wrapper rich-text--wrapper-markdown' }, [\n\t\t\t\trenderedMarkdown,\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t},\n\trender(h) {\n\t\treturn this.useMarkdown || this.useExtendedMarkdown\n\t\t\t? this.renderMarkdown(h)\n\t\t\t: this.renderPlaintext(h)\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n\n</style>\n"],"names":["_sfc_main","NcReferenceWidget","URL_PATTERN","axios","generateOcsUrl","visit","index","u","parseUrl","GenRandomId","unified","remarkParse","remarkAutolink","remarkGfm","breaks","remark2rehype","rehypeExternalLinks","rehype2react","NcCheckboxRadioSwitch","getRoute","RouterLink"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import '../assets/NcRichText-Cdp_2wEm.css';
2
- import { N as NcReferenceWidget, L as Link } from "./referencePickerModal-DBIqS1ep.mjs";
3
- import { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from "./autolink-DA7VzS8Y.mjs";
1
+ import '../assets/NcRichText-BKoK9ulg.css';
2
+ import { N as NcReferenceWidget } from "./referencePickerModal-CGhrhjCk.mjs";
3
+ import { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from "./autolink-cbuFALXr.mjs";
4
4
  import axios from "@nextcloud/axios";
5
5
  import { generateOcsUrl } from "@nextcloud/router";
6
6
  /* empty css */
7
7
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-D637Qkok.mjs";
8
- import { N as NcCheckboxRadioSwitch } from "./NcCheckboxRadioSwitch-ByOy5xz5.mjs";
8
+ import { N as NcCheckboxRadioSwitch } from "./NcCheckboxRadioSwitch-08IiPYnO.mjs";
9
9
  import { visit } from "unist-util-visit";
10
10
  import { u } from "unist-builder";
11
- import { G as GenRandomId } from "./GenRandomId-CXkjMlAT.mjs";
11
+ import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
12
12
  import { unified } from "unified";
13
13
  import remarkParse from "remark-parse";
14
14
  import remarkGfm from "remark-gfm";
@@ -16,6 +16,7 @@ import breaks from "remark-breaks";
16
16
  import remark2rehype from "remark-rehype";
17
17
  import rehype2react from "rehype-react";
18
18
  import rehypeExternalLinks from "rehype-external-links";
19
+ import { RouterLink } from "vue-router";
19
20
  const _sfc_main$1 = {
20
21
  name: "NcReferenceList",
21
22
  components: {
@@ -139,7 +140,7 @@ var __component__$1 = /* @__PURE__ */ normalizeComponent(
139
140
  _sfc_staticRenderFns$1,
140
141
  false,
141
142
  null,
142
- "84219a41",
143
+ "69858434",
143
144
  null,
144
145
  null
145
146
  );
@@ -344,7 +345,7 @@ const _sfc_main = {
344
345
  if (route) {
345
346
  delete attrs.attrs.href;
346
347
  delete attrs.attrs.target;
347
- return h(Link, {
348
+ return h(RouterLink, {
348
349
  ...attrs,
349
350
  props: {
350
351
  to: route
@@ -401,7 +402,7 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
401
402
  _sfc_staticRenderFns,
402
403
  false,
403
404
  null,
404
- "6233f030",
405
+ "3b61be27",
405
406
  null,
406
407
  null
407
408
  );
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcRichText-D3knHFLh.mjs","sources":["../../src/components/NcRichText/NcReferenceList.vue","../../src/components/NcRichText/placeholder.js","../../src/components/NcRichText/NcRichText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div v-if=\"isVisible\" class=\"widgets--list\" :class=\"{'icon-loading': loading }\">\n\t\t<div v-for=\"reference in displayedReferences\" :key=\"reference?.openGraphObject?.id\">\n\t\t\t<NcReferenceWidget :reference=\"reference\" :interactive=\"interactive\" :interactive-opt-in=\"interactiveOptIn\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport NcReferenceWidget from './NcReferenceWidget.vue'\nimport { URL_PATTERN } from './helpers.js'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'NcReferenceList',\n\tcomponents: {\n\t\tNcReferenceWidget,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\treferenceData: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1,\n\t\t},\n\t\tdisplayFallback: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tinteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\treferences: null,\n\t\t\tloading: true,\n\t\t}\n\t},\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn this.loading || this.displayedReferences.length !== 0\n\t\t},\n\t\tvalues() {\n\t\t\tif (this.referenceData) {\n\t\t\t\treturn this.referenceData\n\t\t\t}\n\n\t\t\tif (this.displayFallback && !this.loading && !this.references) {\n\t\t\t\treturn [this.fallbackReference]\n\t\t\t}\n\n\t\t\treturn this.references ? Object.values(this.references) : []\n\t\t},\n\t\tfirstReference() {\n\t\t\treturn this.values[0] ?? null\n\t\t},\n\t\tdisplayedReferences() {\n\t\t\treturn this.values.slice(0, this.limit)\n\t\t},\n\t\tfallbackReference() {\n\t\t\treturn {\n\t\t\t\taccessible: true,\n\t\t\t\topenGraphObject: {\n\t\t\t\t\tid: this.text,\n\t\t\t\t\tlink: this.text,\n\t\t\t\t\tname: this.text,\n\t\t\t\t},\n\t\t\t\trichObjectType: 'open-graph',\n\t\t\t}\n\t\t},\n\t},\n\twatch: {\n\t\ttext: 'fetch',\n\t},\n\tmounted() {\n\t\tthis.fetch()\n\t},\n\tmethods: {\n\t\tfetch() {\n\t\t\tthis.loading = true\n\t\t\tif (this.referenceData) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!(new RegExp(URL_PATTERN).exec(this.text))) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.resolve().then((response) => {\n\t\t\t\tthis.references = response.data.ocs.data.references\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error('Failed to extract references', error)\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t})\n\t\t},\n\t\tresolve() {\n\t\t\tconst match = (new RegExp(URL_PATTERN).exec(this.text.trim()))\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn axios.get(generateOcsUrl('references/resolve', 2) + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn axios.post(generateOcsUrl('references/extract', 2), {\n\t\t\t\ttext: this.text,\n\t\t\t\tresolve: true,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widget--list {\n\twidth: var(--widget-full-width, 100%);\n}\n\n.widgets--list.icon-loading {\n\tmin-height: 44px;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { parseUrl } from './autolink.js'\n\nimport { visit } from 'unist-util-visit'\nimport { u } from 'unist-builder'\n\nexport const remarkPlaceholder = function() {\n\treturn function(ast) {\n\t\tvisit(ast, (node) => node.type === 'text', visitor)\n\n\t\t/**\n\t\t *\n\t\t * @param {object} node The node\n\t\t * @param {number} index The index of the node\n\t\t * @param {object} parent The parent node\n\t\t */\n\t\tfunction visitor(node, index, parent) {\n\t\t\tconst placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig)\n\t\t\t\t.map((entry, index, list) => {\n\t\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\treturn u('text', entry)\n\t\t\t\t\t}\n\t\t\t\t\tconst [, component] = matches\n\t\t\t\t\treturn u('element', {\n\t\t\t\t\t\ttagName: `#${component}`,\n\t\t\t\t\t})\n\t\t\t\t})\n\n\t\t\tparent.children.splice(index, 1, ...placeholders)\n\t\t}\n\t}\n}\n\nexport const prepareTextNode = ({ h, context }, text) => {\n\tif (context.autolink) {\n\t\ttext = parseUrl(text)\n\t}\n\tif (Array.isArray(text)) {\n\t\treturn text.map((entry) => {\n\t\t\tif (typeof entry === 'string') {\n\t\t\t\treturn entry\n\t\t\t}\n\t\t\tconst { component, props } = entry\n\t\t\t// do not override class of NcLink\n\t\t\tconst componentClass = component.name === 'NcLink' ? undefined : 'rich-text--component'\n\t\t\treturn h(component, {\n\t\t\t\tprops,\n\t\t\t\tclass: componentClass,\n\t\t\t})\n\t\t})\n\t}\n\treturn text\n}\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component displays rich text with optional autolink or [Markdown support](https://www.markdownguide.org/basic-syntax/).\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText\n\t\t\t:class=\"{'plain-text': !useMarkdown }\"\n\t\t\t:text=\"text\" :autolink=\"autolink\" :arguments=\"args\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: `## Hello everyone 🎉\nThe file {file} was added by {username}. Visit https://nextcloud.com to check it!\n\nSome examples for markdown syntax:\n1. **bold text**\n2. _italic text_\n3. example of \\`inline code\\`\n\n> blockquote example\n`,\n\t\t\tautolink: true,\n\t\t\tuseMarkdown: true,\n\t\t\targs: {\n\t\t\t\tfile: 'MyDocument.odt',\n\t\t\t\tusername: {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Jane Doe'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n\n.plain-text {\n\twhite-space: pre-line;\n}\n</style>\n```\n\n### Flavored Markdown\n\nThis component can support [Github Flavored Markdown](https://github.github.com/gfm/).\nIt adds such elements, as tables, task lists, strikethrough, and supports autolinks by default\n\nIt is also possible to make a rendered content interactive and listen for events\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:use-extended-markdown=\"true\"\n\t\t\t:interactive=\"true\"\n\t\t\t@interact:todo=\"handleInteraction\"/>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttext: `## Try flavored markdown right now!\n\n~~strikethrough~~\n\n- [ ] task to be done\n- [x] task completed\n\nTable header | Column A | Column B\n-- | -- | --\nTable row | value A | value B\n`,\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\thandleInteraction(id) {\n\t\t\t\tconst parentId = id.split('-markdown-input-')[0]\n\t\t\t\tconst index = Array.from(document.querySelectorAll(`span[id^=\"${parentId}-markdown-input-\"]`)).findIndex((el) => el.id.includes(id))\n\t\t\t\tif (index === -1 ) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet checkBoxIndex = 0\n\t\t\t\tlines = this.text.split('\\n')\n\t\t\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\t\t\tif (lines[i].includes('[ ]') || lines[i].includes('[x]')) {\n\t\t\t\t\t\tif (checkBoxIndex === index) {\n\t\t\t\t\t\t\tconst isChecked = lines[i].includes('[x]')\n\t\t\t\t\t\t\tif (isChecked) {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[x]', '[ ]')\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[ ]', '[x]')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcheckBoxIndex++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.text = lines.join('\\n')\n\t\t\t},\n\t\t},\n\t}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n</style>\n```\n\n### Usage with NcRichContenteditable\n\nSee [NcRichContenteditable](#/Components/NcRichContenteditable) documentation for more information\n\n```vue\n<template>\n\t<div>\n\t\t<NcRichContenteditable :value.sync=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"100\"\n\t\t\t:user-data=\"userData\"\n\t\t\tplaceholder=\"Try mentioning user @Test01 or inserting emoji :smile\"\n\t\t\t@submit=\"onSubmit\" />\n\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useExtendedMarkdown\" type=\"checkbox\">Use extended Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:autolink=\"autolink\"\n\t\t\t:arguments=\"userMentions\"\n\t\t\t:use-markdown=\"useMarkdown\"\n\t\t\t:use-extended-markdown=\"useExtendedMarkdown\" />\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmessage: '',\n\t\t\t\tautolink: true,\n\t\t\t\tuseMarkdown: true,\n\t\t\t\tuseExtendedMarkdown: true,\n\t\t\t\tuserData: {\n\t\t\t\t\tTest01: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test01',\n\t\t\t\t\t\tlabel: 'Test01',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t},\n\t\t\t\t\tTest02: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test02',\n\t\t\t\t\t\tlabel: 'Test02',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Visiting London',\n\t\t\t\t\t\t\tstatus: 'away',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test@User': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test@User',\n\t\t\t\t\t\tlabel: 'Test 03',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Having space in my name',\n\t\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test Offline': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test Offline',\n\t\t\t\t\t\tlabel: 'Test Offline',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\t\tstatus: 'offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: null,\n\t\t\t\t\t},\n\t\t\t\t\t'Test DND': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test DND',\n\t\t\t\t\t\tlabel: 'Test DND',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: 'Out sick',\n\t\t\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Out sick',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tuserMentions: {\n\t\t\t\t\t'user-1': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test01',\n\t\t\t\t\t\t\tuser: 'Test01',\n\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-2': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test02',\n\t\t\t\t\t\t\tuser: 'Test02',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-3': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test 03',\n\t\t\t\t\t\t\tuser: 'Test@User',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-4': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test Offline',\n\t\t\t\t\t\t\tuser: 'Test Offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-5': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test DND',\n\t\t\t\t\t\t\tuser: 'Test DND',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\ttext() {\n\t\t\t\treturn this.message\n\t\t\t\t\t\t.replace('@Test01', '{user-1}')\n\t\t\t\t\t\t.replace('@Test02', '{user-2}')\n\t\t\t\t\t\t.replace('@Test@User', '{user-3}')\n\t\t\t\t\t\t.replace('@\"Test Offline\"', '{user-4}')\n\t\t\t\t\t\t.replace('@\"Test DND\"', '{user-5}')\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\tautoComplete(search, callback) {\n\t\t\t\tcallback(Object.values(this.userData))\n\t\t\t},\n\t\t\tonSubmit() {\n\t\t\t\talert(this.message)\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n</docs>\n\n<script>\nimport NcReferenceList from './NcReferenceList.vue'\nimport NcCheckboxRadioSwitch from '../NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue'\nimport { getRoute, remarkAutolink } from './autolink.js'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkGfm from 'remark-gfm'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\nimport { RouterLink } from 'vue-router'\n\nexport default {\n\tname: 'NcRichText',\n\tcomponents: {\n\t\tNcReferenceList,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\targuments: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {}\n\t\t\t},\n\t\t},\n\t\treferenceLimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\treferenceInteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/** Provide data upfront to avoid extra http request */\n\t\treferences: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tmarkdownCssClasses: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\ta: 'rich-text--external-link',\n\t\t\t\t\tol: 'rich-text--ordered-list',\n\t\t\t\t\tul: 'rich-text--un-ordered-list',\n\t\t\t\t\tli: 'rich-text--list-item',\n\t\t\t\t\tstrong: 'rich-text--strong',\n\t\t\t\t\tem: 'rich-text--italic',\n\t\t\t\t\th1: 'rich-text--heading rich-text--heading-1',\n\t\t\t\t\th2: 'rich-text--heading rich-text--heading-2',\n\t\t\t\t\th3: 'rich-text--heading rich-text--heading-3',\n\t\t\t\t\th4: 'rich-text--heading rich-text--heading-4',\n\t\t\t\t\th5: 'rich-text--heading rich-text--heading-5',\n\t\t\t\t\th6: 'rich-text--heading rich-text--heading-6',\n\t\t\t\t\thr: 'rich-text--hr',\n\t\t\t\t\ttable: 'rich-text--table',\n\t\t\t\t\tpre: 'rich-text--pre',\n\t\t\t\t\tcode: 'rich-text--code',\n\t\t\t\t\tblockquote: 'rich-text--blockquote',\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tuseMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide GitHub Flavored Markdown syntax */\n\t\tuseExtendedMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide event from rendered markdown inputs */\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tautolink: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\temits: ['interact:todo'],\n\n\tdata() {\n\t\treturn {\n\t\t\tparentId: GenRandomId(5),\n\t\t}\n\t},\n\n\tmethods: {\n\t\trenderPlaintext(h) {\n\t\t\tconst context = this\n\t\t\tconst placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list) {\n\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t// just return plain string nodes as text\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn prepareTextNode({ h, context }, entry)\n\t\t\t\t}\n\t\t\t\t// return component instance if argument is an object\n\t\t\t\tconst argumentId = matches[1]\n\t\t\t\tconst argument = context.arguments[argumentId]\n\t\t\t\tif (typeof argument === 'object') {\n\t\t\t\t\tconst { component, props } = argument\n\t\t\t\t\treturn h(component, {\n\t\t\t\t\t\tprops,\n\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (argument) {\n\t\t\t\t\treturn h('span', { class: 'rich-text--fallback' }, argument)\n\t\t\t\t}\n\t\t\t\treturn entry\n\t\t\t})\n\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\th('div', {}, placeholders.flat()),\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t\trenderMarkdown(h) {\n\t\t\tconst renderedMarkdown = unified()\n\t\t\t\t.use(remarkParse)\n\t\t\t\t.use(remarkAutolink, {\n\t\t\t\t\tautolink: this.autolink,\n\t\t\t\t\tuseMarkdown: this.useMarkdown,\n\t\t\t\t\tuseExtendedMarkdown: this.useExtendedMarkdown,\n\t\t\t\t})\n\t\t\t\t.use(this.useExtendedMarkdown ? remarkGfm : undefined)\n\t\t\t\t.use(breaks)\n\t\t\t\t.use(remark2rehype, {\n\t\t\t\t\thandlers: {\n\t\t\t\t\t\tcomponent(toHast, node) {\n\t\t\t\t\t\t\treturn toHast(node, node.component, { value: node.value })\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t// .use(rehypeAddClasses, this.markdownCssClasses)\n\t\t\t\t.use(remarkPlaceholder)\n\t\t\t\t.use(rehypeExternalLinks, {\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\trel: ['noopener noreferrer'],\n\t\t\t\t})\n\t\t\t\t.use(rehype2react, {\n\t\t\t\t\tcreateElement: (tag, attrs, children) => {\n\t\t\t\t\t\t// unescape special symbol \"<\" for simple text nodes\n\t\t\t\t\t\tchildren = children?.map(child => typeof child === 'string'\n\t\t\t\t\t\t\t? child.replace(/&lt;/gmi, '<')\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tif (!tag.startsWith('#')) {\n\t\t\t\t\t\t\tif (this.useExtendedMarkdown) {\n\t\t\t\t\t\t\t\tlet nestedNode = null\n\t\t\t\t\t\t\t\tif (tag === 'li' && Array.isArray(children)\n\t\t\t\t\t\t\t\t\t&& children[0].tag === 'input'\n\t\t\t\t\t\t\t\t\t&& children[0].data.attrs.type === 'checkbox') {\n\t\t\t\t\t\t\t\t\tconst [inputNode, ...labelParts] = children\n\n\t\t\t\t\t\t\t\t\tconst nestedNodeIndex = labelParts.findIndex((child) => ['ul', 'ol', 'li', 'blockquote', 'pre'].includes(child.tag))\n\t\t\t\t\t\t\t\t\tif (nestedNodeIndex !== -1) {\n\t\t\t\t\t\t\t\t\t\tnestedNode = labelParts[nestedNodeIndex]\n\t\t\t\t\t\t\t\t\t\tlabelParts.splice(nestedNodeIndex)\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst id = this.parentId + '-markdown-input-' + GenRandomId(5)\n\t\t\t\t\t\t\t\t\tconst inputComponent = h(NcCheckboxRadioSwitch, {\n\t\t\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\t\t\t...inputNode.data.attrs,\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tdisabled: !this.interactive,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\t\t\t\t'update:checked': () => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.$emit('interact:todo', id)\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, labelParts)\n\n\t\t\t\t\t\t\t\t\treturn h(tag, attrs, [inputComponent, nestedNode])\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (tag === 'a') {\n\t\t\t\t\t\t\t\tconst route = getRoute(this.$router, attrs.attrs.href)\n\t\t\t\t\t\t\t\tif (route) {\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.href\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.target\n\n\t\t\t\t\t\t\t\t\treturn h(RouterLink, {\n\t\t\t\t\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn h(tag, attrs, children)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst placeholder = this.arguments[tag.slice(1)]\n\t\t\t\t\t\tif (!placeholder) {\n\t\t\t\t\t\t\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!placeholder.component) {\n\t\t\t\t\t\t\treturn h('span', attrs, [placeholder])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn h(\n\t\t\t\t\t\t\tplaceholder.component,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tattrs,\n\t\t\t\t\t\t\t\tprops: placeholder.props,\n\t\t\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tprefix: false,\n\t\t\t\t})\n\t\t\t\t.processSync(this.text\n\t\t\t\t\t// escape special symbol \"<\" to not treat text as HTML\n\t\t\t\t\t.replace(/</gmi, '&lt;')\n\t\t\t\t\t// unescape special symbol \">\" to parse blockquotes\n\t\t\t\t\t.replace(/&gt;/gmi, '>'),\n\t\t\t\t)\n\t\t\t\t.result\n\n\t\t\treturn h('div', { class: 'rich-text--wrapper rich-text--wrapper-markdown' }, [\n\t\t\t\trenderedMarkdown,\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t},\n\trender(h) {\n\t\treturn this.useMarkdown || this.useExtendedMarkdown\n\t\t\t? this.renderMarkdown(h)\n\t\t\t: this.renderPlaintext(h)\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n\n</style>\n"],"names":["_sfc_main","index"],"mappings":";;;;;;;;;;;;;;;;;;AAmBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA,IACA,YAAA;AACA,aAAA,KAAA,WAAA,KAAA,oBAAA,WAAA;AAAA,IACA;AAAA,IACA,SAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA,KAAA;AAAA,MACA;AAEA,UAAA,KAAA,mBAAA,CAAA,KAAA,WAAA,CAAA,KAAA,YAAA;AACA,eAAA,CAAA,KAAA,iBAAA;AAAA,MACA;AAEA,aAAA,KAAA,aAAA,OAAA,OAAA,KAAA,UAAA,IAAA,CAAA;AAAA,IACA;AAAA,IACA,iBAAA;;AACA,cAAA,UAAA,OAAA,CAAA,MAAA,YAAA;AAAA,IACA;AAAA,IACA,sBAAA;AACA,aAAA,KAAA,OAAA,MAAA,GAAA,KAAA,KAAA;AAAA,IACA;AAAA,IACA,oBAAA;AACA,aAAA;AAAA,QACA,YAAA;AAAA,QACA,iBAAA;AAAA,UACA,IAAA,KAAA;AAAA,UACA,MAAA,KAAA;AAAA,UACA,MAAA,KAAA;AAAA,QACA;AAAA,QACA,gBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,MAAA;AAAA,EACA;AAAA,EACA,UAAA;AACA,SAAA,MAAA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,QAAA;AACA,WAAA,UAAA;AACA,UAAA,KAAA,eAAA;AACA,aAAA,UAAA;AACA;AAAA,MACA;AAEA,UAAA,CAAA,IAAA,OAAA,WAAA,EAAA,KAAA,KAAA,IAAA,GAAA;AACA,aAAA,UAAA;AACA;AAAA,MACA;AAEA,WAAA,QAAA,EAAA,KAAA,CAAA,aAAA;AACA,aAAA,aAAA,SAAA,KAAA,IAAA,KAAA;AACA,aAAA,UAAA;AACA,aAAA,MAAA,QAAA;AAAA,MACA,CAAA,EAAA,MAAA,CAAA,UAAA;AACA,gBAAA,MAAA,gCAAA,KAAA;AACA,aAAA,UAAA;AACA,aAAA,MAAA,QAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IACA,UAAA;AACA,YAAA,QAAA,IAAA,OAAA,WAAA,EAAA,KAAA,KAAA,KAAA,KAAA,CAAA;AACA,UAAA,KAAA,UAAA,KAAA,OAAA;AACA,eAAA,MAAA,IAAA,eAAA,sBAAA,CAAA,IAAA,cAAA,0BAAA,MAAA,CAAA,CAAA,EAAA;AAAA,MACA;AAEA,aAAA,MAAA,KAAA,eAAA,sBAAA,CAAA,GAAA;AAAA,QACA,MAAA,KAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;ACzHO,MAAM,oBAAoB,WAAW;AAC3C,SAAO,SAAS,KAAK;AACpB,UAAM,KAAK,CAAC,SAAS,KAAK,SAAS,QAAQ,OAAO;AAQlD,aAAS,QAAQ,MAAM,OAAO,QAAQ;AACrC,YAAM,eAAe,KAAK,MAAM,MAAM,uBAAuB,EAC3D,IAAI,CAAC,OAAOC,QAAO,SAAS;AAC5B,cAAM,UAAU,MAAM,MAAM,wBAAwB;AACpD,YAAI,CAAC,SAAS;AACb,iBAAO,EAAE,QAAQ,KAAK;AAAA,QACtB;AACD,cAAM,CAAA,EAAG,SAAS,IAAI;AACtB,eAAO,EAAE,WAAW;AAAA,UACnB,SAAS,IAAI;AAAA,QACnB,CAAM;AAAA,MACN,CAAK;AAEF,aAAO,SAAS,OAAO,OAAO,GAAG,GAAG,YAAY;AAAA,IAChD;AAAA,EACD;AACF;AAEO,MAAM,kBAAkB,CAAC,EAAE,GAAG,QAAO,GAAI,SAAS;AACxD,MAAI,QAAQ,UAAU;AACrB,WAAO,SAAS,IAAI;AAAA,EACpB;AACD,MAAI,MAAM,QAAQ,IAAI,GAAG;AACxB,WAAO,KAAK,IAAI,CAAC,UAAU;AAC1B,UAAI,OAAO,UAAU,UAAU;AAC9B,eAAO;AAAA,MACP;AACD,YAAM,EAAE,WAAW,MAAK,IAAK;AAE7B,YAAM,iBAAiB,UAAU,SAAS,WAAW,SAAY;AACjE,aAAO,EAAE,WAAW;AAAA,QACnB;AAAA,QACA,OAAO;AAAA,MACX,CAAI;AAAA,IACJ,CAAG;AAAA,EACD;AACD,SAAO;AACR;AC2PA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AACA,eAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,sBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA,IAEA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AACA,eAAA;AAAA,UACA,GAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,IAAA;AAAA,UACA,OAAA;AAAA,UACA,KAAA;AAAA,UACA,MAAA;AAAA,UACA,YAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA,IAEA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA,IAEA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,eAAA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,UAAA,YAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,gBAAA,GAAA;AACA,YAAA,UAAA;AACA,YAAA,eAAA,KAAA,KAAA,MAAA,uBAAA,EAAA,IAAA,SAAA,OAAA,OAAA,MAAA;AACA,cAAA,UAAA,MAAA,MAAA,wBAAA;AAEA,YAAA,CAAA,SAAA;AACA,iBAAA,gBAAA,EAAA,GAAA,QAAA,GAAA,KAAA;AAAA,QACA;AAEA,cAAA,aAAA,QAAA,CAAA;AACA,cAAA,WAAA,QAAA,UAAA,UAAA;AACA,YAAA,OAAA,aAAA,UAAA;AACA,gBAAA,EAAA,WAAA,MAAA,IAAA;AACA,iBAAA,EAAA,WAAA;AAAA,YACA;AAAA,YACA,OAAA;AAAA,UACA,CAAA;AAAA,QACA;AACA,YAAA,UAAA;AACA,iBAAA,EAAA,QAAA,EAAA,OAAA,sBAAA,GAAA,QAAA;AAAA,QACA;AACA,eAAA;AAAA,MACA,CAAA;AACA,aAAA,EAAA,OAAA,EAAA,OAAA,qBAAA,GAAA;AAAA,QACA,EAAA,OAAA,CAAA,GAAA,aAAA,KAAA,CAAA;AAAA,QACA,KAAA,iBAAA,IACA,EAAA,OAAA,EAAA,OAAA,8BAAA,GAAA;AAAA,UACA,EAAA,iBAAA;AAAA,YACA,OAAA;AAAA,cACA,MAAA,KAAA;AAAA,cACA,eAAA,KAAA;AAAA,cACA,aAAA,KAAA;AAAA,YACA;AAAA,UACA,CAAA;AAAA,QACA,CAAA,IACA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IACA,eAAA,GAAA;AACA,YAAA,mBAAA,QAAA,EACA,IAAA,WAAA,EACA,IAAA,gBAAA;AAAA,QACA,UAAA,KAAA;AAAA,QACA,aAAA,KAAA;AAAA,QACA,qBAAA,KAAA;AAAA,MACA,CAAA,EACA,IAAA,KAAA,sBAAA,YAAA,MAAA,EACA,IAAA,MAAA,EACA,IAAA,eAAA;AAAA,QACA,UAAA;AAAA,UACA,UAAA,QAAA,MAAA;AACA,mBAAA,OAAA,MAAA,KAAA,WAAA,EAAA,OAAA,KAAA,OAAA;AAAA,UACA;AAAA,QACA;AAAA,MACA,CAAA,EAEA,IAAA,iBAAA,EACA,IAAA,qBAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA,CAAA,qBAAA;AAAA,MACA,CAAA,EACA,IAAA,cAAA;AAAA,QACA,eAAA,CAAA,KAAA,OAAA,aAAA;AAEA,qBAAA,qCAAA;AAAA,YAAA,WAAA,OAAA,UAAA,WACA,MAAA,QAAA,WAAA,GAAA,IACA;AAAA;AAGA,cAAA,CAAA,IAAA,WAAA,GAAA,GAAA;AACA,gBAAA,KAAA,qBAAA;AACA,kBAAA,aAAA;AACA,kBAAA,QAAA,QAAA,MAAA,QAAA,QAAA,KACA,SAAA,CAAA,EAAA,QAAA,WACA,SAAA,CAAA,EAAA,KAAA,MAAA,SAAA,YAAA;AACA,sBAAA,CAAA,WAAA,GAAA,UAAA,IAAA;AAEA,sBAAA,kBAAA,WAAA,UAAA,CAAA,UAAA,CAAA,MAAA,MAAA,MAAA,cAAA,KAAA,EAAA,SAAA,MAAA,GAAA,CAAA;AACA,oBAAA,oBAAA,IAAA;AACA,+BAAA,WAAA,eAAA;AACA,6BAAA,OAAA,eAAA;AAAA,gBACA;AAEA,sBAAA,KAAA,KAAA,WAAA,qBAAA,YAAA,CAAA;AACA,sBAAA,iBAAA,EAAA,uBAAA;AAAA,kBACA,OAAA;AAAA,oBACA,GAAA,UAAA,KAAA;AAAA,oBACA;AAAA,oBACA,UAAA,CAAA,KAAA;AAAA,kBACA;AAAA,kBACA,IAAA;AAAA,oBACA,kBAAA,MAAA;AACA,2BAAA,MAAA,iBAAA,EAAA;AAAA,oBACA;AAAA,kBACA;AAAA,gBACA,GAAA,UAAA;AAEA,uBAAA,EAAA,KAAA,OAAA,CAAA,gBAAA,UAAA,CAAA;AAAA,cACA;AAAA,YACA;AAEA,gBAAA,QAAA,KAAA;AACA,oBAAA,QAAA,SAAA,KAAA,SAAA,MAAA,MAAA,IAAA;AACA,kBAAA,OAAA;AACA,uBAAA,MAAA,MAAA;AACA,uBAAA,MAAA,MAAA;AAEA,uBAAA,EAAA,YAAA;AAAA,kBACA,GAAA;AAAA,kBACA,OAAA;AAAA,oBACA,IAAA;AAAA,kBACA;AAAA,gBACA,GAAA,QAAA;AAAA,cACA;AAAA,YACA;AAEA,mBAAA,EAAA,KAAA,OAAA,QAAA;AAAA,UACA;AAEA,gBAAA,cAAA,KAAA,UAAA,IAAA,MAAA,CAAA,CAAA;AACA,cAAA,CAAA,aAAA;AACA,mBAAA,EAAA,QAAA,EAAA,GAAA,EAAA,MAAA,GAAA,GAAA,EAAA,OAAA,sBAAA,EAAA,GAAA,CAAA,IAAA,WAAA,MAAA,CAAA,GAAA,IAAA,CAAA;AAAA,UACA;AAEA,cAAA,CAAA,YAAA,WAAA;AACA,mBAAA,EAAA,QAAA,OAAA,CAAA,WAAA,CAAA;AAAA,UACA;AAEA,iBAAA;AAAA,YACA,YAAA;AAAA,YACA;AAAA,cACA;AAAA,cACA,OAAA,YAAA;AAAA,cACA,OAAA;AAAA,YACA;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,QACA,QAAA;AAAA,MACA,CAAA,EACA;AAAA,QAAA,KAAA,KAEA,QAAA,QAAA,MAAA,EAEA,QAAA,WAAA,GAAA;AAAA,MACA,EACA;AAEA,aAAA,EAAA,OAAA,EAAA,OAAA,iDAAA,GAAA;AAAA,QACA;AAAA,QACA,KAAA,iBAAA,IACA,EAAA,OAAA,EAAA,OAAA,8BAAA,GAAA;AAAA,UACA,EAAA,iBAAA;AAAA,YACA,OAAA;AAAA,cACA,MAAA,KAAA;AAAA,cACA,eAAA,KAAA;AAAA,cACA,aAAA,KAAA;AAAA,YACA;AAAA,UACA,CAAA;AAAA,QACA,CAAA,IACA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,GAAA;AACA,WAAA,KAAA,eAAA,KAAA,sBACA,KAAA,eAAA,CAAA,IACA,KAAA,gBAAA,CAAA;AAAA,EACA;AACA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NcSavingIndicatorIcon-Bhy7wcoT.mjs","sources":["../../src/components/NcSavingIndicatorIcon/NcSavingIndicatorIcon.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2022\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# Usage\n\n```\n<template>\n<div>\n\t<div>\n\t\t<NcSavingIndicatorIcon :name=\"`${savingState === 'error' ? 'Error saving' : savingState} file`\"\n\t\t\t:error=\"savingState === 'error'\"\n\t\t\t:saving=\"savingState === 'saving'\" />\n\t</div>\n\t<br />\n\t<div style=\"display: flex; justify-content: space-around;\">\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"savingState\"\n\t\t\tvalue=\"saved\"\n\t\t\tname=\"saving_radio\"\n\t\t\ttype=\"radio\">\n\t\t\tSaved\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"savingState\"\n\t\t\tvalue=\"saving\"\n\t\t\tname=\"saving_radio\"\n\t\t\ttype=\"radio\">\n\t\t\tSaving\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"savingState\"\n\t\t\tvalue=\"error\"\n\t\t\tname=\"saving_radio\"\n\t\t\ttype=\"radio\">\n\t\t\tError\n\t\t</NcCheckboxRadioSwitch>\n\t</div>\n</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsavingState: 'saved',\n\t\t}\n\t},\n}\n</script>\n\n```\n</docs>\n\n<template>\n\t<span :aria-label=\"name\"\n\t\tclass=\"material-design-icon\"\n\t\trole=\"img\"\n\t\t@click=\"$emit('click', $event)\">\n\t\t<svg :fill=\"fillColor\"\n\t\t\tclass=\"material-design-icon__svg\"\n\t\t\t:width=\"size\"\n\t\t\t:height=\"size\"\n\t\t\tviewBox=\"0 0 24 24\">\n\t\t\t<path :fill=\"indicatorColor\" d=\"m19 15a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4z\" />\n\t\t\t<path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\">\n\t\t\t\t<title v-if=\"name\">{{ name }}</title>\n\t\t\t</path>\n\t\t</svg>\n\t</span>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tname: 'NcSavingIndicatorIcon',\n\tprops: {\n\t\t/**\n\t\t * Specify the size of the saving icon.\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * Specify what is saved.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Set to true when saving is in progress.\n\t\t */\n\t\tsaving: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * Set to true if an error occured while saving.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t\trequired: false,\n\t\t},\n\t},\n\temits: ['click'],\n\tcomputed: {\n\t\tindicatorColor() {\n\t\t\treturn this.error ? 'var(--color-error)' : (this.saving ? 'var(--color-primary-element)' : 'none')\n\t\t},\n\t},\n})\n</script>\n"],"names":[],"mappings":";;AAwFA,MAAA,YAAA,gBAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,UAAA;AAAA,IACA,iBAAA;AACA,aAAA,KAAA,QAAA,uBAAA,KAAA,SAAA,iCAAA;AAAA,IACA;AAAA,EACA;AACA,CAAA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcSavingIndicatorIcon-Bhy7wcoT.mjs","sources":["../../src/components/NcSavingIndicatorIcon/NcSavingIndicatorIcon.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n# Usage\n\n```\n<template>\n<div>\n\t<div>\n\t\t<NcSavingIndicatorIcon :name=\"`${savingState === 'error' ? 'Error saving' : savingState} file`\"\n\t\t\t:error=\"savingState === 'error'\"\n\t\t\t:saving=\"savingState === 'saving'\" />\n\t</div>\n\t<br />\n\t<div style=\"display: flex; justify-content: space-around;\">\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"savingState\"\n\t\t\tvalue=\"saved\"\n\t\t\tname=\"saving_radio\"\n\t\t\ttype=\"radio\">\n\t\t\tSaved\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"savingState\"\n\t\t\tvalue=\"saving\"\n\t\t\tname=\"saving_radio\"\n\t\t\ttype=\"radio\">\n\t\t\tSaving\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"savingState\"\n\t\t\tvalue=\"error\"\n\t\t\tname=\"saving_radio\"\n\t\t\ttype=\"radio\">\n\t\t\tError\n\t\t</NcCheckboxRadioSwitch>\n\t</div>\n</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsavingState: 'saved',\n\t\t}\n\t},\n}\n</script>\n\n```\n</docs>\n\n<template>\n\t<span :aria-label=\"name\"\n\t\tclass=\"material-design-icon\"\n\t\trole=\"img\"\n\t\t@click=\"$emit('click', $event)\">\n\t\t<svg :fill=\"fillColor\"\n\t\t\tclass=\"material-design-icon__svg\"\n\t\t\t:width=\"size\"\n\t\t\t:height=\"size\"\n\t\t\tviewBox=\"0 0 24 24\">\n\t\t\t<path :fill=\"indicatorColor\" d=\"m19 15a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4z\" />\n\t\t\t<path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\">\n\t\t\t\t<title v-if=\"name\">{{ name }}</title>\n\t\t\t</path>\n\t\t</svg>\n\t</span>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tname: 'NcSavingIndicatorIcon',\n\tprops: {\n\t\t/**\n\t\t * Specify the size of the saving icon.\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * Specify what is saved.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Set to true when saving is in progress.\n\t\t */\n\t\tsaving: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * Set to true if an error occured while saving.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t\trequired: false,\n\t\t},\n\t},\n\temits: ['click'],\n\tcomputed: {\n\t\tindicatorColor() {\n\t\t\treturn this.error ? 'var(--color-error)' : (this.saving ? 'var(--color-primary-element)' : 'none')\n\t\t},\n\t},\n})\n</script>\n"],"names":[],"mappings":";;AAyEA,MAAA,YAAA,gBAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,UAAA;AAAA,IACA,iBAAA;AACA,aAAA,KAAA,QAAA,uBAAA,KAAA,SAAA,iCAAA;AAAA,IACA;AAAA,EACA;AACA,CAAA;;;;;;;;;;;;;;;;;;;;"}