@nextcloud/vue 8.29.2 → 8.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (835) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/Components/NcActionButton.cjs +1 -1
  3. package/dist/Components/NcActionButton.mjs +1 -1
  4. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  6. package/dist/Components/NcActionCheckbox.cjs +1 -1
  7. package/dist/Components/NcActionCheckbox.mjs +1 -1
  8. package/dist/Components/NcActionInput.cjs +1 -1
  9. package/dist/Components/NcActionInput.mjs +1 -1
  10. package/dist/Components/NcActionLink.cjs +5 -5
  11. package/dist/Components/NcActionLink.cjs.map +1 -1
  12. package/dist/Components/NcActionLink.mjs +5 -5
  13. package/dist/Components/NcActionLink.mjs.map +1 -1
  14. package/dist/Components/NcActionRadio.cjs +1 -1
  15. package/dist/Components/NcActionRadio.mjs +1 -1
  16. package/dist/Components/NcActionRouter.cjs +3 -4
  17. package/dist/Components/NcActionRouter.cjs.map +1 -1
  18. package/dist/Components/NcActionRouter.mjs +3 -4
  19. package/dist/Components/NcActionRouter.mjs.map +1 -1
  20. package/dist/Components/NcActionText.cjs +3 -3
  21. package/dist/Components/NcActionText.cjs.map +1 -1
  22. package/dist/Components/NcActionText.mjs +3 -3
  23. package/dist/Components/NcActionText.mjs.map +1 -1
  24. package/dist/Components/NcActionTextEditable.cjs +1 -1
  25. package/dist/Components/NcActionTextEditable.mjs +1 -1
  26. package/dist/Components/NcActions.cjs +1 -1
  27. package/dist/Components/NcActions.mjs +1 -1
  28. package/dist/Components/NcAppContent.cjs +1 -1
  29. package/dist/Components/NcAppContent.mjs +1 -1
  30. package/dist/Components/NcAppContentList.cjs +6 -0
  31. package/dist/Components/NcAppContentList.cjs.map +1 -1
  32. package/dist/Components/NcAppContentList.mjs +6 -0
  33. package/dist/Components/NcAppContentList.mjs.map +1 -1
  34. package/dist/Components/NcAppNavigation.cjs +1 -1
  35. package/dist/Components/NcAppNavigation.mjs +1 -1
  36. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  37. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  38. package/dist/Components/NcAppNavigationIconBullet.cjs +5 -2
  39. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  40. package/dist/Components/NcAppNavigationIconBullet.mjs +5 -2
  41. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  42. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  43. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  44. package/dist/Components/NcAppNavigationNew.cjs +2 -65
  45. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  46. package/dist/Components/NcAppNavigationNew.mjs +2 -65
  47. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  48. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  49. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  50. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  51. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  52. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  53. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  54. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  55. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  56. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  57. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  58. package/dist/Components/NcAppSettingsSection.cjs +8 -2
  59. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  60. package/dist/Components/NcAppSettingsSection.mjs +8 -2
  61. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  62. package/dist/Components/NcAppSidebar.cjs +1 -1
  63. package/dist/Components/NcAppSidebar.mjs +1 -1
  64. package/dist/Components/NcAppSidebarHeader.cjs +1 -1
  65. package/dist/Components/NcAppSidebarHeader.mjs +1 -1
  66. package/dist/Components/NcAppSidebarTab.cjs +5 -2
  67. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  68. package/dist/Components/NcAppSidebarTab.mjs +5 -2
  69. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  70. package/dist/Components/NcAssistantButton.cjs +4 -0
  71. package/dist/Components/NcAssistantButton.cjs.map +1 -0
  72. package/dist/Components/NcAssistantButton.mjs +5 -0
  73. package/dist/Components/NcAssistantButton.mjs.map +1 -0
  74. package/dist/Components/NcAssistantContent.cjs +50 -0
  75. package/dist/Components/NcAssistantContent.cjs.map +1 -0
  76. package/dist/Components/NcAssistantContent.mjs +51 -0
  77. package/dist/Components/NcAssistantContent.mjs.map +1 -0
  78. package/dist/Components/NcAssistantIcon.cjs +4 -0
  79. package/dist/Components/NcAssistantIcon.cjs.map +1 -0
  80. package/dist/Components/NcAssistantIcon.mjs +5 -0
  81. package/dist/Components/NcAssistantIcon.mjs.map +1 -0
  82. package/dist/Components/NcAvatar.cjs +1 -1
  83. package/dist/Components/NcAvatar.mjs +1 -1
  84. package/dist/Components/NcBlurHash.cjs +1 -1
  85. package/dist/Components/NcBlurHash.mjs +1 -1
  86. package/dist/Components/NcBreadcrumb.cjs +1 -1
  87. package/dist/Components/NcBreadcrumb.mjs +1 -1
  88. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  89. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  90. package/dist/Components/NcButton.cjs +2 -332
  91. package/dist/Components/NcButton.cjs.map +1 -1
  92. package/dist/Components/NcButton.mjs +2 -332
  93. package/dist/Components/NcButton.mjs.map +1 -1
  94. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  95. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  96. package/dist/Components/NcChip.cjs +15 -13
  97. package/dist/Components/NcChip.cjs.map +1 -1
  98. package/dist/Components/NcChip.mjs +15 -13
  99. package/dist/Components/NcChip.mjs.map +1 -1
  100. package/dist/Components/NcCollectionList.cjs +1 -1
  101. package/dist/Components/NcCollectionList.mjs +1 -1
  102. package/dist/Components/NcColorPicker.cjs +1 -1
  103. package/dist/Components/NcColorPicker.mjs +1 -1
  104. package/dist/Components/NcContent.cjs +1 -1
  105. package/dist/Components/NcContent.mjs +1 -1
  106. package/dist/Components/NcCounterBubble.cjs +1 -1
  107. package/dist/Components/NcCounterBubble.mjs +1 -1
  108. package/dist/Components/NcDashboardWidget.cjs +1 -1
  109. package/dist/Components/NcDashboardWidget.mjs +1 -1
  110. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  111. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  112. package/dist/Components/NcDateTime.cjs +1 -1
  113. package/dist/Components/NcDateTime.mjs +1 -1
  114. package/dist/Components/NcDateTimePicker.cjs +46 -15
  115. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  116. package/dist/Components/NcDateTimePicker.mjs +46 -15
  117. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  118. package/dist/Components/NcDateTimePickerNative.cjs +8 -6
  119. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  120. package/dist/Components/NcDateTimePickerNative.mjs +8 -6
  121. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  122. package/dist/Components/NcDialog.cjs +1 -1
  123. package/dist/Components/NcDialog.mjs +1 -1
  124. package/dist/Components/NcDialogButton.cjs +1 -1
  125. package/dist/Components/NcDialogButton.mjs +1 -1
  126. package/dist/Components/NcEllipsisedOption.cjs +3 -3
  127. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  128. package/dist/Components/NcEllipsisedOption.mjs +3 -3
  129. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  130. package/dist/Components/NcEmojiPicker.cjs +1 -1
  131. package/dist/Components/NcEmojiPicker.mjs +1 -1
  132. package/dist/Components/NcEmptyContent.cjs +4 -2
  133. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  134. package/dist/Components/NcEmptyContent.mjs +4 -2
  135. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  136. package/dist/Components/NcGuestContent.cjs +2 -2
  137. package/dist/Components/NcGuestContent.cjs.map +1 -1
  138. package/dist/Components/NcGuestContent.mjs +2 -2
  139. package/dist/Components/NcGuestContent.mjs.map +1 -1
  140. package/dist/Components/NcHeaderButton.cjs +2 -61
  141. package/dist/Components/NcHeaderButton.cjs.map +1 -1
  142. package/dist/Components/NcHeaderButton.mjs +2 -61
  143. package/dist/Components/NcHeaderButton.mjs.map +1 -1
  144. package/dist/Components/NcHeaderMenu.cjs +1 -1
  145. package/dist/Components/NcHeaderMenu.mjs +1 -1
  146. package/dist/Components/NcHighlight.cjs +1 -1
  147. package/dist/Components/NcHighlight.mjs +1 -1
  148. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  149. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  150. package/dist/Components/NcInputField.cjs +1 -1
  151. package/dist/Components/NcInputField.mjs +1 -1
  152. package/dist/Components/NcKbd.cjs +65 -0
  153. package/dist/Components/NcKbd.cjs.map +1 -0
  154. package/dist/Components/NcKbd.mjs +66 -0
  155. package/dist/Components/NcKbd.mjs.map +1 -0
  156. package/dist/Components/NcListItem.cjs +1 -1
  157. package/dist/Components/NcListItem.mjs +1 -1
  158. package/dist/Components/NcListItemIcon.cjs +1 -1
  159. package/dist/Components/NcListItemIcon.mjs +1 -1
  160. package/dist/Components/NcLoadingIcon.cjs +2 -2
  161. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  162. package/dist/Components/NcLoadingIcon.mjs +2 -2
  163. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  164. package/dist/Components/NcModal.cjs +60 -46
  165. package/dist/Components/NcModal.cjs.map +1 -1
  166. package/dist/Components/NcModal.mjs +59 -45
  167. package/dist/Components/NcModal.mjs.map +1 -1
  168. package/dist/Components/NcNoteCard.cjs +10 -10
  169. package/dist/Components/NcNoteCard.cjs.map +1 -1
  170. package/dist/Components/NcNoteCard.mjs +10 -10
  171. package/dist/Components/NcNoteCard.mjs.map +1 -1
  172. package/dist/Components/NcPasswordField.cjs +1 -1
  173. package/dist/Components/NcPasswordField.mjs +1 -1
  174. package/dist/Components/NcPopover.cjs +1 -1
  175. package/dist/Components/NcPopover.mjs +1 -1
  176. package/dist/Components/NcProgressBar.cjs +1 -1
  177. package/dist/Components/NcProgressBar.mjs +1 -1
  178. package/dist/Components/NcRadioGroup.cjs +4 -0
  179. package/dist/Components/NcRadioGroup.cjs.map +1 -0
  180. package/dist/Components/NcRadioGroup.mjs +5 -0
  181. package/dist/Components/NcRadioGroup.mjs.map +1 -0
  182. package/dist/Components/NcRadioGroupButton.cjs +4 -0
  183. package/dist/Components/NcRadioGroupButton.cjs.map +1 -0
  184. package/dist/Components/NcRadioGroupButton.mjs +5 -0
  185. package/dist/Components/NcRadioGroupButton.mjs.map +1 -0
  186. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  187. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  188. package/dist/Components/NcRichContenteditable.cjs +2 -2
  189. package/dist/Components/NcRichContenteditable.mjs +2 -2
  190. package/dist/Components/NcRichText.cjs +10 -10
  191. package/dist/Components/NcRichText.mjs +17 -17
  192. package/dist/Components/NcSelect.cjs +1 -1
  193. package/dist/Components/NcSelect.mjs +1 -1
  194. package/dist/Components/NcSelectTags.cjs +1 -1
  195. package/dist/Components/NcSelectTags.mjs +1 -1
  196. package/dist/Components/NcSelectUsers.cjs +1 -1
  197. package/dist/Components/NcSelectUsers.mjs +1 -1
  198. package/dist/Components/NcSettingsInputText.cjs +1 -1
  199. package/dist/Components/NcSettingsInputText.mjs +1 -1
  200. package/dist/Components/NcSettingsSection.cjs +1 -1
  201. package/dist/Components/NcSettingsSection.mjs +1 -1
  202. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  203. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  204. package/dist/Components/NcTextArea.cjs +1 -1
  205. package/dist/Components/NcTextArea.mjs +1 -1
  206. package/dist/Components/NcTextField.cjs +1 -1
  207. package/dist/Components/NcTextField.mjs +1 -1
  208. package/dist/Components/NcTimezonePicker.cjs +1 -1
  209. package/dist/Components/NcTimezonePicker.mjs +1 -1
  210. package/dist/Components/NcUserBubble.cjs +1 -1
  211. package/dist/Components/NcUserBubble.mjs +1 -1
  212. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  213. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  214. package/dist/Components/NcVNodes.cjs +1 -2
  215. package/dist/Components/NcVNodes.cjs.map +1 -1
  216. package/dist/Components/NcVNodes.mjs +1 -2
  217. package/dist/Components/NcVNodes.mjs.map +1 -1
  218. package/dist/Composables/useFormatDateTime.cjs +2 -4
  219. package/dist/Composables/useFormatDateTime.cjs.map +1 -1
  220. package/dist/Composables/useFormatDateTime.mjs +2 -4
  221. package/dist/Composables/useFormatDateTime.mjs.map +1 -1
  222. package/dist/Composables/useHotKey.cjs +2 -2
  223. package/dist/Composables/useHotKey.cjs.map +1 -1
  224. package/dist/Composables/useHotKey.mjs +1 -1
  225. package/dist/Composables/useHotKey.mjs.map +1 -1
  226. package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
  227. package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
  228. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  229. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  230. package/dist/Composables/useIsMobile.cjs.map +1 -1
  231. package/dist/Composables/useIsMobile.mjs.map +1 -1
  232. package/dist/Directives/Focus.cjs.map +1 -1
  233. package/dist/Directives/Focus.mjs.map +1 -1
  234. package/dist/Directives/Linkify.cjs +4 -6
  235. package/dist/Directives/Linkify.cjs.map +1 -1
  236. package/dist/Directives/Linkify.mjs +4 -5
  237. package/dist/Directives/Linkify.mjs.map +1 -1
  238. package/dist/Directives/Tooltip.cjs.map +1 -1
  239. package/dist/Directives/Tooltip.mjs.map +1 -1
  240. package/dist/Functions/a11y.cjs +2 -2
  241. package/dist/Functions/a11y.cjs.map +1 -1
  242. package/dist/Functions/a11y.mjs +2 -2
  243. package/dist/Functions/a11y.mjs.map +1 -1
  244. package/dist/Functions/contactsMenu.cjs.map +1 -1
  245. package/dist/Functions/contactsMenu.mjs.map +1 -1
  246. package/dist/Functions/dialog.cjs.map +1 -1
  247. package/dist/Functions/dialog.mjs.map +1 -1
  248. package/dist/Functions/isDarkTheme.cjs.map +1 -1
  249. package/dist/Functions/isDarkTheme.mjs.map +1 -1
  250. package/dist/Functions/preloadImage.cjs.map +1 -1
  251. package/dist/Functions/preloadImage.mjs.map +1 -1
  252. package/dist/Functions/reference.cjs +10 -10
  253. package/dist/Functions/reference.mjs +8 -8
  254. package/dist/Functions/registerReference.cjs +11 -11
  255. package/dist/Functions/registerReference.mjs +7 -7
  256. package/dist/Functions/usernameToColor.cjs +1 -1
  257. package/dist/Functions/usernameToColor.cjs.map +1 -1
  258. package/dist/Functions/usernameToColor.mjs +1 -1
  259. package/dist/Functions/usernameToColor.mjs.map +1 -1
  260. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  261. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  262. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  263. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  264. package/dist/Mixins/isMobile.cjs.map +1 -1
  265. package/dist/Mixins/isMobile.mjs.map +1 -1
  266. package/dist/Mixins/richEditor.cjs +1 -1
  267. package/dist/Mixins/richEditor.mjs +1 -1
  268. package/dist/assets/{NcActionButton-D8Lyueq3.css → NcActionButton-DwJihiLc.css} +18 -18
  269. package/dist/assets/{NcActionButtonGroup-oAqMyrzr.css → NcActionButtonGroup-CRXLyFpx.css} +8 -8
  270. package/dist/assets/{NcActionCheckbox-BlyPt7DF.css → NcActionCheckbox-DvdNISIs.css} +12 -12
  271. package/dist/assets/{NcActionInput-D79204Jr.css → NcActionInput-DXZaAilC.css} +67 -63
  272. package/dist/assets/{NcActionLink-CNMaob5P.css → NcActionLink-7Wp6P-Nk.css} +13 -13
  273. package/dist/assets/{NcActionRadio-CodyhP86.css → NcActionRadio-CLsR2Ore.css} +12 -12
  274. package/dist/assets/{NcActionRouter-zXuKLsvi.css → NcActionRouter-ByijfQtF.css} +16 -16
  275. package/dist/assets/{NcActionText-Rad4JSXq.css → NcActionText-CR_yvwWo.css} +18 -18
  276. package/dist/assets/{NcActionTextEditable-i1KSVe0J.css → NcActionTextEditable-CCWTiT5c.css} +71 -63
  277. package/dist/assets/{NcActions-CXnDIMae.css → NcActions-B4-9qwLn.css} +11 -11
  278. package/dist/assets/{NcAppContent-Bb5hgGi3.css → NcAppContent-DerHKU6P.css} +23 -23
  279. package/dist/assets/{NcAppNavigation-WhHdkLQF.css → NcAppNavigation-R4E_wTZ-.css} +12 -12
  280. package/dist/assets/{NcAppNavigationCaption-DU9PxTvu.css → NcAppNavigationCaption-C7GtQb_y.css} +7 -7
  281. package/dist/assets/{NcAppNavigationIconBullet-CeBYVy6t.css → NcAppNavigationIconBullet-DLQJkObX.css} +3 -3
  282. package/dist/assets/{NcAppNavigationItem-DKcGNjYx.css → NcAppNavigationItem-Kua1hP7u.css} +46 -40
  283. package/dist/assets/{NcAppNavigationNew-Dbo2rvXH.css → NcAppNavigationNew-D8_2ab9R.css} +3 -3
  284. package/dist/assets/{NcAppNavigationNewItem-CS2gLROV.css → NcAppNavigationNewItem-Cjbn5XkO.css} +44 -38
  285. package/dist/assets/{NcAppNavigationSearch-CD7kv7L_.css → NcAppNavigationSearch-o97SOfOb.css} +6 -6
  286. package/dist/assets/{NcAppNavigationSettings-_Qi3rUlw.css → NcAppNavigationSettings-1YRzh-xl.css} +11 -11
  287. package/dist/assets/{NcAppNavigationToggle-C5IMygw1.css → NcAppNavigationToggle-DgwbZOWc.css} +3 -3
  288. package/dist/assets/{NcAppSettingsDialog-kKMMsdb3.css → NcAppSettingsDialog-DiJpVNeb.css} +10 -10
  289. package/dist/assets/{NcAppSettingsSection-Bl2-D3_g.css → NcAppSettingsSection-IzrCzLDw.css} +3 -3
  290. package/dist/assets/{NcAppSidebar-u0G_qQMh.css → NcAppSidebar-CJYtNcF0.css} +58 -58
  291. package/dist/assets/{NcAppSidebarTab-Blv6UfuA.css → NcAppSidebarTab-IcebyGtN.css} +4 -4
  292. package/dist/assets/NcAssistantButton-owGSr0s0.css +54 -0
  293. package/dist/assets/NcAssistantContent-Ban7n3Bg.css +31 -0
  294. package/dist/assets/NcAssistantIcon-BoOnqVRr.css +35 -0
  295. package/dist/assets/{NcAvatar-BqNcvkxP.css → NcAvatar-BdAXbXdR.css} +27 -28
  296. package/dist/assets/{NcBreadcrumb-DqaFt2qu.css → NcBreadcrumb-0xB19h6f.css} +15 -15
  297. package/dist/assets/{NcBreadcrumbs-CFRjXqRg.css → NcBreadcrumbs-DahxPGJY.css} +6 -6
  298. package/dist/assets/{NcButton-C_LOxojs.css → NcButton-D8AOCliw.css} +46 -46
  299. package/dist/assets/{NcCheckboxRadioSwitch-DqEP1SPR.css → NcCheckboxRadioSwitch-BcHKt-lf.css} +65 -47
  300. package/dist/assets/{NcChip-CF4Q149V.css → NcChip-Cc17FJEC.css} +9 -9
  301. package/dist/assets/{NcCollectionList-yjTCAR46.css → NcCollectionList-DInDhsAS.css} +42 -42
  302. package/dist/assets/{NcColorPicker-DBcVuSwg.css → NcColorPicker-CGI9ElwB.css} +28 -28
  303. package/dist/assets/{NcContent-DH4tX3N4.css → NcContent-BedDNXST.css} +10 -10
  304. package/dist/assets/{NcCounterBubble-CI-DxLjL.css → NcCounterBubble-sz81L2Mt.css} +7 -7
  305. package/dist/assets/{NcDashboardWidget-CrhZaGWD.css → NcDashboardWidget-DzJMoJ_B.css} +12 -12
  306. package/dist/assets/{NcDashboardWidgetItem-B8_6-_k8.css → NcDashboardWidgetItem-CAsF_ZMZ.css} +12 -12
  307. package/dist/assets/{NcDateTimePicker-FNnAz7ls.css → NcDateTimePicker-4Zw7r2r4.css} +18 -16
  308. package/dist/assets/{NcDateTimePickerNative-CYS2ORfo.css → NcDateTimePickerNative-ZqMiOh_m.css} +13 -13
  309. package/dist/assets/{NcDialog-X7BRqUGJ.css → NcDialog-COuFb47k.css} +15 -15
  310. package/dist/assets/{NcEllipsisedOption-DGr9_bIL.css → NcEllipsisedOption-DRkFZ9bI.css} +5 -5
  311. package/dist/assets/{NcEmojiPicker-BRSm8OUy.css → NcEmojiPicker-CrjOSMLF.css} +128 -124
  312. package/dist/assets/{NcEmptyContent-CHVEJoER.css → NcEmptyContent-xdTcF0yQ.css} +9 -9
  313. package/dist/assets/{NcGuestContent-ByAkjts7.css → NcGuestContent-BkegjnLL.css} +2 -2
  314. package/dist/assets/{NcHeaderButton-BRhv2o2J.css → NcHeaderButton-CeT-dsLr.css} +9 -9
  315. package/dist/assets/{NcHeaderMenu-Cjb3kKi1.css → NcHeaderMenu-BXb9npZp.css} +13 -13
  316. package/dist/assets/{NcIconSvgWrapper-DX_XWpAs.css → NcIconSvgWrapper-DJQ2Kuip.css} +7 -7
  317. package/dist/assets/{NcInputConfirmCancel-BanazdhC.css → NcInputConfirmCancel-CkhRZCfD.css} +5 -5
  318. package/dist/assets/{NcInputField-DAiNwtp_.css → NcInputField-BI3vWgSo.css} +42 -42
  319. package/dist/assets/NcKbd-BGW1_Jb7.css +36 -0
  320. package/dist/assets/{NcListItem-KrH47Efg.css → NcListItem-rxOwDYE-.css} +44 -44
  321. package/dist/assets/{NcListItemIcon-UmX9YoH3.css → NcListItemIcon-Co3jVZZ8.css} +13 -13
  322. package/dist/assets/{NcLoadingIcon-DbbToJVp.css → NcLoadingIcon-C7S2_wmi.css} +3 -3
  323. package/dist/assets/{NcMentionBubble-UsTMm5VD.css → NcMentionBubble-CaztX9Pv.css} +9 -9
  324. package/dist/assets/{NcModal-Cy3UOuI2.css → NcModal-BzkYPomo.css} +64 -62
  325. package/dist/assets/{NcNoteCard-ChweF_5Q.css → NcNoteCard-Dz5-u2BY.css} +12 -12
  326. package/dist/assets/{NcPasswordField-DVK8tuPi.css → NcPasswordField-mhXQk8aT.css} +2 -2
  327. package/dist/assets/{NcProgressBar-DTCznR-m.css → NcProgressBar-CU_ib_HL.css} +11 -11
  328. package/dist/assets/NcRadioGroup-CNgjqqiP.css +49 -0
  329. package/dist/assets/NcRadioGroupButton-B1hPj4B8.css +85 -0
  330. package/dist/assets/{NcRelatedResourcesPanel-DhStLIO2.css → NcRelatedResourcesPanel-d2OxhjiL.css} +65 -65
  331. package/dist/assets/{NcRichContenteditable-DZLSoy84.css → NcRichContenteditable-BoM95AVW.css} +20 -20
  332. package/dist/assets/{NcRichText-CWVHZl8s.css → NcRichText-BDx2fupZ.css} +89 -87
  333. package/dist/assets/{NcSelect-GdIw6cIy.css → NcSelect-B1pyRV6j.css} +3 -1
  334. package/dist/assets/NcSelectUsers-CfOSPgtz.css +4 -0
  335. package/dist/assets/{NcSettingsInputText-Bsp_6DjJ.css → NcSettingsInputText-18lfGViv.css} +5 -5
  336. package/dist/assets/{NcSettingsSection-uKqWTbhb.css → NcSettingsSection-D_qeKnRb.css} +8 -8
  337. package/dist/assets/{NcSettingsSelectGroup-tjJNoh16.css → NcSettingsSelectGroup-B9FlWQVH.css} +2 -2
  338. package/dist/assets/{NcTextArea-vxeIyeSg.css → NcTextArea-B6zS3CRN.css} +25 -25
  339. package/dist/assets/{NcUserBubble-BsTKRhKz.css → NcUserBubble-uIpJvFoQ.css} +8 -8
  340. package/dist/assets/{NcUserStatusIcon-Dc-aUzBe.css → NcUserStatusIcon-Bw8yMFMP.css} +4 -4
  341. package/dist/assets/{referencePickerModal-BgSz7IyB.css → referencePickerModal-CTpc6_U6.css} +60 -60
  342. package/dist/chunks/{GenColors-BjsCKF7S.cjs → GenColors-BVouTbTJ.cjs} +10 -3
  343. package/dist/chunks/GenColors-BVouTbTJ.cjs.map +1 -0
  344. package/dist/chunks/{GenColors-BrpkL3hT.mjs → GenColors-DIH749TS.mjs} +10 -3
  345. package/dist/chunks/GenColors-DIH749TS.mjs.map +1 -0
  346. package/dist/chunks/{GenRandomId-BQDud3d4.cjs → GenRandomId-D7iOvpZS.cjs} +3 -3
  347. package/dist/chunks/GenRandomId-D7iOvpZS.cjs.map +1 -0
  348. package/dist/chunks/{GenRandomId-CMooMQt0.mjs → GenRandomId-F5ebeBB_.mjs} +3 -3
  349. package/dist/chunks/GenRandomId-F5ebeBB_.mjs.map +1 -0
  350. package/dist/chunks/{NcActionButton-D_9FsTpM.cjs → NcActionButton-CFXzNoFT.cjs} +10 -8
  351. package/dist/chunks/NcActionButton-CFXzNoFT.cjs.map +1 -0
  352. package/dist/chunks/{NcActionButton-rjMoymt-.mjs → NcActionButton-CVW8aRkE.mjs} +10 -8
  353. package/dist/chunks/NcActionButton-CVW8aRkE.mjs.map +1 -0
  354. package/dist/chunks/{NcActionButtonGroup-hhh3GBSS.mjs → NcActionButtonGroup-BOr5Of3k.mjs} +5 -5
  355. package/dist/chunks/{NcActionButtonGroup-hhh3GBSS.mjs.map → NcActionButtonGroup-BOr5Of3k.mjs.map} +1 -1
  356. package/dist/chunks/{NcActionButtonGroup-Cr4OSmyb.cjs → NcActionButtonGroup-Bwuy2WZQ.cjs} +5 -5
  357. package/dist/chunks/{NcActionButtonGroup-Cr4OSmyb.cjs.map → NcActionButtonGroup-Bwuy2WZQ.cjs.map} +1 -1
  358. package/dist/chunks/{NcActionCheckbox-DSMKeccY.mjs → NcActionCheckbox-C05ls65i.mjs} +9 -5
  359. package/dist/chunks/NcActionCheckbox-C05ls65i.mjs.map +1 -0
  360. package/dist/chunks/{NcActionCheckbox-JX-QaTD6.cjs → NcActionCheckbox-Dg_1Ovt0.cjs} +9 -5
  361. package/dist/chunks/NcActionCheckbox-Dg_1Ovt0.cjs.map +1 -0
  362. package/dist/chunks/{NcActionInput-CQ_WEPqQ.mjs → NcActionInput-CoG-fZq9.mjs} +16 -11
  363. package/dist/chunks/NcActionInput-CoG-fZq9.mjs.map +1 -0
  364. package/dist/chunks/{NcActionInput-CA9bOHxb.cjs → NcActionInput-iIJpNS_Q.cjs} +16 -11
  365. package/dist/chunks/NcActionInput-iIJpNS_Q.cjs.map +1 -0
  366. package/dist/chunks/{NcActionRadio-yAm71xxU.mjs → NcActionRadio-Bpbs2dPm.mjs} +9 -5
  367. package/dist/chunks/NcActionRadio-Bpbs2dPm.mjs.map +1 -0
  368. package/dist/chunks/{NcActionRadio-BUCQ6VxA.cjs → NcActionRadio-Dtrwffyh.cjs} +9 -5
  369. package/dist/chunks/NcActionRadio-Dtrwffyh.cjs.map +1 -0
  370. package/dist/chunks/{NcActionTextEditable-B4g2kszt.cjs → NcActionTextEditable-BpahzGpr.cjs} +10 -8
  371. package/dist/chunks/NcActionTextEditable-BpahzGpr.cjs.map +1 -0
  372. package/dist/chunks/{NcActionTextEditable-xWQGdOVl.mjs → NcActionTextEditable-DRwDJjPd.mjs} +10 -8
  373. package/dist/chunks/NcActionTextEditable-DRwDJjPd.mjs.map +1 -0
  374. package/dist/chunks/{NcActions-B76VN_Gz.cjs → NcActions-B7oXbiVt.cjs} +17 -13
  375. package/dist/chunks/NcActions-B7oXbiVt.cjs.map +1 -0
  376. package/dist/chunks/{NcActions-BKZA1xVL.mjs → NcActions-C832pWHO.mjs} +16 -12
  377. package/dist/chunks/NcActions-C832pWHO.mjs.map +1 -0
  378. package/dist/chunks/{NcAppContent-BS7BiMG0.mjs → NcAppContent-C9NGJE6n.mjs} +15 -12
  379. package/dist/chunks/NcAppContent-C9NGJE6n.mjs.map +1 -0
  380. package/dist/chunks/{NcAppContent-POt1Lj3W.cjs → NcAppContent-Djy38ou2.cjs} +16 -13
  381. package/dist/chunks/NcAppContent-Djy38ou2.cjs.map +1 -0
  382. package/dist/chunks/{NcAppNavigation-BKxSUpcQ.cjs → NcAppNavigation-C0Oc0gQ6.cjs} +7 -7
  383. package/dist/chunks/NcAppNavigation-C0Oc0gQ6.cjs.map +1 -0
  384. package/dist/chunks/{NcAppNavigation-BvEa92PC.mjs → NcAppNavigation-DjtmN3dS.mjs} +7 -7
  385. package/dist/chunks/NcAppNavigation-DjtmN3dS.mjs.map +1 -0
  386. package/dist/chunks/{NcAppNavigationCaption-hDsiQMLr.mjs → NcAppNavigationCaption-CsoHaLXg.mjs} +7 -4
  387. package/dist/chunks/{NcAppNavigationCaption-CjOJyYIY.cjs.map → NcAppNavigationCaption-CsoHaLXg.mjs.map} +1 -1
  388. package/dist/chunks/{NcAppNavigationCaption-CjOJyYIY.cjs → NcAppNavigationCaption-D4-hEmCi.cjs} +7 -4
  389. package/dist/chunks/{NcAppNavigationCaption-hDsiQMLr.mjs.map → NcAppNavigationCaption-D4-hEmCi.cjs.map} +1 -1
  390. package/dist/chunks/{NcAppNavigationItem-NIMhmJHh.mjs → NcAppNavigationItem-DvVYHshm.mjs} +77 -70
  391. package/dist/chunks/NcAppNavigationItem-DvVYHshm.mjs.map +1 -0
  392. package/dist/chunks/{NcAppNavigationItem-Cu3S2chM.cjs → NcAppNavigationItem-ZOXUMmX5.cjs} +77 -70
  393. package/dist/chunks/NcAppNavigationItem-ZOXUMmX5.cjs.map +1 -0
  394. package/dist/chunks/NcAppNavigationNew-AiFYSCW1.mjs +78 -0
  395. package/dist/chunks/NcAppNavigationNew-AiFYSCW1.mjs.map +1 -0
  396. package/dist/chunks/NcAppNavigationNew-BqNIa8N9.cjs +77 -0
  397. package/dist/chunks/NcAppNavigationNew-BqNIa8N9.cjs.map +1 -0
  398. package/dist/chunks/{NcAppNavigationNewItem-CTAoGkDy.cjs → NcAppNavigationNewItem-BuEkCd2H.cjs} +4 -4
  399. package/dist/chunks/NcAppNavigationNewItem-BuEkCd2H.cjs.map +1 -0
  400. package/dist/chunks/{NcAppNavigationNewItem-D4fJeBl0.mjs → NcAppNavigationNewItem-CdlWkGU3.mjs} +4 -4
  401. package/dist/chunks/NcAppNavigationNewItem-CdlWkGU3.mjs.map +1 -0
  402. package/dist/chunks/{NcAppNavigationSearch-CaBrnpf9.cjs → NcAppNavigationSearch-BXjB3FEJ.cjs} +7 -7
  403. package/dist/chunks/NcAppNavigationSearch-BXjB3FEJ.cjs.map +1 -0
  404. package/dist/chunks/{NcAppNavigationSearch-B9OkdsuE.mjs → NcAppNavigationSearch-CsIzwF6F.mjs} +7 -7
  405. package/dist/chunks/NcAppNavigationSearch-CsIzwF6F.mjs.map +1 -0
  406. package/dist/chunks/{NcAppNavigationSettings-C8YaW_Kj.cjs → NcAppNavigationSettings-CkFZMLtH.cjs} +17 -11
  407. package/dist/chunks/NcAppNavigationSettings-CkFZMLtH.cjs.map +1 -0
  408. package/dist/chunks/{NcAppNavigationSettings-BV34ogWP.mjs → NcAppNavigationSettings-Dq2O3kRz.mjs} +17 -11
  409. package/dist/chunks/NcAppNavigationSettings-Dq2O3kRz.mjs.map +1 -0
  410. package/dist/chunks/{NcAppNavigationToggle-DGppWo0q.cjs → NcAppNavigationToggle-C2vtZ3uV.cjs} +7 -7
  411. package/dist/chunks/NcAppNavigationToggle-C2vtZ3uV.cjs.map +1 -0
  412. package/dist/chunks/{NcAppNavigationToggle-VxL1CfJY.mjs → NcAppNavigationToggle-DlWpnYdz.mjs} +6 -6
  413. package/dist/chunks/NcAppNavigationToggle-DlWpnYdz.mjs.map +1 -0
  414. package/dist/chunks/{NcAppSettingsDialog-BwsIc_QT.mjs → NcAppSettingsDialog-DVFw09eD.mjs} +12 -10
  415. package/dist/chunks/NcAppSettingsDialog-DVFw09eD.mjs.map +1 -0
  416. package/dist/chunks/{NcAppSettingsDialog-BDo3la0P.cjs → NcAppSettingsDialog-DalEoC9H.cjs} +12 -10
  417. package/dist/chunks/NcAppSettingsDialog-DalEoC9H.cjs.map +1 -0
  418. package/dist/chunks/{NcAppSidebar-BJgPYOcZ.mjs → NcAppSidebar-Bda_fc-F.mjs} +141 -129
  419. package/dist/chunks/NcAppSidebar-Bda_fc-F.mjs.map +1 -0
  420. package/dist/chunks/{NcAppSidebar-Dbvy4M4h.cjs → NcAppSidebar-Cx2ZxU4N.cjs} +142 -130
  421. package/dist/chunks/NcAppSidebar-Cx2ZxU4N.cjs.map +1 -0
  422. package/dist/chunks/{NcAppSidebarHeader-G2VD8Nfl.mjs → NcAppSidebarHeader-CBE4tNYb.mjs} +4 -3
  423. package/dist/chunks/NcAppSidebarHeader-CBE4tNYb.mjs.map +1 -0
  424. package/dist/chunks/{NcAppSidebarHeader-BUXD8c9i.cjs → NcAppSidebarHeader-D-c_yxvx.cjs} +4 -3
  425. package/dist/chunks/NcAppSidebarHeader-D-c_yxvx.cjs.map +1 -0
  426. package/dist/chunks/NcAssistantButton-Dk28Wilk.mjs +97 -0
  427. package/dist/chunks/NcAssistantButton-Dk28Wilk.mjs.map +1 -0
  428. package/dist/chunks/NcAssistantButton-zriu0Kiz.cjs +96 -0
  429. package/dist/chunks/NcAssistantButton-zriu0Kiz.cjs.map +1 -0
  430. package/dist/chunks/NcAssistantIcon-B-Udgta_.cjs +72 -0
  431. package/dist/chunks/NcAssistantIcon-B-Udgta_.cjs.map +1 -0
  432. package/dist/chunks/NcAssistantIcon-CtEF1hjA.mjs +73 -0
  433. package/dist/chunks/NcAssistantIcon-CtEF1hjA.mjs.map +1 -0
  434. package/dist/chunks/{NcAvatar-CgF-MFtU.mjs → NcAvatar-CuYtFEdJ.mjs} +35 -28
  435. package/dist/chunks/NcAvatar-CuYtFEdJ.mjs.map +1 -0
  436. package/dist/chunks/{NcAvatar-DThzrxm-.cjs → NcAvatar-bd-5zXWN.cjs} +36 -29
  437. package/dist/chunks/NcAvatar-bd-5zXWN.cjs.map +1 -0
  438. package/dist/chunks/{NcBlurHash-CJ8retHx.cjs → NcBlurHash-CR0v4QBK.cjs} +2 -2
  439. package/dist/chunks/{NcBlurHash-CJ8retHx.cjs.map → NcBlurHash-CR0v4QBK.cjs.map} +1 -1
  440. package/dist/chunks/{NcBlurHash-do2wxY-0.mjs → NcBlurHash-DZmsBU0q.mjs} +2 -2
  441. package/dist/chunks/{NcBlurHash-do2wxY-0.mjs.map → NcBlurHash-DZmsBU0q.mjs.map} +1 -1
  442. package/dist/chunks/{NcBreadcrumb-86ycrDeH.cjs → NcBreadcrumb-ChxXdE2m.cjs} +19 -19
  443. package/dist/chunks/NcBreadcrumb-ChxXdE2m.cjs.map +1 -0
  444. package/dist/chunks/{NcBreadcrumb-DJpYjXCe.mjs → NcBreadcrumb-D1106x4x.mjs} +18 -18
  445. package/dist/chunks/NcBreadcrumb-D1106x4x.mjs.map +1 -0
  446. package/dist/chunks/{NcBreadcrumbs-B722pBOd.mjs → NcBreadcrumbs-C9Zo0nca.mjs} +108 -106
  447. package/dist/chunks/NcBreadcrumbs-C9Zo0nca.mjs.map +1 -0
  448. package/dist/chunks/{NcBreadcrumbs-CBMTGNxS.cjs → NcBreadcrumbs-XAvQ1MIp.cjs} +109 -107
  449. package/dist/chunks/NcBreadcrumbs-XAvQ1MIp.cjs.map +1 -0
  450. package/dist/chunks/NcButton-CWPBzbcC.mjs +330 -0
  451. package/dist/chunks/NcButton-CWPBzbcC.mjs.map +1 -0
  452. package/dist/chunks/NcButton-DOsCAjiE.cjs +329 -0
  453. package/dist/chunks/NcButton-DOsCAjiE.cjs.map +1 -0
  454. package/dist/chunks/{NcCheckboxRadioSwitch-ip_mRd2T.mjs → NcCheckboxRadioSwitch-CLnWsBwK.mjs} +135 -79
  455. package/dist/chunks/NcCheckboxRadioSwitch-CLnWsBwK.mjs.map +1 -0
  456. package/dist/chunks/{NcCheckboxRadioSwitch-kdoDmLpF.cjs → NcCheckboxRadioSwitch-yVj7slxL.cjs} +135 -79
  457. package/dist/chunks/NcCheckboxRadioSwitch-yVj7slxL.cjs.map +1 -0
  458. package/dist/chunks/{NcCollectionList-Khg3X3Zq.mjs → NcCollectionList-5_ghrfiE.mjs} +27 -21
  459. package/dist/chunks/NcCollectionList-5_ghrfiE.mjs.map +1 -0
  460. package/dist/chunks/{NcCollectionList-C-FWulfV.cjs → NcCollectionList-DZh_7a3g.cjs} +27 -21
  461. package/dist/chunks/NcCollectionList-DZh_7a3g.cjs.map +1 -0
  462. package/dist/chunks/{NcColorPicker-MXMbRaLk.mjs → NcColorPicker-Cae6XNoK.mjs} +14 -14
  463. package/dist/chunks/NcColorPicker-Cae6XNoK.mjs.map +1 -0
  464. package/dist/chunks/{NcColorPicker-C3lzQVxY.cjs → NcColorPicker-D-E2dT4Q.cjs} +15 -15
  465. package/dist/chunks/NcColorPicker-D-E2dT4Q.cjs.map +1 -0
  466. package/dist/chunks/{NcContent-BbmqoSY7.mjs → NcContent-CGBJ782F.mjs} +13 -9
  467. package/dist/chunks/{NcContent-DH7uH5Gv.cjs.map → NcContent-CGBJ782F.mjs.map} +1 -1
  468. package/dist/chunks/{NcContent-DH7uH5Gv.cjs → NcContent-I3cwZc0Z.cjs} +14 -10
  469. package/dist/chunks/{NcContent-BbmqoSY7.mjs.map → NcContent-I3cwZc0Z.cjs.map} +1 -1
  470. package/dist/chunks/{NcCounterBubble-BRrUO34D.cjs → NcCounterBubble-hyvazclA.cjs} +7 -3
  471. package/dist/chunks/NcCounterBubble-hyvazclA.cjs.map +1 -0
  472. package/dist/chunks/{NcCounterBubble-CDfRYl8B.mjs → NcCounterBubble-oxV8oMlX.mjs} +7 -3
  473. package/dist/chunks/NcCounterBubble-oxV8oMlX.mjs.map +1 -0
  474. package/dist/chunks/{NcDashboardWidget-DD_fZTj6.cjs → NcDashboardWidget-DKUU16oT.cjs} +8 -8
  475. package/dist/chunks/NcDashboardWidget-DKUU16oT.cjs.map +1 -0
  476. package/dist/chunks/{NcDashboardWidget-D0cFVt4i.mjs → NcDashboardWidget-_Bi63nDZ.mjs} +8 -8
  477. package/dist/chunks/NcDashboardWidget-_Bi63nDZ.mjs.map +1 -0
  478. package/dist/chunks/{NcDashboardWidgetItem-BiH7ivQn.cjs → NcDashboardWidgetItem-BhGOOhKF.cjs} +8 -7
  479. package/dist/chunks/NcDashboardWidgetItem-BhGOOhKF.cjs.map +1 -0
  480. package/dist/chunks/{NcDashboardWidgetItem-D33MR-DH.mjs → NcDashboardWidgetItem-D4q57Lg_.mjs} +8 -7
  481. package/dist/chunks/NcDashboardWidgetItem-D4q57Lg_.mjs.map +1 -0
  482. package/dist/chunks/{NcDateTime-Cl-PZpLN.cjs → NcDateTime-DE-ltgw2.cjs} +2 -2
  483. package/dist/chunks/NcDateTime-DE-ltgw2.cjs.map +1 -0
  484. package/dist/chunks/{NcDateTime-kanSdMgW.mjs → NcDateTime-enXYuwj8.mjs} +2 -2
  485. package/dist/chunks/NcDateTime-enXYuwj8.mjs.map +1 -0
  486. package/dist/chunks/{NcDialog-ps0F3IQM.cjs → NcDialog-B2tW1DtP.cjs} +39 -31
  487. package/dist/chunks/NcDialog-B2tW1DtP.cjs.map +1 -0
  488. package/dist/chunks/{NcDialog-C1b3UtA7.mjs → NcDialog-Du-BeUCp.mjs} +39 -31
  489. package/dist/chunks/NcDialog-Du-BeUCp.mjs.map +1 -0
  490. package/dist/chunks/{NcDialogButton-CEdM0Qnr.cjs → NcDialogButton-BB84DliS.cjs} +9 -8
  491. package/dist/chunks/NcDialogButton-BB84DliS.cjs.map +1 -0
  492. package/dist/chunks/{NcDialogButton-Di9tU3e_.mjs → NcDialogButton-DtGSMhif.mjs} +8 -7
  493. package/dist/chunks/NcDialogButton-DtGSMhif.mjs.map +1 -0
  494. package/dist/chunks/{NcEmojiPicker-DJHvkF--.mjs → NcEmojiPicker-B2SLfIBu.mjs} +19 -14
  495. package/dist/chunks/NcEmojiPicker-B2SLfIBu.mjs.map +1 -0
  496. package/dist/chunks/{NcEmojiPicker-C2-Q-RoT.cjs → NcEmojiPicker-q_n1Rd8U.cjs} +20 -15
  497. package/dist/chunks/NcEmojiPicker-q_n1Rd8U.cjs.map +1 -0
  498. package/dist/chunks/NcHeaderButton-AKzxd51V.cjs +63 -0
  499. package/dist/chunks/NcHeaderButton-AKzxd51V.cjs.map +1 -0
  500. package/dist/chunks/NcHeaderButton-BORaK-yT.mjs +64 -0
  501. package/dist/chunks/NcHeaderButton-BORaK-yT.mjs.map +1 -0
  502. package/dist/chunks/{NcHeaderMenu-BWFubuox.cjs → NcHeaderMenu-CBP4SYca.cjs} +11 -10
  503. package/dist/chunks/NcHeaderMenu-CBP4SYca.cjs.map +1 -0
  504. package/dist/chunks/{NcHeaderMenu-Dq_Avv2T.mjs → NcHeaderMenu-CkD6cjnH.mjs} +10 -9
  505. package/dist/chunks/NcHeaderMenu-CkD6cjnH.mjs.map +1 -0
  506. package/dist/chunks/{NcIconSvgWrapper-Cb-cPj1R.mjs → NcIconSvgWrapper-BreCg8pX.mjs} +6 -5
  507. package/dist/chunks/NcIconSvgWrapper-BreCg8pX.mjs.map +1 -0
  508. package/dist/chunks/{NcIconSvgWrapper-CrnN5Sq5.cjs → NcIconSvgWrapper-D-aKMbf3.cjs} +7 -6
  509. package/dist/chunks/NcIconSvgWrapper-D-aKMbf3.cjs.map +1 -0
  510. package/dist/chunks/{NcInputConfirmCancel-DA740BJ-.mjs → NcInputConfirmCancel-21vM2JHp.mjs} +12 -6
  511. package/dist/chunks/NcInputConfirmCancel-21vM2JHp.mjs.map +1 -0
  512. package/dist/chunks/{NcInputConfirmCancel-Dz7-CkOl.cjs → NcInputConfirmCancel-BqZm3WBG.cjs} +13 -7
  513. package/dist/chunks/NcInputConfirmCancel-BqZm3WBG.cjs.map +1 -0
  514. package/dist/chunks/{NcInputField-cT3u4gMS.cjs → NcInputField-Dry3uU_8.cjs} +10 -7
  515. package/dist/chunks/NcInputField-Dry3uU_8.cjs.map +1 -0
  516. package/dist/chunks/{NcInputField-BNSfmQqu.mjs → NcInputField-kKgY_2GV.mjs} +9 -6
  517. package/dist/chunks/NcInputField-kKgY_2GV.mjs.map +1 -0
  518. package/dist/chunks/{NcListItem-CnxZixD_.mjs → NcListItem-B3ETbT9w.mjs} +9 -5
  519. package/dist/chunks/NcListItem-B3ETbT9w.mjs.map +1 -0
  520. package/dist/chunks/{NcListItem-DV4HPJWQ.cjs → NcListItem-D_-a7WR9.cjs} +9 -5
  521. package/dist/chunks/NcListItem-D_-a7WR9.cjs.map +1 -0
  522. package/dist/chunks/{NcListItemIcon-BUthbF_v.cjs → NcListItemIcon-CYR8eKOU.cjs} +11 -10
  523. package/dist/chunks/NcListItemIcon-CYR8eKOU.cjs.map +1 -0
  524. package/dist/chunks/{NcListItemIcon-CTfYEjBB.mjs → NcListItemIcon-bQZej-L0.mjs} +11 -10
  525. package/dist/chunks/NcListItemIcon-bQZej-L0.mjs.map +1 -0
  526. package/dist/chunks/{NcPasswordField-DSdrAkZy.mjs → NcPasswordField-9LYKS0t_.mjs} +15 -12
  527. package/dist/chunks/NcPasswordField-9LYKS0t_.mjs.map +1 -0
  528. package/dist/chunks/{NcPasswordField-DcFBNVHn.cjs → NcPasswordField-DPGGwGEl.cjs} +15 -12
  529. package/dist/chunks/NcPasswordField-DPGGwGEl.cjs.map +1 -0
  530. package/dist/chunks/{NcPopover-CAJVK-MR.mjs → NcPopover-DMUA5d7U.mjs} +40 -11
  531. package/dist/chunks/NcPopover-DMUA5d7U.mjs.map +1 -0
  532. package/dist/chunks/{NcPopover-QGSKWhSP.cjs → NcPopover-DkX3Esbr.cjs} +40 -11
  533. package/dist/chunks/NcPopover-DkX3Esbr.cjs.map +1 -0
  534. package/dist/chunks/{NcProgressBar-CI_nOrPg.mjs → NcProgressBar-D7zYeXBH.mjs} +8 -4
  535. package/dist/chunks/NcProgressBar-D7zYeXBH.mjs.map +1 -0
  536. package/dist/chunks/{NcProgressBar-lh4Gtdfr.cjs → NcProgressBar-DvxA9bq5.cjs} +8 -4
  537. package/dist/chunks/NcProgressBar-DvxA9bq5.cjs.map +1 -0
  538. package/dist/chunks/NcRadioGroup-BZ-humrK.cjs +84 -0
  539. package/dist/chunks/NcRadioGroup-BZ-humrK.cjs.map +1 -0
  540. package/dist/chunks/NcRadioGroup-VKZJ0Vnh.mjs +83 -0
  541. package/dist/chunks/NcRadioGroup-VKZJ0Vnh.mjs.map +1 -0
  542. package/dist/chunks/NcRadioGroupButton-7UZaDiJ2.cjs +62 -0
  543. package/dist/chunks/NcRadioGroupButton-7UZaDiJ2.cjs.map +1 -0
  544. package/dist/chunks/NcRadioGroupButton-QLL4wM7A.mjs +63 -0
  545. package/dist/chunks/NcRadioGroupButton-QLL4wM7A.mjs.map +1 -0
  546. package/dist/chunks/{NcRelatedResourcesPanel-BR_ggojH.cjs → NcRelatedResourcesPanel-jHQ2bRko.cjs} +86 -82
  547. package/dist/chunks/NcRelatedResourcesPanel-jHQ2bRko.cjs.map +1 -0
  548. package/dist/chunks/{NcRelatedResourcesPanel-DyvwxDjI.mjs → NcRelatedResourcesPanel-jvOEQWWO.mjs} +85 -81
  549. package/dist/chunks/NcRelatedResourcesPanel-jvOEQWWO.mjs.map +1 -0
  550. package/dist/chunks/{NcRichContenteditable-B5-V1mov.cjs → NcRichContenteditable-BILbjzSU.cjs} +51 -28
  551. package/dist/chunks/NcRichContenteditable-BILbjzSU.cjs.map +1 -0
  552. package/dist/chunks/{NcRichContenteditable-cpptFUeI.mjs → NcRichContenteditable-iQhj1-AH.mjs} +50 -27
  553. package/dist/chunks/NcRichContenteditable-iQhj1-AH.mjs.map +1 -0
  554. package/dist/chunks/{NcRichText-CmuVmSzl.mjs → NcRichText-B7M7rNqC.mjs} +80 -81
  555. package/dist/chunks/NcRichText-B7M7rNqC.mjs.map +1 -0
  556. package/dist/chunks/{NcRichText-DKesJDDM.cjs → NcRichText-DYcfsH5s.cjs} +85 -86
  557. package/dist/chunks/NcRichText-DYcfsH5s.cjs.map +1 -0
  558. package/dist/chunks/NcSavingIndicatorIcon-DFyB2KRK.cjs.map +1 -1
  559. package/dist/chunks/NcSavingIndicatorIcon-U7AIamCl.mjs.map +1 -1
  560. package/dist/chunks/{NcSelect-BUOuXJUQ.mjs → NcSelect-PvjbF3jF.mjs} +18 -13
  561. package/dist/chunks/NcSelect-PvjbF3jF.mjs.map +1 -0
  562. package/dist/chunks/{NcSelect-CnLfkqdF.cjs → NcSelect-s3_u0qvy.cjs} +18 -13
  563. package/dist/chunks/NcSelect-s3_u0qvy.cjs.map +1 -0
  564. package/dist/chunks/{NcSelectTags-hP98xYkg.mjs → NcSelectTags-DYUCDZ_e.mjs} +19 -15
  565. package/dist/chunks/NcSelectTags-DYUCDZ_e.mjs.map +1 -0
  566. package/dist/chunks/{NcSelectTags-D9-2HA1H.cjs → NcSelectTags-e4Gjcx_7.cjs} +19 -15
  567. package/dist/chunks/NcSelectTags-e4Gjcx_7.cjs.map +1 -0
  568. package/dist/chunks/{NcSelectUsers-arPrkqH_.cjs → NcSelectUsers-Bmwhu14K.cjs} +9 -8
  569. package/dist/chunks/NcSelectUsers-Bmwhu14K.cjs.map +1 -0
  570. package/dist/chunks/{NcSelectUsers-DaHVPRPE.mjs → NcSelectUsers-CMF_h9c0.mjs} +9 -8
  571. package/dist/chunks/NcSelectUsers-CMF_h9c0.mjs.map +1 -0
  572. package/dist/chunks/{NcSettingsInputText-BKoaCiQU.mjs → NcSettingsInputText-BQVh24zT.mjs} +8 -6
  573. package/dist/chunks/NcSettingsInputText-BQVh24zT.mjs.map +1 -0
  574. package/dist/chunks/{NcSettingsInputText-D7eoCI2o.cjs → NcSettingsInputText-DWihH7ke.cjs} +8 -6
  575. package/dist/chunks/NcSettingsInputText-DWihH7ke.cjs.map +1 -0
  576. package/dist/chunks/{NcSettingsSection-Bmo90KQR.cjs → NcSettingsSection-Dgc7SEuu.cjs} +17 -5
  577. package/dist/chunks/NcSettingsSection-Dgc7SEuu.cjs.map +1 -0
  578. package/dist/chunks/{NcSettingsSection-fe_YIg-L.mjs → NcSettingsSection-evNvfEg2.mjs} +17 -5
  579. package/dist/chunks/NcSettingsSection-evNvfEg2.mjs.map +1 -0
  580. package/dist/chunks/{NcSettingsSelectGroup-SuQNKdqU.mjs → NcSettingsSelectGroup-C-YAk1f8.mjs} +19 -19
  581. package/dist/chunks/NcSettingsSelectGroup-C-YAk1f8.mjs.map +1 -0
  582. package/dist/chunks/{NcSettingsSelectGroup-D0s0bzQI.cjs → NcSettingsSelectGroup-X1pBwmAZ.cjs} +19 -19
  583. package/dist/chunks/NcSettingsSelectGroup-X1pBwmAZ.cjs.map +1 -0
  584. package/dist/chunks/{NcTextArea-BFLuhsEv.mjs → NcTextArea-DHmD6-6s.mjs} +8 -5
  585. package/dist/chunks/NcTextArea-DHmD6-6s.mjs.map +1 -0
  586. package/dist/chunks/{NcTextArea-B2hcap39.cjs → NcTextArea-DkVtHTpD.cjs} +8 -5
  587. package/dist/chunks/NcTextArea-DkVtHTpD.cjs.map +1 -0
  588. package/dist/chunks/{NcTextField-Dyuxj4yu.cjs → NcTextField-Cp3tulze.cjs} +9 -9
  589. package/dist/chunks/NcTextField-Cp3tulze.cjs.map +1 -0
  590. package/dist/chunks/{NcTextField-Do6wBDGH.mjs → NcTextField-D_IMz2MR.mjs} +9 -9
  591. package/dist/chunks/NcTextField-D_IMz2MR.mjs.map +1 -0
  592. package/dist/chunks/NcThemeProvider-25ResoIv.mjs.map +1 -1
  593. package/dist/chunks/NcThemeProvider-BqGPTeWg.cjs.map +1 -1
  594. package/dist/chunks/{NcTimezonePicker-obgDIrK0.cjs → NcTimezonePicker-Co7jDP7N.cjs} +10 -8
  595. package/dist/chunks/NcTimezonePicker-Co7jDP7N.cjs.map +1 -0
  596. package/dist/chunks/{NcTimezonePicker-bIwFQlmV.mjs → NcTimezonePicker-Cu1FrSIX.mjs} +10 -8
  597. package/dist/chunks/NcTimezonePicker-Cu1FrSIX.mjs.map +1 -0
  598. package/dist/chunks/{NcUserBubble-BmPOx3MW.mjs → NcUserBubble-Be2B8iJY.mjs} +9 -9
  599. package/dist/chunks/NcUserBubble-Be2B8iJY.mjs.map +1 -0
  600. package/dist/chunks/{NcUserBubble-BusyVqGW.cjs → NcUserBubble-CdX6H9-M.cjs} +9 -9
  601. package/dist/chunks/NcUserBubble-CdX6H9-M.cjs.map +1 -0
  602. package/dist/chunks/{NcUserStatusIcon-DQr5EGWZ.mjs → NcUserStatusIcon-C83nB_8T.mjs} +16 -16
  603. package/dist/chunks/NcUserStatusIcon-C83nB_8T.mjs.map +1 -0
  604. package/dist/chunks/{NcUserStatusIcon-CKPJ27oi.cjs → NcUserStatusIcon-DhZabBIY.cjs} +16 -16
  605. package/dist/chunks/NcUserStatusIcon-DhZabBIY.cjs.map +1 -0
  606. package/dist/chunks/{ScopeComponent-CNZNqO-O.mjs → ScopeComponent-305QOaqN.mjs} +4 -4
  607. package/dist/chunks/ScopeComponent-305QOaqN.mjs.map +1 -0
  608. package/dist/chunks/{ScopeComponent-CTlekHht.cjs → ScopeComponent-9wtS_FpN.cjs} +4 -4
  609. package/dist/chunks/ScopeComponent-9wtS_FpN.cjs.map +1 -0
  610. package/dist/chunks/{_l10n-CW0YfIWk.mjs → _l10n-BEfeU7gr.mjs} +98 -100
  611. package/dist/chunks/_l10n-BEfeU7gr.mjs.map +1 -0
  612. package/dist/chunks/{_l10n-RKohWu5d.cjs → _l10n-DM-VRK9x.cjs} +54 -56
  613. package/dist/chunks/{_l10n-RKohWu5d.cjs.map → _l10n-DM-VRK9x.cjs.map} +1 -1
  614. package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
  615. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
  616. package/dist/chunks/{actionText-fFcUPi2g.mjs → actionText-BMig9Egt.mjs} +5 -4
  617. package/dist/chunks/actionText-BMig9Egt.mjs.map +1 -0
  618. package/dist/chunks/{actionText-BcrK4uH1.cjs → actionText-D2-z0ud3.cjs} +5 -4
  619. package/dist/chunks/actionText-D2-z0ud3.cjs.map +1 -0
  620. package/dist/chunks/{autolink-BAgL31EZ.cjs → autolink-BPlRHRHR.cjs} +11 -10
  621. package/dist/chunks/autolink-BPlRHRHR.cjs.map +1 -0
  622. package/dist/chunks/{autolink-cbuFALXr.mjs → autolink-D2pIbi92.mjs} +11 -10
  623. package/dist/chunks/autolink-D2pIbi92.mjs.map +1 -0
  624. package/dist/chunks/constants-Bls5liKo.mjs.map +1 -1
  625. package/dist/chunks/constants-C_lA-vcp.cjs.map +1 -1
  626. package/dist/chunks/createElementId-DhjFt1I9.mjs +8 -0
  627. package/dist/chunks/createElementId-DhjFt1I9.mjs.map +1 -0
  628. package/dist/chunks/createElementId-lalylSCf.cjs +7 -0
  629. package/dist/chunks/createElementId-lalylSCf.cjs.map +1 -0
  630. package/dist/chunks/{index-56SXuvlv.mjs → customPickerElements-DLFtgReB.mjs} +50 -49
  631. package/dist/chunks/customPickerElements-DLFtgReB.mjs.map +1 -0
  632. package/dist/chunks/{index-BV85rPB7.cjs → customPickerElements-GyIIOHiQ.cjs} +43 -42
  633. package/dist/chunks/customPickerElements-GyIIOHiQ.cjs.map +1 -0
  634. package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
  635. package/dist/chunks/emoji-VgSjNTd5.cjs.map +1 -1
  636. package/dist/chunks/focusTrap-DUTqW_IG.cjs.map +1 -1
  637. package/dist/chunks/focusTrap-HJQ4pqHV.mjs.map +1 -1
  638. package/dist/chunks/getAvatarUrl-Du9Y3cPO.cjs.map +1 -1
  639. package/dist/chunks/getAvatarUrl-IhLacDEr.mjs.map +1 -1
  640. package/dist/chunks/{index-AlIgEQXL.cjs → index-CgkN1xho.cjs} +7 -6
  641. package/dist/chunks/index-CgkN1xho.cjs.map +1 -0
  642. package/dist/chunks/{index-Bz6q9mZw.mjs → index-CxTT94_h.mjs} +3 -3
  643. package/dist/chunks/index-CxTT94_h.mjs.map +1 -0
  644. package/dist/chunks/{index-DIJxEozm.cjs → index-Dr9k4hIP.cjs} +3 -3
  645. package/dist/chunks/index-Dr9k4hIP.cjs.map +1 -0
  646. package/dist/chunks/{index-B8gPNa8c.mjs → index-TmAR7I2T.mjs} +7 -6
  647. package/dist/chunks/index-TmAR7I2T.mjs.map +1 -0
  648. package/dist/chunks/logger-3HuiEIF6.cjs.map +1 -1
  649. package/dist/chunks/logger-D3RVzcfQ.mjs.map +1 -1
  650. package/dist/chunks/{mdi-B_QN3oas.cjs → mdi-BBwE-MZC.cjs} +3 -1
  651. package/dist/chunks/{mdi-B_QN3oas.cjs.map → mdi-BBwE-MZC.cjs.map} +1 -1
  652. package/dist/chunks/{mdi-DoaiuWye.mjs → mdi-DXu6GWVJ.mjs} +8 -6
  653. package/dist/chunks/{mdi-DoaiuWye.mjs.map → mdi-DXu6GWVJ.mjs.map} +1 -1
  654. package/dist/chunks/platform-CC2ecGvV.mjs +5 -0
  655. package/dist/chunks/platform-CC2ecGvV.mjs.map +1 -0
  656. package/dist/chunks/platform-oKxQ1agV.cjs +4 -0
  657. package/dist/chunks/platform-oKxQ1agV.cjs.map +1 -0
  658. package/dist/chunks/{referencePickerModal-C1Srl207.cjs → referencePickerModal-BcAnnsxZ.cjs} +121 -118
  659. package/dist/chunks/referencePickerModal-BcAnnsxZ.cjs.map +1 -0
  660. package/dist/chunks/{referencePickerModal-CtMUY45l.mjs → referencePickerModal-CN4C9eDc.mjs} +111 -108
  661. package/dist/chunks/referencePickerModal-CN4C9eDc.mjs.map +1 -0
  662. package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -1
  663. package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -1
  664. package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs +14 -0
  665. package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs.map +1 -0
  666. package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs +13 -0
  667. package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs.map +1 -0
  668. package/dist/chunks/{useTrapStackControl-yqM2SDEs.mjs → useTrapStackControl-BnLfCgGU.mjs} +2 -2
  669. package/dist/chunks/useTrapStackControl-BnLfCgGU.mjs.map +1 -0
  670. package/dist/chunks/{useTrapStackControl-CTZTSUOt.cjs → useTrapStackControl-XYABY64G.cjs} +2 -2
  671. package/dist/chunks/useTrapStackControl-XYABY64G.cjs.map +1 -0
  672. package/dist/components/NcAssistantButton/index.d.ts +5 -0
  673. package/dist/components/NcAssistantContent/index.d.ts +5 -0
  674. package/dist/components/NcAssistantIcon/index.d.ts +5 -0
  675. package/dist/components/NcCollectionList/service.d.ts +7 -0
  676. package/dist/components/NcKbd/index.d.ts +1 -0
  677. package/dist/components/NcRadioGroup/index.d.ts +5 -0
  678. package/dist/components/NcRadioGroup/useNcRadioGroup.d.ts +14 -0
  679. package/dist/components/NcRadioGroupButton/index.d.ts +5 -0
  680. package/dist/composables/actions/useActionText.d.ts +4 -1
  681. package/dist/composables/useFormatDateTime/index.d.ts +7 -5
  682. package/dist/composables/useIsDarkTheme/constants.d.ts +0 -1
  683. package/dist/composables/useIsDarkTheme/index.d.ts +2 -1
  684. package/dist/composables/useModelMigration.d.ts +5 -4
  685. package/dist/composables/useTrapStackControl.d.ts +1 -1
  686. package/dist/directives/Linkify/index.d.ts +3 -0
  687. package/dist/functions/a11y/index.d.ts +3 -3
  688. package/dist/functions/contactsMenu/index.d.ts +2 -2
  689. package/dist/functions/dialog/index.d.ts +1 -0
  690. package/dist/functions/emoji/emoji.d.ts +2 -2
  691. package/dist/functions/emoji/index.d.ts +1 -1
  692. package/dist/functions/isDarkTheme/index.d.ts +2 -1
  693. package/dist/functions/preloadImage/index.d.ts +1 -0
  694. package/dist/functions/reference/customPickerElements.d.ts +56 -0
  695. package/dist/functions/reference/index.d.ts +8 -0
  696. package/dist/functions/reference/providerHelper.d.ts +45 -0
  697. package/dist/functions/reference/referencePickerModal.d.ts +11 -0
  698. package/dist/functions/reference/widgets.d.ts +48 -28
  699. package/dist/functions/registerReference/index.d.ts +6 -0
  700. package/dist/index.cjs +99 -83
  701. package/dist/index.cjs.map +1 -1
  702. package/dist/index.mjs +96 -80
  703. package/dist/index.mjs.map +1 -1
  704. package/dist/plugin.d.ts +1 -0
  705. package/dist/utils/UserStatus.d.ts +6 -1
  706. package/dist/utils/createElementId.d.ts +11 -0
  707. package/dist/utils/getAvatarUrl.d.ts +1 -0
  708. package/dist/utils/platform.d.ts +1 -0
  709. package/package.json +28 -24
  710. package/dist/assets/NcSelectUsers-BOwQNNMf.css +0 -4
  711. package/dist/chunks/GenColors-BjsCKF7S.cjs.map +0 -1
  712. package/dist/chunks/GenColors-BrpkL3hT.mjs.map +0 -1
  713. package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +0 -1
  714. package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +0 -1
  715. package/dist/chunks/NcActionButton-D_9FsTpM.cjs.map +0 -1
  716. package/dist/chunks/NcActionButton-rjMoymt-.mjs.map +0 -1
  717. package/dist/chunks/NcActionCheckbox-DSMKeccY.mjs.map +0 -1
  718. package/dist/chunks/NcActionCheckbox-JX-QaTD6.cjs.map +0 -1
  719. package/dist/chunks/NcActionInput-CA9bOHxb.cjs.map +0 -1
  720. package/dist/chunks/NcActionInput-CQ_WEPqQ.mjs.map +0 -1
  721. package/dist/chunks/NcActionRadio-BUCQ6VxA.cjs.map +0 -1
  722. package/dist/chunks/NcActionRadio-yAm71xxU.mjs.map +0 -1
  723. package/dist/chunks/NcActionTextEditable-B4g2kszt.cjs.map +0 -1
  724. package/dist/chunks/NcActionTextEditable-xWQGdOVl.mjs.map +0 -1
  725. package/dist/chunks/NcActions-B76VN_Gz.cjs.map +0 -1
  726. package/dist/chunks/NcActions-BKZA1xVL.mjs.map +0 -1
  727. package/dist/chunks/NcAppContent-BS7BiMG0.mjs.map +0 -1
  728. package/dist/chunks/NcAppContent-POt1Lj3W.cjs.map +0 -1
  729. package/dist/chunks/NcAppNavigation-BKxSUpcQ.cjs.map +0 -1
  730. package/dist/chunks/NcAppNavigation-BvEa92PC.mjs.map +0 -1
  731. package/dist/chunks/NcAppNavigationItem-Cu3S2chM.cjs.map +0 -1
  732. package/dist/chunks/NcAppNavigationItem-NIMhmJHh.mjs.map +0 -1
  733. package/dist/chunks/NcAppNavigationNewItem-CTAoGkDy.cjs.map +0 -1
  734. package/dist/chunks/NcAppNavigationNewItem-D4fJeBl0.mjs.map +0 -1
  735. package/dist/chunks/NcAppNavigationSearch-B9OkdsuE.mjs.map +0 -1
  736. package/dist/chunks/NcAppNavigationSearch-CaBrnpf9.cjs.map +0 -1
  737. package/dist/chunks/NcAppNavigationSettings-BV34ogWP.mjs.map +0 -1
  738. package/dist/chunks/NcAppNavigationSettings-C8YaW_Kj.cjs.map +0 -1
  739. package/dist/chunks/NcAppNavigationToggle-DGppWo0q.cjs.map +0 -1
  740. package/dist/chunks/NcAppNavigationToggle-VxL1CfJY.mjs.map +0 -1
  741. package/dist/chunks/NcAppSettingsDialog-BDo3la0P.cjs.map +0 -1
  742. package/dist/chunks/NcAppSettingsDialog-BwsIc_QT.mjs.map +0 -1
  743. package/dist/chunks/NcAppSidebar-BJgPYOcZ.mjs.map +0 -1
  744. package/dist/chunks/NcAppSidebar-Dbvy4M4h.cjs.map +0 -1
  745. package/dist/chunks/NcAppSidebarHeader-BUXD8c9i.cjs.map +0 -1
  746. package/dist/chunks/NcAppSidebarHeader-G2VD8Nfl.mjs.map +0 -1
  747. package/dist/chunks/NcAvatar-CgF-MFtU.mjs.map +0 -1
  748. package/dist/chunks/NcAvatar-DThzrxm-.cjs.map +0 -1
  749. package/dist/chunks/NcBreadcrumb-86ycrDeH.cjs.map +0 -1
  750. package/dist/chunks/NcBreadcrumb-DJpYjXCe.mjs.map +0 -1
  751. package/dist/chunks/NcBreadcrumbs-B722pBOd.mjs.map +0 -1
  752. package/dist/chunks/NcBreadcrumbs-CBMTGNxS.cjs.map +0 -1
  753. package/dist/chunks/NcCheckboxRadioSwitch-ip_mRd2T.mjs.map +0 -1
  754. package/dist/chunks/NcCheckboxRadioSwitch-kdoDmLpF.cjs.map +0 -1
  755. package/dist/chunks/NcCollectionList-C-FWulfV.cjs.map +0 -1
  756. package/dist/chunks/NcCollectionList-Khg3X3Zq.mjs.map +0 -1
  757. package/dist/chunks/NcColorPicker-C3lzQVxY.cjs.map +0 -1
  758. package/dist/chunks/NcColorPicker-MXMbRaLk.mjs.map +0 -1
  759. package/dist/chunks/NcCounterBubble-BRrUO34D.cjs.map +0 -1
  760. package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs.map +0 -1
  761. package/dist/chunks/NcDashboardWidget-D0cFVt4i.mjs.map +0 -1
  762. package/dist/chunks/NcDashboardWidget-DD_fZTj6.cjs.map +0 -1
  763. package/dist/chunks/NcDashboardWidgetItem-BiH7ivQn.cjs.map +0 -1
  764. package/dist/chunks/NcDashboardWidgetItem-D33MR-DH.mjs.map +0 -1
  765. package/dist/chunks/NcDateTime-Cl-PZpLN.cjs.map +0 -1
  766. package/dist/chunks/NcDateTime-kanSdMgW.mjs.map +0 -1
  767. package/dist/chunks/NcDialog-C1b3UtA7.mjs.map +0 -1
  768. package/dist/chunks/NcDialog-ps0F3IQM.cjs.map +0 -1
  769. package/dist/chunks/NcDialogButton-CEdM0Qnr.cjs.map +0 -1
  770. package/dist/chunks/NcDialogButton-Di9tU3e_.mjs.map +0 -1
  771. package/dist/chunks/NcEmojiPicker-C2-Q-RoT.cjs.map +0 -1
  772. package/dist/chunks/NcEmojiPicker-DJHvkF--.mjs.map +0 -1
  773. package/dist/chunks/NcHeaderMenu-BWFubuox.cjs.map +0 -1
  774. package/dist/chunks/NcHeaderMenu-Dq_Avv2T.mjs.map +0 -1
  775. package/dist/chunks/NcIconSvgWrapper-Cb-cPj1R.mjs.map +0 -1
  776. package/dist/chunks/NcIconSvgWrapper-CrnN5Sq5.cjs.map +0 -1
  777. package/dist/chunks/NcInputConfirmCancel-DA740BJ-.mjs.map +0 -1
  778. package/dist/chunks/NcInputConfirmCancel-Dz7-CkOl.cjs.map +0 -1
  779. package/dist/chunks/NcInputField-BNSfmQqu.mjs.map +0 -1
  780. package/dist/chunks/NcInputField-cT3u4gMS.cjs.map +0 -1
  781. package/dist/chunks/NcListItem-CnxZixD_.mjs.map +0 -1
  782. package/dist/chunks/NcListItem-DV4HPJWQ.cjs.map +0 -1
  783. package/dist/chunks/NcListItemIcon-BUthbF_v.cjs.map +0 -1
  784. package/dist/chunks/NcListItemIcon-CTfYEjBB.mjs.map +0 -1
  785. package/dist/chunks/NcPasswordField-DSdrAkZy.mjs.map +0 -1
  786. package/dist/chunks/NcPasswordField-DcFBNVHn.cjs.map +0 -1
  787. package/dist/chunks/NcPopover-CAJVK-MR.mjs.map +0 -1
  788. package/dist/chunks/NcPopover-QGSKWhSP.cjs.map +0 -1
  789. package/dist/chunks/NcProgressBar-CI_nOrPg.mjs.map +0 -1
  790. package/dist/chunks/NcProgressBar-lh4Gtdfr.cjs.map +0 -1
  791. package/dist/chunks/NcRelatedResourcesPanel-BR_ggojH.cjs.map +0 -1
  792. package/dist/chunks/NcRelatedResourcesPanel-DyvwxDjI.mjs.map +0 -1
  793. package/dist/chunks/NcRichContenteditable-B5-V1mov.cjs.map +0 -1
  794. package/dist/chunks/NcRichContenteditable-cpptFUeI.mjs.map +0 -1
  795. package/dist/chunks/NcRichText-CmuVmSzl.mjs.map +0 -1
  796. package/dist/chunks/NcRichText-DKesJDDM.cjs.map +0 -1
  797. package/dist/chunks/NcSelect-BUOuXJUQ.mjs.map +0 -1
  798. package/dist/chunks/NcSelect-CnLfkqdF.cjs.map +0 -1
  799. package/dist/chunks/NcSelectTags-D9-2HA1H.cjs.map +0 -1
  800. package/dist/chunks/NcSelectTags-hP98xYkg.mjs.map +0 -1
  801. package/dist/chunks/NcSelectUsers-DaHVPRPE.mjs.map +0 -1
  802. package/dist/chunks/NcSelectUsers-arPrkqH_.cjs.map +0 -1
  803. package/dist/chunks/NcSettingsInputText-BKoaCiQU.mjs.map +0 -1
  804. package/dist/chunks/NcSettingsInputText-D7eoCI2o.cjs.map +0 -1
  805. package/dist/chunks/NcSettingsSection-Bmo90KQR.cjs.map +0 -1
  806. package/dist/chunks/NcSettingsSection-fe_YIg-L.mjs.map +0 -1
  807. package/dist/chunks/NcSettingsSelectGroup-D0s0bzQI.cjs.map +0 -1
  808. package/dist/chunks/NcSettingsSelectGroup-SuQNKdqU.mjs.map +0 -1
  809. package/dist/chunks/NcTextArea-B2hcap39.cjs.map +0 -1
  810. package/dist/chunks/NcTextArea-BFLuhsEv.mjs.map +0 -1
  811. package/dist/chunks/NcTextField-Do6wBDGH.mjs.map +0 -1
  812. package/dist/chunks/NcTextField-Dyuxj4yu.cjs.map +0 -1
  813. package/dist/chunks/NcTimezonePicker-bIwFQlmV.mjs.map +0 -1
  814. package/dist/chunks/NcTimezonePicker-obgDIrK0.cjs.map +0 -1
  815. package/dist/chunks/NcUserBubble-BmPOx3MW.mjs.map +0 -1
  816. package/dist/chunks/NcUserBubble-BusyVqGW.cjs.map +0 -1
  817. package/dist/chunks/NcUserStatusIcon-CKPJ27oi.cjs.map +0 -1
  818. package/dist/chunks/NcUserStatusIcon-DQr5EGWZ.mjs.map +0 -1
  819. package/dist/chunks/ScopeComponent-CNZNqO-O.mjs.map +0 -1
  820. package/dist/chunks/ScopeComponent-CTlekHht.cjs.map +0 -1
  821. package/dist/chunks/_l10n-CW0YfIWk.mjs.map +0 -1
  822. package/dist/chunks/actionText-BcrK4uH1.cjs.map +0 -1
  823. package/dist/chunks/actionText-fFcUPi2g.mjs.map +0 -1
  824. package/dist/chunks/autolink-BAgL31EZ.cjs.map +0 -1
  825. package/dist/chunks/autolink-cbuFALXr.mjs.map +0 -1
  826. package/dist/chunks/index-56SXuvlv.mjs.map +0 -1
  827. package/dist/chunks/index-AlIgEQXL.cjs.map +0 -1
  828. package/dist/chunks/index-B8gPNa8c.mjs.map +0 -1
  829. package/dist/chunks/index-BV85rPB7.cjs.map +0 -1
  830. package/dist/chunks/index-Bz6q9mZw.mjs.map +0 -1
  831. package/dist/chunks/index-DIJxEozm.cjs.map +0 -1
  832. package/dist/chunks/referencePickerModal-C1Srl207.cjs.map +0 -1
  833. package/dist/chunks/referencePickerModal-CtMUY45l.mjs.map +0 -1
  834. package/dist/chunks/useTrapStackControl-CTZTSUOt.cjs.map +0 -1
  835. package/dist/chunks/useTrapStackControl-yqM2SDEs.mjs.map +0 -1
