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

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 (921) hide show
  1. package/CHANGELOG.md +302 -8
  2. package/README.md +2 -13
  3. package/dist/assets/NcActionButton-BLoWchS5.css +105 -0
  4. package/dist/assets/NcActionCaption-B7FZTc3Y.css +32 -0
  5. package/dist/assets/NcActionCheckbox-CoQEhC0c.css +79 -0
  6. package/dist/assets/NcActionInput-BEvIPQv2.css +220 -0
  7. package/dist/assets/NcActionLink-Dxv-rmRR.css +91 -0
  8. package/dist/assets/NcActionRadio-CsMcYeMT.css +78 -0
  9. package/dist/assets/NcActionRouter-CflTO8Z-.css +102 -0
  10. package/dist/assets/NcActionText-CV2sRLti.css +106 -0
  11. package/dist/assets/NcActionTextEditable-Nufxk13g.css +238 -0
  12. package/dist/assets/NcActions-P5DOkDHr.css +83 -0
  13. package/dist/assets/NcAppContent-CyHAUPNL.css +124 -0
  14. package/dist/assets/NcAppNavigation-B21SNH2o.css +108 -0
  15. package/dist/assets/NcAppNavigationCaption-Ddf7LHGR.css +48 -0
  16. package/dist/assets/NcAppNavigationIconBullet-By_0o2dG.css +30 -0
  17. package/dist/assets/NcAppNavigationItem-OPiz-90P.css +208 -0
  18. package/dist/assets/NcAppNavigationList-BHK_PY3c.css +28 -0
  19. package/dist/assets/NcAppNavigationNewItem-BoSjpr5m.css +191 -0
  20. package/dist/assets/NcAppNavigationSearch-C5RevjgZ.css +41 -0
  21. package/dist/assets/NcAppNavigationSettings-CZNoJ2IO.css +77 -0
  22. package/dist/assets/NcAppNavigationToggle-D2c7IdEL.css +27 -0
  23. package/dist/assets/NcAppSettingsDialog-B6Pliptg.css +72 -0
  24. package/dist/assets/NcAppSettingsSection-Y3DmEyQ2.css +30 -0
  25. package/dist/assets/NcAppSidebar-DJR5EHRN.css +364 -0
  26. package/dist/assets/NcAvatar-0pU8ivmq.css +132 -0
  27. package/dist/assets/NcBreadcrumb-10d4k_Pc.css +68 -0
  28. package/dist/assets/NcBreadcrumbs-aYVMDayQ.css +37 -0
  29. package/dist/assets/NcButton-DoYn-HfJ.css +210 -0
  30. package/dist/assets/NcCheckboxRadioSwitch-CG-8Isv_.css +199 -0
  31. package/dist/assets/NcChip-JjMdjcjN.css +65 -0
  32. package/dist/assets/NcCollectionList-B4azFVAf.css +221 -0
  33. package/dist/assets/NcColorPicker-B4Vqq3HN.css +173 -0
  34. package/dist/assets/NcContent-CQc_dM2n.css +79 -0
  35. package/dist/assets/NcCounterBubble-BfI32Juo.css +53 -0
  36. package/dist/assets/NcDashboardWidget-Hc2DAw3Y.css +73 -0
  37. package/dist/assets/NcDashboardWidgetItem-CCjoWolF.css +85 -0
  38. package/dist/assets/NcDateTimePicker-D67l0SAR.css +865 -0
  39. package/dist/assets/NcDialog-DG8bAh01.css +131 -0
  40. package/dist/assets/NcEllipsisedOption-CTvngv1F.css +34 -0
  41. package/dist/assets/NcEmojiPicker-BDp_Jc8K.css +554 -0
  42. package/dist/assets/NcHeaderButton-8c2zDKtV.css +49 -0
  43. package/dist/assets/NcHeaderMenu-CDlSXB2d.css +83 -0
  44. package/dist/assets/NcInputField-CthOpVGS.css +169 -0
  45. package/dist/assets/NcListItem-oz15CnUw.css +186 -0
  46. package/dist/assets/NcListItemIcon-d5-l-ZB1.css +72 -0
  47. package/dist/assets/NcMentionBubble-C6t8od-_.css +73 -0
  48. package/dist/assets/NcNoteCard-CImn6F9p.css +55 -0
  49. package/dist/assets/NcPasswordField-By-kPRJC.css +21 -0
  50. package/dist/assets/NcPopover-BGWT8K0v.css +99 -0
  51. package/dist/assets/NcRelatedResourcesPanel-CrarpPeQ.css +158 -0
  52. package/dist/assets/NcRichContenteditable-heb9EQV3.css +269 -0
  53. package/dist/assets/NcRichText-C_CIawDX.css +412 -0
  54. package/dist/assets/NcSelect-EIXtZSVn.css +199 -0
  55. package/dist/assets/NcSettingsSection-DXQyhMdq.css +53 -0
  56. package/dist/assets/NcTextArea-CUPKm8vZ.css +112 -0
  57. package/dist/assets/NcUserBubble-DE3IWeZN.css +48 -0
  58. package/dist/assets/NcUserStatusIcon-FLA1tQpD.css +30 -0
  59. package/dist/assets/index-BHBrLd2w.css +284 -0
  60. package/dist/assets/referencePickerModal-CZYRGXDd.css +413 -0
  61. package/dist/chunks/AlertCircleOutline-DoHidQlr.mjs +48 -0
  62. package/dist/chunks/AlertCircleOutline-DoHidQlr.mjs.map +1 -0
  63. package/dist/chunks/ArrowLeft-DCZ3CkUw.mjs +48 -0
  64. package/dist/chunks/ArrowLeft-DCZ3CkUw.mjs.map +1 -0
  65. package/dist/chunks/ArrowRight-CCodNfTT.mjs +48 -0
  66. package/dist/chunks/ArrowRight-CCodNfTT.mjs.map +1 -0
  67. package/dist/chunks/Check-DDuGOKMw.mjs +48 -0
  68. package/dist/chunks/Check-DDuGOKMw.mjs.map +1 -0
  69. package/dist/chunks/ChevronDown-C6gc637b.mjs +48 -0
  70. package/dist/chunks/ChevronDown-C6gc637b.mjs.map +1 -0
  71. package/dist/chunks/ChevronLeft-uQipmOWv.mjs +48 -0
  72. package/dist/chunks/ChevronLeft-uQipmOWv.mjs.map +1 -0
  73. package/dist/chunks/ChevronRight-D4KvRLyO.mjs +48 -0
  74. package/dist/chunks/ChevronRight-D4KvRLyO.mjs.map +1 -0
  75. package/dist/chunks/ChevronUp-ChH8oB7p.mjs +48 -0
  76. package/dist/chunks/ChevronUp-ChH8oB7p.mjs.map +1 -0
  77. package/dist/chunks/Close-9bmgDVZE.mjs +48 -0
  78. package/dist/chunks/Close-9bmgDVZE.mjs.map +1 -0
  79. package/dist/chunks/DotsHorizontal-bCAjz9wZ.mjs +48 -0
  80. package/dist/chunks/DotsHorizontal-bCAjz9wZ.mjs.map +1 -0
  81. package/dist/chunks/GenColors-Cw7N7vRg.mjs +133 -0
  82. package/dist/chunks/GenColors-Cw7N7vRg.mjs.map +1 -0
  83. package/dist/chunks/NcActionButton-B3JQywgv.mjs +234 -0
  84. package/dist/chunks/NcActionButton-B3JQywgv.mjs.map +1 -0
  85. package/dist/chunks/NcActionButtonGroup-DtHcJpaH.mjs +58 -0
  86. package/dist/chunks/NcActionButtonGroup-DtHcJpaH.mjs.map +1 -0
  87. package/dist/chunks/NcActionCaption-BeVuTBKE.mjs +32 -0
  88. package/dist/chunks/NcActionCaption-BeVuTBKE.mjs.map +1 -0
  89. package/dist/chunks/NcActionCheckbox-DdLcVat_.mjs +125 -0
  90. package/dist/chunks/NcActionCheckbox-DdLcVat_.mjs.map +1 -0
  91. package/dist/chunks/NcActionInput-CxPmTwTo.mjs +358 -0
  92. package/dist/chunks/NcActionInput-CxPmTwTo.mjs.map +1 -0
  93. package/dist/chunks/NcActionLink-9TfevQgn.mjs +120 -0
  94. package/dist/chunks/NcActionLink-9TfevQgn.mjs.map +1 -0
  95. package/dist/chunks/NcActionRadio-CV0AtyQD.mjs +128 -0
  96. package/dist/chunks/NcActionRadio-CV0AtyQD.mjs.map +1 -0
  97. package/dist/chunks/NcActionRouter-RKft3XO3.mjs +81 -0
  98. package/dist/chunks/NcActionRouter-RKft3XO3.mjs.map +1 -0
  99. package/dist/chunks/NcActionText-ChktUmp9.mjs +63 -0
  100. package/dist/chunks/NcActionText-ChktUmp9.mjs.map +1 -0
  101. package/dist/chunks/NcActionTextEditable-D3Iix8Je.mjs +130 -0
  102. package/dist/chunks/NcActionTextEditable-D3Iix8Je.mjs.map +1 -0
  103. package/dist/chunks/NcActions-BJ703bdY.mjs +772 -0
  104. package/dist/chunks/NcActions-BJ703bdY.mjs.map +1 -0
  105. package/dist/chunks/NcAppContent-DcqJmTNj.mjs +363 -0
  106. package/dist/chunks/NcAppContent-DcqJmTNj.mjs.map +1 -0
  107. package/dist/chunks/NcAppNavigation-DKl5GKDr.mjs +166 -0
  108. package/dist/chunks/NcAppNavigation-DKl5GKDr.mjs.map +1 -0
  109. package/dist/chunks/NcAppNavigationCaption-yvL3fHpB.mjs +97 -0
  110. package/dist/chunks/NcAppNavigationCaption-yvL3fHpB.mjs.map +1 -0
  111. package/dist/chunks/NcAppNavigationIconBullet-DXwKXzN2.mjs +43 -0
  112. package/dist/chunks/NcAppNavigationIconBullet-DXwKXzN2.mjs.map +1 -0
  113. package/dist/chunks/NcAppNavigationItem-Ba6kwsU9.mjs +623 -0
  114. package/dist/chunks/NcAppNavigationItem-Ba6kwsU9.mjs.map +1 -0
  115. package/dist/chunks/NcAppNavigationList-HRNlIV27.mjs +16 -0
  116. package/dist/chunks/NcAppNavigationList-HRNlIV27.mjs.map +1 -0
  117. package/dist/chunks/NcAppNavigationNew-D2aD0z-u.mjs +57 -0
  118. package/dist/chunks/NcAppNavigationNew-D2aD0z-u.mjs.map +1 -0
  119. package/dist/chunks/NcAppNavigationNewItem-BPYFl_Xy.mjs +120 -0
  120. package/dist/chunks/NcAppNavigationNewItem-BPYFl_Xy.mjs.map +1 -0
  121. package/dist/chunks/NcAppNavigationSearch-pTeRzg7y.mjs +104 -0
  122. package/dist/chunks/NcAppNavigationSearch-pTeRzg7y.mjs.map +1 -0
  123. package/dist/chunks/NcAppNavigationSettings-Bc4ZZ9rU.mjs +142 -0
  124. package/dist/chunks/NcAppNavigationSettings-Bc4ZZ9rU.mjs.map +1 -0
  125. package/dist/chunks/NcAppNavigationToggle-CEun9mHr.mjs +158 -0
  126. package/dist/chunks/NcAppNavigationToggle-CEun9mHr.mjs.map +1 -0
  127. package/dist/chunks/NcAppSettingsDialog-CQ1KFqAh.mjs +254 -0
  128. package/dist/chunks/NcAppSettingsDialog-CQ1KFqAh.mjs.map +1 -0
  129. package/dist/chunks/NcAppSettingsSection-BzqBBgS2.mjs +63 -0
  130. package/dist/chunks/NcAppSettingsSection-BzqBBgS2.mjs.map +1 -0
  131. package/dist/chunks/NcAppSidebar-C0VSug_j.mjs +978 -0
  132. package/dist/chunks/NcAppSidebar-C0VSug_j.mjs.map +1 -0
  133. package/dist/chunks/NcAvatar-CB2n3G0J.mjs +657 -0
  134. package/dist/chunks/NcAvatar-CB2n3G0J.mjs.map +1 -0
  135. package/dist/chunks/NcBreadcrumb-ChOkGtT6.mjs +243 -0
  136. package/dist/chunks/NcBreadcrumb-ChOkGtT6.mjs.map +1 -0
  137. package/dist/chunks/NcBreadcrumbs-CcWv0nYL.mjs +458 -0
  138. package/dist/chunks/NcBreadcrumbs-CcWv0nYL.mjs.map +1 -0
  139. package/dist/chunks/NcButton-C3eisBbK.mjs +300 -0
  140. package/dist/chunks/NcButton-C3eisBbK.mjs.map +1 -0
  141. package/dist/chunks/NcCheckboxRadioSwitch-Zndby-mL.mjs +809 -0
  142. package/dist/chunks/NcCheckboxRadioSwitch-Zndby-mL.mjs.map +1 -0
  143. package/dist/chunks/NcChip-DxejjHGT.mjs +134 -0
  144. package/dist/chunks/NcChip-DxejjHGT.mjs.map +1 -0
  145. package/dist/chunks/NcCollectionList-DckB8BUh.mjs +585 -0
  146. package/dist/chunks/NcCollectionList-DckB8BUh.mjs.map +1 -0
  147. package/dist/chunks/NcColorPicker-Bh4f-X_s.mjs +274 -0
  148. package/dist/chunks/NcColorPicker-Bh4f-X_s.mjs.map +1 -0
  149. package/dist/chunks/NcContent-CfyPkDba.mjs +130 -0
  150. package/dist/chunks/NcContent-CfyPkDba.mjs.map +1 -0
  151. package/dist/chunks/NcCounterBubble-DIOmLH9G.mjs +77 -0
  152. package/dist/chunks/NcCounterBubble-DIOmLH9G.mjs.map +1 -0
  153. package/dist/chunks/NcDashboardWidget-DC7EvOH5.mjs +184 -0
  154. package/dist/chunks/NcDashboardWidget-DC7EvOH5.mjs.map +1 -0
  155. package/dist/chunks/NcDashboardWidgetItem-Bmm83kUk.mjs +197 -0
  156. package/dist/chunks/NcDashboardWidgetItem-Bmm83kUk.mjs.map +1 -0
  157. package/dist/chunks/NcDateTime-BsCT_tyH.mjs +147 -0
  158. package/dist/chunks/NcDateTime-BsCT_tyH.mjs.map +1 -0
  159. package/dist/chunks/NcDateTimePicker-BMkjvfOV.mjs +377 -0
  160. package/dist/chunks/NcDateTimePicker-BMkjvfOV.mjs.map +1 -0
  161. package/dist/chunks/NcDateTimePickerNative-I2YJ1mqx.mjs +200 -0
  162. package/dist/chunks/NcDateTimePickerNative-I2YJ1mqx.mjs.map +1 -0
  163. package/dist/chunks/NcDialog-bRHxABY1.mjs +309 -0
  164. package/dist/chunks/NcDialog-bRHxABY1.mjs.map +1 -0
  165. package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-CBKNl2vE.mjs +117 -0
  166. package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-CBKNl2vE.mjs.map +1 -0
  167. package/dist/chunks/NcEllipsisedOption-BaL7DZ1K.mjs +105 -0
  168. package/dist/chunks/NcEllipsisedOption-BaL7DZ1K.mjs.map +1 -0
  169. package/dist/chunks/NcEmojiPicker-DIv_bq9B.mjs +380 -0
  170. package/dist/chunks/NcEmojiPicker-DIv_bq9B.mjs.map +1 -0
  171. package/dist/chunks/NcHeaderButton-DagheXHN.mjs +48 -0
  172. package/dist/chunks/NcHeaderButton-DagheXHN.mjs.map +1 -0
  173. package/dist/chunks/NcHeaderMenu-DWrnJYhw.mjs +260 -0
  174. package/dist/chunks/NcHeaderMenu-DWrnJYhw.mjs.map +1 -0
  175. package/dist/chunks/NcInputConfirmCancel-CHdSVEcQ.mjs +116 -0
  176. package/dist/chunks/NcInputConfirmCancel-CHdSVEcQ.mjs.map +1 -0
  177. package/dist/chunks/NcInputField-BMtTTtl5.mjs +305 -0
  178. package/dist/chunks/NcInputField-BMtTTtl5.mjs.map +1 -0
  179. package/dist/chunks/NcListItem-D04-5zRU.mjs +381 -0
  180. package/dist/chunks/NcListItem-D04-5zRU.mjs.map +1 -0
  181. package/dist/chunks/NcListItemIcon-DcBo1GLm.mjs +208 -0
  182. package/dist/chunks/NcListItemIcon-DcBo1GLm.mjs.map +1 -0
  183. package/dist/chunks/NcNoteCard-BwQvZ3pf.mjs +275 -0
  184. package/dist/chunks/NcNoteCard-BwQvZ3pf.mjs.map +1 -0
  185. package/dist/chunks/NcPasswordField-OK30bZq8.mjs +298 -0
  186. package/dist/chunks/NcPasswordField-OK30bZq8.mjs.map +1 -0
  187. package/dist/chunks/NcPopover-Cmspgso4.mjs +259 -0
  188. package/dist/chunks/NcPopover-Cmspgso4.mjs.map +1 -0
  189. package/dist/chunks/NcRelatedResourcesPanel-DvA5dHwS.mjs +546 -0
  190. package/dist/chunks/NcRelatedResourcesPanel-DvA5dHwS.mjs.map +1 -0
  191. package/dist/chunks/NcRichContenteditable-s2Cz698X.mjs +740 -0
  192. package/dist/chunks/NcRichContenteditable-s2Cz698X.mjs.map +1 -0
  193. package/dist/chunks/NcRichText-DeQGaF-c.mjs +445 -0
  194. package/dist/chunks/NcRichText-DeQGaF-c.mjs.map +1 -0
  195. package/dist/chunks/NcSelect-J_CQazCj.mjs +577 -0
  196. package/dist/chunks/NcSelect-J_CQazCj.mjs.map +1 -0
  197. package/dist/chunks/NcSelectTags-BZ22veGg.mjs +302 -0
  198. package/dist/chunks/NcSelectTags-BZ22veGg.mjs.map +1 -0
  199. package/dist/chunks/NcSettingsInputText-Bjw2RqKu.mjs +122 -0
  200. package/dist/chunks/NcSettingsInputText-Bjw2RqKu.mjs.map +1 -0
  201. package/dist/chunks/NcSettingsSection-MATJGEoF.mjs +115 -0
  202. package/dist/chunks/NcSettingsSection-MATJGEoF.mjs.map +1 -0
  203. package/dist/chunks/NcSettingsSelectGroup-iglfU6Rr.mjs +226 -0
  204. package/dist/chunks/NcSettingsSelectGroup-iglfU6Rr.mjs.map +1 -0
  205. package/dist/chunks/NcTextArea-D_kk5GuX.mjs +216 -0
  206. package/dist/chunks/NcTextArea-D_kk5GuX.mjs.map +1 -0
  207. package/dist/chunks/NcTextField-XbpY0pop.mjs +173 -0
  208. package/dist/chunks/NcTextField-XbpY0pop.mjs.map +1 -0
  209. package/dist/chunks/NcTimezonePicker-CMpvPeCI.mjs +187 -0
  210. package/dist/chunks/NcTimezonePicker-CMpvPeCI.mjs.map +1 -0
  211. package/dist/chunks/NcUserBubble-DJFSxKtO.mjs +227 -0
  212. package/dist/chunks/NcUserBubble-DJFSxKtO.mjs.map +1 -0
  213. package/dist/chunks/NcUserStatusIcon-DjoGxkTB.mjs +135 -0
  214. package/dist/chunks/NcUserStatusIcon-DjoGxkTB.mjs.map +1 -0
  215. package/dist/chunks/ScopeComponent-77f9B57X.mjs +14 -0
  216. package/dist/chunks/ScopeComponent-77f9B57X.mjs.map +1 -0
  217. package/dist/chunks/_l10n-D7WwrqS-.mjs +126 -0
  218. package/dist/chunks/_l10n-D7WwrqS-.mjs.map +1 -0
  219. package/dist/chunks/emoji-BY_D0V5K.mjs +64 -0
  220. package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -0
  221. package/dist/chunks/index-CrKUsc__.mjs +116 -0
  222. package/dist/chunks/index-CrKUsc__.mjs.map +1 -0
  223. package/dist/chunks/index-CtB0UiwH.mjs +186 -0
  224. package/dist/chunks/index-CtB0UiwH.mjs.map +1 -0
  225. package/dist/chunks/referencePickerModal-DPmXigHR.mjs +1362 -0
  226. package/dist/chunks/referencePickerModal-DPmXigHR.mjs.map +1 -0
  227. package/dist/chunks/usernameToColor-CgZYBI2J.mjs +26 -0
  228. package/dist/chunks/usernameToColor-CgZYBI2J.mjs.map +1 -0
  229. package/dist/components/NcActionButton/NcActionButton.vue.d.ts +16 -10
  230. package/dist/components/NcActionButton/index.mjs +4 -0
  231. package/dist/components/NcActionButton/index.mjs.map +1 -0
  232. package/dist/components/NcActionButtonGroup/NcActionButtonGroup.vue.d.ts +5 -5
  233. package/dist/components/NcActionButtonGroup/index.mjs +4 -0
  234. package/dist/components/NcActionButtonGroup/index.mjs.map +1 -0
  235. package/dist/components/NcActionCaption/NcActionCaption.vue.d.ts +3 -3
  236. package/dist/components/NcActionCaption/index.mjs +4 -0
  237. package/dist/components/NcActionCaption/index.mjs.map +1 -0
  238. package/dist/components/NcActionCheckbox/NcActionCheckbox.vue.d.ts +7 -7
  239. package/dist/components/NcActionCheckbox/index.mjs +4 -0
  240. package/dist/components/NcActionCheckbox/index.mjs.map +1 -0
  241. package/dist/components/NcActionInput/index.mjs +4 -0
  242. package/dist/components/NcActionInput/index.mjs.map +1 -0
  243. package/dist/components/NcActionLink/index.mjs +4 -0
  244. package/dist/components/NcActionLink/index.mjs.map +1 -0
  245. package/dist/components/NcActionRadio/NcActionRadio.vue.d.ts +7 -7
  246. package/dist/components/NcActionRadio/index.mjs +4 -0
  247. package/dist/components/NcActionRadio/index.mjs.map +1 -0
  248. package/dist/components/NcActionRouter/NcActionRouter.vue.d.ts +4 -4
  249. package/dist/components/NcActionRouter/index.mjs +4 -0
  250. package/dist/components/NcActionRouter/index.mjs.map +1 -0
  251. package/dist/components/NcActionSeparator/NcActionSeparator.vue.d.ts +1 -1
  252. package/dist/components/NcActionSeparator/index.mjs +4 -0
  253. package/dist/components/NcActionSeparator/index.mjs.map +1 -0
  254. package/dist/components/NcActionText/NcActionText.vue.d.ts +1 -1
  255. package/dist/components/NcActionText/index.mjs +4 -0
  256. package/dist/components/NcActionText/index.mjs.map +1 -0
  257. package/dist/components/NcActionTextEditable/NcActionTextEditable.vue.d.ts +8 -6
  258. package/dist/components/NcActionTextEditable/index.mjs +4 -0
  259. package/dist/components/NcActionTextEditable/index.mjs.map +1 -0
  260. package/dist/components/NcActions/NcActions.vue.d.ts +167 -12
  261. package/dist/components/NcActions/index.mjs +4 -0
  262. package/dist/components/NcActions/index.mjs.map +1 -0
  263. package/dist/components/NcAppContent/index.mjs +4 -0
  264. package/dist/components/NcAppContent/index.mjs.map +1 -0
  265. package/dist/components/NcAppContentDetails/NcAppContentDetails.vue.d.ts +1 -1
  266. package/dist/components/NcAppContentDetails/index.mjs +4 -0
  267. package/dist/components/NcAppContentDetails/index.mjs.map +1 -0
  268. package/dist/components/NcAppContentList/NcAppContentList.vue.d.ts +4 -4
  269. package/dist/components/NcAppContentList/index.mjs +4 -0
  270. package/dist/components/NcAppContentList/index.mjs.map +1 -0
  271. package/dist/components/NcAppNavigation/NcAppNavigation.vue.d.ts +165 -6
  272. package/dist/components/NcAppNavigation/index.mjs +4 -0
  273. package/dist/components/NcAppNavigation/index.mjs.map +1 -0
  274. package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +376 -71
  275. package/dist/components/NcAppNavigationCaption/index.mjs +4 -0
  276. package/dist/components/NcAppNavigationCaption/index.mjs.map +1 -0
  277. package/dist/components/NcAppNavigationIconBullet/NcAppNavigationIconBullet.vue.d.ts +5 -5
  278. package/dist/components/NcAppNavigationIconBullet/index.mjs +4 -0
  279. package/dist/components/NcAppNavigationIconBullet/index.mjs.map +1 -0
  280. package/dist/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue.d.ts +145 -5
  281. package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +908 -19
  282. package/dist/components/NcAppNavigationItem/NcInputConfirmCancel.vue.d.ts +147 -7
  283. package/dist/components/NcAppNavigationItem/index.mjs +4 -0
  284. package/dist/components/NcAppNavigationItem/index.mjs.map +1 -0
  285. package/dist/components/NcAppNavigationList/NcAppNavigationList.vue.d.ts +1 -1
  286. package/dist/components/NcAppNavigationList/index.mjs +4 -0
  287. package/dist/components/NcAppNavigationList/index.mjs.map +1 -0
  288. package/dist/components/NcAppNavigationNew/NcAppNavigationNew.vue.d.ts +144 -6
  289. package/dist/components/NcAppNavigationNew/index.mjs +4 -0
  290. package/dist/components/NcAppNavigationNew/index.mjs.map +1 -0
  291. package/dist/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue.d.ts +228 -5
  292. package/dist/components/NcAppNavigationNewItem/index.mjs +4 -0
  293. package/dist/components/NcAppNavigationNewItem/index.mjs.map +1 -0
  294. package/dist/components/NcAppNavigationSearch/NcAppNavigationSearch.vue.d.ts +388 -0
  295. package/dist/components/NcAppNavigationSearch/index.d.ts +5 -0
  296. package/dist/components/NcAppNavigationSearch/index.mjs +4 -0
  297. package/dist/components/NcAppNavigationSearch/index.mjs.map +1 -0
  298. package/dist/components/NcAppNavigationSettings/index.mjs +4 -0
  299. package/dist/components/NcAppNavigationSettings/index.mjs.map +1 -0
  300. package/dist/components/NcAppNavigationSpacer/NcAppNavigationSpacer.vue.d.ts +1 -1
  301. package/dist/components/NcAppNavigationSpacer/index.mjs +4 -0
  302. package/dist/components/NcAppNavigationSpacer/index.mjs.map +1 -0
  303. package/dist/components/NcAppNavigationToggle/NcAppNavigationToggle.vue.d.ts +144 -4
  304. package/dist/components/NcAppNavigationToggle/index.mjs +5 -0
  305. package/dist/components/NcAppNavigationToggle/index.mjs.map +1 -0
  306. package/dist/components/NcAppSettingsDialog/index.mjs +4 -0
  307. package/dist/components/NcAppSettingsDialog/index.mjs.map +1 -0
  308. package/dist/components/NcAppSettingsSection/NcAppSettingsSection.vue.d.ts +3 -3
  309. package/dist/components/NcAppSettingsSection/index.mjs +4 -0
  310. package/dist/components/NcAppSettingsSection/index.mjs.map +1 -0
  311. package/dist/components/NcAppSidebar/NcAppSidebarTabs.vue.d.ts +41 -5
  312. package/dist/components/NcAppSidebar/index.mjs +4 -0
  313. package/dist/components/NcAppSidebar/index.mjs.map +1 -0
  314. package/dist/components/NcAppSidebarTab/NcAppSidebarTab.vue.d.ts +5 -5
  315. package/dist/components/NcAppSidebarTab/index.mjs +4 -0
  316. package/dist/components/NcAppSidebarTab/index.mjs.map +1 -0
  317. package/dist/components/NcAvatar/index.mjs +4 -0
  318. package/dist/components/NcAvatar/index.mjs.map +1 -0
  319. package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +516 -14
  320. package/dist/components/NcBreadcrumb/index.mjs +4 -0
  321. package/dist/components/NcBreadcrumb/index.mjs.map +1 -0
  322. package/dist/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +1177 -5
  323. package/dist/components/NcBreadcrumbs/index.mjs +4 -0
  324. package/dist/components/NcBreadcrumbs/index.mjs.map +1 -0
  325. package/dist/components/NcButton/NcButton.vue.d.ts +66 -31
  326. package/dist/components/NcButton/index.d.ts +1 -0
  327. package/dist/components/NcButton/index.mjs +7 -0
  328. package/dist/components/NcButton/index.mjs.map +1 -0
  329. package/dist/components/NcButton/types.d.ts +30 -0
  330. package/dist/components/NcCheckboxRadioSwitch/index.mjs +4 -0
  331. package/dist/components/NcCheckboxRadioSwitch/index.mjs.map +1 -0
  332. package/dist/components/NcChip/NcChip.vue.d.ts +31 -19
  333. package/dist/components/NcChip/index.mjs +4 -0
  334. package/dist/components/NcChip/index.mjs.map +1 -0
  335. package/dist/components/NcCollectionList/index.d.ts +1 -0
  336. package/dist/components/NcCollectionList/index.mjs +4 -0
  337. package/dist/components/NcCollectionList/index.mjs.map +1 -0
  338. package/dist/components/NcCollectionList/service.d.ts +47 -0
  339. package/dist/components/NcCollectionList/useCollections.d.ts +31 -0
  340. package/dist/components/NcColorPicker/index.mjs +4 -0
  341. package/dist/components/NcColorPicker/index.mjs.map +1 -0
  342. package/dist/components/NcContent/NcContent.vue.d.ts +207 -4
  343. package/dist/components/NcContent/index.mjs +4 -0
  344. package/dist/components/NcContent/index.mjs.map +1 -0
  345. package/dist/components/NcCounterBubble/NcCounterBubble.vue.d.ts +38 -5
  346. package/dist/components/NcCounterBubble/index.mjs +4 -0
  347. package/dist/components/NcCounterBubble/index.mjs.map +1 -0
  348. package/dist/components/NcDashboardWidget/index.mjs +4 -0
  349. package/dist/components/NcDashboardWidget/index.mjs.map +1 -0
  350. package/dist/components/NcDashboardWidgetItem/index.mjs +4 -0
  351. package/dist/components/NcDashboardWidgetItem/index.mjs.map +1 -0
  352. package/dist/components/NcDateTime/index.mjs +4 -0
  353. package/dist/components/NcDateTime/index.mjs.map +1 -0
  354. package/dist/components/NcDateTimePicker/index.mjs +4 -0
  355. package/dist/components/NcDateTimePicker/index.mjs.map +1 -0
  356. package/dist/components/NcDateTimePickerNative/index.mjs +4 -0
  357. package/dist/components/NcDateTimePickerNative/index.mjs.map +1 -0
  358. package/dist/components/NcDialog/NcDialog.vue.d.ts +508 -1
  359. package/dist/components/NcDialog/index.mjs +4 -0
  360. package/dist/components/NcDialog/index.mjs.map +1 -0
  361. package/dist/components/NcDialogButton/NcDialogButton.vue.d.ts +134 -1
  362. package/dist/components/NcDialogButton/index.d.ts +4 -0
  363. package/dist/components/NcDialogButton/index.mjs +4 -0
  364. package/dist/components/NcDialogButton/index.mjs.map +1 -0
  365. package/dist/components/NcEllipsisedOption/NcEllipsisedOption.vue.d.ts +43 -8
  366. package/dist/components/NcEllipsisedOption/index.mjs +4 -0
  367. package/dist/components/NcEllipsisedOption/index.mjs.map +1 -0
  368. package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +451 -6
  369. package/dist/components/NcEmojiPicker/index.mjs +4 -0
  370. package/dist/components/NcEmojiPicker/index.mjs.map +1 -0
  371. package/dist/components/NcEmptyContent/NcEmptyContent.vue.d.ts +4 -4
  372. package/dist/components/NcEmptyContent/index.mjs +4 -0
  373. package/dist/components/NcEmptyContent/index.mjs.map +1 -0
  374. package/dist/components/NcGuestContent/NcGuestContent.vue.d.ts +1 -1
  375. package/dist/components/NcGuestContent/index.mjs +4 -0
  376. package/dist/components/NcGuestContent/index.mjs.map +1 -0
  377. package/dist/components/NcHeaderButton/NcHeaderButton.vue.d.ts +38 -0
  378. package/dist/components/NcHeaderButton/index.d.ts +5 -0
  379. package/dist/components/NcHeaderButton/index.mjs +4 -0
  380. package/dist/components/NcHeaderButton/index.mjs.map +1 -0
  381. package/dist/components/NcHeaderMenu/index.mjs +4 -0
  382. package/dist/components/NcHeaderMenu/index.mjs.map +1 -0
  383. package/dist/components/NcHighlight/NcHighlight.vue.d.ts +4 -4
  384. package/dist/components/NcHighlight/index.mjs +4 -0
  385. package/dist/components/NcHighlight/index.mjs.map +1 -0
  386. package/dist/components/NcIconSvgWrapper/NcIconSvgWrapper.vue.d.ts +8 -8
  387. package/dist/components/NcIconSvgWrapper/index.mjs +4 -0
  388. package/dist/components/NcIconSvgWrapper/index.mjs.map +1 -0
  389. package/dist/components/NcInputField/NcInputField.vue.d.ts +155 -15
  390. package/dist/components/NcInputField/index.mjs +4 -0
  391. package/dist/components/NcInputField/index.mjs.map +1 -0
  392. package/dist/components/NcListItem/NcListItem.vue.d.ts +464 -15
  393. package/dist/components/NcListItem/index.mjs +4 -0
  394. package/dist/components/NcListItem/index.mjs.map +1 -0
  395. package/dist/components/NcListItemIcon/index.mjs +4 -0
  396. package/dist/components/NcListItemIcon/index.mjs.map +1 -0
  397. package/dist/components/NcLoadingIcon/NcLoadingIcon.vue.d.ts +4 -4
  398. package/dist/components/NcLoadingIcon/index.mjs +4 -0
  399. package/dist/components/NcLoadingIcon/index.mjs.map +1 -0
  400. package/dist/components/NcModal/index.mjs +775 -0
  401. package/dist/components/NcModal/index.mjs.map +1 -0
  402. package/dist/components/NcNoteCard/NcNoteCard.vue.d.ts +40 -7
  403. package/dist/components/NcNoteCard/index.mjs +4 -0
  404. package/dist/components/NcNoteCard/index.mjs.map +1 -0
  405. package/dist/components/NcPasswordField/index.mjs +4 -0
  406. package/dist/components/NcPasswordField/index.mjs.map +1 -0
  407. package/dist/components/NcPopover/NcPopoverTriggerProvider.vue.d.ts +12 -6
  408. package/dist/components/NcPopover/index.mjs +4 -0
  409. package/dist/components/NcPopover/index.mjs.map +1 -0
  410. package/dist/components/NcProgressBar/index.mjs +4 -0
  411. package/dist/components/NcProgressBar/index.mjs.map +1 -0
  412. package/dist/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +420 -9
  413. package/dist/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +141 -3
  414. package/dist/components/NcRelatedResourcesPanel/NcTeamResources.vue.d.ts +208 -4
  415. package/dist/components/NcRelatedResourcesPanel/index.mjs +4 -0
  416. package/dist/components/NcRelatedResourcesPanel/index.mjs.map +1 -0
  417. package/dist/components/NcRichContenteditable/NcAutoCompleteResult.vue.d.ts +14 -12
  418. package/dist/components/NcRichContenteditable/NcMentionBubble.vue.d.ts +80 -1
  419. package/dist/components/NcRichContenteditable/index.mjs +7 -0
  420. package/dist/components/NcRichContenteditable/index.mjs.map +1 -0
  421. package/dist/components/NcRichText/NcReferenceList.vue.d.ts +220 -10
  422. package/dist/components/NcRichText/NcReferencePicker/NcCustomPickerElement.vue.d.ts +6 -6
  423. package/dist/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue.d.ts +574 -4
  424. package/dist/components/NcRichText/NcReferencePicker/NcSearchResult.vue.d.ts +38 -3
  425. package/dist/components/NcRichText/NcReferenceWidget.vue.d.ts +145 -7
  426. package/dist/components/NcRichText/NcRichText.vue.d.ts +308 -8
  427. package/dist/components/NcRichText/autolink.d.ts +0 -1
  428. package/dist/components/NcRichText/index.mjs +26 -0
  429. package/dist/components/NcRichText/index.mjs.map +1 -0
  430. package/dist/components/NcSavingIndicatorIcon/NcSavingIndicatorIcon.vue.d.ts +6 -6
  431. package/dist/components/NcSavingIndicatorIcon/index.mjs +4 -0
  432. package/dist/components/NcSavingIndicatorIcon/index.mjs.map +1 -0
  433. package/dist/components/NcSelect/index.mjs +4 -0
  434. package/dist/components/NcSelect/index.mjs.map +1 -0
  435. package/dist/components/NcSelectTags/index.mjs +4 -0
  436. package/dist/components/NcSelectTags/index.mjs.map +1 -0
  437. package/dist/components/NcSettingsInputText/NcSettingsInputText.vue.d.ts +6 -6
  438. package/dist/components/NcSettingsInputText/index.mjs +4 -0
  439. package/dist/components/NcSettingsInputText/index.mjs.map +1 -0
  440. package/dist/components/NcSettingsSection/NcSettingsSection.vue.d.ts +6 -4
  441. package/dist/components/NcSettingsSection/index.mjs +4 -0
  442. package/dist/components/NcSettingsSection/index.mjs.map +1 -0
  443. package/dist/components/NcSettingsSelectGroup/index.mjs +5 -0
  444. package/dist/components/NcSettingsSelectGroup/index.mjs.map +1 -0
  445. package/dist/components/NcTextArea/NcTextArea.vue.d.ts +12 -9
  446. package/dist/components/NcTextArea/index.mjs +4 -0
  447. package/dist/components/NcTextArea/index.mjs.map +1 -0
  448. package/dist/components/NcTextField/NcTextField.vue.d.ts +295 -2
  449. package/dist/components/NcTextField/index.mjs +4 -0
  450. package/dist/components/NcTextField/index.mjs.map +1 -0
  451. package/dist/components/NcTimezonePicker/index.mjs +4 -0
  452. package/dist/components/NcTimezonePicker/index.mjs.map +1 -0
  453. package/dist/components/NcUserBubble/NcUserBubbleDiv.vue.d.ts +1 -1
  454. package/dist/components/NcUserBubble/index.mjs +4 -0
  455. package/dist/components/NcUserBubble/index.mjs.map +1 -0
  456. package/dist/components/NcUserStatusIcon/index.mjs +4 -0
  457. package/dist/components/NcUserStatusIcon/index.mjs.map +1 -0
  458. package/dist/components/NcVNodes/NcVNodes.vue.d.ts +7 -7
  459. package/dist/components/NcVNodes/index.mjs.map +1 -0
  460. package/dist/components/index.d.ts +3 -0
  461. package/dist/composables/index.d.ts +2 -0
  462. package/dist/composables/useFormatDateTime.d.ts +49 -21
  463. package/dist/composables/useHotKey/index.d.ts +7 -0
  464. package/dist/composables/useHotKey/index.mjs +69 -0
  465. package/dist/composables/useHotKey/index.mjs.map +1 -0
  466. package/dist/composables/useIsDarkTheme/index.d.ts +15 -0
  467. package/dist/composables/useIsDarkTheme/index.mjs +18 -0
  468. package/dist/composables/useIsDarkTheme/index.mjs.map +1 -0
  469. package/dist/composables/useIsFullscreen/index.mjs.map +1 -0
  470. package/dist/composables/useIsMobile/index.d.ts +1 -1
  471. package/dist/composables/useIsMobile/index.mjs.map +1 -0
  472. package/dist/directives/Focus/index.mjs.map +1 -0
  473. package/dist/directives/Linkify/index.mjs +10 -0
  474. package/dist/directives/Linkify/index.mjs.map +1 -0
  475. package/dist/directives/Tooltip/index.mjs +11 -0
  476. package/dist/directives/Tooltip/index.mjs.map +1 -0
  477. package/dist/functions/a11y/index.mjs.map +1 -0
  478. package/dist/functions/dialog/index.d.ts +17 -0
  479. package/dist/functions/dialog/index.mjs +23 -0
  480. package/dist/functions/dialog/index.mjs.map +1 -0
  481. package/dist/functions/emoji/emoji.d.ts +21 -8
  482. package/dist/functions/emoji/index.mjs +8 -0
  483. package/dist/functions/emoji/index.mjs.map +1 -0
  484. package/dist/functions/index.d.ts +6 -0
  485. package/dist/functions/isDarkTheme/index.d.ts +17 -0
  486. package/dist/functions/isDarkTheme/index.mjs +12 -0
  487. package/dist/functions/isDarkTheme/index.mjs.map +1 -0
  488. package/dist/functions/reference/index.d.ts +0 -1
  489. package/dist/functions/reference/index.mjs +18 -0
  490. package/dist/functions/reference/index.mjs.map +1 -0
  491. package/dist/functions/registerReference/index.mjs +13 -0
  492. package/dist/functions/registerReference/index.mjs.map +1 -0
  493. package/dist/functions/usernameToColor/index.mjs +4 -0
  494. package/dist/functions/usernameToColor/index.mjs.map +1 -0
  495. package/dist/functions/usernameToColor/usernameToColor.d.ts +7 -2
  496. package/dist/index.d.ts +1 -2
  497. package/dist/index.mjs +189 -274
  498. package/dist/index.mjs.map +1 -1
  499. package/dist/mixins/clickOutsideOptions/index.d.ts +1 -1
  500. package/dist/mixins/clickOutsideOptions/index.mjs.map +1 -0
  501. package/dist/mixins/richEditor/index.mjs +10 -0
  502. package/dist/mixins/richEditor/index.mjs.map +1 -0
  503. package/dist/utils/GenColors.d.ts +2 -2
  504. package/dist/utils/VueTypes.d.ts +2 -0
  505. package/dist/utils/isSlotPopulated.d.ts +0 -1
  506. package/dist/vendor.LICENSE.txt +1 -1
  507. package/package.json +55 -53
  508. package/dist/Components/NcActionButton.mjs +0 -4
  509. package/dist/Components/NcActionButton.mjs.map +0 -1
  510. package/dist/Components/NcActionButtonGroup.mjs +0 -4
  511. package/dist/Components/NcActionButtonGroup.mjs.map +0 -1
  512. package/dist/Components/NcActionCaption.mjs +0 -4
  513. package/dist/Components/NcActionCaption.mjs.map +0 -1
  514. package/dist/Components/NcActionCheckbox.mjs +0 -4
  515. package/dist/Components/NcActionCheckbox.mjs.map +0 -1
  516. package/dist/Components/NcActionInput.mjs +0 -4
  517. package/dist/Components/NcActionInput.mjs.map +0 -1
  518. package/dist/Components/NcActionLink.mjs +0 -4
  519. package/dist/Components/NcActionLink.mjs.map +0 -1
  520. package/dist/Components/NcActionRadio.mjs +0 -4
  521. package/dist/Components/NcActionRadio.mjs.map +0 -1
  522. package/dist/Components/NcActionRouter.mjs +0 -4
  523. package/dist/Components/NcActionRouter.mjs.map +0 -1
  524. package/dist/Components/NcActionSeparator.mjs +0 -4
  525. package/dist/Components/NcActionSeparator.mjs.map +0 -1
  526. package/dist/Components/NcActionText.mjs +0 -4
  527. package/dist/Components/NcActionText.mjs.map +0 -1
  528. package/dist/Components/NcActionTextEditable.mjs +0 -4
  529. package/dist/Components/NcActionTextEditable.mjs.map +0 -1
  530. package/dist/Components/NcActions.mjs +0 -4
  531. package/dist/Components/NcActions.mjs.map +0 -1
  532. package/dist/Components/NcAppContent.mjs +0 -4
  533. package/dist/Components/NcAppContent.mjs.map +0 -1
  534. package/dist/Components/NcAppContentDetails.mjs +0 -4
  535. package/dist/Components/NcAppContentDetails.mjs.map +0 -1
  536. package/dist/Components/NcAppContentList.mjs +0 -4
  537. package/dist/Components/NcAppContentList.mjs.map +0 -1
  538. package/dist/Components/NcAppNavigation.mjs +0 -4
  539. package/dist/Components/NcAppNavigation.mjs.map +0 -1
  540. package/dist/Components/NcAppNavigationCaption.mjs +0 -4
  541. package/dist/Components/NcAppNavigationCaption.mjs.map +0 -1
  542. package/dist/Components/NcAppNavigationIconBullet.mjs +0 -4
  543. package/dist/Components/NcAppNavigationIconBullet.mjs.map +0 -1
  544. package/dist/Components/NcAppNavigationItem.mjs +0 -4
  545. package/dist/Components/NcAppNavigationItem.mjs.map +0 -1
  546. package/dist/Components/NcAppNavigationList.mjs +0 -4
  547. package/dist/Components/NcAppNavigationList.mjs.map +0 -1
  548. package/dist/Components/NcAppNavigationNew.mjs +0 -4
  549. package/dist/Components/NcAppNavigationNew.mjs.map +0 -1
  550. package/dist/Components/NcAppNavigationNewItem.mjs +0 -4
  551. package/dist/Components/NcAppNavigationNewItem.mjs.map +0 -1
  552. package/dist/Components/NcAppNavigationSettings.mjs +0 -4
  553. package/dist/Components/NcAppNavigationSettings.mjs.map +0 -1
  554. package/dist/Components/NcAppNavigationSpacer.mjs +0 -4
  555. package/dist/Components/NcAppNavigationSpacer.mjs.map +0 -1
  556. package/dist/Components/NcAppNavigationToggle.mjs +0 -5
  557. package/dist/Components/NcAppNavigationToggle.mjs.map +0 -1
  558. package/dist/Components/NcAppSettingsDialog.mjs +0 -4
  559. package/dist/Components/NcAppSettingsDialog.mjs.map +0 -1
  560. package/dist/Components/NcAppSettingsSection.mjs +0 -4
  561. package/dist/Components/NcAppSettingsSection.mjs.map +0 -1
  562. package/dist/Components/NcAppSidebar.mjs +0 -4
  563. package/dist/Components/NcAppSidebar.mjs.map +0 -1
  564. package/dist/Components/NcAppSidebarTab.mjs +0 -4
  565. package/dist/Components/NcAppSidebarTab.mjs.map +0 -1
  566. package/dist/Components/NcAvatar.mjs +0 -4
  567. package/dist/Components/NcAvatar.mjs.map +0 -1
  568. package/dist/Components/NcBreadcrumb.mjs +0 -4
  569. package/dist/Components/NcBreadcrumb.mjs.map +0 -1
  570. package/dist/Components/NcBreadcrumbs.mjs +0 -4
  571. package/dist/Components/NcBreadcrumbs.mjs.map +0 -1
  572. package/dist/Components/NcButton.mjs +0 -4
  573. package/dist/Components/NcButton.mjs.map +0 -1
  574. package/dist/Components/NcCheckboxRadioSwitch.mjs +0 -4
  575. package/dist/Components/NcCheckboxRadioSwitch.mjs.map +0 -1
  576. package/dist/Components/NcChip.mjs +0 -4
  577. package/dist/Components/NcChip.mjs.map +0 -1
  578. package/dist/Components/NcColorPicker.mjs +0 -4
  579. package/dist/Components/NcColorPicker.mjs.map +0 -1
  580. package/dist/Components/NcContent.mjs +0 -4
  581. package/dist/Components/NcContent.mjs.map +0 -1
  582. package/dist/Components/NcCounterBubble.mjs +0 -4
  583. package/dist/Components/NcCounterBubble.mjs.map +0 -1
  584. package/dist/Components/NcDashboardWidget.mjs +0 -4
  585. package/dist/Components/NcDashboardWidget.mjs.map +0 -1
  586. package/dist/Components/NcDashboardWidgetItem.mjs +0 -4
  587. package/dist/Components/NcDashboardWidgetItem.mjs.map +0 -1
  588. package/dist/Components/NcDateTime.mjs +0 -4
  589. package/dist/Components/NcDateTime.mjs.map +0 -1
  590. package/dist/Components/NcDateTimePicker.mjs +0 -4
  591. package/dist/Components/NcDateTimePicker.mjs.map +0 -1
  592. package/dist/Components/NcDateTimePickerNative.mjs +0 -4
  593. package/dist/Components/NcDateTimePickerNative.mjs.map +0 -1
  594. package/dist/Components/NcDialog.mjs +0 -4
  595. package/dist/Components/NcDialog.mjs.map +0 -1
  596. package/dist/Components/NcDialogButton.mjs +0 -4
  597. package/dist/Components/NcDialogButton.mjs.map +0 -1
  598. package/dist/Components/NcEllipsisedOption.mjs +0 -4
  599. package/dist/Components/NcEllipsisedOption.mjs.map +0 -1
  600. package/dist/Components/NcEmojiPicker.mjs +0 -4
  601. package/dist/Components/NcEmojiPicker.mjs.map +0 -1
  602. package/dist/Components/NcEmptyContent.mjs +0 -4
  603. package/dist/Components/NcEmptyContent.mjs.map +0 -1
  604. package/dist/Components/NcGuestContent.mjs +0 -4
  605. package/dist/Components/NcGuestContent.mjs.map +0 -1
  606. package/dist/Components/NcHeaderMenu.mjs +0 -4
  607. package/dist/Components/NcHeaderMenu.mjs.map +0 -1
  608. package/dist/Components/NcHighlight.mjs +0 -4
  609. package/dist/Components/NcHighlight.mjs.map +0 -1
  610. package/dist/Components/NcIconSvgWrapper.mjs +0 -4
  611. package/dist/Components/NcIconSvgWrapper.mjs.map +0 -1
  612. package/dist/Components/NcInputField.mjs +0 -4
  613. package/dist/Components/NcInputField.mjs.map +0 -1
  614. package/dist/Components/NcListItem.mjs +0 -4
  615. package/dist/Components/NcListItem.mjs.map +0 -1
  616. package/dist/Components/NcListItemIcon.mjs +0 -4
  617. package/dist/Components/NcListItemIcon.mjs.map +0 -1
  618. package/dist/Components/NcLoadingIcon.mjs +0 -4
  619. package/dist/Components/NcLoadingIcon.mjs.map +0 -1
  620. package/dist/Components/NcModal.mjs +0 -783
  621. package/dist/Components/NcModal.mjs.map +0 -1
  622. package/dist/Components/NcNoteCard.mjs +0 -4
  623. package/dist/Components/NcNoteCard.mjs.map +0 -1
  624. package/dist/Components/NcPasswordField.mjs +0 -4
  625. package/dist/Components/NcPasswordField.mjs.map +0 -1
  626. package/dist/Components/NcPopover.mjs +0 -4
  627. package/dist/Components/NcPopover.mjs.map +0 -1
  628. package/dist/Components/NcProgressBar.mjs +0 -4
  629. package/dist/Components/NcProgressBar.mjs.map +0 -1
  630. package/dist/Components/NcRelatedResourcesPanel.mjs +0 -4
  631. package/dist/Components/NcRelatedResourcesPanel.mjs.map +0 -1
  632. package/dist/Components/NcRichContenteditable.mjs +0 -7
  633. package/dist/Components/NcRichContenteditable.mjs.map +0 -1
  634. package/dist/Components/NcRichText.mjs +0 -26
  635. package/dist/Components/NcRichText.mjs.map +0 -1
  636. package/dist/Components/NcSavingIndicatorIcon.mjs +0 -4
  637. package/dist/Components/NcSavingIndicatorIcon.mjs.map +0 -1
  638. package/dist/Components/NcSelect.mjs +0 -4
  639. package/dist/Components/NcSelect.mjs.map +0 -1
  640. package/dist/Components/NcSelectTags.mjs +0 -4
  641. package/dist/Components/NcSelectTags.mjs.map +0 -1
  642. package/dist/Components/NcSettingsInputText.mjs +0 -4
  643. package/dist/Components/NcSettingsInputText.mjs.map +0 -1
  644. package/dist/Components/NcSettingsSection.mjs +0 -4
  645. package/dist/Components/NcSettingsSection.mjs.map +0 -1
  646. package/dist/Components/NcSettingsSelectGroup.mjs +0 -5
  647. package/dist/Components/NcSettingsSelectGroup.mjs.map +0 -1
  648. package/dist/Components/NcTextArea.mjs +0 -4
  649. package/dist/Components/NcTextArea.mjs.map +0 -1
  650. package/dist/Components/NcTextField.mjs +0 -4
  651. package/dist/Components/NcTextField.mjs.map +0 -1
  652. package/dist/Components/NcTimezonePicker.mjs +0 -4
  653. package/dist/Components/NcTimezonePicker.mjs.map +0 -1
  654. package/dist/Components/NcUserBubble.mjs +0 -4
  655. package/dist/Components/NcUserBubble.mjs.map +0 -1
  656. package/dist/Components/NcUserStatusIcon.mjs +0 -4
  657. package/dist/Components/NcUserStatusIcon.mjs.map +0 -1
  658. package/dist/Components/NcVNodes.mjs.map +0 -1
  659. package/dist/Composables/useIsFullscreen.mjs.map +0 -1
  660. package/dist/Composables/useIsMobile.mjs.map +0 -1
  661. package/dist/Directives/Focus.mjs.map +0 -1
  662. package/dist/Directives/Linkify.mjs +0 -10
  663. package/dist/Directives/Linkify.mjs.map +0 -1
  664. package/dist/Directives/Tooltip.mjs +0 -11
  665. package/dist/Directives/Tooltip.mjs.map +0 -1
  666. package/dist/Functions/a11y.mjs.map +0 -1
  667. package/dist/Functions/emoji.mjs +0 -8
  668. package/dist/Functions/emoji.mjs.map +0 -1
  669. package/dist/Functions/reference.mjs +0 -18
  670. package/dist/Functions/reference.mjs.map +0 -1
  671. package/dist/Functions/registerReference.mjs +0 -13
  672. package/dist/Functions/registerReference.mjs.map +0 -1
  673. package/dist/Functions/usernameToColor.mjs +0 -4
  674. package/dist/Functions/usernameToColor.mjs.map +0 -1
  675. package/dist/Mixins/clickOutsideOptions.mjs.map +0 -1
  676. package/dist/Mixins/richEditor.mjs +0 -10
  677. package/dist/Mixins/richEditor.mjs.map +0 -1
  678. package/dist/assets/NcActionButton-tvMk0Dz-.css +0 -107
  679. package/dist/assets/NcActionCaption-D-VXTPLI.css +0 -32
  680. package/dist/assets/NcActionCheckbox-DzmNTqwC.css +0 -78
  681. package/dist/assets/NcActionInput-4qR5N5lV.css +0 -222
  682. package/dist/assets/NcActionLink-Djp7wPGg.css +0 -92
  683. package/dist/assets/NcActionRadio-ZRQheAZT.css +0 -78
  684. package/dist/assets/NcActionRouter-B0l-dISs.css +0 -103
  685. package/dist/assets/NcActionText-Ip9hRt85.css +0 -107
  686. package/dist/assets/NcActionTextEditable-1JPkW_4o.css +0 -238
  687. package/dist/assets/NcActions-pRTZ3RyK.css +0 -83
  688. package/dist/assets/NcAppContent-CK9aL637.css +0 -125
  689. package/dist/assets/NcAppNavigation-BjnW8PQn.css +0 -103
  690. package/dist/assets/NcAppNavigationCaption-NPhURS5E.css +0 -48
  691. package/dist/assets/NcAppNavigationIconBullet-EfIZU7x-.css +0 -30
  692. package/dist/assets/NcAppNavigationItem-wQ3n8jc-.css +0 -211
  693. package/dist/assets/NcAppNavigationList-BIbyyT7b.css +0 -29
  694. package/dist/assets/NcAppNavigationNewItem-CO3GnR26.css +0 -194
  695. package/dist/assets/NcAppNavigationSettings-Cyn2gy0W.css +0 -79
  696. package/dist/assets/NcAppNavigationToggle-CNPQvWtG.css +0 -27
  697. package/dist/assets/NcAppSettingsDialog-ksK-DMgk.css +0 -74
  698. package/dist/assets/NcAppSettingsSection-CcRbdcD-.css +0 -30
  699. package/dist/assets/NcAppSidebar-CxMCtTtn.css +0 -361
  700. package/dist/assets/NcAvatar-BnHiRwVr.css +0 -129
  701. package/dist/assets/NcBreadcrumb-CJ7KeSKQ.css +0 -68
  702. package/dist/assets/NcBreadcrumbs-C05lySw_.css +0 -37
  703. package/dist/assets/NcButton-D3_Qd5cl.css +0 -191
  704. package/dist/assets/NcCheckboxRadioSwitch-By6afmQ3.css +0 -196
  705. package/dist/assets/NcChip-Cho4h_Kr.css +0 -61
  706. package/dist/assets/NcColorPicker-vEZb9dRS.css +0 -122
  707. package/dist/assets/NcContent-DljiVMLl.css +0 -80
  708. package/dist/assets/NcCounterBubble-DT16e2bg.css +0 -53
  709. package/dist/assets/NcDashboardWidget-CvGZT_xf.css +0 -73
  710. package/dist/assets/NcDashboardWidgetItem-JCtQhwhS.css +0 -85
  711. package/dist/assets/NcDateTimePicker-BLEg7GJo.css +0 -851
  712. package/dist/assets/NcDialog-BmN7gR6_.css +0 -132
  713. package/dist/assets/NcEllipsisedOption-DZK2vWD1.css +0 -34
  714. package/dist/assets/NcEmojiPicker-C18M6LHu.css +0 -553
  715. package/dist/assets/NcHeaderMenu-C-0GR7Si.css +0 -77
  716. package/dist/assets/NcInputField-DXzhRkiY.css +0 -164
  717. package/dist/assets/NcListItem-Cs-R5Xpu.css +0 -156
  718. package/dist/assets/NcListItemIcon-C2zhDUEr.css +0 -64
  719. package/dist/assets/NcMentionBubble-B-xYaJDc.css +0 -70
  720. package/dist/assets/NcModal-B5iEU9Qr.css +0 -285
  721. package/dist/assets/NcNoteCard-BLPU1den.css +0 -50
  722. package/dist/assets/NcPopover-BDlL00qZ.css +0 -96
  723. package/dist/assets/NcRelatedResourcesPanel-C56aj2M3.css +0 -158
  724. package/dist/assets/NcRichContenteditable-B_YH-89_.css +0 -258
  725. package/dist/assets/NcRichText-yqgOn353.css +0 -217
  726. package/dist/assets/NcSelect-9AZOhTlS.css +0 -184
  727. package/dist/assets/NcSettingsSection-CFKAEs4p.css +0 -52
  728. package/dist/assets/NcTextArea-BjB_qSH0.css +0 -112
  729. package/dist/assets/NcUserBubble-CIfQjmmP.css +0 -48
  730. package/dist/assets/NcUserStatusIcon-D9N1ER72.css +0 -30
  731. package/dist/assets/referencePickerModal-DeIfdfau.css +0 -413
  732. package/dist/chunks/AlertCircleOutline-DWBCJkLM.mjs +0 -48
  733. package/dist/chunks/AlertCircleOutline-DWBCJkLM.mjs.map +0 -1
  734. package/dist/chunks/ArrowLeft-CxK9DnMo.mjs +0 -48
  735. package/dist/chunks/ArrowLeft-CxK9DnMo.mjs.map +0 -1
  736. package/dist/chunks/ArrowRight-Cg6xGDcS.mjs +0 -48
  737. package/dist/chunks/ArrowRight-Cg6xGDcS.mjs.map +0 -1
  738. package/dist/chunks/Check-_j2mQvkT.mjs +0 -48
  739. package/dist/chunks/Check-_j2mQvkT.mjs.map +0 -1
  740. package/dist/chunks/ChevronDown-De_Zvlgu.mjs +0 -48
  741. package/dist/chunks/ChevronDown-De_Zvlgu.mjs.map +0 -1
  742. package/dist/chunks/ChevronRight-C33SNIxR.mjs +0 -48
  743. package/dist/chunks/ChevronRight-C33SNIxR.mjs.map +0 -1
  744. package/dist/chunks/ChevronUp-b4LkDSk-.mjs +0 -48
  745. package/dist/chunks/ChevronUp-b4LkDSk-.mjs.map +0 -1
  746. package/dist/chunks/Close-pmiXntgw.mjs +0 -48
  747. package/dist/chunks/Close-pmiXntgw.mjs.map +0 -1
  748. package/dist/chunks/DotsHorizontal-CCNSfNOk.mjs +0 -48
  749. package/dist/chunks/DotsHorizontal-CCNSfNOk.mjs.map +0 -1
  750. package/dist/chunks/GenColors-BidEIqUL.mjs +0 -133
  751. package/dist/chunks/GenColors-BidEIqUL.mjs.map +0 -1
  752. package/dist/chunks/NcActionButton-Bqkgltcz.mjs +0 -223
  753. package/dist/chunks/NcActionButton-Bqkgltcz.mjs.map +0 -1
  754. package/dist/chunks/NcActionButtonGroup-BeQ4mLmQ.mjs +0 -58
  755. package/dist/chunks/NcActionButtonGroup-BeQ4mLmQ.mjs.map +0 -1
  756. package/dist/chunks/NcActionCaption-Cb_uvgZc.mjs +0 -32
  757. package/dist/chunks/NcActionCaption-Cb_uvgZc.mjs.map +0 -1
  758. package/dist/chunks/NcActionCheckbox-A6JNjini.mjs +0 -125
  759. package/dist/chunks/NcActionCheckbox-A6JNjini.mjs.map +0 -1
  760. package/dist/chunks/NcActionInput-DCe8K_gs.mjs +0 -358
  761. package/dist/chunks/NcActionInput-DCe8K_gs.mjs.map +0 -1
  762. package/dist/chunks/NcActionLink-C0mINC5i.mjs +0 -122
  763. package/dist/chunks/NcActionLink-C0mINC5i.mjs.map +0 -1
  764. package/dist/chunks/NcActionRadio-BqAyH2zq.mjs +0 -128
  765. package/dist/chunks/NcActionRadio-BqAyH2zq.mjs.map +0 -1
  766. package/dist/chunks/NcActionRouter-Dr-j-IUI.mjs +0 -83
  767. package/dist/chunks/NcActionRouter-Dr-j-IUI.mjs.map +0 -1
  768. package/dist/chunks/NcActionText-C5ZPI56c.mjs +0 -65
  769. package/dist/chunks/NcActionText-C5ZPI56c.mjs.map +0 -1
  770. package/dist/chunks/NcActionTextEditable-CLXTDGjr.mjs +0 -130
  771. package/dist/chunks/NcActionTextEditable-CLXTDGjr.mjs.map +0 -1
  772. package/dist/chunks/NcActions-COaRMDe5.mjs +0 -733
  773. package/dist/chunks/NcActions-COaRMDe5.mjs.map +0 -1
  774. package/dist/chunks/NcAppContent-D2in9bd7.mjs +0 -350
  775. package/dist/chunks/NcAppContent-D2in9bd7.mjs.map +0 -1
  776. package/dist/chunks/NcAppNavigation-Dz1n-CeR.mjs +0 -162
  777. package/dist/chunks/NcAppNavigation-Dz1n-CeR.mjs.map +0 -1
  778. package/dist/chunks/NcAppNavigationCaption-6odGo1iM.mjs +0 -93
  779. package/dist/chunks/NcAppNavigationCaption-6odGo1iM.mjs.map +0 -1
  780. package/dist/chunks/NcAppNavigationIconBullet-DuqQFciH.mjs +0 -43
  781. package/dist/chunks/NcAppNavigationIconBullet-DuqQFciH.mjs.map +0 -1
  782. package/dist/chunks/NcAppNavigationItem-BHtzDfb2.mjs +0 -624
  783. package/dist/chunks/NcAppNavigationItem-BHtzDfb2.mjs.map +0 -1
  784. package/dist/chunks/NcAppNavigationList-DCmrqe9N.mjs +0 -16
  785. package/dist/chunks/NcAppNavigationList-DCmrqe9N.mjs.map +0 -1
  786. package/dist/chunks/NcAppNavigationNew-CRonFKWJ.mjs +0 -57
  787. package/dist/chunks/NcAppNavigationNew-CRonFKWJ.mjs.map +0 -1
  788. package/dist/chunks/NcAppNavigationNewItem-Ctbp1kb-.mjs +0 -120
  789. package/dist/chunks/NcAppNavigationNewItem-Ctbp1kb-.mjs.map +0 -1
  790. package/dist/chunks/NcAppNavigationSettings-ynYeFb6Z.mjs +0 -142
  791. package/dist/chunks/NcAppNavigationSettings-ynYeFb6Z.mjs.map +0 -1
  792. package/dist/chunks/NcAppNavigationToggle-DYG8u5dW.mjs +0 -158
  793. package/dist/chunks/NcAppNavigationToggle-DYG8u5dW.mjs.map +0 -1
  794. package/dist/chunks/NcAppSettingsDialog-CjpGb_I4.mjs +0 -254
  795. package/dist/chunks/NcAppSettingsDialog-CjpGb_I4.mjs.map +0 -1
  796. package/dist/chunks/NcAppSettingsSection-a7OfJ9GT.mjs +0 -59
  797. package/dist/chunks/NcAppSettingsSection-a7OfJ9GT.mjs.map +0 -1
  798. package/dist/chunks/NcAppSidebar-BGCuCKk_.mjs +0 -962
  799. package/dist/chunks/NcAppSidebar-BGCuCKk_.mjs.map +0 -1
  800. package/dist/chunks/NcAvatar-OjWzLdGK.mjs +0 -658
  801. package/dist/chunks/NcAvatar-OjWzLdGK.mjs.map +0 -1
  802. package/dist/chunks/NcBreadcrumb-Df7Nn5jU.mjs +0 -243
  803. package/dist/chunks/NcBreadcrumb-Df7Nn5jU.mjs.map +0 -1
  804. package/dist/chunks/NcBreadcrumbs-CighY87i.mjs +0 -458
  805. package/dist/chunks/NcBreadcrumbs-CighY87i.mjs.map +0 -1
  806. package/dist/chunks/NcButton-DvO0XwJf.mjs +0 -253
  807. package/dist/chunks/NcButton-DvO0XwJf.mjs.map +0 -1
  808. package/dist/chunks/NcCheckboxRadioSwitch-BW7W0ToW.mjs +0 -790
  809. package/dist/chunks/NcCheckboxRadioSwitch-BW7W0ToW.mjs.map +0 -1
  810. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs +0 -3
  811. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs.map +0 -1
  812. package/dist/chunks/NcChip-Crkkyllt.mjs +0 -143
  813. package/dist/chunks/NcChip-Crkkyllt.mjs.map +0 -1
  814. package/dist/chunks/NcColorPicker-Bq2-21Np.mjs +0 -273
  815. package/dist/chunks/NcColorPicker-Bq2-21Np.mjs.map +0 -1
  816. package/dist/chunks/NcContent-WcbDFG2f.mjs +0 -130
  817. package/dist/chunks/NcContent-WcbDFG2f.mjs.map +0 -1
  818. package/dist/chunks/NcCounterBubble-B0Sk58x_.mjs +0 -44
  819. package/dist/chunks/NcCounterBubble-B0Sk58x_.mjs.map +0 -1
  820. package/dist/chunks/NcDashboardWidget-xBpqAct1.mjs +0 -186
  821. package/dist/chunks/NcDashboardWidget-xBpqAct1.mjs.map +0 -1
  822. package/dist/chunks/NcDashboardWidgetItem-BwemNzvL.mjs +0 -197
  823. package/dist/chunks/NcDashboardWidgetItem-BwemNzvL.mjs.map +0 -1
  824. package/dist/chunks/NcDateTime-BVQqC6rO.mjs +0 -147
  825. package/dist/chunks/NcDateTime-BVQqC6rO.mjs.map +0 -1
  826. package/dist/chunks/NcDateTimePicker-CjuFbS-2.mjs +0 -377
  827. package/dist/chunks/NcDateTimePicker-CjuFbS-2.mjs.map +0 -1
  828. package/dist/chunks/NcDateTimePickerNative-DwJ_yIEg.mjs +0 -200
  829. package/dist/chunks/NcDateTimePickerNative-DwJ_yIEg.mjs.map +0 -1
  830. package/dist/chunks/NcDialog-CE2gyz2g.mjs +0 -273
  831. package/dist/chunks/NcDialog-CE2gyz2g.mjs.map +0 -1
  832. package/dist/chunks/NcDialogButton-DAb0CNtg.mjs +0 -88
  833. package/dist/chunks/NcDialogButton-DAb0CNtg.mjs.map +0 -1
  834. package/dist/chunks/NcEllipsisedOption-CufdpPBu.mjs +0 -104
  835. package/dist/chunks/NcEllipsisedOption-CufdpPBu.mjs.map +0 -1
  836. package/dist/chunks/NcEmojiPicker-DNbUUyLY.mjs +0 -380
  837. package/dist/chunks/NcEmojiPicker-DNbUUyLY.mjs.map +0 -1
  838. package/dist/chunks/NcHeaderMenu-CIWkk8T1.mjs +0 -259
  839. package/dist/chunks/NcHeaderMenu-CIWkk8T1.mjs.map +0 -1
  840. package/dist/chunks/NcInputConfirmCancel-Cwh6_J6A.mjs +0 -116
  841. package/dist/chunks/NcInputConfirmCancel-Cwh6_J6A.mjs.map +0 -1
  842. package/dist/chunks/NcInputField-BrAvsgA4.mjs +0 -308
  843. package/dist/chunks/NcInputField-BrAvsgA4.mjs.map +0 -1
  844. package/dist/chunks/NcListItem-D3yyUn7h.mjs +0 -359
  845. package/dist/chunks/NcListItem-D3yyUn7h.mjs.map +0 -1
  846. package/dist/chunks/NcListItemIcon-B06oTqsI.mjs +0 -207
  847. package/dist/chunks/NcListItemIcon-B06oTqsI.mjs.map +0 -1
  848. package/dist/chunks/NcNoteCard-CQgzjr2r.mjs +0 -252
  849. package/dist/chunks/NcNoteCard-CQgzjr2r.mjs.map +0 -1
  850. package/dist/chunks/NcPasswordField-CaRDsoPg.mjs +0 -286
  851. package/dist/chunks/NcPasswordField-CaRDsoPg.mjs.map +0 -1
  852. package/dist/chunks/NcPopover-BXfbq-Vs.mjs +0 -259
  853. package/dist/chunks/NcPopover-BXfbq-Vs.mjs.map +0 -1
  854. package/dist/chunks/NcRelatedResourcesPanel-Bg_z2tZT.mjs +0 -546
  855. package/dist/chunks/NcRelatedResourcesPanel-Bg_z2tZT.mjs.map +0 -1
  856. package/dist/chunks/NcRichContenteditable-Cx8Fv6sx.mjs +0 -806
  857. package/dist/chunks/NcRichContenteditable-Cx8Fv6sx.mjs.map +0 -1
  858. package/dist/chunks/NcRichText-2N_x-ark.mjs +0 -405
  859. package/dist/chunks/NcRichText-2N_x-ark.mjs.map +0 -1
  860. package/dist/chunks/NcSelect-CPlvJjcY.mjs +0 -565
  861. package/dist/chunks/NcSelect-CPlvJjcY.mjs.map +0 -1
  862. package/dist/chunks/NcSelectTags-Hpq3uQ0b.mjs +0 -302
  863. package/dist/chunks/NcSelectTags-Hpq3uQ0b.mjs.map +0 -1
  864. package/dist/chunks/NcSettingsInputText-oIYmufF3.mjs +0 -122
  865. package/dist/chunks/NcSettingsInputText-oIYmufF3.mjs.map +0 -1
  866. package/dist/chunks/NcSettingsSection-CMw4W_UL.mjs +0 -115
  867. package/dist/chunks/NcSettingsSection-CMw4W_UL.mjs.map +0 -1
  868. package/dist/chunks/NcSettingsSelectGroup-BTVYUUsQ.mjs +0 -226
  869. package/dist/chunks/NcSettingsSelectGroup-BTVYUUsQ.mjs.map +0 -1
  870. package/dist/chunks/NcTextArea-qvR02aYz.mjs +0 -217
  871. package/dist/chunks/NcTextArea-qvR02aYz.mjs.map +0 -1
  872. package/dist/chunks/NcTextField-W5cVvjob.mjs +0 -173
  873. package/dist/chunks/NcTextField-W5cVvjob.mjs.map +0 -1
  874. package/dist/chunks/NcTimezonePicker-DQ7LMeQo.mjs +0 -187
  875. package/dist/chunks/NcTimezonePicker-DQ7LMeQo.mjs.map +0 -1
  876. package/dist/chunks/NcUserBubble-DrQahQl0.mjs +0 -212
  877. package/dist/chunks/NcUserBubble-DrQahQl0.mjs.map +0 -1
  878. package/dist/chunks/NcUserStatusIcon-CA3yJfmu.mjs +0 -140
  879. package/dist/chunks/NcUserStatusIcon-CA3yJfmu.mjs.map +0 -1
  880. package/dist/chunks/ScopeComponent-C5tGtO7l.mjs +0 -14
  881. package/dist/chunks/ScopeComponent-C5tGtO7l.mjs.map +0 -1
  882. package/dist/chunks/_l10n-C3nxU4O-.mjs +0 -122
  883. package/dist/chunks/_l10n-C3nxU4O-.mjs.map +0 -1
  884. package/dist/chunks/emoji-Ba55f8iV.mjs +0 -64
  885. package/dist/chunks/emoji-Ba55f8iV.mjs.map +0 -1
  886. package/dist/chunks/index-BKkaCvJ0.mjs +0 -187
  887. package/dist/chunks/index-BKkaCvJ0.mjs.map +0 -1
  888. package/dist/chunks/index-CtoB4eIp.mjs +0 -116
  889. package/dist/chunks/index-CtoB4eIp.mjs.map +0 -1
  890. package/dist/chunks/referencePickerModal-Cho5o36L.mjs +0 -1360
  891. package/dist/chunks/referencePickerModal-Cho5o36L.mjs.map +0 -1
  892. package/dist/chunks/usernameToColor-4ci35wWd.mjs +0 -26
  893. package/dist/chunks/usernameToColor-4ci35wWd.mjs.map +0 -1
  894. package/dist/components/NcActionInput/NcActionInput.vue.d.ts +0 -271
  895. package/dist/components/NcAppContent/NcAppContent.vue.d.ts +0 -194
  896. package/dist/components/NcAppContent/NcAppDetailsToggle.vue.d.ts +0 -8
  897. package/dist/components/NcAppNavigationSettings/NcAppNavigationSettings.vue.d.ts +0 -37
  898. package/dist/components/NcAppSidebar/NcAppSidebar.vue.d.ts +0 -378
  899. package/dist/components/NcAvatar/NcAvatar.vue.d.ts +0 -467
  900. package/dist/components/NcDashboardWidget/NcDashboardWidget.vue.d.ts +0 -142
  901. package/dist/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue.d.ts +0 -170
  902. package/dist/components/NcHeaderMenu/NcHeaderMenu.vue.d.ts +0 -147
  903. package/dist/components/NcListItemIcon/NcListItemIcon.vue.d.ts +0 -207
  904. package/dist/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +0 -361
  905. package/dist/components/NcRichText/NcReferencePicker/NcProviderList.vue.d.ts +0 -16
  906. package/dist/components/NcRichText/NcReferencePicker/NcReferencePicker.vue.d.ts +0 -84
  907. package/dist/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue.d.ts +0 -72
  908. package/dist/components/NcRichText/NcReferencePicker/NcSearch.vue.d.ts +0 -69
  909. package/dist/components/NcSelect/NcSelect.vue.d.ts +0 -15
  910. package/dist/components/NcSelectTags/NcSelectTags.vue.d.ts +0 -23
  911. package/dist/components/NcSettingsSelectGroup/NcSettingsSelectGroup.vue.d.ts +0 -144
  912. package/dist/components/NcTimezonePicker/NcTimezonePicker.vue.d.ts +0 -78
  913. package/dist/components/NcUserBubble/NcUserBubble.vue.d.ts +0 -180
  914. package/dist/plugin.d.ts +0 -17
  915. /package/dist/assets/{Tooltip-4CSl8xev.css → index-4CSl8xev.css} +0 -0
  916. /package/dist/{Components/NcVNodes.mjs → components/NcVNodes/index.mjs} +0 -0
  917. /package/dist/{Composables/useIsFullscreen.mjs → composables/useIsFullscreen/index.mjs} +0 -0
  918. /package/dist/{Composables/useIsMobile.mjs → composables/useIsMobile/index.mjs} +0 -0
  919. /package/dist/{Directives/Focus.mjs → directives/Focus/index.mjs} +0 -0
  920. /package/dist/{Functions/a11y.mjs → functions/a11y/index.mjs} +0 -0
  921. /package/dist/{Mixins/clickOutsideOptions.mjs → mixins/clickOutsideOptions/index.mjs} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcRichContenteditable-s2Cz698X.mjs","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\talign-items: center;\n\tgap: var(--default-grid-baseline);\n\tline-height: 1.2;\n\t--auto-complete-result-avatar-size: var(--default-clickable-area);\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\t--auto-complete-result-status-icon-size: clamp(14px, var(--auto-complete-result-avatar-size) * 0.4, 18px);\n\t\t// Avatar Radius * (1 - 1 / sqrt(2)) - Status Icon Radius / 2\n\t\t--auto-complete-result-status-icon-position: calc(var(--auto-complete-result-avatar-size) / 2 * (1 - 1 / sqrt(2)) - var(--auto-complete-result-status-icon-size) / 2);\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tright: var(--auto-complete-result-status-icon-position);\n\t\tbottom: var(--auto-complete-result-status-icon-position);\n\t\theight: var(--auto-complete-result-status-icon-size);\n\t\twidth: var(--auto-complete-result-status-icon-size);\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: calc(var(--auto-complete-result-status-icon-size) / 1.2);\n\t\tline-height: 1.2;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: var(--auto-complete-result-status-icon-size);\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}\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\tv-model=\"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\tv-model=\"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\tv-model=\"message\"\n\t\t\tlabel=\"Write a comment\"\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\" :class=\"$props.class\">\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\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.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\tmodelValue: {\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\n\t\t/**\n\t\t * CSS class to apply to the root element.\n\t\t */\n\t\tclass: {\n\t\t\ttype: [String, Array, Object],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'submit',\n\t\t'paste',\n\t\t'update:modelValue',\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.modelValue,\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 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 * Compute debounce function for the autocomplete function\n\t\t */\n\t\tdebouncedAutoComplete() {\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\tmodelValue() {\n\t\t\tconst html = this.$refs.contenteditable.innerHTML\n\t\t\t// Compare trimmed versions to be safe\n\t\t\tif (this.modelValue.trim() !== this.parseContent(html).trim()) {\n\t\t\t\tthis.updateContent(this.modelValue)\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.modelValue)\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\tbeforeUnmount() {\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// Generate text and insert\n\t\t\tconst range = selection.getRangeAt(0)\n\t\t\trange.deleteContents()\n\t\t\trange.insertNode(document.createTextNode(text))\n\n\t\t\t// Collapse the range to the end position\n\t\t\trange.collapse(false)\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\t// Browsers keep <br> after erasing contenteditable\n\t\t\tconst text = this.parseContent(htmlOrText).replace(/^\\n$/, '')\n\t\t\tthis.localValue = text\n\t\t\tthis.$emit('update:modelValue', 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 * 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\tthis.updateValue(this.$refs.contenteditable.innerHTML)\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\t--contenteditable-block-offset: calc(2 * var(--default-grid-baseline));\n\t--contenteditable-inline-start-offset: calc(2 * var(--default-grid-baseline));\n\t--contenteditable-inline-end-offset: calc(2 * var(--default-grid-baseline));\n\tposition: relative;\n\twidth: auto;\n\n\t&__label {\n\t\tposition: absolute;\n\t\tmargin-inline: 14px;\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: 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-block: var(--contenteditable-block-offset);\n\t\tpadding-inline: var(--contenteditable-inline-start-offset) var(--contenteditable-inline-end-offset);\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: var(--default-clickable-area);\n\t\tmax-height: calc(var(--default-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\twidth: calc(100% - var(--contenteditable-inline-start-offset) - var(--contenteditable-inline-end-offset));\n\t\t\theight: calc(100% - 2 * var(--contenteditable-block-offset));\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\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: calc(var(--default-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 initializing\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-element, var(--border-radius));\n\tbackground: var(--color-main-background);\n\tbox-shadow: 0 1px 5px var(--color-box-shadow);\n\n\t&,\n\t& * {\n\t\tbox-sizing: border-box;\n\t}\n\n\tul {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: var(--default-grid-baseline);\n\t}\n\n\t.tribute-container__item {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tborder-radius: var(--border-radius-small, var(--border-radius));\n\t\tpadding: var(--default-grid-baseline);\n\t\tcursor: pointer;\n\t\tmin-height: var(--clickable-area-small, auto);\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 inside autocomplete\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) + 3 * 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 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\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: var(--default-grid-baseline);\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_normalizeStyle","_hoisted_2","_toDisplayString","_createBlock","_createCommentVNode","Tooltip","_withDirectives","_mergeProps","_withKeys","_withModifiers"],"mappings":"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"}