@@ -1,25 +1,18 @@
1
1
  "use strict";
2
- if (!window._vue_richtext_widgets) {
3
- window._vue_richtext_widgets = {};
4
- }
5
- const isWidgetRegistered = (id) => {
6
- return !!window._vue_richtext_widgets[id];
7
- };
8
- const hasInteractiveView = (id) => {
9
- return !!window._vue_richtext_widgets[id]?.hasInteractiveView;
10
- };
11
- const hasFullWidth = (id) => {
12
- return !!window._vue_richtext_widgets[id]?.fullWidth;
2
+ const logger = require("./logger-3HuiEIF6.cjs");
3
+ window._vue_richtext_widgets ??= {};
4
+ window._registerWidget ??= (id, callback, onDestroy, props) => {
5
+ registerWidget(id, callback, onDestroy, props);
13
6
  };
14
- const registerWidget = (id, callback, onDestroy = (el) => {
15
- }, props) => {
7
+ function registerWidget(id, callback, onDestroy = () => {
8
+ }, props) {
16
9
  const propsWithDefaults = {
17
10
  hasInteractiveView: true,
18
11
  fullWidth: false,
19
12
  ...props
20
13
  };
21
14
  if (window._vue_richtext_widgets[id]) {
22
- console.error("Widget for id " + id + " already registered");
15
+ logger.logger.error(`[ReferencePicker]: Widget for id ${id} already registered`);
23
16
  return;
24
17
  }
25
18
  window._vue_richtext_widgets[id] = {
@@ -28,18 +21,19 @@ const registerWidget = (id, callback, onDestroy = (el) => {
28
21
  onDestroy,
29
22
  ...propsWithDefaults
30
23
  };
31
- };
32
- const renderWidget = (el, { richObjectType, richObject, accessible, interactive }) => {
24
+ }
25
+ function renderWidget(el, options) {
26
+ const { richObjectType, richObject, accessible, interactive } = options;
33
27
  if (richObjectType === "open-graph") {
34
28
  return;
35
29
  }
36
30
  if (!window._vue_richtext_widgets[richObjectType]) {
37
- console.error("Widget for rich object type " + richObjectType + " not registered");
31
+ logger.logger.error("Widget for rich object type " + richObjectType + " not registered");
38
32
  return;
39
33
  }
40
34
  window._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible, interactive });
41
- };
42
- const destroyWidget = (richObjectType, el) => {
35
+ }
36
+ function destroyWidget(richObjectType, el) {
43
37
  if (richObjectType === "open-graph") {
44
38
  return;
45
39
  }
@@ -47,37 +41,44 @@ const destroyWidget = (richObjectType, el) => {
47
41
  return;
48
42
  }
49
43
  window._vue_richtext_widgets[richObjectType].onDestroy(el);
50
- };
51
- window._registerWidget = (id, callback, onDestroy, props) => {
52
- registerWidget(id, callback, onDestroy, props);
53
- };
54
- if (!window._vue_richtext_custom_picker_elements) {
55
- window._vue_richtext_custom_picker_elements = {};
56
44
  }
45
+ function isWidgetRegistered(id) {
46
+ return !!window._vue_richtext_widgets[id];
47
+ }
48
+ function hasInteractiveView(id) {
49
+ return !!window._vue_richtext_widgets[id]?.hasInteractiveView;
50
+ }
51
+ function hasFullWidth(id) {
52
+ return !!window._vue_richtext_widgets[id]?.fullWidth;
53
+ }
54
+ window._vue_richtext_custom_picker_elements ??= {};
55
+ window._registerCustomPickerElement ??= registerCustomPickerElement;
57
56
  class NcCustomPickerRenderResult {
57
+ element;
58
+ object;
58
59
  /**
59
- * @param {HTMLElement} element The HTML element
60
- * @param {object} object The object
60
+ * @param element - The HTML element
61
+ * @param object - The object
61
62
  */
62
63
  constructor(element, object) {
63
64
  this.element = element;
64
65
  this.object = object;
65
66
  }
66
67
  }
67
- const isCustomPickerElementRegistered = (id) => {
68
+ function isCustomPickerElementRegistered(id) {
68
69
  return !!window._vue_richtext_custom_picker_elements[id];
69
- };
70
- const getCustomPickerElementSize = (id) => {
70
+ }
71
+ function getCustomPickerElementSize(id) {
71
72
  const size = window._vue_richtext_custom_picker_elements[id]?.size;
72
73
  if (["small", "normal", "large", "full"].includes(size)) {
73
74
  return size;
74
75
  }
75
76
  return null;
76
- };
77
- const registerCustomPickerElement = (id, callback, onDestroy = (el) => {
78
- }, size = "large") => {
77
+ }
78
+ function registerCustomPickerElement(id, callback, onDestroy = () => {
79
+ }, size = "large") {
79
80
  if (window._vue_richtext_custom_picker_elements[id]) {
80
- console.error("Custom reference picker element for id " + id + " already registered");
81
+ logger.logger.error(`Custom reference picker element for id ${id} already registered`);
81
82
  return;
82
83
  }
83
84
  window._vue_richtext_custom_picker_elements[id] = {
@@ -86,21 +87,21 @@ const registerCustomPickerElement = (id, callback, onDestroy = (el) => {
86
87
  onDestroy,
87
88
  size
88
89
  };
89
- };
90
- const renderCustomPickerElement = (el, { providerId, accessible }) => {
90
+ }
91
+ function renderCustomPickerElement(el, options) {
92
+ const { providerId, accessible } = options;
91
93
  if (!window._vue_richtext_custom_picker_elements[providerId]) {
92
- console.error("Custom reference picker element for reference provider ID " + providerId + " not registered");
94
+ logger.logger.error(`Custom reference picker element for reference provider ID ${providerId} not registered`);
93
95
  return;
94
96
  }
95
97
  return window._vue_richtext_custom_picker_elements[providerId].callback(el, { providerId, accessible });
96
- };
97
- const destroyCustomPickerElement = (providerId, el, renderResult) => {
98
+ }
99
+ function destroyCustomPickerElement(providerId, el, renderResult) {
98
100
  if (!window._vue_richtext_custom_picker_elements[providerId]) {
99
101
  return;
100
102
  }
101
103
  window._vue_richtext_custom_picker_elements[providerId].onDestroy(el, renderResult);
102
- };
103
- window._registerCustomPickerElement = registerCustomPickerElement;
104
+ }
104
105
  exports.NcCustomPickerRenderResult = NcCustomPickerRenderResult;
105
106
  exports.destroyCustomPickerElement = destroyCustomPickerElement;
106
107
  exports.destroyWidget = destroyWidget;
@@ -113,4 +114,4 @@ exports.registerCustomPickerElement = registerCustomPickerElement;
113
114
  exports.registerWidget = registerWidget;
114
115
  exports.renderCustomPickerElement = renderCustomPickerElement;
115
116
  exports.renderWidget = renderWidget;
116
- //# sourceMappingURL=index-BV85rPB7.cjs.map
117
+ //# sourceMappingURL=customPickerElements-GyIIOHiQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customPickerElements-GyIIOHiQ.cjs","sources":["../../src/functions/reference/widgets.ts","../../src/functions/reference/customPickerElements.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { logger } from '../../utils/logger.ts'\n\nexport interface ReferenceWidgetRenderProperties {\n\trichObjectType: string\n\trichObject: object\n\taccessible: boolean\n\tinteractive: boolean\n}\n\ntype ReferenceWidgetRenderCallback = (el: HTMLElement, properties: ReferenceWidgetRenderProperties) => void\ntype ReferenceWidgetDestroyCallback = (el: HTMLElement) => void\n\nexport interface ReferenceWidgetProps {\n\tid: string\n\thasInteractiveView: boolean\n\tfullWidth: boolean\n\tcallback: ReferenceWidgetRenderCallback\n\tonDestroy: ReferenceWidgetDestroyCallback\n}\n\nwindow._vue_richtext_widgets ??= {}\nwindow._registerWidget ??= (id: string, callback: ReferenceWidgetRenderCallback, onDestroy: ReferenceWidgetDestroyCallback, props: Partial<ReferenceWidgetProps>) => {\n\tregisterWidget(id, callback, onDestroy, props)\n}\n\n/**\n * Register a new reference widget\n *\n * @param id - Id tof the widget\n * @param callback - Render callback\n * @param onDestroy - Cleanup callback\n * @param props - Widget props\n */\nexport function registerWidget(\n\tid: string,\n\tcallback: ReferenceWidgetRenderCallback,\n\tonDestroy: ReferenceWidgetDestroyCallback = () => {},\n\tprops?: Partial<ReferenceWidgetProps>,\n) {\n\tconst propsWithDefaults = {\n\t\thasInteractiveView: true,\n\t\tfullWidth: false,\n\t\t...props,\n\t}\n\n\tif (window._vue_richtext_widgets[id]) {\n\t\tlogger.error(`[ReferencePicker]: Widget for id ${id} already registered`)\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[id] = {\n\t\tid,\n\t\tcallback,\n\t\tonDestroy,\n\t\t...propsWithDefaults,\n\t}\n}\n\n/**\n * Render a reference widget to a given HTML element.\n *\n * @param el - The element to render widget to\n * @param options - render options\n */\nexport function renderWidget(el: HTMLElement, options: ReferenceWidgetRenderProperties) {\n\tconst { richObjectType, richObject, accessible, interactive } = options\n\tif (richObjectType === 'open-graph') {\n\t\treturn\n\t}\n\n\tif (!window._vue_richtext_widgets[richObjectType]) {\n\t\tlogger.error('Widget for rich object type ' + richObjectType + ' not registered')\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible, interactive })\n}\n\n/**\n * Call the cleanup callback of the reference widget for given object type.\n *\n * @param richObjectType - The object type\n * @param el - The element\n */\nexport function destroyWidget(richObjectType: string, el: HTMLElement) {\n\tif (richObjectType === 'open-graph') {\n\t\treturn\n\t}\n\n\tif (!window._vue_richtext_widgets[richObjectType]) {\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[richObjectType].onDestroy(el)\n}\n\n/**\n * Check if a widget with the give id is registered.\n *\n * @param id - Id of the widget\n */\nexport function isWidgetRegistered(id: string): boolean {\n\treturn !!window._vue_richtext_widgets[id]\n}\n\n/**\n * Check if the given widget has an interactive view.\n *\n * @param id - Id of the widget\n */\nexport function hasInteractiveView(id: string): boolean {\n\treturn !!window._vue_richtext_widgets[id]?.hasInteractiveView\n}\n\n/**\n * Check if the widget supports full width.\n *\n * @param id - Id of the widget\n */\nexport function hasFullWidth(id: string): boolean {\n\treturn !!window._vue_richtext_widgets[id]?.fullWidth\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { logger } from '../../utils/logger.ts'\n\nwindow._vue_richtext_custom_picker_elements ??= {}\nwindow._registerCustomPickerElement ??= registerCustomPickerElement\n\n/**\n * Representation of the render callback result\n * It contains a dom element and an object (Vue instance or other fancy things)\n */\nexport class NcCustomPickerRenderResult {\n\tpublic element: HTMLElement\n\tpublic object: object\n\n\t/**\n\t * @param element - The HTML element\n\t * @param object - The object\n\t */\n\tconstructor(element: HTMLElement, object: object) {\n\t\tthis.element = element\n\t\tthis.object = object\n\t}\n}\n\ninterface CustomPickerElementProps {\n\tproviderId: number\n\taccessible: boolean\n}\n\ntype CustomPickerElementRegistrationCallback = (el: HTMLElement, options: CustomPickerElementProps) => void\ntype CustomPickerElementDestroyCallback = (el: HTMLElement, result: NcCustomPickerRenderResult) => void\n\nexport interface CustomPickerElement {\n\tid: string\n\tsize: 'small' | 'normal' | 'large' | 'full'\n\n\tcallback: CustomPickerElementRegistrationCallback\n\tonDestroy: CustomPickerElementDestroyCallback\n}\n\n/**\n * @param id - Id of the element to check\n */\nexport function isCustomPickerElementRegistered(id: string): boolean {\n\treturn !!window._vue_richtext_custom_picker_elements[id]\n}\n\n/**\n * @param id - Id of the element to get\n */\nexport function getCustomPickerElementSize(id: string): 'small' | 'normal' | 'large' | 'full' | null {\n\tconst size = window._vue_richtext_custom_picker_elements[id]?.size\n\tif (['small', 'normal', 'large', 'full'].includes(size)) {\n\t\treturn size\n\t}\n\treturn null\n}\n\n/**\n * @param id - Id of element to register\n * @param callback - Render callback\n * @param onDestroy - Cleanup callback\n * @param size - Size of the element\n */\nexport function registerCustomPickerElement(\n\tid: string,\n\tcallback: CustomPickerElementRegistrationCallback,\n\tonDestroy: CustomPickerElementDestroyCallback = () => {},\n\tsize: CustomPickerElement['size'] = 'large',\n) {\n\tif (window._vue_richtext_custom_picker_elements[id]) {\n\t\tlogger.error(`Custom reference picker element for id ${id} already registered`)\n\t\treturn\n\t}\n\n\twindow._vue_richtext_custom_picker_elements[id] = {\n\t\tid,\n\t\tcallback,\n\t\tonDestroy,\n\t\tsize,\n\t}\n}\n\n/**\n * @param el - element to render to\n * @param options - Element options\n */\nexport function renderCustomPickerElement(el: HTMLElement, options: CustomPickerElementProps) {\n\tconst { providerId, accessible } = options\n\tif (!window._vue_richtext_custom_picker_elements[providerId]) {\n\t\tlogger.error(`Custom reference picker element for reference provider ID ${providerId} not registered`)\n\t\treturn\n\t}\n\n\treturn window._vue_richtext_custom_picker_elements[providerId]\n\t\t.callback(el, { providerId, accessible })\n}\n\n/**\n * @param providerId - Provider id of element to destroy\n * @param el - The element to destroy element from\n * @param renderResult - The render result\n */\nexport function destroyCustomPickerElement(providerId: string, el: HTMLElement, renderResult: NcCustomPickerRenderResult) {\n\tif (!window._vue_richtext_custom_picker_elements[providerId]) {\n\t\treturn\n\t}\n\n\twindow._vue_richtext_custom_picker_elements[providerId]\n\t\t.onDestroy(el, renderResult)\n}\n"],"names":["logger"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-BY_D0V5K.mjs","sources":["../../src/functions/emoji/emoji.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { EmojiIndex, frequently } from 'emoji-mart-vue-fast'\n\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\nconst storage = getBuilder('nextcloud-vue').persist(true).build()\n\n// Shared emoji index and skinTone for all emojiSearch function calls\n// Will be initialized on the first call\nlet emojiIndex\n\n/**\n * Skin tones supported by Unicode Emojis (Fitzpatrick scale)\n * The numeric values align with `emoji-mart-vue`\n */\nexport enum EmojiSkinTone {\n\tNeutral = 1,\n\tLight = 2,\n\tMediumLight = 3,\n\tMedium = 4,\n\tMediumDark = 5,\n\tDark = 6,\n}\n\n/**\n * Get the list of emojis by search filter or the list of frequently used emojis\n *\n * @param query Emoji search filter string; if no string or empty string is given, the list of frequently used emojis is returned\n * @param maxResults Maximum of returned emojis\n * @return {object[]} list of found emojis in the same format as the emoji-mart-vue-fast's EmojiIndex\n */\nexport function emojiSearch(query: string, maxResults: number = 10): object[] {\n\t// If this is the first call of function - initialize EmojiIndex\n\tif (!emojiIndex) {\n\t\temojiIndex = new EmojiIndex(data)\n\t}\n\tconst currentSkinTone = getCurrentSkinTone()\n\n\tlet results\n\tif (query) {\n\t\tresults = emojiIndex.search(`:${query}`, maxResults)\n\t\tif (results.length < maxResults) {\n\t\t\tresults = results.concat(emojiIndex.search(query, maxResults - results.length))\n\t\t}\n\t} else {\n\t\tresults = frequently.get(maxResults).map((id: number) => emojiIndex.emoji(id)) || []\n\t}\n\n\treturn results.map((emoji) => emoji.getSkin(currentSkinTone))\n}\n\n/**\n * Add emoji to the list of recent emojis.\n * This list can be got from emojiSearch function and it is used in NcEmojiPicker.\n *\n * @param emojiData object with `id` property\n * @param emojiData.id the emoji ID from emoji index\n */\nexport function emojiAddRecent(emojiData: { id: string }): void {\n\tfrequently.add(emojiData)\n}\n\n/**\n * Get the current skin tone index used for emojis\n *\n * @return {EmojiSkinTone} The skin tone\n */\nexport function getCurrentSkinTone(): EmojiSkinTone {\n\tconst skinTone = Number.parseInt(storage.getItem('NcEmojiPicker::currentSkinTone') ?? '1')\n\t// Clamp skinTone to valid ranges\n\treturn Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n}\n\n/**\n * Set the current active skin tone for emojis\n *\n * @param skinTone Skin tone\n */\nexport function setCurrentSkinTone(skinTone: EmojiSkinTone): void {\n\t// Clamp skinTone to valid ranges\n\tskinTone = Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n\tstorage.setItem('NcEmojiPicker::currentSkinTone', skinTone.toString())\n}\n"],"names":["EmojiSkinTone"],"mappings":";;;AAUA,MAAM,UAAU,WAAW,eAAe,EAAE,QAAQ,IAAI,EAAE,MAAM;AAIhE,IAAI;AAMQ,IAAA,kCAAAA,mBAAL;AACNA,iBAAAA,eAAA,aAAU,CAAV,IAAA;AACAA,iBAAAA,eAAA,WAAQ,CAAR,IAAA;AACAA,iBAAAA,eAAA,iBAAc,CAAd,IAAA;AACAA,iBAAAA,eAAA,YAAS,CAAT,IAAA;AACAA,iBAAAA,eAAA,gBAAa,CAAb,IAAA;AACAA,iBAAAA,eAAA,UAAO,CAAP,IAAA;AANWA,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAgBI,SAAA,YAAY,OAAe,aAAqB,IAAc;AAE7E,MAAI,CAAC,YAAY;AACH,iBAAA,IAAI,WAAW,IAAI;AAAA,EAAA;AAEjC,QAAM,kBAAkB,mBAAmB;AAEvC,MAAA;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,KAAK,IAAI,UAAU;AAC/C,QAAA,QAAQ,SAAS,YAAY;AACtB,gBAAA,QAAQ,OAAO,WAAW,OAAO,OAAO,aAAa,QAAQ,MAAM,CAAC;AAAA,IAAA;AAAA,EAC/E,OACM;AACN,cAAU,WAAW,IAAI,UAAU,EAAE,IAAI,CAAC,OAAe,WAAW,MAAM,EAAE,CAAC,KAAK,CAAC;AAAA,EAAA;AAGpF,SAAO,QAAQ,IAAI,CAAC,UAAU,MAAM,QAAQ,eAAe,CAAC;AAC7D;AASO,SAAS,eAAe,WAAiC;AAC/D,aAAW,IAAI,SAAS;AACzB;AAOO,SAAS,qBAAoC;AACnD,QAAM,WAAW,OAAO,SAAS,QAAQ,QAAQ,gCAAgC,KAAK,GAAG;AAEzF,SAAO,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA;IAAwB;AAAA;AAAA,EAAkB;AAC9E;AAOO,SAAS,mBAAmB,UAA+B;AAEjE,aAAW,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA;IAAwB;AAAA;AAAA,EAAkB;AACjF,UAAQ,QAAQ,kCAAkC,SAAS,SAAA,CAAU;AACtE;"}
1
+ {"version":3,"file":"emoji-BY_D0V5K.mjs","sources":["../../src/functions/emoji/emoji.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { EmojiIndex, frequently } from 'emoji-mart-vue-fast'\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\nconst storage = getBuilder('nextcloud-vue').persist(true).build()\n\n// Shared emoji index and skinTone for all emojiSearch function calls\n// Will be initialized on the first call\nlet emojiIndex\n\n/**\n * Skin tones supported by Unicode Emojis (Fitzpatrick scale)\n * The numeric values align with `emoji-mart-vue`\n */\nexport enum EmojiSkinTone {\n\tNeutral = 1,\n\tLight = 2,\n\tMediumLight = 3,\n\tMedium = 4,\n\tMediumDark = 5,\n\tDark = 6,\n}\n\n/**\n * Get the list of emojis by search filter or the list of frequently used emojis\n *\n * @param query Emoji search filter string; if no string or empty string is given, the list of frequently used emojis is returned\n * @param maxResults Maximum of returned emojis\n * @return list of found emojis in the same format as the emoji-mart-vue-fast's EmojiIndex\n */\nexport function emojiSearch(query: string, maxResults: number = 10): object[] {\n\t// If this is the first call of function - initialize EmojiIndex\n\tif (!emojiIndex) {\n\t\temojiIndex = new EmojiIndex(data)\n\t}\n\tconst currentSkinTone = getCurrentSkinTone()\n\n\tlet results\n\tif (query) {\n\t\tresults = emojiIndex.search(`:${query}`, maxResults)\n\t\tif (results.length < maxResults) {\n\t\t\tresults = results.concat(emojiIndex.search(query, maxResults - results.length))\n\t\t}\n\t} else {\n\t\tresults = frequently.get(maxResults).map((id: number) => emojiIndex.emoji(id)) || []\n\t}\n\n\treturn results.map((emoji) => emoji.getSkin(currentSkinTone))\n}\n\n/**\n * Add emoji to the list of recent emojis.\n * This list can be got from emojiSearch function and it is used in NcEmojiPicker.\n *\n * @param emojiData object with `id` property\n * @param emojiData.id the emoji ID from emoji index\n */\nexport function emojiAddRecent(emojiData: { id: string }): void {\n\tfrequently.add(emojiData)\n}\n\n/**\n * Get the current skin tone index used for emojis\n *\n * @return The skin tone\n */\nexport function getCurrentSkinTone(): EmojiSkinTone {\n\tconst skinTone = Number.parseInt(storage.getItem('NcEmojiPicker::currentSkinTone') ?? '1')\n\t// Clamp skinTone to valid ranges\n\treturn Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n}\n\n/**\n * Set the current active skin tone for emojis\n *\n * @param skinTone Skin tone\n */\nexport function setCurrentSkinTone(skinTone: EmojiSkinTone): void {\n\t// Clamp skinTone to valid ranges\n\tskinTone = Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n\tstorage.setItem('NcEmojiPicker::currentSkinTone', skinTone.toString())\n}\n"],"names":["EmojiSkinTone"],"mappings":";;;AASA,MAAM,UAAU,WAAW,eAAe,EAAE,QAAQ,IAAI,EAAE,MAAA;AAI1D,IAAI;AAMG,IAAK,kCAAAA,mBAAL;AACNA,iBAAAA,eAAA,aAAU,CAAA,IAAV;AACAA,iBAAAA,eAAA,WAAQ,CAAA,IAAR;AACAA,iBAAAA,eAAA,iBAAc,CAAA,IAAd;AACAA,iBAAAA,eAAA,YAAS,CAAA,IAAT;AACAA,iBAAAA,eAAA,gBAAa,CAAA,IAAb;AACAA,iBAAAA,eAAA,UAAO,CAAA,IAAP;AANW,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAgBL,SAAS,YAAY,OAAe,aAAqB,IAAc;AAE7E,MAAI,CAAC,YAAY;AAChB,iBAAa,IAAI,WAAW,IAAI;AAAA,EACjC;AACA,QAAM,kBAAkB,mBAAA;AAExB,MAAI;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,KAAK,IAAI,UAAU;AACnD,QAAI,QAAQ,SAAS,YAAY;AAChC,gBAAU,QAAQ,OAAO,WAAW,OAAO,OAAO,aAAa,QAAQ,MAAM,CAAC;AAAA,IAC/E;AAAA,EACD,OAAO;AACN,cAAU,WAAW,IAAI,UAAU,EAAE,IAAI,CAAC,OAAe,WAAW,MAAM,EAAE,CAAC,KAAK,CAAA;AAAA,EACnF;AAEA,SAAO,QAAQ,IAAI,CAAC,UAAU,MAAM,QAAQ,eAAe,CAAC;AAC7D;AASO,SAAS,eAAe,WAAiC;AAC/D,aAAW,IAAI,SAAS;AACzB;AAOO,SAAS,qBAAoC;AACnD,QAAM,WAAW,OAAO,SAAS,QAAQ,QAAQ,gCAAgC,KAAK,GAAG;AAEzF,SAAO,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC5D;AAOO,SAAS,mBAAmB,UAA+B;AAEjE,aAAW,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC/D,UAAQ,QAAQ,kCAAkC,SAAS,SAAA,CAAU;AACtE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-VgSjNTd5.cjs","sources":["../../src/functions/emoji/emoji.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { EmojiIndex, frequently } from 'emoji-mart-vue-fast'\n\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\nconst storage = getBuilder('nextcloud-vue').persist(true).build()\n\n// Shared emoji index and skinTone for all emojiSearch function calls\n// Will be initialized on the first call\nlet emojiIndex\n\n/**\n * Skin tones supported by Unicode Emojis (Fitzpatrick scale)\n * The numeric values align with `emoji-mart-vue`\n */\nexport enum EmojiSkinTone {\n\tNeutral = 1,\n\tLight = 2,\n\tMediumLight = 3,\n\tMedium = 4,\n\tMediumDark = 5,\n\tDark = 6,\n}\n\n/**\n * Get the list of emojis by search filter or the list of frequently used emojis\n *\n * @param query Emoji search filter string; if no string or empty string is given, the list of frequently used emojis is returned\n * @param maxResults Maximum of returned emojis\n * @return {object[]} list of found emojis in the same format as the emoji-mart-vue-fast's EmojiIndex\n */\nexport function emojiSearch(query: string, maxResults: number = 10): object[] {\n\t// If this is the first call of function - initialize EmojiIndex\n\tif (!emojiIndex) {\n\t\temojiIndex = new EmojiIndex(data)\n\t}\n\tconst currentSkinTone = getCurrentSkinTone()\n\n\tlet results\n\tif (query) {\n\t\tresults = emojiIndex.search(`:${query}`, maxResults)\n\t\tif (results.length < maxResults) {\n\t\t\tresults = results.concat(emojiIndex.search(query, maxResults - results.length))\n\t\t}\n\t} else {\n\t\tresults = frequently.get(maxResults).map((id: number) => emojiIndex.emoji(id)) || []\n\t}\n\n\treturn results.map((emoji) => emoji.getSkin(currentSkinTone))\n}\n\n/**\n * Add emoji to the list of recent emojis.\n * This list can be got from emojiSearch function and it is used in NcEmojiPicker.\n *\n * @param emojiData object with `id` property\n * @param emojiData.id the emoji ID from emoji index\n */\nexport function emojiAddRecent(emojiData: { id: string }): void {\n\tfrequently.add(emojiData)\n}\n\n/**\n * Get the current skin tone index used for emojis\n *\n * @return {EmojiSkinTone} The skin tone\n */\nexport function getCurrentSkinTone(): EmojiSkinTone {\n\tconst skinTone = Number.parseInt(storage.getItem('NcEmojiPicker::currentSkinTone') ?? '1')\n\t// Clamp skinTone to valid ranges\n\treturn Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n}\n\n/**\n * Set the current active skin tone for emojis\n *\n * @param skinTone Skin tone\n */\nexport function setCurrentSkinTone(skinTone: EmojiSkinTone): void {\n\t// Clamp skinTone to valid ranges\n\tskinTone = Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n\tstorage.setItem('NcEmojiPicker::currentSkinTone', skinTone.toString())\n}\n"],"names":["getBuilder","EmojiSkinTone","EmojiIndex","data","frequently"],"mappings":";;;;;;AAUA,MAAM,UAAUA,eAAW,WAAA,eAAe,EAAE,QAAQ,IAAI,EAAE,MAAM;AAIhE,IAAI;AAMQ,IAAA,kCAAAC,mBAAL;AACNA,iBAAAA,eAAA,aAAU,CAAV,IAAA;AACAA,iBAAAA,eAAA,WAAQ,CAAR,IAAA;AACAA,iBAAAA,eAAA,iBAAc,CAAd,IAAA;AACAA,iBAAAA,eAAA,YAAS,CAAT,IAAA;AACAA,iBAAAA,eAAA,gBAAa,CAAb,IAAA;AACAA,iBAAAA,eAAA,UAAO,CAAP,IAAA;AANWA,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAgBI,SAAA,YAAY,OAAe,aAAqB,IAAc;AAE7E,MAAI,CAAC,YAAY;AACH,iBAAA,IAAIC,4BAAWC,qBAAI;AAAA,EAAA;AAEjC,QAAM,kBAAkB,mBAAmB;AAEvC,MAAA;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,KAAK,IAAI,UAAU;AAC/C,QAAA,QAAQ,SAAS,YAAY;AACtB,gBAAA,QAAQ,OAAO,WAAW,OAAO,OAAO,aAAa,QAAQ,MAAM,CAAC;AAAA,IAAA;AAAA,EAC/E,OACM;AACN,cAAUC,iBAAW,WAAA,IAAI,UAAU,EAAE,IAAI,CAAC,OAAe,WAAW,MAAM,EAAE,CAAC,KAAK,CAAC;AAAA,EAAA;AAGpF,SAAO,QAAQ,IAAI,CAAC,UAAU,MAAM,QAAQ,eAAe,CAAC;AAC7D;AASO,SAAS,eAAe,WAAiC;AAC/DA,mBAAA,WAAW,IAAI,SAAS;AACzB;AAOO,SAAS,qBAAoC;AACnD,QAAM,WAAW,OAAO,SAAS,QAAQ,QAAQ,gCAAgC,KAAK,GAAG;AAEzF,SAAO,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA;IAAwB;AAAA;AAAA,EAAkB;AAC9E;AAOO,SAAS,mBAAmB,UAA+B;AAEjE,aAAW,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA;IAAwB;AAAA;AAAA,EAAkB;AACjF,UAAQ,QAAQ,kCAAkC,SAAS,SAAA,CAAU;AACtE;;;;;;"}
1
+ {"version":3,"file":"emoji-VgSjNTd5.cjs","sources":["../../src/functions/emoji/emoji.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { EmojiIndex, frequently } from 'emoji-mart-vue-fast'\nimport data from 'emoji-mart-vue-fast/data/all.json'\n\nconst storage = getBuilder('nextcloud-vue').persist(true).build()\n\n// Shared emoji index and skinTone for all emojiSearch function calls\n// Will be initialized on the first call\nlet emojiIndex\n\n/**\n * Skin tones supported by Unicode Emojis (Fitzpatrick scale)\n * The numeric values align with `emoji-mart-vue`\n */\nexport enum EmojiSkinTone {\n\tNeutral = 1,\n\tLight = 2,\n\tMediumLight = 3,\n\tMedium = 4,\n\tMediumDark = 5,\n\tDark = 6,\n}\n\n/**\n * Get the list of emojis by search filter or the list of frequently used emojis\n *\n * @param query Emoji search filter string; if no string or empty string is given, the list of frequently used emojis is returned\n * @param maxResults Maximum of returned emojis\n * @return list of found emojis in the same format as the emoji-mart-vue-fast's EmojiIndex\n */\nexport function emojiSearch(query: string, maxResults: number = 10): object[] {\n\t// If this is the first call of function - initialize EmojiIndex\n\tif (!emojiIndex) {\n\t\temojiIndex = new EmojiIndex(data)\n\t}\n\tconst currentSkinTone = getCurrentSkinTone()\n\n\tlet results\n\tif (query) {\n\t\tresults = emojiIndex.search(`:${query}`, maxResults)\n\t\tif (results.length < maxResults) {\n\t\t\tresults = results.concat(emojiIndex.search(query, maxResults - results.length))\n\t\t}\n\t} else {\n\t\tresults = frequently.get(maxResults).map((id: number) => emojiIndex.emoji(id)) || []\n\t}\n\n\treturn results.map((emoji) => emoji.getSkin(currentSkinTone))\n}\n\n/**\n * Add emoji to the list of recent emojis.\n * This list can be got from emojiSearch function and it is used in NcEmojiPicker.\n *\n * @param emojiData object with `id` property\n * @param emojiData.id the emoji ID from emoji index\n */\nexport function emojiAddRecent(emojiData: { id: string }): void {\n\tfrequently.add(emojiData)\n}\n\n/**\n * Get the current skin tone index used for emojis\n *\n * @return The skin tone\n */\nexport function getCurrentSkinTone(): EmojiSkinTone {\n\tconst skinTone = Number.parseInt(storage.getItem('NcEmojiPicker::currentSkinTone') ?? '1')\n\t// Clamp skinTone to valid ranges\n\treturn Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n}\n\n/**\n * Set the current active skin tone for emojis\n *\n * @param skinTone Skin tone\n */\nexport function setCurrentSkinTone(skinTone: EmojiSkinTone): void {\n\t// Clamp skinTone to valid ranges\n\tskinTone = Math.min(Math.max(skinTone, EmojiSkinTone.Neutral), EmojiSkinTone.Dark)\n\tstorage.setItem('NcEmojiPicker::currentSkinTone', skinTone.toString())\n}\n"],"names":["getBuilder","EmojiSkinTone","EmojiIndex","data","frequently"],"mappings":";;;;;;AASA,MAAM,UAAUA,eAAAA,WAAW,eAAe,EAAE,QAAQ,IAAI,EAAE,MAAA;AAI1D,IAAI;AAMG,IAAK,kCAAAC,mBAAL;AACNA,iBAAAA,eAAA,aAAU,CAAA,IAAV;AACAA,iBAAAA,eAAA,WAAQ,CAAA,IAAR;AACAA,iBAAAA,eAAA,iBAAc,CAAA,IAAd;AACAA,iBAAAA,eAAA,YAAS,CAAA,IAAT;AACAA,iBAAAA,eAAA,gBAAa,CAAA,IAAb;AACAA,iBAAAA,eAAA,UAAO,CAAA,IAAP;AANW,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAgBL,SAAS,YAAY,OAAe,aAAqB,IAAc;AAE7E,MAAI,CAAC,YAAY;AAChB,iBAAa,IAAIC,iBAAAA,WAAWC,qBAAI;AAAA,EACjC;AACA,QAAM,kBAAkB,mBAAA;AAExB,MAAI;AACJ,MAAI,OAAO;AACV,cAAU,WAAW,OAAO,IAAI,KAAK,IAAI,UAAU;AACnD,QAAI,QAAQ,SAAS,YAAY;AAChC,gBAAU,QAAQ,OAAO,WAAW,OAAO,OAAO,aAAa,QAAQ,MAAM,CAAC;AAAA,IAC/E;AAAA,EACD,OAAO;AACN,cAAUC,iBAAAA,WAAW,IAAI,UAAU,EAAE,IAAI,CAAC,OAAe,WAAW,MAAM,EAAE,CAAC,KAAK,CAAA;AAAA,EACnF;AAEA,SAAO,QAAQ,IAAI,CAAC,UAAU,MAAM,QAAQ,eAAe,CAAC;AAC7D;AASO,SAAS,eAAe,WAAiC;AAC/DA,mBAAAA,WAAW,IAAI,SAAS;AACzB;AAOO,SAAS,qBAAoC;AACnD,QAAM,WAAW,OAAO,SAAS,QAAQ,QAAQ,gCAAgC,KAAK,GAAG;AAEzF,SAAO,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC5D;AAOO,SAAS,mBAAmB,UAA+B;AAEjE,aAAW,KAAK;AAAA,IAAI,KAAK;AAAA,MAAI;AAAA,MAAU;AAAA;AAAA,IAAA;AAAA,IAAwB;AAAA;AAAA,EAAA;AAC/D,UAAQ,QAAQ,kCAAkC,SAAS,SAAA,CAAU;AACtE;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"focusTrap-DUTqW_IG.cjs","sources":["../../src/utils/focusTrap.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FocusTrap } from 'focus-trap'\n\ndeclare global {\n\tinterface Window {\n\t\t_nc_focus_trap: FocusTrap[]\n\t}\n}\n\n/**\n * Get the default global focus trap stack\n */\nexport function getTrapStack() {\n\t// Create global stack if undefined\n\twindow._nc_focus_trap ??= []\n\n\treturn window._nc_focus_trap\n}\n\n/**\n * Create controller to pause/unpause the global focus trap stack.\n *\n * When some component manually implements its own focus-trap without using global focus-trap stack,\n * it also needs to pause the global stack to avoid conflict.\n *\n * Note: if global focus-trap stack was modified outside TrapStackController (likely due to user actions),\n * trap queue should be correctly handled by focus-trap itself.\n * It is no longer safe to unpause cached `pausedStack`, as it can disrupt the current focus trap state.\n * We assume that the focus-trap stack is self-regulated and ignore unpause.\n */\nexport function createTrapStackController() {\n\t/**\n\t * Stack of focus traps that were paused to unpause the exact stack later\n\t */\n\tlet pausedStack: FocusTrap[] = []\n\n\treturn {\n\t\t/**\n\t\t * Pause the current focus-trap stack\n\t\t */\n\t\tpause() {\n\t\t\tpausedStack = [...getTrapStack()]\n\t\t\tfor (const trap of pausedStack) {\n\t\t\t\ttrap.pause()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Unpause the paused focus trap stack\n\t\t * If the actual stack is different from the paused one, ignore unpause.\n\t\t */\n\t\tunpause() {\n\t\t\tif (pausedStack.length === getTrapStack().length) {\n\t\t\t\tfor (const trap of pausedStack) {\n\t\t\t\t\ttrap.unpause()\n\t\t\t\t}\n\t\t\t}\n\t\t\tpausedStack = []\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";AAgBO,SAAS,eAAe;AAE9B,SAAO,mBAAmB,CAAC;AAE3B,SAAO,OAAO;AACf;AAaO,SAAS,4BAA4B;AAI3C,MAAI,cAA2B,CAAC;AAEzB,SAAA;AAAA;AAAA;AAAA;AAAA,IAIN,QAAQ;AACO,oBAAA,CAAC,GAAG,cAAc;AAChC,iBAAW,QAAQ,aAAa;AAC/B,aAAK,MAAM;AAAA,MAAA;AAAA,IAEb;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAU;AACT,UAAI,YAAY,WAAW,aAAa,EAAE,QAAQ;AACjD,mBAAW,QAAQ,aAAa;AAC/B,eAAK,QAAQ;AAAA,QAAA;AAAA,MACd;AAED,oBAAc,CAAC;AAAA,IAAA;AAAA,EAEjB;AACD;;;"}
1
+ {"version":3,"file":"focusTrap-DUTqW_IG.cjs","sources":["../../src/utils/focusTrap.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FocusTrap } from 'focus-trap'\n\ndeclare global {\n\tinterface Window {\n\t\t_nc_focus_trap: FocusTrap[]\n\t}\n}\n\n/**\n * Get the default global focus trap stack\n */\nexport function getTrapStack() {\n\t// Create global stack if undefined\n\twindow._nc_focus_trap ??= []\n\n\treturn window._nc_focus_trap\n}\n\n/**\n * Create controller to pause/unpause the global focus trap stack.\n *\n * When some component manually implements its own focus-trap without using global focus-trap stack,\n * it also needs to pause the global stack to avoid conflict.\n *\n * Note: if global focus-trap stack was modified outside TrapStackController (likely due to user actions),\n * trap queue should be correctly handled by focus-trap itself.\n * It is no longer safe to unpause cached `pausedStack`, as it can disrupt the current focus trap state.\n * We assume that the focus-trap stack is self-regulated and ignore unpause.\n */\nexport function createTrapStackController() {\n\t/**\n\t * Stack of focus traps that were paused to unpause the exact stack later\n\t */\n\tlet pausedStack: FocusTrap[] = []\n\n\treturn {\n\t\t/**\n\t\t * Pause the current focus-trap stack\n\t\t */\n\t\tpause() {\n\t\t\tpausedStack = [...getTrapStack()]\n\t\t\tfor (const trap of pausedStack) {\n\t\t\t\ttrap.pause()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Unpause the paused focus trap stack\n\t\t * If the actual stack is different from the paused one, ignore unpause.\n\t\t */\n\t\tunpause() {\n\t\t\tif (pausedStack.length === getTrapStack().length) {\n\t\t\t\tfor (const trap of pausedStack) {\n\t\t\t\t\ttrap.unpause()\n\t\t\t\t}\n\t\t\t}\n\t\t\tpausedStack = []\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";AAgBO,SAAS,eAAe;AAE9B,SAAO,mBAAmB,CAAA;AAE1B,SAAO,OAAO;AACf;AAaO,SAAS,4BAA4B;AAI3C,MAAI,cAA2B,CAAA;AAE/B,SAAO;AAAA;AAAA;AAAA;AAAA,IAIN,QAAQ;AACP,oBAAc,CAAC,GAAG,cAAc;AAChC,iBAAW,QAAQ,aAAa;AAC/B,aAAK,MAAA;AAAA,MACN;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAU;AACT,UAAI,YAAY,WAAW,aAAA,EAAe,QAAQ;AACjD,mBAAW,QAAQ,aAAa;AAC/B,eAAK,QAAA;AAAA,QACN;AAAA,MACD;AACA,oBAAc,CAAA;AAAA,IACf;AAAA,EAAA;AAEF;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"focusTrap-HJQ4pqHV.mjs","sources":["../../src/utils/focusTrap.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FocusTrap } from 'focus-trap'\n\ndeclare global {\n\tinterface Window {\n\t\t_nc_focus_trap: FocusTrap[]\n\t}\n}\n\n/**\n * Get the default global focus trap stack\n */\nexport function getTrapStack() {\n\t// Create global stack if undefined\n\twindow._nc_focus_trap ??= []\n\n\treturn window._nc_focus_trap\n}\n\n/**\n * Create controller to pause/unpause the global focus trap stack.\n *\n * When some component manually implements its own focus-trap without using global focus-trap stack,\n * it also needs to pause the global stack to avoid conflict.\n *\n * Note: if global focus-trap stack was modified outside TrapStackController (likely due to user actions),\n * trap queue should be correctly handled by focus-trap itself.\n * It is no longer safe to unpause cached `pausedStack`, as it can disrupt the current focus trap state.\n * We assume that the focus-trap stack is self-regulated and ignore unpause.\n */\nexport function createTrapStackController() {\n\t/**\n\t * Stack of focus traps that were paused to unpause the exact stack later\n\t */\n\tlet pausedStack: FocusTrap[] = []\n\n\treturn {\n\t\t/**\n\t\t * Pause the current focus-trap stack\n\t\t */\n\t\tpause() {\n\t\t\tpausedStack = [...getTrapStack()]\n\t\t\tfor (const trap of pausedStack) {\n\t\t\t\ttrap.pause()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Unpause the paused focus trap stack\n\t\t * If the actual stack is different from the paused one, ignore unpause.\n\t\t */\n\t\tunpause() {\n\t\t\tif (pausedStack.length === getTrapStack().length) {\n\t\t\t\tfor (const trap of pausedStack) {\n\t\t\t\t\ttrap.unpause()\n\t\t\t\t}\n\t\t\t}\n\t\t\tpausedStack = []\n\t\t},\n\t}\n}\n"],"names":[],"mappings":"AAgBO,SAAS,eAAe;AAE9B,SAAO,mBAAmB,CAAC;AAE3B,SAAO,OAAO;AACf;AAaO,SAAS,4BAA4B;AAI3C,MAAI,cAA2B,CAAC;AAEzB,SAAA;AAAA;AAAA;AAAA;AAAA,IAIN,QAAQ;AACO,oBAAA,CAAC,GAAG,cAAc;AAChC,iBAAW,QAAQ,aAAa;AAC/B,aAAK,MAAM;AAAA,MAAA;AAAA,IAEb;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAU;AACT,UAAI,YAAY,WAAW,aAAa,EAAE,QAAQ;AACjD,mBAAW,QAAQ,aAAa;AAC/B,eAAK,QAAQ;AAAA,QAAA;AAAA,MACd;AAED,oBAAc,CAAC;AAAA,IAAA;AAAA,EAEjB;AACD;"}
1
+ {"version":3,"file":"focusTrap-HJQ4pqHV.mjs","sources":["../../src/utils/focusTrap.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { FocusTrap } from 'focus-trap'\n\ndeclare global {\n\tinterface Window {\n\t\t_nc_focus_trap: FocusTrap[]\n\t}\n}\n\n/**\n * Get the default global focus trap stack\n */\nexport function getTrapStack() {\n\t// Create global stack if undefined\n\twindow._nc_focus_trap ??= []\n\n\treturn window._nc_focus_trap\n}\n\n/**\n * Create controller to pause/unpause the global focus trap stack.\n *\n * When some component manually implements its own focus-trap without using global focus-trap stack,\n * it also needs to pause the global stack to avoid conflict.\n *\n * Note: if global focus-trap stack was modified outside TrapStackController (likely due to user actions),\n * trap queue should be correctly handled by focus-trap itself.\n * It is no longer safe to unpause cached `pausedStack`, as it can disrupt the current focus trap state.\n * We assume that the focus-trap stack is self-regulated and ignore unpause.\n */\nexport function createTrapStackController() {\n\t/**\n\t * Stack of focus traps that were paused to unpause the exact stack later\n\t */\n\tlet pausedStack: FocusTrap[] = []\n\n\treturn {\n\t\t/**\n\t\t * Pause the current focus-trap stack\n\t\t */\n\t\tpause() {\n\t\t\tpausedStack = [...getTrapStack()]\n\t\t\tfor (const trap of pausedStack) {\n\t\t\t\ttrap.pause()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Unpause the paused focus trap stack\n\t\t * If the actual stack is different from the paused one, ignore unpause.\n\t\t */\n\t\tunpause() {\n\t\t\tif (pausedStack.length === getTrapStack().length) {\n\t\t\t\tfor (const trap of pausedStack) {\n\t\t\t\t\ttrap.unpause()\n\t\t\t\t}\n\t\t\t}\n\t\t\tpausedStack = []\n\t\t},\n\t}\n}\n"],"names":[],"mappings":"AAgBO,SAAS,eAAe;AAE9B,SAAO,mBAAmB,CAAA;AAE1B,SAAO,OAAO;AACf;AAaO,SAAS,4BAA4B;AAI3C,MAAI,cAA2B,CAAA;AAE/B,SAAO;AAAA;AAAA;AAAA;AAAA,IAIN,QAAQ;AACP,oBAAc,CAAC,GAAG,cAAc;AAChC,iBAAW,QAAQ,aAAa;AAC/B,aAAK,MAAA;AAAA,MACN;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAU;AACT,UAAI,YAAY,WAAW,aAAA,EAAe,QAAQ;AACjD,mBAAW,QAAQ,aAAa;AAC/B,eAAK,QAAA;AAAA,QACN;AAAA,MACD;AACA,oBAAc,CAAA;AAAA,IACf;AAAA,EAAA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAvatarUrl-Du9Y3cPO.cjs","sources":["../../src/utils/getAvatarUrl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { checkIfDarkTheme } from '../functions/isDarkTheme/index.ts'\n\ninterface AvatarUrlOptions {\n\t/**\n\t * Should the dark theme variant be used.\n\t */\n\tisDarkTheme?: boolean\n\n\t/**\n\t * Is the user a guest user.\n\t */\n\tisGuest?: boolean\n\n\t/**\n\t * Size of the avatar.\n\t * @default 64\n\t */\n\tsize?: 64 | 512\n}\n\n/**\n * Get the avatar URL for a given user.\n *\n * @param user - The user id\n * @param options - Adjustments for the avatar format\n */\nexport function getAvatarUrl(user: string, options?: AvatarUrlOptions): string {\n\t// backend only supports 64 and 512px\n\t// so we only requrest the needed size for better caching of the request.\n\tconst size = (options?.size || 64) <= 64\n\t\t? 64\n\t\t: 512\n\n\tconst guestUrl = options?.isGuest\n\t\t? '/guest'\n\t\t: ''\n\tconst themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body)\n\t\t? '/dark'\n\t\t: ''\n\n\treturn generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n\t\tuser,\n\t\tsize,\n\t})\n}\n"],"names":["checkIfDarkTheme","generateUrl"],"mappings":";;;AAgCgB,SAAA,aAAa,MAAc,SAAoC;AAG9E,QAAM,QAAQ,SAAS,QAAQ,OAAO,KACnC,KACA;AAEG,QAAA,WAAW,SAAS,UACvB,WACA;AACH,QAAM,WAAW,SAAS,eAAeA,sBAAAA,iBAAiB,SAAS,IAAI,IACpE,UACA;AAEH,SAAOC,OAAAA,YAAY,UAAU,QAAQ,iBAAiB,QAAQ,IAAI;AAAA,IACjE;AAAA,IACA;AAAA,EAAA,CACA;AACF;;"}
1
+ {"version":3,"file":"getAvatarUrl-Du9Y3cPO.cjs","sources":["../../src/utils/getAvatarUrl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { checkIfDarkTheme } from '../functions/isDarkTheme/index.ts'\n\ninterface AvatarUrlOptions {\n\t/**\n\t * Should the dark theme variant be used.\n\t */\n\tisDarkTheme?: boolean\n\n\t/**\n\t * Is the user a guest user.\n\t */\n\tisGuest?: boolean\n\n\t/**\n\t * Size of the avatar.\n\t *\n\t * @default 64\n\t */\n\tsize?: 64 | 512\n}\n\n/**\n * Get the avatar URL for a given user.\n *\n * @param user - The user id\n * @param options - Adjustments for the avatar format\n */\nexport function getAvatarUrl(user: string, options?: AvatarUrlOptions): string {\n\t// backend only supports 64 and 512px\n\t// so we only requrest the needed size for better caching of the request.\n\tconst size = (options?.size || 64) <= 64\n\t\t? 64\n\t\t: 512\n\n\tconst guestUrl = options?.isGuest\n\t\t? '/guest'\n\t\t: ''\n\tconst themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body)\n\t\t? '/dark'\n\t\t: ''\n\n\treturn generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n\t\tuser,\n\t\tsize,\n\t})\n}\n"],"names":["checkIfDarkTheme","generateUrl"],"mappings":";;;AAiCO,SAAS,aAAa,MAAc,SAAoC;AAG9E,QAAM,QAAQ,SAAS,QAAQ,OAAO,KACnC,KACA;AAEH,QAAM,WAAW,SAAS,UACvB,WACA;AACH,QAAM,WAAW,SAAS,eAAeA,sBAAAA,iBAAiB,SAAS,IAAI,IACpE,UACA;AAEH,SAAOC,OAAAA,YAAY,UAAU,QAAQ,iBAAiB,QAAQ,IAAI;AAAA,IACjE;AAAA,IACA;AAAA,EAAA,CACA;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAvatarUrl-IhLacDEr.mjs","sources":["../../src/utils/getAvatarUrl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { checkIfDarkTheme } from '../functions/isDarkTheme/index.ts'\n\ninterface AvatarUrlOptions {\n\t/**\n\t * Should the dark theme variant be used.\n\t */\n\tisDarkTheme?: boolean\n\n\t/**\n\t * Is the user a guest user.\n\t */\n\tisGuest?: boolean\n\n\t/**\n\t * Size of the avatar.\n\t * @default 64\n\t */\n\tsize?: 64 | 512\n}\n\n/**\n * Get the avatar URL for a given user.\n *\n * @param user - The user id\n * @param options - Adjustments for the avatar format\n */\nexport function getAvatarUrl(user: string, options?: AvatarUrlOptions): string {\n\t// backend only supports 64 and 512px\n\t// so we only requrest the needed size for better caching of the request.\n\tconst size = (options?.size || 64) <= 64\n\t\t? 64\n\t\t: 512\n\n\tconst guestUrl = options?.isGuest\n\t\t? '/guest'\n\t\t: ''\n\tconst themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body)\n\t\t? '/dark'\n\t\t: ''\n\n\treturn generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n\t\tuser,\n\t\tsize,\n\t})\n}\n"],"names":[],"mappings":";;AAgCgB,SAAA,aAAa,MAAc,SAAoC;AAG9E,QAAM,QAAQ,SAAS,QAAQ,OAAO,KACnC,KACA;AAEG,QAAA,WAAW,SAAS,UACvB,WACA;AACH,QAAM,WAAW,SAAS,eAAe,iBAAiB,SAAS,IAAI,IACpE,UACA;AAEH,SAAO,YAAY,UAAU,QAAQ,iBAAiB,QAAQ,IAAI;AAAA,IACjE;AAAA,IACA;AAAA,EAAA,CACA;AACF;"}
1
+ {"version":3,"file":"getAvatarUrl-IhLacDEr.mjs","sources":["../../src/utils/getAvatarUrl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport { checkIfDarkTheme } from '../functions/isDarkTheme/index.ts'\n\ninterface AvatarUrlOptions {\n\t/**\n\t * Should the dark theme variant be used.\n\t */\n\tisDarkTheme?: boolean\n\n\t/**\n\t * Is the user a guest user.\n\t */\n\tisGuest?: boolean\n\n\t/**\n\t * Size of the avatar.\n\t *\n\t * @default 64\n\t */\n\tsize?: 64 | 512\n}\n\n/**\n * Get the avatar URL for a given user.\n *\n * @param user - The user id\n * @param options - Adjustments for the avatar format\n */\nexport function getAvatarUrl(user: string, options?: AvatarUrlOptions): string {\n\t// backend only supports 64 and 512px\n\t// so we only requrest the needed size for better caching of the request.\n\tconst size = (options?.size || 64) <= 64\n\t\t? 64\n\t\t: 512\n\n\tconst guestUrl = options?.isGuest\n\t\t? '/guest'\n\t\t: ''\n\tconst themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body)\n\t\t? '/dark'\n\t\t: ''\n\n\treturn generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n\t\tuser,\n\t\tsize,\n\t})\n}\n"],"names":[],"mappings":";;AAiCO,SAAS,aAAa,MAAc,SAAoC;AAG9E,QAAM,QAAQ,SAAS,QAAQ,OAAO,KACnC,KACA;AAEH,QAAM,WAAW,SAAS,UACvB,WACA;AACH,QAAM,WAAW,SAAS,eAAe,iBAAiB,SAAS,IAAI,IACpE,UACA;AAEH,SAAO,YAAY,UAAU,QAAQ,iBAAiB,QAAQ,IAAI;AAAA,IACjE;AAAA,IACA;AAAA,EAAA,CACA;AACF;"}
@@ -1,18 +1,19 @@
1
- require('../assets/NcMentionBubble-UsTMm5VD.css');
1
+ require('../assets/NcMentionBubble-CaztX9Pv.css');
2
2
  "use strict";
3
+ const escapeHtml = require("escape-html");
4
+ const stripTags = require("striptags");
5
+ const Vue = require("vue");
3
6
  const Composables_useIsDarkTheme = require("../Composables/useIsDarkTheme.cjs");
4
7
  const getAvatarUrl = require("./getAvatarUrl-Du9Y3cPO.cjs");
5
8
  ;/* empty css */
6
9
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
7
- const escapeHtml = require("escape-html");
8
- const stripTags = require("striptags");
9
- const Vue = require("vue");
10
10
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
11
11
  const escapeHtml__default = /* @__PURE__ */ _interopDefault(escapeHtml);
12
12
  const stripTags__default = /* @__PURE__ */ _interopDefault(stripTags);
13
13
  const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
14
14
  const _sfc_main = {
15
15
  name: "NcMentionBubble",
16
+ /* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */
16
17
  props: {
17
18
  id: {
18
19
  type: String,
@@ -81,7 +82,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
81
82
  _sfc_staticRenderFns,
82
83
  false,
83
84
  null,
84
- "67366405"
85
+ "07bfaab0"
85
86
  );
86
87
  const NcMentionBubble = __component__.exports;
87
88
  const MENTION_START = /(?=[a-z0-9_\-@.'])\B/.source;
@@ -178,4 +179,4 @@ exports.NcMentionBubble = NcMentionBubble;
178
179
  exports.USERID_REGEX = USERID_REGEX;
179
180
  exports.USERID_REGEX_WITH_SPACE = USERID_REGEX_WITH_SPACE;
180
181
  exports.richEditor = richEditor;
181
- //# sourceMappingURL=index-AlIgEQXL.cjs.map
182
+ //# sourceMappingURL=index-CgkN1xho.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CgkN1xho.cjs","sources":["../../src/components/NcRichContenteditable/NcMentionBubble.vue","../../src/mixins/richEditor/index.js"],"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<span\n\t\tclass=\"mention-bubble\"\n\t\t:class=\"{ 'mention-bubble--primary': primary }\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span\n\t\t\t\t\t:class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"labelWithFallback\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { useIsDarkTheme } from '../../composables/useIsDarkTheme/index.ts'\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\n\nexport default {\n\tname: 'NcMentionBubble',\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\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\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\ticonUrl: {\n\t\t\ttype: [String, null],\n\t\t\tdefault: null,\n\t\t},\n\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst isDarkTheme = useIsDarkTheme()\n\n\t\treturn {\n\t\t\tisDarkTheme,\n\t\t}\n\t},\n\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? getAvatarUrl(this.id, { isDarkTheme: this.isDarkTheme })\n\t\t\t\t: null\n\t\t},\n\n\t\tmentionText() {\n\t\t\treturn !this.id.includes(' ') && !this.id.includes('/')\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\n\t\t// Fallback to title for compatibility\n\t\tlabelWithFallback() {\n\t\t\treturn this.label || this.title\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-inline: $bubble-padding $bubble-padding * 3;\n\t\tborder-radius: math.div($bubble-height, 2);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: math.div($bubble-avatar-size, 2);\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-inline-start: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put title in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tinset-inline-start: -100vw;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\toverflow: hidden;\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\nimport escapeHtml from 'escape-html'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\nimport NcMentionBubble from '../../components/NcRichContenteditable/NcMentionBubble.vue'\n\n// Referenced from public function getMentions(): https://github.com/nextcloud/server/blob/master/lib/private/Comments/Comment.php\n// Beginning or whitespace. Uses positive lookahead (to work on MobileSafari <16.4)\nconst MENTION_START = /(?=[a-z0-9_\\-@.'])\\B/.source\n// Capturing groups like: @user-id, @\"guest/abc16def\", @\"federated_user/user-id\", @\"user-id with space\"\nconst MENTION_SIMPLE = /(@[a-z0-9_\\-@.']+)/.source\nconst MENTION_GUEST = /@&quot;(?:guest|email){1}\\/[a-f0-9]+&quot;/.source\nconst MENTION_PREFIXED = /@&quot;(?:federated_)?(?:group|team|user){1}\\/[a-z0-9_\\-@.' /:]+&quot;/.source\nconst MENTION_WITH_SPACE = /@&quot;[a-z0-9_\\-@.' ]+&quot;/.source\nconst MENTION_COMPLEX = `(${MENTION_GUEST}|${MENTION_PREFIXED}|${MENTION_WITH_SPACE})`\n// Concatenated regular expressions\nexport const USERID_REGEX = new RegExp(`${MENTION_START}${MENTION_SIMPLE}`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}${MENTION_COMPLEX}`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @return {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map((part) => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map((part) => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\treturn part\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the leading @ and all \"\n\t\t\t\t\tconst id = part.slice(1).replace(/&quot;/gi, '')\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&amp;/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @return {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content\n\t\t\t// Replace break lines with new lines\n\t\t\ttext = text.replace(/<br>/gmi, '\\n')\n\t\t\t// Replace some html special characters\n\t\t\ttext = text.replace(/&nbsp;/gmi, ' ')\n\t\t\ttext = text.replace(/&amp;/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @return {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\t// The value returned by this function will replace the trigger '@'\n\t\t\t// and the search text, so when there is no match we simply return\n\t\t\t// '@' and the text.\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn `${this.autocompleteTribute.current.collection.trigger}${this.autocompleteTribute.current.mentionText}`\n\t\t\t}\n\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return @value if matches MENTION_SIMPLE, @\"value\" otherwise\n\t\t\t\treturn [' ', '/', ':'].every((char) => !value.includes(char))\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip off new lines, tabs and consecutive whitespaces\n\t\t\treturn this.renderComponentHtml(data, NcMentionBubble)\n\t\t\t\t.replace(/[\\n\\t]/gmi, '')\n\t\t\t\t.replace(/>\\s+</g, '><')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {object} propsData the props to pass to the component\n\t\t * @param {object} component the component to render\n\t\t * @return {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n"],"names":["useIsDarkTheme","getAvatarUrl","escapeHtml","stripTags","Vue"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
2
- const FindRanges = (text, search) => {
2
+ function FindRanges(text, search) {
3
3
  const ranges = [];
4
4
  let currentIndex = 0;
5
5
  let index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex);
@@ -11,7 +11,7 @@ const FindRanges = (text, search) => {
11
11
  i++;
12
12
  }
13
13
  return ranges;
14
- };
14
+ }
15
15
  const _sfc_main = {
16
16
  name: "NcHighlight",
17
17
  props: {
@@ -172,4 +172,4 @@ export {
172
172
  FindRanges as F,
173
173
  NcHighlight as N
174
174
  };
175
- //# sourceMappingURL=index-Bz6q9mZw.mjs.map
175
+ //# sourceMappingURL=index-CxTT94_h.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CxTT94_h.mjs","sources":["../../src/utils/FindRanges.js","../../src/components/NcHighlight/NcHighlight.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {string} text The text to search in\n * @param {string} search The text to search for\n * @return {Array} The array of ranges to highlight\n */\nfunction FindRanges(text, search) {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nHighlight a string with html &lt;strong&gt;. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<NcHighlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<NcHighlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges.js'\n\nexport default {\n\tname: 'NcHighlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @return {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Ensure that the start of each range is equal to or smaller than the end\n\t\t\t */\n\t\t\tranges.forEach((range, i) => {\n\t\t\t\tif (range.end < range.start) {\n\t\t\t\t\tranges[i] = {\n\t\t\t\t\t\tstart: range.end,\n\t\t\t\t\t\tend: range.start,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\tranges = ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\n\t\t\t/**\n\t\t\t * Sort ranges ascendingly (necessary for next step)\n\t\t\t */\n\t\t\tranges.sort((a, b) => {\n\t\t\t\treturn a.start - b.start\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Merge overlapping or adjacent ranges\n\t\t\t */\n\t\t\tranges = ranges.reduce((mergedRanges, range) => {\n\t\t\t\t// If there are no ranges, just add the range\n\t\t\t\tif (!mergedRanges.length) {\n\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t} else {\n\t\t\t\t\t// If the range overlaps the last range, merge them\n\t\t\t\t\tconst idx = mergedRanges.length - 1\n\t\t\t\t\tif (mergedRanges[idx].end >= range.start) {\n\t\t\t\t\t\tmergedRanges[idx] = {\n\t\t\t\t\t\t\tstart: mergedRanges[idx].start,\n\t\t\t\t\t\t\tend: Math.max(mergedRanges[idx].end, range.end),\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn mergedRanges\n\t\t\t}, [])\n\n\t\t\treturn ranges\n\t\t},\n\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @return {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.slice(range.start, range.end),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.slice(currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.slice(currentIndex, range.start),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} h The function to create VNodes\n\t * @return {object} The created VNode\n\t */\n\trender(h) {\n\t\tif (!this.ranges.length) {\n\t\t\treturn h('span', {}, this.text)\n\t\t}\n\n\t\treturn h('span', {}, this.chunks.map((chunk) => {\n\t\t\treturn chunk.highlight ? h('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
3
- const FindRanges = (text, search) => {
3
+ function FindRanges(text, search) {
4
4
  const ranges = [];
5
5
  let currentIndex = 0;
6
6
  let index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex);
@@ -12,7 +12,7 @@ const FindRanges = (text, search) => {
12
12
  i++;
13
13
  }
14
14
  return ranges;
15
- };
15
+ }
16
16
  const _sfc_main = {
17
17
  name: "NcHighlight",
18
18
  props: {
@@ -171,4 +171,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
171
171
  const NcHighlight = __component__.exports;
172
172
  exports.FindRanges = FindRanges;
173
173
  exports.NcHighlight = NcHighlight;
174
- //# sourceMappingURL=index-DIJxEozm.cjs.map
174
+ //# sourceMappingURL=index-Dr9k4hIP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Dr9k4hIP.cjs","sources":["../../src/utils/FindRanges.js","../../src/components/NcHighlight/NcHighlight.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {string} text The text to search in\n * @param {string} search The text to search for\n * @return {Array} The array of ranges to highlight\n */\nfunction FindRanges(text, search) {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nHighlight a string with html &lt;strong&gt;. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<NcHighlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<NcHighlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges.js'\n\nexport default {\n\tname: 'NcHighlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @return {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Ensure that the start of each range is equal to or smaller than the end\n\t\t\t */\n\t\t\tranges.forEach((range, i) => {\n\t\t\t\tif (range.end < range.start) {\n\t\t\t\t\tranges[i] = {\n\t\t\t\t\t\tstart: range.end,\n\t\t\t\t\t\tend: range.start,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\tranges = ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\n\t\t\t/**\n\t\t\t * Sort ranges ascendingly (necessary for next step)\n\t\t\t */\n\t\t\tranges.sort((a, b) => {\n\t\t\t\treturn a.start - b.start\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Merge overlapping or adjacent ranges\n\t\t\t */\n\t\t\tranges = ranges.reduce((mergedRanges, range) => {\n\t\t\t\t// If there are no ranges, just add the range\n\t\t\t\tif (!mergedRanges.length) {\n\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t} else {\n\t\t\t\t\t// If the range overlaps the last range, merge them\n\t\t\t\t\tconst idx = mergedRanges.length - 1\n\t\t\t\t\tif (mergedRanges[idx].end >= range.start) {\n\t\t\t\t\t\tmergedRanges[idx] = {\n\t\t\t\t\t\t\tstart: mergedRanges[idx].start,\n\t\t\t\t\t\t\tend: Math.max(mergedRanges[idx].end, range.end),\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn mergedRanges\n\t\t\t}, [])\n\n\t\t\treturn ranges\n\t\t},\n\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @return {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.slice(range.start, range.end),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.slice(currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.slice(currentIndex, range.start),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} h The function to create VNodes\n\t * @return {object} The created VNode\n\t */\n\trender(h) {\n\t\tif (!this.ranges.length) {\n\t\t\treturn h('span', {}, this.text)\n\t\t}\n\n\t\treturn h('span', {}, this.chunks.map((chunk) => {\n\t\t\treturn chunk.highlight ? h('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
- import '../assets/NcMentionBubble-UsTMm5VD.css';
1
+ import '../assets/NcMentionBubble-CaztX9Pv.css';
2
+ import escapeHtml from "escape-html";
3
+ import stripTags from "striptags";
4
+ import Vue from "vue";
2
5
  import { useIsDarkTheme } from "../Composables/useIsDarkTheme.mjs";
3
6
  import { g as getAvatarUrl } from "./getAvatarUrl-IhLacDEr.mjs";
4
7
  /* empty css */
5
8
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
6
- import escapeHtml from "escape-html";
7
- import stripTags from "striptags";
8
- import Vue from "vue";
9
9
  const _sfc_main = {
10
10
  name: "NcMentionBubble",
11
+ /* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */
11
12
  props: {
12
13
  id: {
13
14
  type: String,
@@ -76,7 +77,7 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
76
77
  _sfc_staticRenderFns,
77
78
  false,
78
79
  null,
79
- "67366405"
80
+ "07bfaab0"
80
81
  );
81
82
  const NcMentionBubble = __component__.exports;
82
83
  const MENTION_START = /(?=[a-z0-9_\-@.'])\B/.source;
@@ -175,4 +176,4 @@ export {
175
176
  USERID_REGEX_WITH_SPACE as a,
176
177
  richEditor as r
177
178
  };
178
- //# sourceMappingURL=index-B8gPNa8c.mjs.map
179
+ //# sourceMappingURL=index-TmAR7I2T.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-TmAR7I2T.mjs","sources":["../../src/components/NcRichContenteditable/NcMentionBubble.vue","../../src/mixins/richEditor/index.js"],"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<span\n\t\tclass=\"mention-bubble\"\n\t\t:class=\"{ 'mention-bubble--primary': primary }\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span\n\t\t\t\t\t:class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"labelWithFallback\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { useIsDarkTheme } from '../../composables/useIsDarkTheme/index.ts'\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\n\nexport default {\n\tname: 'NcMentionBubble',\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\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\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\ticonUrl: {\n\t\t\ttype: [String, null],\n\t\t\tdefault: null,\n\t\t},\n\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst isDarkTheme = useIsDarkTheme()\n\n\t\treturn {\n\t\t\tisDarkTheme,\n\t\t}\n\t},\n\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? getAvatarUrl(this.id, { isDarkTheme: this.isDarkTheme })\n\t\t\t\t: null\n\t\t},\n\n\t\tmentionText() {\n\t\t\treturn !this.id.includes(' ') && !this.id.includes('/')\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\n\t\t// Fallback to title for compatibility\n\t\tlabelWithFallback() {\n\t\t\treturn this.label || this.title\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-inline: $bubble-padding $bubble-padding * 3;\n\t\tborder-radius: math.div($bubble-height, 2);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: math.div($bubble-avatar-size, 2);\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-inline-start: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put title in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tinset-inline-start: -100vw;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\toverflow: hidden;\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\nimport escapeHtml from 'escape-html'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\nimport NcMentionBubble from '../../components/NcRichContenteditable/NcMentionBubble.vue'\n\n// Referenced from public function getMentions(): https://github.com/nextcloud/server/blob/master/lib/private/Comments/Comment.php\n// Beginning or whitespace. Uses positive lookahead (to work on MobileSafari <16.4)\nconst MENTION_START = /(?=[a-z0-9_\\-@.'])\\B/.source\n// Capturing groups like: @user-id, @\"guest/abc16def\", @\"federated_user/user-id\", @\"user-id with space\"\nconst MENTION_SIMPLE = /(@[a-z0-9_\\-@.']+)/.source\nconst MENTION_GUEST = /@&quot;(?:guest|email){1}\\/[a-f0-9]+&quot;/.source\nconst MENTION_PREFIXED = /@&quot;(?:federated_)?(?:group|team|user){1}\\/[a-z0-9_\\-@.' /:]+&quot;/.source\nconst MENTION_WITH_SPACE = /@&quot;[a-z0-9_\\-@.' ]+&quot;/.source\nconst MENTION_COMPLEX = `(${MENTION_GUEST}|${MENTION_PREFIXED}|${MENTION_WITH_SPACE})`\n// Concatenated regular expressions\nexport const USERID_REGEX = new RegExp(`${MENTION_START}${MENTION_SIMPLE}`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}${MENTION_COMPLEX}`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @return {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map((part) => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map((part) => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\treturn part\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the leading @ and all \"\n\t\t\t\t\tconst id = part.slice(1).replace(/&quot;/gi, '')\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&amp;/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @return {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content\n\t\t\t// Replace break lines with new lines\n\t\t\ttext = text.replace(/<br>/gmi, '\\n')\n\t\t\t// Replace some html special characters\n\t\t\ttext = text.replace(/&nbsp;/gmi, ' ')\n\t\t\ttext = text.replace(/&amp;/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @return {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\t// The value returned by this function will replace the trigger '@'\n\t\t\t// and the search text, so when there is no match we simply return\n\t\t\t// '@' and the text.\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn `${this.autocompleteTribute.current.collection.trigger}${this.autocompleteTribute.current.mentionText}`\n\t\t\t}\n\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return @value if matches MENTION_SIMPLE, @\"value\" otherwise\n\t\t\t\treturn [' ', '/', ':'].every((char) => !value.includes(char))\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip off new lines, tabs and consecutive whitespaces\n\t\t\treturn this.renderComponentHtml(data, NcMentionBubble)\n\t\t\t\t.replace(/[\\n\\t]/gmi, '')\n\t\t\t\t.replace(/>\\s+</g, '><')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {object} propsData the props to pass to the component\n\t\t * @param {object} component the component to render\n\t\t * @return {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger-3HuiEIF6.cjs","sources":["../../src/utils/logger.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport const logger = getLoggerBuilder()\n\t.detectUser()\n\t.setApp('@nextcloud/vue')\n\t.build()\n"],"names":["getLoggerBuilder"],"mappings":";;AAOa,MAAA,SAASA,4BACpB,aACA,OAAO,gBAAgB,EACvB,MAAM;;"}
1
+ {"version":3,"file":"logger-3HuiEIF6.cjs","sources":["../../src/utils/logger.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport const logger = getLoggerBuilder()\n\t.detectUser()\n\t.setApp('@nextcloud/vue')\n\t.build()\n"],"names":["getLoggerBuilder"],"mappings":";;AAOO,MAAM,SAASA,SAAAA,mBACpB,WAAA,EACA,OAAO,gBAAgB,EACvB,MAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger-D3RVzcfQ.mjs","sources":["../../src/utils/logger.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport const logger = getLoggerBuilder()\n\t.detectUser()\n\t.setApp('@nextcloud/vue')\n\t.build()\n"],"names":[],"mappings":";AAOa,MAAA,SAAS,mBACpB,aACA,OAAO,gBAAgB,EACvB,MAAM;"}
1
+ {"version":3,"file":"logger-D3RVzcfQ.mjs","sources":["../../src/utils/logger.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport const logger = getLoggerBuilder()\n\t.detectUser()\n\t.setApp('@nextcloud/vue')\n\t.build()\n"],"names":[],"mappings":";AAOO,MAAM,SAAS,mBACpB,WAAA,EACA,OAAO,gBAAgB,EACvB,MAAA;"}
@@ -7,6 +7,7 @@ var mdiChevronRight = "M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.5
7
7
  var mdiClose = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";
8
8
  var mdiCog = "M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z";
9
9
  var mdiCogOutline = "M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z";
10
+ var mdiCreation = "M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74";
10
11
  var mdiDotsHorizontal = "M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z";
11
12
  var mdiUndo = "M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z";
12
13
  exports.mdiArrowLeft = mdiArrowLeft;
@@ -17,6 +18,7 @@ exports.mdiChevronRight = mdiChevronRight;
17
18
  exports.mdiClose = mdiClose;
18
19
  exports.mdiCog = mdiCog;
19
20
  exports.mdiCogOutline = mdiCogOutline;
21
+ exports.mdiCreation = mdiCreation;
20
22
  exports.mdiDotsHorizontal = mdiDotsHorizontal;
21
23
  exports.mdiUndo = mdiUndo;
22
- //# sourceMappingURL=mdi-B_QN3oas.cjs.map
24
+ //# sourceMappingURL=mdi-BBwE-MZC.cjs.map