@@ -0,0 +1,445 @@
1
+ import '../assets/NcRichText-C_CIawDX.css';
2
+ import { N as NcReferenceWidget } from "./referencePickerModal-DPmXigHR.mjs";
3
+ import { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from "./autolink-CKPk5rzg.mjs";
4
+ import axios from "@nextcloud/axios";
5
+ import { getSharingToken } from "@nextcloud/sharing/public";
6
+ import { getCurrentUser } from "@nextcloud/auth";
7
+ import { generateOcsUrl } from "@nextcloud/router";
8
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createBlock, createCommentVNode, ref, h } from "vue";
9
+ import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
10
+ import { N as NcCheckboxRadioSwitch } from "./NcCheckboxRadioSwitch-Zndby-mL.mjs";
11
+ import { N as NcLoadingIcon } from "./NcLoadingIcon-DREmHXr2.mjs";
12
+ import { u } from "unist-builder";
13
+ import { visit } from "unist-util-visit";
14
+ import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
15
+ import { unified } from "unified";
16
+ import remarkParse from "remark-parse";
17
+ import breaks from "remark-breaks";
18
+ import remark2rehype from "remark-rehype";
19
+ import rehype2react from "rehype-react";
20
+ import rehypeExternalLinks from "rehype-external-links";
21
+ import { RouterLink } from "vue-router";
22
+ const _sfc_main$1 = {
23
+ name: "NcReferenceList",
24
+ components: {
25
+ NcReferenceWidget
26
+ },
27
+ props: {
28
+ text: {
29
+ type: String,
30
+ default: ""
31
+ },
32
+ referenceData: {
33
+ type: Object,
34
+ default: null
35
+ },
36
+ limit: {
37
+ type: Number,
38
+ default: 1
39
+ },
40
+ displayFallback: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ interactive: {
45
+ type: Boolean,
46
+ default: true
47
+ },
48
+ interactiveOptIn: {
49
+ type: Boolean,
50
+ default: false
51
+ }
52
+ },
53
+ emits: ["loaded"],
54
+ data() {
55
+ return {
56
+ references: null,
57
+ loading: true
58
+ };
59
+ },
60
+ computed: {
61
+ isVisible() {
62
+ return this.loading || this.displayedReferences.length !== 0;
63
+ },
64
+ values() {
65
+ if (this.referenceData) {
66
+ return this.referenceData;
67
+ }
68
+ if (this.displayFallback && !this.loading && !this.references) {
69
+ return [this.fallbackReference];
70
+ }
71
+ return this.references ? Object.values(this.references) : [];
72
+ },
73
+ firstReference() {
74
+ return this.values[0] ?? null;
75
+ },
76
+ displayedReferences() {
77
+ return this.values.slice(0, this.limit);
78
+ },
79
+ fallbackReference() {
80
+ return {
81
+ accessible: true,
82
+ openGraphObject: {
83
+ id: this.text,
84
+ link: this.text,
85
+ name: this.text
86
+ },
87
+ richObjectType: "open-graph"
88
+ };
89
+ }
90
+ },
91
+ watch: {
92
+ text: "fetch"
93
+ },
94
+ mounted() {
95
+ this.fetch();
96
+ },
97
+ methods: {
98
+ fetch() {
99
+ this.loading = true;
100
+ if (this.referenceData) {
101
+ this.references = null;
102
+ this.loading = false;
103
+ return;
104
+ }
105
+ if (!new RegExp(URL_PATTERN).exec(this.text)) {
106
+ this.references = null;
107
+ this.loading = false;
108
+ return;
109
+ }
110
+ this.resolve().then((response) => {
111
+ this.references = response.data.ocs.data.references;
112
+ this.loading = false;
113
+ this.$emit("loaded");
114
+ }).catch((error) => {
115
+ console.error("Failed to extract references", error);
116
+ this.loading = false;
117
+ this.$emit("loaded");
118
+ });
119
+ },
120
+ resolve() {
121
+ const match = new RegExp(URL_PATTERN).exec(this.text.trim());
122
+ const isPublic = getCurrentUser() === null;
123
+ if (this.limit === 1 && match) {
124
+ return isPublic ? axios.get(generateOcsUrl("references/resolvePublic") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl("references/resolve") + `?reference=${encodeURIComponent(match[0])}`);
125
+ }
126
+ return isPublic ? axios.post(generateOcsUrl("references/extractPublic"), {
127
+ text: this.text,
128
+ resolve: true,
129
+ limit: this.limit,
130
+ sharingToken: getSharingToken()
131
+ }) : axios.post(generateOcsUrl("references/extract"), {
132
+ text: this.text,
133
+ resolve: true,
134
+ limit: this.limit
135
+ });
136
+ }
137
+ }
138
+ };
139
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
140
+ const _component_NcReferenceWidget = resolveComponent("NcReferenceWidget");
141
+ return $options.isVisible ? (openBlock(), createElementBlock("div", {
142
+ key: 0,
143
+ class: normalizeClass(["widgets--list", { "icon-loading": $data.loading }])
144
+ }, [
145
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.displayedReferences, (reference) => {
146
+ return openBlock(), createBlock(_component_NcReferenceWidget, {
147
+ key: reference?.openGraphObject?.id,
148
+ reference,
149
+ interactive: $props.interactive,
150
+ "interactive-opt-in": $props.interactiveOptIn
151
+ }, null, 8, ["reference", "interactive", "interactive-opt-in"]);
152
+ }), 128))
153
+ ], 2)) : createCommentVNode("", true);
154
+ }
155
+ const NcReferenceList = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__scopeId", "data-v-8d575d2d"]]);
156
+ const remarkPlaceholder = function() {
157
+ return function(ast) {
158
+ visit(ast, (node) => node.type === "text", visitor);
159
+ function visitor(node, index, parent) {
160
+ const placeholders = node.value.split(/(\{[a-z\-_.0-9]+\})/ig).map((entry, index2, list) => {
161
+ const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
162
+ if (!matches) {
163
+ return u("text", entry);
164
+ }
165
+ const [, component] = matches;
166
+ return u("element", {
167
+ tagName: `#${component}`,
168
+ children: []
169
+ });
170
+ });
171
+ parent.children.splice(index, 1, ...placeholders);
172
+ }
173
+ };
174
+ };
175
+ const prepareTextNode = ({ h: h2, context }, text) => {
176
+ if (context.autolink) {
177
+ text = parseUrl(text);
178
+ }
179
+ if (Array.isArray(text)) {
180
+ return text.map((entry) => {
181
+ if (typeof entry === "string") {
182
+ return entry;
183
+ }
184
+ const { component, props } = entry;
185
+ const componentClass = component.name === "NcLink" ? void 0 : "rich-text--component";
186
+ return h2(component, {
187
+ ...props,
188
+ class: componentClass
189
+ });
190
+ });
191
+ }
192
+ return text;
193
+ };
194
+ const remarkGfm = ref(null);
195
+ async function importRemarkGfmLibrary() {
196
+ const module = await import("remark-gfm");
197
+ remarkGfm.value = module.default;
198
+ }
199
+ const rehypeHighlight = ref(null);
200
+ async function importRehypeHighlightLibrary() {
201
+ const module = await import("rehype-highlight");
202
+ rehypeHighlight.value = module.default;
203
+ }
204
+ const _sfc_main = {
205
+ name: "NcRichText",
206
+ components: {
207
+ NcReferenceList
208
+ },
209
+ props: {
210
+ text: {
211
+ type: String,
212
+ default: ""
213
+ },
214
+ arguments: {
215
+ type: Object,
216
+ default: () => {
217
+ return {};
218
+ }
219
+ },
220
+ referenceLimit: {
221
+ type: Number,
222
+ default: 0
223
+ },
224
+ referenceInteractive: {
225
+ type: Boolean,
226
+ default: true
227
+ },
228
+ referenceInteractiveOptIn: {
229
+ type: Boolean,
230
+ default: false
231
+ },
232
+ /** Provide data upfront to avoid extra http request */
233
+ references: {
234
+ type: Object,
235
+ default: null
236
+ },
237
+ markdownCssClasses: {
238
+ type: Object,
239
+ default: () => {
240
+ return {
241
+ a: "rich-text--external-link",
242
+ ol: "rich-text--ordered-list",
243
+ ul: "rich-text--un-ordered-list",
244
+ li: "rich-text--list-item",
245
+ strong: "rich-text--strong",
246
+ em: "rich-text--italic",
247
+ h1: "rich-text--heading rich-text--heading-1",
248
+ h2: "rich-text--heading rich-text--heading-2",
249
+ h3: "rich-text--heading rich-text--heading-3",
250
+ h4: "rich-text--heading rich-text--heading-4",
251
+ h5: "rich-text--heading rich-text--heading-5",
252
+ h6: "rich-text--heading rich-text--heading-6",
253
+ hr: "rich-text--hr",
254
+ table: "rich-text--table",
255
+ pre: "rich-text--pre",
256
+ code: "rich-text--code",
257
+ blockquote: "rich-text--blockquote"
258
+ };
259
+ }
260
+ },
261
+ useMarkdown: {
262
+ type: Boolean,
263
+ default: false
264
+ },
265
+ /** Provide GitHub Flavored Markdown syntax */
266
+ useExtendedMarkdown: {
267
+ type: Boolean,
268
+ default: false
269
+ },
270
+ /** Provide event from rendered markdown inputs */
271
+ interactive: {
272
+ type: Boolean,
273
+ default: false
274
+ },
275
+ autolink: {
276
+ type: Boolean,
277
+ default: true
278
+ }
279
+ },
280
+ emits: ["interact:todo"],
281
+ data() {
282
+ return {
283
+ parentId: GenRandomId(5)
284
+ };
285
+ },
286
+ watch: {
287
+ useExtendedMarkdown: {
288
+ handler(value) {
289
+ if (value && !remarkGfm.value) {
290
+ importRemarkGfmLibrary();
291
+ }
292
+ },
293
+ immediate: true
294
+ }
295
+ },
296
+ methods: {
297
+ renderPlaintext() {
298
+ const placeholders = this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map((entry) => {
299
+ const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
300
+ if (!matches) {
301
+ return prepareTextNode({ h, context: this }, entry);
302
+ }
303
+ const argumentId = matches[1];
304
+ const argument = this.arguments[argumentId];
305
+ if (typeof argument === "object") {
306
+ const { component, props } = argument;
307
+ return h(typeof component === "string" ? resolveComponent(component) : component, {
308
+ ...props,
309
+ class: "rich-text--component"
310
+ });
311
+ }
312
+ if (argument) {
313
+ return h("span", { class: "rich-text--fallback" }, argument);
314
+ }
315
+ return entry;
316
+ });
317
+ return h("div", { class: "rich-text--wrapper" }, [
318
+ h("div", {}, placeholders.flat()),
319
+ this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
320
+ h(NcReferenceList, {
321
+ text: this.text,
322
+ referenceData: this.references,
323
+ interactive: this.referenceInteractive,
324
+ interactiveOptIn: this.referenceInteractiveOptIn
325
+ })
326
+ ]) : null
327
+ ]);
328
+ },
329
+ renderMarkdown() {
330
+ const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {
331
+ autolink: this.autolink,
332
+ useMarkdown: this.useMarkdown,
333
+ useExtendedMarkdown: this.useExtendedMarkdown
334
+ }).use(this.useExtendedMarkdown ? remarkGfm.value : void 0).use(breaks).use(remark2rehype, {
335
+ handlers: {
336
+ component(toHast, node) {
337
+ return toHast(node, node.component, { value: node.value });
338
+ }
339
+ }
340
+ }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {
341
+ target: "_blank",
342
+ rel: ["noopener noreferrer"]
343
+ }).use(rehype2react, {
344
+ Fragment,
345
+ jsx: this.createElement,
346
+ jsxs: this.createElement,
347
+ elementAttributeNameCase: "html",
348
+ prefix: false
349
+ }).processSync(
350
+ this.text.replace(/</gmi, "&lt;").replace(/&gt;/gmi, ">")
351
+ ).result;
352
+ return h("div", { class: "rich-text--wrapper rich-text--wrapper-markdown" }, [
353
+ renderedMarkdown,
354
+ this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
355
+ h(NcReferenceList, {
356
+ text: this.text,
357
+ referenceData: this.references,
358
+ interactive: this.referenceInteractive,
359
+ interactiveOptIn: this.referenceInteractiveOptIn
360
+ })
361
+ ]) : null
362
+ ]);
363
+ },
364
+ createElement(type, props, key) {
365
+ if (key) {
366
+ props.key = key;
367
+ }
368
+ let children = props.children ?? [];
369
+ delete props.children;
370
+ if (typeof children === "string") {
371
+ children = children.replace(/&lt;/gmi, "<");
372
+ }
373
+ if (!String(type).startsWith("#")) {
374
+ let nestedNode = null;
375
+ if (this.useExtendedMarkdown && remarkGfm.value) {
376
+ if (String(type) === "code" && !rehypeHighlight.value && props?.class?.includes("language")) {
377
+ importRehypeHighlightLibrary();
378
+ }
379
+ if (String(type) === "li" && Array.isArray(children) && children[0].type === "input" && children[0].props.type === "checkbox") {
380
+ const [inputNode, , ...labelParts] = children;
381
+ const nestedNodeIndex = labelParts.findIndex((child) => ["ul", "ol", "li", "blockquote", "pre"].includes(child.tag));
382
+ if (nestedNodeIndex !== -1) {
383
+ nestedNode = labelParts[nestedNodeIndex];
384
+ labelParts.splice(nestedNodeIndex);
385
+ }
386
+ const id = this.parentId + "-markdown-input-" + GenRandomId(5);
387
+ const propsToForward = { ...inputNode.props };
388
+ delete propsToForward.checked;
389
+ const inputComponent = h(NcCheckboxRadioSwitch, {
390
+ ...propsToForward,
391
+ modelValue: inputNode.props.checked,
392
+ id,
393
+ disabled: !this.interactive,
394
+ "onUpdate:modelValue": () => {
395
+ this.$emit("interact:todo", id);
396
+ }
397
+ }, { default: () => labelParts });
398
+ return h(type, props, [inputComponent, nestedNode]);
399
+ }
400
+ }
401
+ if (String(type) === "a") {
402
+ const route = getRoute(this.$router, props.href);
403
+ if (route) {
404
+ delete props.href;
405
+ delete props.target;
406
+ return h(RouterLink, {
407
+ ...props,
408
+ to: route
409
+ }, { default: () => children });
410
+ }
411
+ }
412
+ return h(type, props, children);
413
+ }
414
+ const placeholder = this.arguments[type.slice(1)];
415
+ if (!placeholder) {
416
+ return h("span", { ...props, class: "rich-text--fallback" }, [`{${type.slice(1)}}`]);
417
+ }
418
+ if (!placeholder.component) {
419
+ return h("span", { ...props }, [placeholder]);
420
+ }
421
+ if (this.useExtendedMarkdown && !remarkGfm.value) {
422
+ return h("div", { class: "rich-text--wrapper" }, [
423
+ h(NcLoadingIcon)
424
+ ]);
425
+ }
426
+ return h(
427
+ typeof placeholder.component === "string" ? resolveComponent(placeholder.component) : placeholder.component,
428
+ {
429
+ ...props,
430
+ ...placeholder.props,
431
+ class: "rich-text--component"
432
+ },
433
+ { default: () => children }
434
+ );
435
+ }
436
+ },
437
+ render() {
438
+ return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown() : this.renderPlaintext();
439
+ }
440
+ };
441
+ const NcRichText = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-724f3ec5"]]);
442
+ export {
443
+ NcRichText as N,
444
+ NcReferenceList as a
445
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NcRichText-DeQGaF-c.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<NcReferenceWidget v-for=\"reference in displayedReferences\"\n\t\t\t:key=\"reference?.openGraphObject?.id\"\n\t\t\t:reference=\"reference\"\n\t\t\t:interactive=\"interactive\"\n\t\t\t:interactive-opt-in=\"interactiveOptIn\" />\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 { getSharingToken } from '@nextcloud/sharing/public'\nimport { getCurrentUser } from '@nextcloud/auth'\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\temits: ['loaded'],\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.references = null\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.references = null\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\tconst isPublic = getCurrentUser() === null\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn isPublic\n\t\t\t\t\t? axios.get(generateOcsUrl('references/resolvePublic') + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`)\n\t\t\t\t\t: axios.get(generateOcsUrl('references/resolve') + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn isPublic\n\t\t\t\t? axios.post(generateOcsUrl('references/extractPublic'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t\tsharingToken: getSharingToken(),\n\t\t\t\t})\n\t\t\t\t: axios.post(generateOcsUrl('references/extract'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widgets--list {\n\twidth: 100%;\n\tmin-height: var(--default-clickable-area);\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { u } from 'unist-builder'\nimport { visit } from 'unist-util-visit'\nimport { parseUrl } from './autolink.ts'\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\tchildren: [],\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\t...props,\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 v-model=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"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 code syntax highlighting and 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---\n\n\\`\\`\\`js\nconst GenRandomId = (length) => {\n\\treturn Math.random()\n\\t\\t.toString(36)\n\\t\\t.replace(/[^a-z]+/g, '')\n\\t\\t.slice(0, length || 5)\n}\n\\`\\`\\`\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\tlet lines = 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 v-model=\"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 v-model=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"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 NcLoadingIcon from '../NcLoadingIcon/NcLoadingIcon.vue'\nimport { getRoute, remarkAutolink } from './autolink.ts'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\nimport { Fragment, h, ref, resolveComponent } from 'vue'\nimport { RouterLink } from 'vue-router'\n\n/**\n * Heavy libraries should be loaded on demand to reduce component size\n */\nconst remarkGfm = ref(null)\n/**\n * Load 'remark-gfm' library when prop `useExtendedMarkdown` is truthy\n */\nasync function importRemarkGfmLibrary() {\n\tconst module = await import('remark-gfm')\n\tremarkGfm.value = module.default\n}\n\nconst rehypeHighlight = ref(null)\n/**\n * Load 'rehype-highlight' library when code block is rendered with `useExtendedMarkdown`\n */\nasync function importRehypeHighlightLibrary() {\n\tconst module = await import('rehype-highlight')\n\trehypeHighlight.value = module.default\n}\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\treferenceInteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\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\twatch: {\n\t\tuseExtendedMarkdown: {\n\t\t\thandler(value) {\n\t\t\t\tif (value && !remarkGfm.value) {\n\t\t\t\t\timportRemarkGfmLibrary()\n\t\t\t\t}\n\t\t\t},\n\t\t\timmediate: true,\n\t\t},\n\t},\n\n\tmethods: {\n\t\trenderPlaintext() {\n\t\t\tconst placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry) => {\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: this }, 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 = this.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((typeof component === 'string') ? resolveComponent(component) : component, {\n\t\t\t\t\t\t...props,\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\ttext: this.text,\n\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\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() {\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.value : 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(this.useExtendedMarkdown ? rehypeHighlight.value : undefined)\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\tFragment,\n\t\t\t\t\tjsx: this.createElement,\n\t\t\t\t\tjsxs: this.createElement,\n\t\t\t\t\telementAttributeNameCase: 'html',\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\ttext: this.text,\n\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\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\tcreateElement(type, props, key) {\n\t\t\t// Modified code from vue/jsx-runtime\n\t\t\tif (key) {\n\t\t\t\tprops.key = key\n\t\t\t}\n\t\t\t// Children should be always an array\n\t\t\tlet children = props.children ?? []\n\t\t\tdelete props.children\n\n\t\t\t// unescape special symbol \"<\" for simple text nodes\n\t\t\tif (typeof children === 'string') {\n\t\t\t\tchildren = children.replace(/&lt;/gmi, '<')\n\t\t\t}\n\n\t\t\tif (!String(type).startsWith('#')) {\n\t\t\t\tlet nestedNode = null\n\t\t\t\tif (this.useExtendedMarkdown && remarkGfm.value) {\n\t\t\t\t\tif (String(type) === 'code' && !rehypeHighlight.value\n\t\t\t\t\t\t&& props?.class?.includes('language')) {\n\t\t\t\t\t\timportRehypeHighlightLibrary()\n\t\t\t\t\t}\n\t\t\t\t\tif (String(type) === 'li' && Array.isArray(children)\n\t\t\t\t\t\t&& children[0].type === 'input'\n\t\t\t\t\t\t&& children[0].props.type === 'checkbox') {\n\t\t\t\t\t\tconst [inputNode, , ...labelParts] = children\n\n\t\t\t\t\t\tconst nestedNodeIndex = labelParts.findIndex((child) => ['ul', 'ol', 'li', 'blockquote', 'pre'].includes(child.tag))\n\t\t\t\t\t\tif (nestedNodeIndex !== -1) {\n\t\t\t\t\t\t\tnestedNode = labelParts[nestedNodeIndex]\n\t\t\t\t\t\t\tlabelParts.splice(nestedNodeIndex)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst id = this.parentId + '-markdown-input-' + GenRandomId(5)\n\t\t\t\t\t\tconst propsToForward = { ...inputNode.props }\n\t\t\t\t\t\t// The checked prop is name modelValue for NcCheckboxRadioSwitch\n\t\t\t\t\t\tdelete propsToForward.checked\n\t\t\t\t\t\tconst inputComponent = h(NcCheckboxRadioSwitch, {\n\t\t\t\t\t\t\t...propsToForward,\n\t\t\t\t\t\t\tmodelValue: inputNode.props.checked,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tdisabled: !this.interactive,\n\t\t\t\t\t\t\t'onUpdate:modelValue': () => {\n\t\t\t\t\t\t\t\tthis.$emit('interact:todo', id)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}, { default: () => labelParts })\n\n\t\t\t\t\t\treturn h(type, props, [inputComponent, nestedNode])\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (String(type) === 'a') {\n\t\t\t\t\tconst route = getRoute(this.$router, props.href)\n\t\t\t\t\tif (route) {\n\t\t\t\t\t\tdelete props.href\n\t\t\t\t\t\tdelete props.target\n\n\t\t\t\t\t\treturn h(RouterLink, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t}, { default: () => children })\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn h(type, props, children)\n\t\t\t}\n\n\t\t\tconst placeholder = this.arguments[type.slice(1)]\n\t\t\tif (!placeholder) {\n\t\t\t\treturn h('span', { ...props, class: 'rich-text--fallback' }, [`{${type.slice(1)}}`])\n\t\t\t}\n\n\t\t\tif (!placeholder.component) {\n\t\t\t\treturn h('span', { ...props }, [placeholder])\n\t\t\t}\n\n\t\t\tif (this.useExtendedMarkdown && !remarkGfm.value) {\n\t\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\t\th(NcLoadingIcon),\n\t\t\t\t])\n\t\t\t}\n\n\t\t\treturn h(\n\t\t\t\t(typeof placeholder.component === 'string') ? resolveComponent(placeholder.component) : placeholder.component,\n\t\t\t\t{\n\t\t\t\t\t...props,\n\t\t\t\t\t...placeholder.props,\n\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t},\n\t\t\t\t{ default: () => children },\n\t\t\t)\n\t\t},\n\t},\n\trender() {\n\t\treturn this.useMarkdown || this.useExtendedMarkdown\n\t\t\t? this.renderMarkdown()\n\t\t\t: this.renderPlaintext()\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","_createElementBlock","_normalizeClass","_openBlock","_Fragment","_renderList","_createBlock","_createCommentVNode","index","h"],"mappings":"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"}