@nextcloud/vue 8.23.1 → 8.24.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 (662) hide show
  1. package/CHANGELOG.md +254 -201
  2. package/README.md +6 -2
  3. package/dist/Components/NcActionButton.cjs +2 -1
  4. package/dist/Components/NcActionButton.mjs +2 -1
  5. package/dist/Components/NcActionButtonGroup.cjs +2 -1
  6. package/dist/Components/NcActionButtonGroup.mjs +2 -1
  7. package/dist/Components/NcActionCaption.cjs +1 -0
  8. package/dist/Components/NcActionCaption.mjs +1 -0
  9. package/dist/Components/NcActionCheckbox.cjs +2 -1
  10. package/dist/Components/NcActionCheckbox.mjs +2 -1
  11. package/dist/Components/NcActionInput.cjs +2 -1
  12. package/dist/Components/NcActionInput.mjs +2 -1
  13. package/dist/Components/NcActionLink.cjs +2 -1
  14. package/dist/Components/NcActionLink.mjs +2 -1
  15. package/dist/Components/NcActionRadio.cjs +2 -1
  16. package/dist/Components/NcActionRadio.mjs +2 -1
  17. package/dist/Components/NcActionRouter.cjs +2 -1
  18. package/dist/Components/NcActionRouter.mjs +2 -1
  19. package/dist/Components/NcActionSeparator.cjs +1 -0
  20. package/dist/Components/NcActionSeparator.mjs +1 -0
  21. package/dist/Components/NcActionText.cjs +2 -1
  22. package/dist/Components/NcActionText.mjs +2 -1
  23. package/dist/Components/NcActionTextEditable.cjs +2 -1
  24. package/dist/Components/NcActionTextEditable.mjs +2 -1
  25. package/dist/Components/NcActions.cjs +2 -1
  26. package/dist/Components/NcActions.mjs +2 -1
  27. package/dist/Components/NcAppContent.cjs +2 -1
  28. package/dist/Components/NcAppContent.mjs +2 -1
  29. package/dist/Components/NcAppContentDetails.cjs +1 -0
  30. package/dist/Components/NcAppContentDetails.mjs +1 -0
  31. package/dist/Components/NcAppContentList.cjs +1 -0
  32. package/dist/Components/NcAppContentList.mjs +1 -0
  33. package/dist/Components/NcAppNavigation.cjs +2 -1
  34. package/dist/Components/NcAppNavigation.mjs +2 -1
  35. package/dist/Components/NcAppNavigationCaption.cjs +2 -1
  36. package/dist/Components/NcAppNavigationCaption.mjs +2 -1
  37. package/dist/Components/NcAppNavigationIconBullet.cjs +1 -0
  38. package/dist/Components/NcAppNavigationIconBullet.mjs +1 -0
  39. package/dist/Components/NcAppNavigationItem.cjs +2 -1
  40. package/dist/Components/NcAppNavigationItem.mjs +2 -1
  41. package/dist/Components/NcAppNavigationList.cjs +1 -0
  42. package/dist/Components/NcAppNavigationList.mjs +1 -0
  43. package/dist/Components/NcAppNavigationNew.cjs +18 -3
  44. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  45. package/dist/Components/NcAppNavigationNew.mjs +18 -3
  46. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  47. package/dist/Components/NcAppNavigationNewItem.cjs +2 -1
  48. package/dist/Components/NcAppNavigationNewItem.mjs +2 -1
  49. package/dist/Components/NcAppNavigationSearch.cjs +2 -1
  50. package/dist/Components/NcAppNavigationSearch.mjs +2 -1
  51. package/dist/Components/NcAppNavigationSettings.cjs +2 -1
  52. package/dist/Components/NcAppNavigationSettings.mjs +2 -1
  53. package/dist/Components/NcAppNavigationSpacer.cjs +1 -0
  54. package/dist/Components/NcAppNavigationSpacer.mjs +1 -0
  55. package/dist/Components/NcAppNavigationToggle.cjs +2 -1
  56. package/dist/Components/NcAppNavigationToggle.mjs +2 -1
  57. package/dist/Components/NcAppSettingsDialog.cjs +2 -1
  58. package/dist/Components/NcAppSettingsDialog.mjs +2 -1
  59. package/dist/Components/NcAppSettingsSection.cjs +1 -0
  60. package/dist/Components/NcAppSettingsSection.mjs +1 -0
  61. package/dist/Components/NcAppSidebar.cjs +2 -1
  62. package/dist/Components/NcAppSidebar.mjs +2 -1
  63. package/dist/Components/NcAppSidebarTab.cjs +1 -0
  64. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  65. package/dist/Components/NcAppSidebarTab.mjs +1 -0
  66. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  67. package/dist/Components/NcAvatar.cjs +2 -1
  68. package/dist/Components/NcAvatar.mjs +2 -1
  69. package/dist/Components/NcBlurHash.cjs +4 -0
  70. package/dist/Components/NcBlurHash.cjs.map +1 -0
  71. package/dist/Components/NcBlurHash.mjs +5 -0
  72. package/dist/Components/NcBlurHash.mjs.map +1 -0
  73. package/dist/Components/NcBreadcrumb.cjs +2 -1
  74. package/dist/Components/NcBreadcrumb.mjs +2 -1
  75. package/dist/Components/NcBreadcrumbs.cjs +2 -1
  76. package/dist/Components/NcBreadcrumbs.mjs +2 -1
  77. package/dist/Components/NcButton.cjs +52 -10
  78. package/dist/Components/NcButton.cjs.map +1 -1
  79. package/dist/Components/NcButton.mjs +52 -10
  80. package/dist/Components/NcButton.mjs.map +1 -1
  81. package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -1
  82. package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -1
  83. package/dist/Components/NcChip.cjs +25 -10
  84. package/dist/Components/NcChip.cjs.map +1 -1
  85. package/dist/Components/NcChip.mjs +25 -10
  86. package/dist/Components/NcChip.mjs.map +1 -1
  87. package/dist/Components/NcCollectionList.cjs +2 -1
  88. package/dist/Components/NcCollectionList.mjs +2 -1
  89. package/dist/Components/NcColorPicker.cjs +2 -1
  90. package/dist/Components/NcColorPicker.mjs +2 -1
  91. package/dist/Components/NcContent.cjs +2 -1
  92. package/dist/Components/NcContent.mjs +2 -1
  93. package/dist/Components/NcCounterBubble.cjs +1 -0
  94. package/dist/Components/NcCounterBubble.mjs +1 -0
  95. package/dist/Components/NcDashboardWidget.cjs +2 -1
  96. package/dist/Components/NcDashboardWidget.mjs +2 -1
  97. package/dist/Components/NcDashboardWidgetItem.cjs +2 -1
  98. package/dist/Components/NcDashboardWidgetItem.mjs +2 -1
  99. package/dist/Components/NcDateTime.cjs +2 -1
  100. package/dist/Components/NcDateTime.mjs +2 -1
  101. package/dist/Components/NcDateTimePicker.cjs +6 -5
  102. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  103. package/dist/Components/NcDateTimePicker.mjs +7 -6
  104. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  105. package/dist/Components/NcDateTimePickerNative.cjs +2 -1
  106. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  107. package/dist/Components/NcDateTimePickerNative.mjs +2 -1
  108. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  109. package/dist/Components/NcDialog.cjs +2 -1
  110. package/dist/Components/NcDialog.mjs +2 -1
  111. package/dist/Components/NcDialogButton.cjs +2 -1
  112. package/dist/Components/NcDialogButton.mjs +2 -1
  113. package/dist/Components/NcEllipsisedOption.cjs +1 -0
  114. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  115. package/dist/Components/NcEllipsisedOption.mjs +1 -0
  116. package/dist/Components/NcEmojiPicker.cjs +2 -1
  117. package/dist/Components/NcEmojiPicker.mjs +2 -1
  118. package/dist/Components/NcEmptyContent.cjs +3 -2
  119. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  120. package/dist/Components/NcEmptyContent.mjs +3 -2
  121. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  122. package/dist/Components/NcGuestContent.cjs +1 -0
  123. package/dist/Components/NcGuestContent.mjs +1 -0
  124. package/dist/Components/NcHeaderButton.cjs +4 -3
  125. package/dist/Components/NcHeaderButton.cjs.map +1 -1
  126. package/dist/Components/NcHeaderButton.mjs +4 -3
  127. package/dist/Components/NcHeaderButton.mjs.map +1 -1
  128. package/dist/Components/NcHeaderMenu.cjs +2 -1
  129. package/dist/Components/NcHeaderMenu.mjs +2 -1
  130. package/dist/Components/NcHighlight.cjs +1 -0
  131. package/dist/Components/NcHighlight.mjs +1 -0
  132. package/dist/Components/NcIconSvgWrapper.cjs +1 -0
  133. package/dist/Components/NcIconSvgWrapper.mjs +1 -0
  134. package/dist/Components/NcInputField.cjs +2 -1
  135. package/dist/Components/NcInputField.mjs +2 -1
  136. package/dist/Components/NcListItem.cjs +2 -1
  137. package/dist/Components/NcListItem.mjs +2 -1
  138. package/dist/Components/NcListItemIcon.cjs +2 -1
  139. package/dist/Components/NcListItemIcon.mjs +2 -1
  140. package/dist/Components/NcLoadingIcon.cjs +1 -0
  141. package/dist/Components/NcLoadingIcon.mjs +1 -0
  142. package/dist/Components/NcModal.cjs +25 -14
  143. package/dist/Components/NcModal.cjs.map +1 -1
  144. package/dist/Components/NcModal.mjs +25 -14
  145. package/dist/Components/NcModal.mjs.map +1 -1
  146. package/dist/Components/NcNoteCard.cjs +1 -0
  147. package/dist/Components/NcNoteCard.mjs +1 -0
  148. package/dist/Components/NcPasswordField.cjs +2 -1
  149. package/dist/Components/NcPasswordField.mjs +2 -1
  150. package/dist/Components/NcPopover.cjs +2 -1
  151. package/dist/Components/NcPopover.mjs +2 -1
  152. package/dist/Components/NcProgressBar.cjs +1 -0
  153. package/dist/Components/NcProgressBar.mjs +1 -0
  154. package/dist/Components/NcRelatedResourcesPanel.cjs +2 -1
  155. package/dist/Components/NcRelatedResourcesPanel.mjs +2 -1
  156. package/dist/Components/NcRichContenteditable.cjs +2 -1
  157. package/dist/Components/NcRichContenteditable.mjs +2 -1
  158. package/dist/Components/NcRichText.cjs +3 -2
  159. package/dist/Components/NcRichText.mjs +5 -4
  160. package/dist/Components/NcSavingIndicatorIcon.cjs +1 -0
  161. package/dist/Components/NcSavingIndicatorIcon.mjs +1 -0
  162. package/dist/Components/NcSelect.cjs +2 -1
  163. package/dist/Components/NcSelect.mjs +2 -1
  164. package/dist/Components/NcSelectTags.cjs +2 -1
  165. package/dist/Components/NcSelectTags.mjs +2 -1
  166. package/dist/Components/NcSettingsInputText.cjs +2 -1
  167. package/dist/Components/NcSettingsInputText.mjs +2 -1
  168. package/dist/Components/NcSettingsSection.cjs +2 -1
  169. package/dist/Components/NcSettingsSection.mjs +2 -1
  170. package/dist/Components/NcSettingsSelectGroup.cjs +2 -1
  171. package/dist/Components/NcSettingsSelectGroup.mjs +2 -1
  172. package/dist/Components/NcTextArea.cjs +1 -0
  173. package/dist/Components/NcTextArea.mjs +1 -0
  174. package/dist/Components/NcTextField.cjs +2 -1
  175. package/dist/Components/NcTextField.mjs +2 -1
  176. package/dist/Components/NcTimezonePicker.cjs +2 -1
  177. package/dist/Components/NcTimezonePicker.mjs +2 -1
  178. package/dist/Components/NcUserBubble.cjs +2 -1
  179. package/dist/Components/NcUserBubble.mjs +2 -1
  180. package/dist/Components/NcUserStatusIcon.cjs +2 -1
  181. package/dist/Components/NcUserStatusIcon.mjs +2 -1
  182. package/dist/Components/NcVNodes.cjs +1 -0
  183. package/dist/Components/NcVNodes.mjs +1 -0
  184. package/dist/Composables/useHotKey.cjs +1 -0
  185. package/dist/Composables/useHotKey.cjs.map +1 -1
  186. package/dist/Composables/useHotKey.mjs +1 -0
  187. package/dist/Composables/useHotKey.mjs.map +1 -1
  188. package/dist/Composables/useIsDarkTheme.cjs +1 -0
  189. package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
  190. package/dist/Composables/useIsDarkTheme.mjs +1 -0
  191. package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
  192. package/dist/Composables/useIsFullscreen.cjs +1 -0
  193. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  194. package/dist/Composables/useIsFullscreen.mjs +1 -0
  195. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  196. package/dist/Composables/useIsMobile.cjs +1 -0
  197. package/dist/Composables/useIsMobile.cjs.map +1 -1
  198. package/dist/Composables/useIsMobile.mjs +1 -0
  199. package/dist/Composables/useIsMobile.mjs.map +1 -1
  200. package/dist/Directives/Focus.cjs +1 -0
  201. package/dist/Directives/Focus.cjs.map +1 -1
  202. package/dist/Directives/Focus.mjs +1 -0
  203. package/dist/Directives/Focus.mjs.map +1 -1
  204. package/dist/Directives/Linkify.cjs +1 -0
  205. package/dist/Directives/Linkify.cjs.map +1 -1
  206. package/dist/Directives/Linkify.mjs +1 -0
  207. package/dist/Directives/Linkify.mjs.map +1 -1
  208. package/dist/Directives/Tooltip.cjs +1 -0
  209. package/dist/Directives/Tooltip.cjs.map +1 -1
  210. package/dist/Directives/Tooltip.mjs +1 -0
  211. package/dist/Directives/Tooltip.mjs.map +1 -1
  212. package/dist/Functions/a11y.cjs +1 -0
  213. package/dist/Functions/a11y.cjs.map +1 -1
  214. package/dist/Functions/a11y.mjs +1 -0
  215. package/dist/Functions/a11y.mjs.map +1 -1
  216. package/dist/Functions/contactsMenu.cjs +1 -0
  217. package/dist/Functions/contactsMenu.cjs.map +1 -1
  218. package/dist/Functions/contactsMenu.mjs +1 -0
  219. package/dist/Functions/contactsMenu.mjs.map +1 -1
  220. package/dist/Functions/dialog.cjs +1 -0
  221. package/dist/Functions/dialog.cjs.map +1 -1
  222. package/dist/Functions/dialog.mjs +1 -0
  223. package/dist/Functions/dialog.mjs.map +1 -1
  224. package/dist/Functions/emoji.cjs +1 -0
  225. package/dist/Functions/emoji.mjs +1 -0
  226. package/dist/Functions/isDarkTheme.cjs +1 -0
  227. package/dist/Functions/isDarkTheme.cjs.map +1 -1
  228. package/dist/Functions/isDarkTheme.mjs +1 -0
  229. package/dist/Functions/isDarkTheme.mjs.map +1 -1
  230. package/dist/Functions/preloadImage.cjs +19 -0
  231. package/dist/Functions/preloadImage.cjs.map +1 -0
  232. package/dist/Functions/preloadImage.mjs +17 -0
  233. package/dist/Functions/preloadImage.mjs.map +1 -0
  234. package/dist/Functions/reference.cjs +2 -1
  235. package/dist/Functions/reference.mjs +3 -2
  236. package/dist/Functions/registerReference.cjs +1 -0
  237. package/dist/Functions/registerReference.mjs +3 -2
  238. package/dist/Functions/usernameToColor.cjs +2 -1
  239. package/dist/Functions/usernameToColor.mjs +2 -1
  240. package/dist/Mixins/clickOutsideOptions.cjs +1 -0
  241. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  242. package/dist/Mixins/clickOutsideOptions.mjs +1 -0
  243. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  244. package/dist/Mixins/isFullscreen.cjs +1 -0
  245. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  246. package/dist/Mixins/isFullscreen.mjs +1 -0
  247. package/dist/Mixins/isMobile.cjs +1 -0
  248. package/dist/Mixins/isMobile.cjs.map +1 -1
  249. package/dist/Mixins/isMobile.mjs +1 -0
  250. package/dist/Mixins/richEditor.cjs +1 -0
  251. package/dist/Mixins/richEditor.mjs +1 -0
  252. package/dist/assets/{NcActionButton-BYN2SUN0.css → NcActionButton-BqMeBMdA.css} +17 -16
  253. package/dist/assets/{NcActionCheckbox-Dan0EvGm.css → NcActionCheckbox-BlyPt7DF.css} +1 -0
  254. package/dist/assets/{NcActionInput-Dz21fyVD.css → NcActionInput-gUagFGC5.css} +2 -0
  255. package/dist/assets/{NcActionLink-BG9B9dP4.css → NcActionLink-DA3ebr8W.css} +1 -0
  256. package/dist/assets/{NcActionRadio-C87waXE-.css → NcActionRadio-CodyhP86.css} +1 -0
  257. package/dist/assets/{NcActionRouter-BAGuUfFu.css → NcActionRouter-DlqXQ6ai.css} +1 -0
  258. package/dist/assets/{NcActionText-Cjp26Bn0.css → NcActionText-Cvug6qMa.css} +1 -0
  259. package/dist/assets/{NcActionTextEditable-1TXeJ5zp.css → NcActionTextEditable-CasTVqIo.css} +62 -60
  260. package/dist/assets/{NcActions-C4SuFczn.css → NcActions-3STB3u9J.css} +11 -11
  261. package/dist/assets/{NcAppContent-BO0ksFwD.css → NcAppContent-JfRwJlWK.css} +23 -23
  262. package/dist/assets/{NcAppNavigation-CJj8AvqM.css → NcAppNavigation-DfTQlVGB.css} +12 -12
  263. package/dist/assets/{NcAppNavigationItem-lh9Say1M.css → NcAppNavigationItem-CdT6ce8-.css} +11 -4
  264. package/dist/assets/{NcAppNavigationNew-BcDuupzO.css → NcAppNavigationNew-Dbo2rvXH.css} +3 -3
  265. package/dist/assets/{NcAppNavigationNewItem-fUP3wQTQ.css → NcAppNavigationNewItem-D7wroqrc.css} +7 -0
  266. package/dist/assets/{NcAppNavigationSearch-Df50ss_2.css → NcAppNavigationSearch-CFtTLRbc.css} +6 -6
  267. package/dist/assets/{NcAppNavigationToggle-B6FCDJp7.css → NcAppNavigationToggle-C5IMygw1.css} +3 -3
  268. package/dist/assets/{NcAppSidebar-BntAj6H-.css → NcAppSidebar-Dun97zcC.css} +43 -43
  269. package/dist/assets/{NcAvatar-CcJlFpcI.css → NcAvatar-Cc-2PM1F.css} +24 -24
  270. package/dist/assets/NcBlurHash-7aGtE-_T.css +8 -0
  271. package/dist/assets/{NcBreadcrumb-Cjcyeimd.css → NcBreadcrumb-DqaFt2qu.css} +15 -15
  272. package/dist/assets/{NcButton-CfOAX-eQ.css → NcButton-DnNZaEy_.css} +47 -47
  273. package/dist/assets/{NcCheckboxRadioSwitch-DuFrRU9C.css → NcCheckboxRadioSwitch-DlEieXCj.css} +41 -41
  274. package/dist/assets/{NcChip-CIvAlds6.css → NcChip-BNLuZgd6.css} +9 -9
  275. package/dist/assets/{NcColorPicker-C1DuuANb.css → NcColorPicker-BayJGD4p.css} +28 -30
  276. package/dist/assets/{NcContent-CZamE_IP.css → NcContent-Bq-7EZQc.css} +9 -9
  277. package/dist/assets/{NcDateTimePicker-BtV9Fz-n.css → NcDateTimePicker-D07hGMOZ.css} +54 -7
  278. package/dist/assets/{NcDialog-Bzs9oxyt.css → NcDialog-BPI0CJvw.css} +15 -15
  279. package/dist/assets/{NcEmojiPicker-rk5qcSl7.css → NcEmojiPicker-Ca6U46T8.css} +19 -15
  280. package/dist/assets/{NcEmptyContent-BlXL6nnq.css → NcEmptyContent-CSsXYYcn.css} +9 -9
  281. package/dist/assets/{NcHeaderButton-BPkJ5wxD.css → NcHeaderButton-Dr6MgPDQ.css} +8 -7
  282. package/dist/assets/{NcHeaderMenu-BYjnMPPl.css → NcHeaderMenu-DN-HfTkh.css} +12 -11
  283. package/dist/assets/{NcInputConfirmCancel-EYtW7MxF.css → NcInputConfirmCancel-BanazdhC.css} +5 -5
  284. package/dist/assets/{NcInputField-CzryIHRa.css → NcInputField-GxJ-rf2p.css} +32 -32
  285. package/dist/assets/{NcListItem-GE5S37TT.css → NcListItem-DfaWGP5A.css} +44 -44
  286. package/dist/assets/{NcModal-ZfCDJxwd.css → NcModal-DXN1C02T.css} +61 -61
  287. package/dist/assets/{NcRelatedResourcesPanel-DSf7TVcC.css → NcRelatedResourcesPanel-DhStLIO2.css} +21 -21
  288. package/dist/assets/{NcRichText-zt8ALFHi.css → NcRichText-BwghUUnz.css} +3 -0
  289. package/dist/assets/{referencePickerModal-CTumspFH.css → referencePickerModal-Ba6soz9w.css} +8 -8
  290. package/dist/chunks/AlertCircleOutline-BrsasUsU.cjs +1 -0
  291. package/dist/chunks/AlertCircleOutline-DBxbepLy.mjs +1 -0
  292. package/dist/chunks/ArrowLeft-BP7yfzCQ.cjs +1 -0
  293. package/dist/chunks/ArrowLeft-DuT2LZOm.mjs +1 -0
  294. package/dist/chunks/ArrowRight-CY2b9hgN.mjs +1 -0
  295. package/dist/chunks/ArrowRight-DPARnmu3.cjs +1 -0
  296. package/dist/chunks/Check-BkThHPH7.mjs +1 -0
  297. package/dist/chunks/Check-Du8mPz_B.cjs +1 -0
  298. package/dist/chunks/ChevronDown-BlfyuflD.cjs +1 -0
  299. package/dist/chunks/ChevronDown-DFQfzh63.mjs +1 -0
  300. package/dist/chunks/ChevronLeft-BK4j9oVH.mjs +1 -0
  301. package/dist/chunks/ChevronLeft-CAiEPWc5.cjs +1 -0
  302. package/dist/chunks/ChevronRight-BUv-PtHh.mjs +1 -0
  303. package/dist/chunks/ChevronRight-ZCKVg9OI.cjs +1 -0
  304. package/dist/chunks/ChevronUp-Bpd__OBZ.cjs +1 -0
  305. package/dist/chunks/ChevronUp-C7Dy9Bph.mjs +1 -0
  306. package/dist/chunks/Close-BtLPUSdO.mjs +1 -0
  307. package/dist/chunks/Close-CqmXxEKi.cjs +1 -0
  308. package/dist/chunks/DotsHorizontal-BoI3vnhk.cjs +1 -0
  309. package/dist/chunks/DotsHorizontal-C6LNsw4N.mjs +1 -0
  310. package/dist/chunks/{GenColors-Di5GSft7.cjs → GenColors-CV4Niqso.cjs} +2 -1
  311. package/dist/chunks/{GenColors-Di5GSft7.cjs.map → GenColors-CV4Niqso.cjs.map} +1 -1
  312. package/dist/chunks/{GenColors-DfwXw1-o.mjs → GenColors-NALDypHH.mjs} +2 -1
  313. package/dist/chunks/{GenColors-DfwXw1-o.mjs.map → GenColors-NALDypHH.mjs.map} +1 -1
  314. package/dist/chunks/GenRandomId-BQDud3d4.cjs +1 -0
  315. package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +1 -1
  316. package/dist/chunks/GenRandomId-CMooMQt0.mjs +1 -0
  317. package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +1 -1
  318. package/dist/chunks/{NcActionButton-CEysTg4c.mjs → NcActionButton-BFxArTsE.mjs} +10 -9
  319. package/dist/chunks/{NcActionButton-DcpUnqA7.cjs.map → NcActionButton-BFxArTsE.mjs.map} +1 -1
  320. package/dist/chunks/{NcActionButton-DcpUnqA7.cjs → NcActionButton-ChQFsL4S.cjs} +10 -9
  321. package/dist/chunks/{NcActionButton-CEysTg4c.mjs.map → NcActionButton-ChQFsL4S.cjs.map} +1 -1
  322. package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs → NcActionButtonGroup-B5OcRwWQ.mjs} +2 -1
  323. package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs.map → NcActionButtonGroup-B5OcRwWQ.mjs.map} +1 -1
  324. package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs → NcActionButtonGroup-BSFS4BYN.cjs} +2 -1
  325. package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs.map → NcActionButtonGroup-BSFS4BYN.cjs.map} +1 -1
  326. package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs → NcActionCheckbox-DSMKeccY.mjs} +2 -1
  327. package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs.map → NcActionCheckbox-DSMKeccY.mjs.map} +1 -1
  328. package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs → NcActionCheckbox-JX-QaTD6.cjs} +2 -1
  329. package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs.map → NcActionCheckbox-JX-QaTD6.cjs.map} +1 -1
  330. package/dist/chunks/{NcActionInput-BAM8T3gm.mjs → NcActionInput-DXiL7Phe.mjs} +6 -5
  331. package/dist/chunks/{NcActionInput-BAM8T3gm.mjs.map → NcActionInput-DXiL7Phe.mjs.map} +1 -1
  332. package/dist/chunks/{NcActionInput-VR510EDJ.cjs → NcActionInput-DghifYMn.cjs} +6 -5
  333. package/dist/chunks/{NcActionInput-VR510EDJ.cjs.map → NcActionInput-DghifYMn.cjs.map} +1 -1
  334. package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs → NcActionRadio-BUCQ6VxA.cjs} +2 -1
  335. package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs.map → NcActionRadio-BUCQ6VxA.cjs.map} +1 -1
  336. package/dist/chunks/{NcActionRadio-CCTupqRR.mjs → NcActionRadio-yAm71xxU.mjs} +2 -1
  337. package/dist/chunks/{NcActionRadio-CCTupqRR.mjs.map → NcActionRadio-yAm71xxU.mjs.map} +1 -1
  338. package/dist/chunks/{NcActionTextEditable-JRD-G0CT.mjs → NcActionTextEditable-BYqqHPj2.mjs} +6 -5
  339. package/dist/chunks/NcActionTextEditable-BYqqHPj2.mjs.map +1 -0
  340. package/dist/chunks/{NcActionTextEditable-C-ZP8_Tn.cjs → NcActionTextEditable-s1Xqpg6x.cjs} +6 -5
  341. package/dist/chunks/NcActionTextEditable-s1Xqpg6x.cjs.map +1 -0
  342. package/dist/chunks/{NcActions-D3hGxwlc.mjs → NcActions-C_H0APKA.mjs} +52 -53
  343. package/dist/chunks/NcActions-C_H0APKA.mjs.map +1 -0
  344. package/dist/chunks/{NcActions-DTICeoTz.cjs → NcActions-C_gPnk6X.cjs} +51 -52
  345. package/dist/chunks/NcActions-C_gPnk6X.cjs.map +1 -0
  346. package/dist/chunks/{NcAppContent-BKQ-H04y.mjs → NcAppContent-DiOscHZ8.mjs} +58 -15
  347. package/dist/chunks/NcAppContent-DiOscHZ8.mjs.map +1 -0
  348. package/dist/chunks/{NcAppContent-BOt6_YA7.cjs → NcAppContent-PC4RbdhU.cjs} +58 -15
  349. package/dist/chunks/NcAppContent-PC4RbdhU.cjs.map +1 -0
  350. package/dist/chunks/{NcAppNavigation-D7W-4cVo.cjs → NcAppNavigation-B9Dd0YBs.cjs} +6 -5
  351. package/dist/chunks/NcAppNavigation-B9Dd0YBs.cjs.map +1 -0
  352. package/dist/chunks/{NcAppNavigation-B_92V8o3.mjs → NcAppNavigation-DD1CfV7A.mjs} +7 -6
  353. package/dist/chunks/NcAppNavigation-DD1CfV7A.mjs.map +1 -0
  354. package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs → NcAppNavigationCaption-8NN7iPkz.mjs} +2 -1
  355. package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs.map → NcAppNavigationCaption-8NN7iPkz.mjs.map} +1 -1
  356. package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs → NcAppNavigationCaption-CuKecXh9.cjs} +2 -1
  357. package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs.map → NcAppNavigationCaption-CuKecXh9.cjs.map} +1 -1
  358. package/dist/chunks/{NcAppNavigationItem-DL9OwWo-.cjs → NcAppNavigationItem-B2LzgJUC.cjs} +8 -7
  359. package/dist/chunks/NcAppNavigationItem-B2LzgJUC.cjs.map +1 -0
  360. package/dist/chunks/{NcAppNavigationItem-CpcFOmJR.mjs → NcAppNavigationItem-B50v2lmS.mjs} +8 -7
  361. package/dist/chunks/NcAppNavigationItem-B50v2lmS.mjs.map +1 -0
  362. package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs → NcAppNavigationNewItem-B7_0fFTF.mjs} +3 -2
  363. package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs.map → NcAppNavigationNewItem-B7_0fFTF.mjs.map} +1 -1
  364. package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs → NcAppNavigationNewItem-bRz_V5Y1.cjs} +3 -2
  365. package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs.map → NcAppNavigationNewItem-bRz_V5Y1.cjs.map} +1 -1
  366. package/dist/chunks/{NcAppNavigationSearch-Q0eMy5I2.cjs → NcAppNavigationSearch-B-HqHu3j.cjs} +5 -4
  367. package/dist/chunks/NcAppNavigationSearch-B-HqHu3j.cjs.map +1 -0
  368. package/dist/chunks/{NcAppNavigationSearch-gytpBKme.mjs → NcAppNavigationSearch-ChGonQL8.mjs} +5 -4
  369. package/dist/chunks/NcAppNavigationSearch-ChGonQL8.mjs.map +1 -0
  370. package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs → NcAppNavigationSettings-9nG2gY_9.mjs} +2 -1
  371. package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs.map → NcAppNavigationSettings-9nG2gY_9.mjs.map} +1 -1
  372. package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs → NcAppNavigationSettings-C--IJ1A2.cjs} +2 -1
  373. package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs.map → NcAppNavigationSettings-C--IJ1A2.cjs.map} +1 -1
  374. package/dist/chunks/{NcAppNavigationToggle-Pr8bEpDs.mjs → NcAppNavigationToggle-CJ5N3NI4.mjs} +5 -4
  375. package/dist/chunks/NcAppNavigationToggle-CJ5N3NI4.mjs.map +1 -0
  376. package/dist/chunks/{NcAppNavigationToggle-Br1hcFGt.cjs → NcAppNavigationToggle-FxOt_DlD.cjs} +5 -4
  377. package/dist/chunks/NcAppNavigationToggle-FxOt_DlD.cjs.map +1 -0
  378. package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs → NcAppSettingsDialog-C2rBRxUv.mjs} +3 -2
  379. package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs.map → NcAppSettingsDialog-C2rBRxUv.mjs.map} +1 -1
  380. package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs → NcAppSettingsDialog-CSLft-a9.cjs} +3 -2
  381. package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs.map → NcAppSettingsDialog-CSLft-a9.cjs.map} +1 -1
  382. package/dist/chunks/{NcAppSidebar-cEQy8s50.mjs → NcAppSidebar-19hVcGhv.mjs} +17 -16
  383. package/dist/chunks/NcAppSidebar-19hVcGhv.mjs.map +1 -0
  384. package/dist/chunks/{NcAppSidebar-BY33yoNX.cjs → NcAppSidebar-DVvZYd17.cjs} +13 -12
  385. package/dist/chunks/NcAppSidebar-DVvZYd17.cjs.map +1 -0
  386. package/dist/chunks/{NcAvatar-CQtsmbBW.cjs → NcAvatar--JVA_B6Y.cjs} +41 -17
  387. package/dist/chunks/NcAvatar--JVA_B6Y.cjs.map +1 -0
  388. package/dist/chunks/{NcAvatar-BjwyJw34.mjs → NcAvatar-DwORvUjC.mjs} +42 -18
  389. package/dist/chunks/NcAvatar-DwORvUjC.mjs.map +1 -0
  390. package/dist/chunks/NcBlurHash-CJ8retHx.cjs +115 -0
  391. package/dist/chunks/NcBlurHash-CJ8retHx.cjs.map +1 -0
  392. package/dist/chunks/NcBlurHash-do2wxY-0.mjs +116 -0
  393. package/dist/chunks/NcBlurHash-do2wxY-0.mjs.map +1 -0
  394. package/dist/chunks/{NcBreadcrumb-DrlhnNbV.cjs → NcBreadcrumb-B0ve-OJl.cjs} +6 -5
  395. package/dist/chunks/NcBreadcrumb-B0ve-OJl.cjs.map +1 -0
  396. package/dist/chunks/{NcBreadcrumb-GHiD-Sw7.mjs → NcBreadcrumb-DPF3ELzz.mjs} +6 -5
  397. package/dist/chunks/NcBreadcrumb-DPF3ELzz.mjs.map +1 -0
  398. package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs → NcBreadcrumbs-CL_IHuT9.mjs} +5 -4
  399. package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs.map → NcBreadcrumbs-CL_IHuT9.mjs.map} +1 -1
  400. package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs → NcBreadcrumbs-C_XQLT-h.cjs} +4 -3
  401. package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs.map → NcBreadcrumbs-C_XQLT-h.cjs.map} +1 -1
  402. package/dist/chunks/{NcCheckboxRadioSwitch-CCuKA55c.mjs → NcCheckboxRadioSwitch-BaMf0PDd.mjs} +7 -13
  403. package/dist/chunks/NcCheckboxRadioSwitch-BaMf0PDd.mjs.map +1 -0
  404. package/dist/chunks/{NcCheckboxRadioSwitch-RjEq0SqY.cjs → NcCheckboxRadioSwitch-DOxX6fqr.cjs} +7 -13
  405. package/dist/chunks/NcCheckboxRadioSwitch-DOxX6fqr.cjs.map +1 -0
  406. package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs → NcCollectionList-DyZNTQFW.cjs} +6 -5
  407. package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs.map → NcCollectionList-DyZNTQFW.cjs.map} +1 -1
  408. package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs → NcCollectionList-iHUm6owG.mjs} +6 -5
  409. package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs.map → NcCollectionList-iHUm6owG.mjs.map} +1 -1
  410. package/dist/chunks/{NcColorPicker-CTQlyVCL.cjs → NcColorPicker-CKIoVhox.cjs} +9 -8
  411. package/dist/chunks/NcColorPicker-CKIoVhox.cjs.map +1 -0
  412. package/dist/chunks/{NcColorPicker-ph8Nubq7.mjs → NcColorPicker-av-NHSU7.mjs} +9 -8
  413. package/dist/chunks/NcColorPicker-av-NHSU7.mjs.map +1 -0
  414. package/dist/chunks/{NcContent-CJNhr5lF.cjs → NcContent-EFEXh_OO.cjs} +6 -5
  415. package/dist/chunks/{NcContent-CJNhr5lF.cjs.map → NcContent-EFEXh_OO.cjs.map} +1 -1
  416. package/dist/chunks/{NcContent-RlppaZCX.mjs → NcContent-uiwRXAwA.mjs} +6 -5
  417. package/dist/chunks/{NcContent-RlppaZCX.mjs.map → NcContent-uiwRXAwA.mjs.map} +1 -1
  418. package/dist/chunks/NcCounterBubble-BRrUO34D.cjs +1 -0
  419. package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs +1 -0
  420. package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs → NcDashboardWidget-3kbcJvFx.cjs} +4 -3
  421. package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs.map → NcDashboardWidget-3kbcJvFx.cjs.map} +1 -1
  422. package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs → NcDashboardWidget-DDaM0QjK.mjs} +4 -3
  423. package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs.map → NcDashboardWidget-DDaM0QjK.mjs.map} +1 -1
  424. package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs → NcDashboardWidgetItem-C44gZwCP.mjs} +4 -3
  425. package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs.map → NcDashboardWidgetItem-C44gZwCP.mjs.map} +1 -1
  426. package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs → NcDashboardWidgetItem-DOzM3reO.cjs} +4 -3
  427. package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs.map → NcDashboardWidgetItem-DOzM3reO.cjs.map} +1 -1
  428. package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs → NcDateTime-BfJVNppR.mjs} +2 -1
  429. package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs.map → NcDateTime-BfJVNppR.mjs.map} +1 -1
  430. package/dist/chunks/{NcDateTime-AFZif5Dn.cjs → NcDateTime-DNnBHGEQ.cjs} +2 -1
  431. package/dist/chunks/{NcDateTime-AFZif5Dn.cjs.map → NcDateTime-DNnBHGEQ.cjs.map} +1 -1
  432. package/dist/chunks/{NcDialog-I_9fyJVt.mjs → NcDialog-D3Z5tp_6.mjs} +28 -11
  433. package/dist/chunks/NcDialog-D3Z5tp_6.mjs.map +1 -0
  434. package/dist/chunks/{NcDialog-mcbLFc8o.cjs → NcDialog-DbCdhtw7.cjs} +28 -11
  435. package/dist/chunks/NcDialog-DbCdhtw7.cjs.map +1 -0
  436. package/dist/chunks/{NcDialogButton-DuJ3lE7e.mjs → NcDialogButton-BhPydgMe.mjs} +28 -9
  437. package/dist/chunks/NcDialogButton-BhPydgMe.mjs.map +1 -0
  438. package/dist/chunks/{NcDialogButton-FLqQdVLb.cjs → NcDialogButton-CYsTKE2g.cjs} +28 -9
  439. package/dist/chunks/NcDialogButton-CYsTKE2g.cjs.map +1 -0
  440. package/dist/chunks/{NcEmojiPicker-DDCgW2zQ.mjs → NcEmojiPicker-C5HYxVqp.mjs} +19 -11
  441. package/dist/chunks/NcEmojiPicker-C5HYxVqp.mjs.map +1 -0
  442. package/dist/chunks/{NcEmojiPicker-B1ot5iNB.cjs → NcEmojiPicker-DPHhky3J.cjs} +17 -9
  443. package/dist/chunks/NcEmojiPicker-DPHhky3J.cjs.map +1 -0
  444. package/dist/chunks/{NcHeaderMenu-BaHhnhN0.cjs → NcHeaderMenu-B287C-Vk.cjs} +6 -5
  445. package/dist/chunks/NcHeaderMenu-B287C-Vk.cjs.map +1 -0
  446. package/dist/chunks/{NcHeaderMenu-CLcpStap.mjs → NcHeaderMenu-Bc1ucNsv.mjs} +6 -5
  447. package/dist/chunks/NcHeaderMenu-Bc1ucNsv.mjs.map +1 -0
  448. package/dist/chunks/NcIconSvgWrapper-B_eOG2sZ.cjs +1 -0
  449. package/dist/chunks/NcIconSvgWrapper-B_eOG2sZ.cjs.map +1 -1
  450. package/dist/chunks/NcIconSvgWrapper-CHmdAuhg.mjs +1 -0
  451. package/dist/chunks/{NcInputConfirmCancel-C7a7Nha7.mjs → NcInputConfirmCancel-CvV0tE6s.mjs} +7 -6
  452. package/dist/chunks/NcInputConfirmCancel-CvV0tE6s.mjs.map +1 -0
  453. package/dist/chunks/{NcInputConfirmCancel-XzKuYi6L.cjs → NcInputConfirmCancel-DRhv_CTt.cjs} +7 -6
  454. package/dist/chunks/NcInputConfirmCancel-DRhv_CTt.cjs.map +1 -0
  455. package/dist/chunks/{NcInputField-DkhKrb8k.cjs → NcInputField-C61UUN46.cjs} +4 -3
  456. package/dist/chunks/NcInputField-C61UUN46.cjs.map +1 -0
  457. package/dist/chunks/{NcInputField-CU5a68Pc.mjs → NcInputField-DTtUueUZ.mjs} +4 -3
  458. package/dist/chunks/NcInputField-DTtUueUZ.mjs.map +1 -0
  459. package/dist/chunks/{NcListItem-3e1MminS.mjs → NcListItem-CA4CzIW8.mjs} +4 -3
  460. package/dist/chunks/NcListItem-CA4CzIW8.mjs.map +1 -0
  461. package/dist/chunks/{NcListItem-9w7m2lJ_.cjs → NcListItem-D5XlkLgC.cjs} +4 -3
  462. package/dist/chunks/NcListItem-D5XlkLgC.cjs.map +1 -0
  463. package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs → NcListItemIcon-DIJ0vvYv.cjs} +2 -1
  464. package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs.map → NcListItemIcon-DIJ0vvYv.cjs.map} +1 -1
  465. package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs → NcListItemIcon-DhENqcJ-.mjs} +2 -1
  466. package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs.map → NcListItemIcon-DhENqcJ-.mjs.map} +1 -1
  467. package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs → NcPasswordField-DXJ93Wpz.cjs} +3 -2
  468. package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs.map → NcPasswordField-DXJ93Wpz.cjs.map} +1 -1
  469. package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs → NcPasswordField-zMKko5oa.mjs} +3 -2
  470. package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs.map → NcPasswordField-zMKko5oa.mjs.map} +1 -1
  471. package/dist/chunks/{NcPopover-DFCPlZpS.mjs → NcPopover-C9KlPo4Z.mjs} +11 -4
  472. package/dist/chunks/NcPopover-C9KlPo4Z.mjs.map +1 -0
  473. package/dist/chunks/{NcPopover-BKlH1mbx.cjs → NcPopover-CA2Dalxs.cjs} +11 -4
  474. package/dist/chunks/NcPopover-CA2Dalxs.cjs.map +1 -0
  475. package/dist/chunks/NcProgressBar-DegJ2JjE.mjs +1 -0
  476. package/dist/chunks/NcProgressBar-Do5Y3u8S.cjs +1 -0
  477. package/dist/chunks/{NcRelatedResourcesPanel-C6JIVMvN.mjs → NcRelatedResourcesPanel-BxBE_1N3.mjs} +7 -6
  478. package/dist/chunks/NcRelatedResourcesPanel-BxBE_1N3.mjs.map +1 -0
  479. package/dist/chunks/{NcRelatedResourcesPanel-BrkyIR3v.cjs → NcRelatedResourcesPanel-X4vhm8hy.cjs} +7 -6
  480. package/dist/chunks/NcRelatedResourcesPanel-X4vhm8hy.cjs.map +1 -0
  481. package/dist/chunks/{NcRichContenteditable-DJy0zZXx.cjs → NcRichContenteditable-CC4jGcJn.cjs} +7 -6
  482. package/dist/chunks/{NcRichContenteditable-DJy0zZXx.cjs.map → NcRichContenteditable-CC4jGcJn.cjs.map} +1 -1
  483. package/dist/chunks/{NcRichContenteditable-3kkU0Uxu.mjs → NcRichContenteditable-Ct8cG0U6.mjs} +9 -8
  484. package/dist/chunks/{NcRichContenteditable-3kkU0Uxu.mjs.map → NcRichContenteditable-Ct8cG0U6.mjs.map} +1 -1
  485. package/dist/chunks/NcRichText-Ck9Sk6wk.cjs +3707 -0
  486. package/dist/chunks/NcRichText-Ck9Sk6wk.cjs.map +1 -0
  487. package/dist/chunks/NcRichText-h1RHm2bK.mjs +3679 -0
  488. package/dist/chunks/NcRichText-h1RHm2bK.mjs.map +1 -0
  489. package/dist/chunks/NcSavingIndicatorIcon-Bu-zt4pR.cjs +1 -0
  490. package/dist/chunks/NcSavingIndicatorIcon-nv1147dk.mjs +1 -0
  491. package/dist/chunks/{NcSelect-BQ-NFBXI.mjs → NcSelect-DrtYueu1.mjs} +3 -2
  492. package/dist/chunks/NcSelect-DrtYueu1.mjs.map +1 -0
  493. package/dist/chunks/{NcSelect-YHwbPAJD.cjs → NcSelect-vJq9dZPb.cjs} +3 -2
  494. package/dist/chunks/NcSelect-vJq9dZPb.cjs.map +1 -0
  495. package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs → NcSelectTags--4zU4C41.mjs} +3 -2
  496. package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs.map → NcSelectTags--4zU4C41.mjs.map} +1 -1
  497. package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs → NcSelectTags-DvVm-C1N.cjs} +3 -2
  498. package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs.map → NcSelectTags-DvVm-C1N.cjs.map} +1 -1
  499. package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs → NcSettingsInputText-8EcoOEIo.cjs} +2 -1
  500. package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs.map → NcSettingsInputText-8EcoOEIo.cjs.map} +1 -1
  501. package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs → NcSettingsInputText-DKscbkn_.mjs} +2 -1
  502. package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs.map → NcSettingsInputText-DKscbkn_.mjs.map} +1 -1
  503. package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs → NcSettingsSection-DP3xDXrA.mjs} +2 -1
  504. package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs.map → NcSettingsSection-DP3xDXrA.mjs.map} +1 -1
  505. package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs → NcSettingsSection-DW5u2qWg.cjs} +2 -1
  506. package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs.map → NcSettingsSection-DW5u2qWg.cjs.map} +1 -1
  507. package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs → NcSettingsSelectGroup-DHuru8HO.mjs} +3 -2
  508. package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs.map → NcSettingsSelectGroup-DHuru8HO.mjs.map} +1 -1
  509. package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs → NcSettingsSelectGroup-DmnTgIg5.cjs} +3 -2
  510. package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs.map → NcSettingsSelectGroup-DmnTgIg5.cjs.map} +1 -1
  511. package/dist/chunks/NcTextArea-BHERsE_g.mjs +1 -0
  512. package/dist/chunks/NcTextArea-CYLGAGcO.cjs +1 -0
  513. package/dist/chunks/NcTextArea-CYLGAGcO.cjs.map +1 -1
  514. package/dist/chunks/{NcTextField-9gC8or6j.mjs → NcTextField-DpLIIKYI.mjs} +3 -2
  515. package/dist/chunks/{NcTextField-9gC8or6j.mjs.map → NcTextField-DpLIIKYI.mjs.map} +1 -1
  516. package/dist/chunks/{NcTextField-Pbox9mQE.cjs → NcTextField-rilWP68p.cjs} +3 -2
  517. package/dist/chunks/{NcTextField-Pbox9mQE.cjs.map → NcTextField-rilWP68p.cjs.map} +1 -1
  518. package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs → NcTimezonePicker-CGuLj6Bs.mjs} +3 -2
  519. package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs.map → NcTimezonePicker-CGuLj6Bs.mjs.map} +1 -1
  520. package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs → NcTimezonePicker-CQkZVQOW.cjs} +3 -2
  521. package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs.map → NcTimezonePicker-CQkZVQOW.cjs.map} +1 -1
  522. package/dist/chunks/{NcUserBubble-rphdAcHS.cjs → NcUserBubble-Du4ecEXq.cjs} +3 -2
  523. package/dist/chunks/{NcUserBubble-rphdAcHS.cjs.map → NcUserBubble-Du4ecEXq.cjs.map} +1 -1
  524. package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs → NcUserBubble-X7NIiLjg.mjs} +3 -2
  525. package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs.map → NcUserBubble-X7NIiLjg.mjs.map} +1 -1
  526. package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs → NcUserStatusIcon-Cy942iqr.cjs} +3 -1
  527. package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs.map → NcUserStatusIcon-Cy942iqr.cjs.map} +1 -1
  528. package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs → NcUserStatusIcon-D1Mw6nKB.mjs} +3 -1
  529. package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs.map → NcUserStatusIcon-D1Mw6nKB.mjs.map} +1 -1
  530. package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs → ScopeComponent-Dw8Duyxn.mjs} +2 -1
  531. package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs.map → ScopeComponent-Dw8Duyxn.mjs.map} +1 -1
  532. package/dist/chunks/{ScopeComponent-B5vclUCV.cjs → ScopeComponent-Uz_pNcsJ.cjs} +2 -1
  533. package/dist/chunks/{ScopeComponent-B5vclUCV.cjs.map → ScopeComponent-Uz_pNcsJ.cjs.map} +1 -1
  534. package/dist/chunks/_l10n-DINju8Lo.cjs +139 -0
  535. package/dist/chunks/{_l10n-CjO_W5Dt.cjs.map → _l10n-DINju8Lo.cjs.map} +1 -1
  536. package/dist/chunks/_l10n-DKne-gFg.mjs +140 -0
  537. package/dist/chunks/_l10n-DKne-gFg.mjs.map +1 -0
  538. package/dist/chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs +1 -0
  539. package/dist/chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs +1 -0
  540. package/dist/chunks/actionGlobal-DqVa7c7G.mjs +1 -0
  541. package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
  542. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs +1 -0
  543. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
  544. package/dist/chunks/actionText-BcrK4uH1.cjs +1 -0
  545. package/dist/chunks/actionText-BcrK4uH1.cjs.map +1 -1
  546. package/dist/chunks/actionText-fFcUPi2g.mjs +1 -0
  547. package/dist/chunks/actionText-fFcUPi2g.mjs.map +1 -1
  548. package/dist/chunks/autolink-BAgL31EZ.cjs +1 -0
  549. package/dist/chunks/autolink-BAgL31EZ.cjs.map +1 -1
  550. package/dist/chunks/autolink-cbuFALXr.mjs +1 -0
  551. package/dist/chunks/autolink-cbuFALXr.mjs.map +1 -1
  552. package/dist/chunks/emoji-BY_D0V5K.mjs +1 -0
  553. package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
  554. package/dist/chunks/emoji-VgSjNTd5.cjs +1 -0
  555. package/dist/chunks/emoji-VgSjNTd5.cjs.map +1 -1
  556. package/dist/chunks/focusTrap-DmkaYJTC.mjs +32 -0
  557. package/dist/chunks/focusTrap-DmkaYJTC.mjs.map +1 -0
  558. package/dist/chunks/focusTrap-Vbgxe8ZX.cjs +31 -0
  559. package/dist/chunks/focusTrap-Vbgxe8ZX.cjs.map +1 -0
  560. package/dist/chunks/getAvatarUrl-6z9qRNH-.cjs +1 -0
  561. package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs +1 -0
  562. package/dist/chunks/{index-CtoB4eIp.mjs → index-56SXuvlv.mjs} +3 -2
  563. package/dist/chunks/{index-CtoB4eIp.mjs.map → index-56SXuvlv.mjs.map} +1 -1
  564. package/dist/chunks/index-BV85rPB7.cjs +1 -0
  565. package/dist/chunks/index-BV85rPB7.cjs.map +1 -1
  566. package/dist/chunks/index-BiECbTbJ.cjs +1 -0
  567. package/dist/chunks/index-BiECbTbJ.cjs.map +1 -1
  568. package/dist/chunks/index-Bz6q9mZw.mjs +1 -0
  569. package/dist/chunks/index-Bz6q9mZw.mjs.map +1 -1
  570. package/dist/chunks/index-DIJxEozm.cjs +1 -0
  571. package/dist/chunks/index-DIJxEozm.cjs.map +1 -1
  572. package/dist/chunks/index-G8WQDZ8G.mjs +1 -0
  573. package/dist/chunks/index-G8WQDZ8G.mjs.map +1 -1
  574. package/dist/chunks/logger-3HuiEIF6.cjs +1 -0
  575. package/dist/chunks/logger-D3RVzcfQ.mjs +1 -0
  576. package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs → referencePickerModal-CIO6RuJz.cjs} +7 -6
  577. package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs.map → referencePickerModal-CIO6RuJz.cjs.map} +1 -1
  578. package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs → referencePickerModal-DTLuXI-A.mjs} +8 -7
  579. package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs.map → referencePickerModal-DTLuXI-A.mjs.map} +1 -1
  580. package/dist/chunks/rtl-DLuwcTlm.cjs +5 -0
  581. package/dist/chunks/rtl-DLuwcTlm.cjs.map +1 -0
  582. package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
  583. package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
  584. package/dist/chunks/useModelMigration-D5zhrNXr.cjs +1 -0
  585. package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -1
  586. package/dist/chunks/useModelMigration-EhAWvqDD.mjs +1 -0
  587. package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -1
  588. package/dist/chunks/useTrapStackControl-BJmJdJak.cjs +22 -0
  589. package/dist/chunks/useTrapStackControl-BJmJdJak.cjs.map +1 -0
  590. package/dist/chunks/useTrapStackControl-b3A_383w.mjs +23 -0
  591. package/dist/chunks/useTrapStackControl-b3A_383w.mjs.map +1 -0
  592. package/dist/chunks/{usernameToColor-cVFS7tET.cjs → usernameToColor-BiO_8cQo.cjs} +2 -1
  593. package/dist/chunks/{usernameToColor-cVFS7tET.cjs.map → usernameToColor-BiO_8cQo.cjs.map} +1 -1
  594. package/dist/chunks/{usernameToColor-BCZuxlEH.mjs → usernameToColor-DLOoqQAF.mjs} +2 -1
  595. package/dist/chunks/{usernameToColor-BCZuxlEH.mjs.map → usernameToColor-DLOoqQAF.mjs.map} +1 -1
  596. package/dist/composables/useTrapStackControl.d.ts +12 -0
  597. package/dist/functions/index.d.ts +3 -2
  598. package/dist/functions/preloadImage/index.d.ts +9 -0
  599. package/dist/functions/reference/widgets.d.ts +1 -1
  600. package/dist/index.cjs +58 -52
  601. package/dist/index.cjs.map +1 -1
  602. package/dist/index.mjs +59 -53
  603. package/dist/index.mjs.map +1 -1
  604. package/dist/utils/focusTrap.d.ts +26 -0
  605. package/dist/utils/rtl.d.ts +5 -0
  606. package/dist/vendor.LICENSE.txt +128 -0
  607. package/package.json +23 -15
  608. package/dist/chunks/NcActionTextEditable-C-ZP8_Tn.cjs.map +0 -1
  609. package/dist/chunks/NcActionTextEditable-JRD-G0CT.mjs.map +0 -1
  610. package/dist/chunks/NcActions-D3hGxwlc.mjs.map +0 -1
  611. package/dist/chunks/NcActions-DTICeoTz.cjs.map +0 -1
  612. package/dist/chunks/NcAppContent-BKQ-H04y.mjs.map +0 -1
  613. package/dist/chunks/NcAppContent-BOt6_YA7.cjs.map +0 -1
  614. package/dist/chunks/NcAppNavigation-B_92V8o3.mjs.map +0 -1
  615. package/dist/chunks/NcAppNavigation-D7W-4cVo.cjs.map +0 -1
  616. package/dist/chunks/NcAppNavigationItem-CpcFOmJR.mjs.map +0 -1
  617. package/dist/chunks/NcAppNavigationItem-DL9OwWo-.cjs.map +0 -1
  618. package/dist/chunks/NcAppNavigationSearch-Q0eMy5I2.cjs.map +0 -1
  619. package/dist/chunks/NcAppNavigationSearch-gytpBKme.mjs.map +0 -1
  620. package/dist/chunks/NcAppNavigationToggle-Br1hcFGt.cjs.map +0 -1
  621. package/dist/chunks/NcAppNavigationToggle-Pr8bEpDs.mjs.map +0 -1
  622. package/dist/chunks/NcAppSidebar-BY33yoNX.cjs.map +0 -1
  623. package/dist/chunks/NcAppSidebar-cEQy8s50.mjs.map +0 -1
  624. package/dist/chunks/NcAvatar-BjwyJw34.mjs.map +0 -1
  625. package/dist/chunks/NcAvatar-CQtsmbBW.cjs.map +0 -1
  626. package/dist/chunks/NcBreadcrumb-DrlhnNbV.cjs.map +0 -1
  627. package/dist/chunks/NcBreadcrumb-GHiD-Sw7.mjs.map +0 -1
  628. package/dist/chunks/NcCheckboxRadioSwitch-CCuKA55c.mjs.map +0 -1
  629. package/dist/chunks/NcCheckboxRadioSwitch-RjEq0SqY.cjs.map +0 -1
  630. package/dist/chunks/NcColorPicker-CTQlyVCL.cjs.map +0 -1
  631. package/dist/chunks/NcColorPicker-ph8Nubq7.mjs.map +0 -1
  632. package/dist/chunks/NcDialog-I_9fyJVt.mjs.map +0 -1
  633. package/dist/chunks/NcDialog-mcbLFc8o.cjs.map +0 -1
  634. package/dist/chunks/NcDialogButton-DuJ3lE7e.mjs.map +0 -1
  635. package/dist/chunks/NcDialogButton-FLqQdVLb.cjs.map +0 -1
  636. package/dist/chunks/NcEmojiPicker-B1ot5iNB.cjs.map +0 -1
  637. package/dist/chunks/NcEmojiPicker-DDCgW2zQ.mjs.map +0 -1
  638. package/dist/chunks/NcHeaderMenu-BaHhnhN0.cjs.map +0 -1
  639. package/dist/chunks/NcHeaderMenu-CLcpStap.mjs.map +0 -1
  640. package/dist/chunks/NcInputConfirmCancel-C7a7Nha7.mjs.map +0 -1
  641. package/dist/chunks/NcInputConfirmCancel-XzKuYi6L.cjs.map +0 -1
  642. package/dist/chunks/NcInputField-CU5a68Pc.mjs.map +0 -1
  643. package/dist/chunks/NcInputField-DkhKrb8k.cjs.map +0 -1
  644. package/dist/chunks/NcListItem-3e1MminS.mjs.map +0 -1
  645. package/dist/chunks/NcListItem-9w7m2lJ_.cjs.map +0 -1
  646. package/dist/chunks/NcPopover-BKlH1mbx.cjs.map +0 -1
  647. package/dist/chunks/NcPopover-DFCPlZpS.mjs.map +0 -1
  648. package/dist/chunks/NcRelatedResourcesPanel-BrkyIR3v.cjs.map +0 -1
  649. package/dist/chunks/NcRelatedResourcesPanel-C6JIVMvN.mjs.map +0 -1
  650. package/dist/chunks/NcRichText-C8SjsRK8.mjs +0 -420
  651. package/dist/chunks/NcRichText-C8SjsRK8.mjs.map +0 -1
  652. package/dist/chunks/NcRichText-Ci72ylJ9.cjs +0 -449
  653. package/dist/chunks/NcRichText-Ci72ylJ9.cjs.map +0 -1
  654. package/dist/chunks/NcSelect-BQ-NFBXI.mjs.map +0 -1
  655. package/dist/chunks/NcSelect-YHwbPAJD.cjs.map +0 -1
  656. package/dist/chunks/_l10n-CjO_W5Dt.cjs +0 -138
  657. package/dist/chunks/_l10n-DDKxBWQL.mjs +0 -139
  658. package/dist/chunks/_l10n-DDKxBWQL.mjs.map +0 -1
  659. package/dist/chunks/focusTrap-Cecv_gjR.mjs +0 -7
  660. package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +0 -1
  661. package/dist/chunks/focusTrap-EeXFmjdI.cjs +0 -6
  662. package/dist/chunks/focusTrap-EeXFmjdI.cjs.map +0 -1
@@ -1,449 +0,0 @@
1
- require('../assets/NcRichText-zt8ALFHi.css');
2
- "use strict";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
- // If the importer is in node compatibility mode or this is not an ESM
19
- // file that has been converted to a CommonJS file using a Babel-
20
- // compatible transform (i.e. "__esModule" has not been set), then set
21
- // "default" to the CommonJS "module.exports" for node compatibility.
22
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
- mod
24
- ));
25
- const Vue = require("vue");
26
- const referencePickerModal = require("./referencePickerModal-BkBu4cnq.cjs");
27
- const autolink = require("./autolink-BAgL31EZ.cjs");
28
- const axios = require("@nextcloud/axios");
29
- const _public = require("@nextcloud/sharing/public");
30
- const auth = require("@nextcloud/auth");
31
- const router = require("@nextcloud/router");
32
- const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
33
- const NcCheckboxRadioSwitch = require("./NcCheckboxRadioSwitch-RjEq0SqY.cjs");
34
- const unistUtilVisit = require("unist-util-visit");
35
- const unistBuilder = require("unist-builder");
36
- const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
37
- const unified = require("unified");
38
- const remarkParse = require("remark-parse");
39
- const remarkGfm = require("remark-gfm");
40
- const breaks = require("remark-breaks");
41
- const remark2rehype = require("remark-rehype");
42
- const rehype2react = require("rehype-react");
43
- const rehypeExternalLinks = require("rehype-external-links");
44
- const vueRouter = require("vue-router");
45
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
46
- const axios__default = /* @__PURE__ */ _interopDefault(axios);
47
- const remarkParse__default = /* @__PURE__ */ _interopDefault(remarkParse);
48
- const remarkGfm__default = /* @__PURE__ */ _interopDefault(remarkGfm);
49
- const breaks__default = /* @__PURE__ */ _interopDefault(breaks);
50
- const remark2rehype__default = /* @__PURE__ */ _interopDefault(remark2rehype);
51
- const rehype2react__default = /* @__PURE__ */ _interopDefault(rehype2react);
52
- const rehypeExternalLinks__default = /* @__PURE__ */ _interopDefault(rehypeExternalLinks);
53
- const _sfc_main$1 = {
54
- name: "NcReferenceList",
55
- components: {
56
- NcReferenceWidget: referencePickerModal.NcReferenceWidget
57
- },
58
- props: {
59
- text: {
60
- type: String,
61
- default: ""
62
- },
63
- referenceData: {
64
- type: Object,
65
- default: null
66
- },
67
- limit: {
68
- type: Number,
69
- default: 1
70
- },
71
- displayFallback: {
72
- type: Boolean,
73
- default: false
74
- },
75
- interactive: {
76
- type: Boolean,
77
- default: true
78
- },
79
- interactiveOptIn: {
80
- type: Boolean,
81
- default: false
82
- }
83
- },
84
- data() {
85
- return {
86
- references: null,
87
- loading: true
88
- };
89
- },
90
- computed: {
91
- isVisible() {
92
- return this.loading || this.displayedReferences.length !== 0;
93
- },
94
- values() {
95
- if (this.referenceData) {
96
- return this.referenceData;
97
- }
98
- if (this.displayFallback && !this.loading && !this.references) {
99
- return [this.fallbackReference];
100
- }
101
- return this.references ? Object.values(this.references) : [];
102
- },
103
- firstReference() {
104
- return this.values[0] ?? null;
105
- },
106
- displayedReferences() {
107
- return this.values.slice(0, this.limit);
108
- },
109
- fallbackReference() {
110
- return {
111
- accessible: true,
112
- openGraphObject: {
113
- id: this.text,
114
- link: this.text,
115
- name: this.text
116
- },
117
- richObjectType: "open-graph"
118
- };
119
- }
120
- },
121
- watch: {
122
- text: "fetch"
123
- },
124
- mounted() {
125
- this.fetch();
126
- },
127
- methods: {
128
- fetch() {
129
- this.loading = true;
130
- if (this.referenceData) {
131
- this.references = null;
132
- this.loading = false;
133
- return;
134
- }
135
- if (!new RegExp(autolink.URL_PATTERN).exec(this.text)) {
136
- this.references = null;
137
- this.loading = false;
138
- return;
139
- }
140
- this.resolve().then((response) => {
141
- this.references = response.data.ocs.data.references;
142
- this.loading = false;
143
- this.$emit("loaded");
144
- }).catch((error) => {
145
- console.error("Failed to extract references", error);
146
- this.loading = false;
147
- this.$emit("loaded");
148
- });
149
- },
150
- resolve() {
151
- const match = new RegExp(autolink.URL_PATTERN).exec(this.text.trim());
152
- const isPublic = auth.getCurrentUser() === null;
153
- if (this.limit === 1 && match) {
154
- return isPublic ? axios__default.default.get(router.generateOcsUrl("references/resolvePublic") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${_public.getSharingToken()}`) : axios__default.default.get(router.generateOcsUrl("references/resolve") + `?reference=${encodeURIComponent(match[0])}`);
155
- }
156
- return isPublic ? axios__default.default.post(router.generateOcsUrl("references/extractPublic"), {
157
- text: this.text,
158
- resolve: true,
159
- limit: this.limit,
160
- sharingToken: _public.getSharingToken()
161
- }) : axios__default.default.post(router.generateOcsUrl("references/extract"), {
162
- text: this.text,
163
- resolve: true,
164
- limit: this.limit
165
- });
166
- }
167
- }
168
- };
169
- var _sfc_render$1 = function render() {
170
- var _vm = this, _c = _vm._self._c;
171
- return _vm.isVisible ? _c("div", { staticClass: "widgets--list", class: { "icon-loading": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {
172
- return _c("NcReferenceWidget", { key: reference?.openGraphObject?.id, attrs: { "reference": reference, "interactive": _vm.interactive, "interactive-opt-in": _vm.interactiveOptIn } });
173
- }), 1) : _vm._e();
174
- };
175
- var _sfc_staticRenderFns$1 = [];
176
- var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
177
- _sfc_main$1,
178
- _sfc_render$1,
179
- _sfc_staticRenderFns$1,
180
- false,
181
- null,
182
- "2677cf0e"
183
- );
184
- const NcReferenceList = __component__$1.exports;
185
- const remarkPlaceholder = function() {
186
- return function(ast) {
187
- unistUtilVisit.visit(ast, (node) => node.type === "text", visitor);
188
- function visitor(node, index, parent) {
189
- const placeholders = node.value.split(/(\{[a-z\-_.0-9]+\})/ig).map((entry, index2, list) => {
190
- const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
191
- if (!matches) {
192
- return unistBuilder.u("text", entry);
193
- }
194
- const [, component] = matches;
195
- return unistBuilder.u("element", {
196
- tagName: `#${component}`
197
- });
198
- });
199
- parent.children.splice(index, 1, ...placeholders);
200
- }
201
- };
202
- };
203
- const prepareTextNode = ({ h, context }, text) => {
204
- if (context.autolink) {
205
- text = autolink.parseUrl(text);
206
- }
207
- if (Array.isArray(text)) {
208
- return text.map((entry) => {
209
- if (typeof entry === "string") {
210
- return entry;
211
- }
212
- const { component, props } = entry;
213
- const componentClass = component.name === "NcLink" ? void 0 : "rich-text--component";
214
- return h(component, {
215
- props,
216
- class: componentClass
217
- });
218
- });
219
- }
220
- return text;
221
- };
222
- const remarkUnescape = function() {
223
- return function(tree) {
224
- unistUtilVisit.visit(
225
- tree,
226
- (node) => ["text", "code", "inlineCode"].includes(node.type),
227
- (node, index, parent) => {
228
- parent.children.splice(index, 1, {
229
- ...node,
230
- value: node.value.replace(/&lt;/gmi, "<").replace(/&gt;/gmi, ">")
231
- });
232
- return [unistUtilVisit.SKIP, index + 1];
233
- }
234
- );
235
- };
236
- };
237
- const rehypeHighlight = Vue.ref(null);
238
- async function importRehypeHighlightLibrary() {
239
- const module2 = await import("rehype-highlight");
240
- rehypeHighlight.value = module2.default;
241
- }
242
- const _sfc_main = {
243
- name: "NcRichText",
244
- components: {
245
- NcReferenceList
246
- },
247
- props: {
248
- text: {
249
- type: String,
250
- default: ""
251
- },
252
- arguments: {
253
- type: Object,
254
- default: () => {
255
- return {};
256
- }
257
- },
258
- referenceLimit: {
259
- type: Number,
260
- default: 0
261
- },
262
- referenceInteractive: {
263
- type: Boolean,
264
- default: true
265
- },
266
- referenceInteractiveOptIn: {
267
- type: Boolean,
268
- default: false
269
- },
270
- /** Provide data upfront to avoid extra http request */
271
- references: {
272
- type: Object,
273
- default: null
274
- },
275
- /** Provide basic Markdown syntax */
276
- useMarkdown: {
277
- type: Boolean,
278
- default: false
279
- },
280
- /** Provide GitHub Flavored Markdown syntax */
281
- useExtendedMarkdown: {
282
- type: Boolean,
283
- default: false
284
- },
285
- /** Provide event from rendered markdown inputs */
286
- interactive: {
287
- type: Boolean,
288
- default: false
289
- },
290
- autolink: {
291
- type: Boolean,
292
- default: true
293
- }
294
- },
295
- emits: ["interact:todo"],
296
- data() {
297
- return {
298
- parentId: GenRandomId.GenRandomId(5)
299
- };
300
- },
301
- methods: {
302
- renderPlaintext(h) {
303
- const context = this;
304
- const placeholders = this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(function(entry, index, list) {
305
- const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
306
- if (!matches) {
307
- return prepareTextNode({ h, context }, entry);
308
- }
309
- const argumentId = matches[1];
310
- const argument = context.arguments[argumentId];
311
- if (typeof argument === "object") {
312
- const { component, props } = argument;
313
- return h(component, {
314
- props,
315
- class: "rich-text--component"
316
- });
317
- }
318
- if (argument) {
319
- return h("span", { class: "rich-text--fallback" }, argument);
320
- }
321
- return entry;
322
- });
323
- return h("div", { class: "rich-text--wrapper" }, [
324
- h("div", {}, placeholders.flat()),
325
- this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
326
- h(NcReferenceList, {
327
- props: {
328
- text: this.text,
329
- referenceData: this.references,
330
- interactive: this.referenceInteractive,
331
- interactiveOptIn: this.referenceInteractiveOptIn
332
- }
333
- })
334
- ]) : null
335
- ]);
336
- },
337
- renderMarkdown(h) {
338
- const renderedMarkdown = unified.unified().use(remarkParse__default.default).use(autolink.remarkAutolink, {
339
- autolink: this.autolink,
340
- useMarkdown: this.useMarkdown,
341
- useExtendedMarkdown: this.useExtendedMarkdown
342
- }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm__default.default : void 0).use(breaks__default.default).use(remark2rehype__default.default, {
343
- handlers: {
344
- component(toHast, node) {
345
- return toHast(node, node.component, { value: node.value });
346
- }
347
- }
348
- }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks__default.default, {
349
- target: "_blank",
350
- rel: ["noopener noreferrer"]
351
- }).use(rehype2react__default.default, {
352
- createElement: (tag, attrs, children) => {
353
- if (!tag.startsWith("#")) {
354
- if (this.useExtendedMarkdown) {
355
- if (tag === "code" && !rehypeHighlight.value && attrs?.attrs?.class?.includes("language")) {
356
- importRehypeHighlightLibrary();
357
- }
358
- let nestedNode = null;
359
- if (tag === "li" && Array.isArray(children) && children[0].tag === "input" && children[0].data.attrs.type === "checkbox") {
360
- const [inputNode, ...labelParts] = children;
361
- const nestedNodeIndex = labelParts.findIndex((child) => ["ul", "ol", "li", "blockquote", "pre"].includes(child.tag));
362
- if (nestedNodeIndex !== -1) {
363
- nestedNode = labelParts[nestedNodeIndex];
364
- labelParts.splice(nestedNodeIndex);
365
- }
366
- const id = this.parentId + "-markdown-input-" + GenRandomId.GenRandomId(5);
367
- const inputComponent = h(NcCheckboxRadioSwitch.NcCheckboxRadioSwitch, {
368
- attrs: {
369
- ...inputNode.data.attrs,
370
- id,
371
- disabled: !this.interactive
372
- },
373
- on: {
374
- "update:checked": () => {
375
- this.$emit("interact:todo", id);
376
- }
377
- }
378
- }, labelParts);
379
- return h(tag, attrs, [inputComponent, nestedNode]);
380
- }
381
- }
382
- if (tag === "a") {
383
- const route = autolink.getRoute(this.$router, attrs.attrs.href);
384
- if (route) {
385
- delete attrs.attrs.href;
386
- delete attrs.attrs.target;
387
- return h(vueRouter.RouterLink, {
388
- ...attrs,
389
- props: {
390
- to: route
391
- }
392
- }, children);
393
- }
394
- }
395
- return h(tag, attrs, children);
396
- }
397
- const placeholder = this.arguments[tag.slice(1)];
398
- if (!placeholder) {
399
- return h("span", { ...{ attrs }, ...{ class: "rich-text--fallback" } }, [`{${tag.slice(1)}}`]);
400
- }
401
- if (!placeholder.component) {
402
- return h("span", attrs, [placeholder]);
403
- }
404
- return h(
405
- placeholder.component,
406
- {
407
- attrs,
408
- props: placeholder.props,
409
- class: "rich-text--component"
410
- },
411
- children
412
- );
413
- },
414
- prefix: false
415
- }).processSync(
416
- this.text.replace(/<[^>]+>/g, (match) => match.replace(/</g, "&lt;")).replace(/&gt;/gmi, ">")
417
- ).result;
418
- return h("div", { class: "rich-text--wrapper rich-text--wrapper-markdown" }, [
419
- renderedMarkdown,
420
- this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
421
- h(NcReferenceList, {
422
- props: {
423
- text: this.text,
424
- referenceData: this.references,
425
- interactive: this.referenceInteractive,
426
- interactiveOptIn: this.referenceInteractiveOptIn
427
- }
428
- })
429
- ]) : null
430
- ]);
431
- }
432
- },
433
- render(h) {
434
- return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);
435
- }
436
- };
437
- const _sfc_render = null;
438
- const _sfc_staticRenderFns = null;
439
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
440
- _sfc_main,
441
- _sfc_render,
442
- _sfc_staticRenderFns,
443
- false,
444
- null,
445
- "1de82f09"
446
- );
447
- const NcRichText = __component__.exports;
448
- exports.NcReferenceList = NcReferenceList;
449
- exports.NcRichText = NcRichText;
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcRichText-Ci72ylJ9.cjs","sources":["../../src/components/NcRichText/NcReferenceList.vue","../../src/components/NcRichText/placeholder.js","../../src/components/NcRichText/remarkUnescape.js","../../src/components/NcRichText/NcRichText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div v-if=\"isVisible\" class=\"widgets--list\" :class=\"{'icon-loading': loading }\">\n\t\t<NcReferenceWidget v-for=\"reference in displayedReferences\"\n\t\t\t:key=\"reference?.openGraphObject?.id\"\n\t\t\t:reference=\"reference\"\n\t\t\t:interactive=\"interactive\"\n\t\t\t:interactive-opt-in=\"interactiveOptIn\" />\n\t</div>\n</template>\n<script>\nimport NcReferenceWidget from './NcReferenceWidget.vue'\nimport { URL_PATTERN } from './helpers.js'\n\nimport axios from '@nextcloud/axios'\nimport { getSharingToken } from '@nextcloud/sharing/public'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'NcReferenceList',\n\tcomponents: {\n\t\tNcReferenceWidget,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\treferenceData: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1,\n\t\t},\n\t\tdisplayFallback: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tinteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\treferences: null,\n\t\t\tloading: true,\n\t\t}\n\t},\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn this.loading || this.displayedReferences.length !== 0\n\t\t},\n\t\tvalues() {\n\t\t\tif (this.referenceData) {\n\t\t\t\treturn this.referenceData\n\t\t\t}\n\n\t\t\tif (this.displayFallback && !this.loading && !this.references) {\n\t\t\t\treturn [this.fallbackReference]\n\t\t\t}\n\n\t\t\treturn this.references ? Object.values(this.references) : []\n\t\t},\n\t\tfirstReference() {\n\t\t\treturn this.values[0] ?? null\n\t\t},\n\t\tdisplayedReferences() {\n\t\t\treturn this.values.slice(0, this.limit)\n\t\t},\n\t\tfallbackReference() {\n\t\t\treturn {\n\t\t\t\taccessible: true,\n\t\t\t\topenGraphObject: {\n\t\t\t\t\tid: this.text,\n\t\t\t\t\tlink: this.text,\n\t\t\t\t\tname: this.text,\n\t\t\t\t},\n\t\t\t\trichObjectType: 'open-graph',\n\t\t\t}\n\t\t},\n\t},\n\twatch: {\n\t\ttext: 'fetch',\n\t},\n\tmounted() {\n\t\tthis.fetch()\n\t},\n\tmethods: {\n\t\tfetch() {\n\t\t\tthis.loading = true\n\t\t\tif (this.referenceData) {\n\t\t\t\tthis.references = null\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!(new RegExp(URL_PATTERN).exec(this.text))) {\n\t\t\t\tthis.references = null\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.resolve().then((response) => {\n\t\t\t\tthis.references = response.data.ocs.data.references\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error('Failed to extract references', error)\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t})\n\t\t},\n\t\tresolve() {\n\t\t\tconst match = (new RegExp(URL_PATTERN).exec(this.text.trim()))\n\t\t\tconst isPublic = getCurrentUser() === null\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn isPublic\n\t\t\t\t\t? axios.get(generateOcsUrl('references/resolvePublic') + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`)\n\t\t\t\t\t: axios.get(generateOcsUrl('references/resolve') + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn isPublic\n\t\t\t\t? axios.post(generateOcsUrl('references/extractPublic'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t\tsharingToken: getSharingToken(),\n\t\t\t\t})\n\t\t\t\t: axios.post(generateOcsUrl('references/extract'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widgets--list {\n\twidth: 100%;\n\tmin-height: var(--default-clickable-area);\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { parseUrl } from './autolink.js'\n\nimport { visit } from 'unist-util-visit'\nimport { u } from 'unist-builder'\n\nexport const remarkPlaceholder = function() {\n\treturn function(ast) {\n\t\tvisit(ast, (node) => node.type === 'text', visitor)\n\n\t\t/**\n\t\t *\n\t\t * @param {object} node The node\n\t\t * @param {number} index The index of the node\n\t\t * @param {object} parent The parent node\n\t\t */\n\t\tfunction visitor(node, index, parent) {\n\t\t\tconst placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig)\n\t\t\t\t.map((entry, index, list) => {\n\t\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\treturn u('text', entry)\n\t\t\t\t\t}\n\t\t\t\t\tconst [, component] = matches\n\t\t\t\t\treturn u('element', {\n\t\t\t\t\t\ttagName: `#${component}`,\n\t\t\t\t\t})\n\t\t\t\t})\n\n\t\t\tparent.children.splice(index, 1, ...placeholders)\n\t\t}\n\t}\n}\n\nexport const prepareTextNode = ({ h, context }, text) => {\n\tif (context.autolink) {\n\t\ttext = parseUrl(text)\n\t}\n\tif (Array.isArray(text)) {\n\t\treturn text.map((entry) => {\n\t\t\tif (typeof entry === 'string') {\n\t\t\t\treturn entry\n\t\t\t}\n\t\t\tconst { component, props } = entry\n\t\t\t// do not override class of NcLink\n\t\t\tconst componentClass = component.name === 'NcLink' ? undefined : 'rich-text--component'\n\t\t\treturn h(component, {\n\t\t\t\tprops,\n\t\t\t\tclass: componentClass,\n\t\t\t})\n\t\t})\n\t}\n\treturn text\n}\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { visit, SKIP } from 'unist-util-visit'\n\nexport const remarkUnescape = function() {\n\treturn function(tree) {\n\t\tvisit(tree, (node) => ['text', 'code', 'inlineCode'].includes(node.type),\n\t\t\t(node, index, parent) => {\n\t\t\t\tparent.children.splice(index, 1, {\n\t\t\t\t\t...node,\n\t\t\t\t\tvalue: node.value.replace(/&lt;/gmi, '<').replace(/&gt;/gmi, '>'),\n\t\t\t\t})\n\t\t\t\treturn [SKIP, index + 1]\n\t\t\t})\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component displays rich text with optional autolink or [Markdown support](https://www.markdownguide.org/basic-syntax/).\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText\n\t\t\t:class=\"{'plain-text': !useMarkdown }\"\n\t\t\t:text=\"text\" :autolink=\"autolink\" :arguments=\"args\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: `## Hello everyone 🎉\nThe file {file} was added by {username}. Visit https://nextcloud.com to check it!\n\nSome examples for markdown syntax:\n1. **bold text**\n2. _italic text_\n3. example of \\`inline code\\`\n\n> blockquote example\n`,\n\t\t\tautolink: true,\n\t\t\tuseMarkdown: true,\n\t\t\targs: {\n\t\t\t\tfile: 'MyDocument.odt',\n\t\t\t\tusername: {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Jane Doe'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n\n.plain-text {\n\twhite-space: pre-line;\n}\n</style>\n```\n\n### Flavored Markdown\n\nThis component can support [Github Flavored Markdown](https://github.github.com/gfm/).\nIt adds such elements, as tables, task lists, strikethrough, and supports code syntax highlighting and autolinks by default\n\nIt is also possible to make a rendered content interactive and listen for events\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:use-extended-markdown=\"true\"\n\t\t\t:interactive=\"true\"\n\t\t\t@interact:todo=\"handleInteraction\"/>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttext: `## Try flavored markdown right now!\n\n~~strikethrough~~\n\n- [ ] task to be done\n- [x] task completed\n\nTable header | Column A | Column B\n-- | -- | --\nTable row | value A | value B\n\n---\n\n\\`\\`\\`js\nconst GenRandomId = (length) => {\n\\treturn Math.random()\n\\t\\t.toString(36)\n\\t\\t.replace(/[^a-z]+/g, '')\n\\t\\t.slice(0, length || 5)\n}\n\\`\\`\\`\n`,\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\thandleInteraction(id) {\n\t\t\t\tconst parentId = id.split('-markdown-input-')[0]\n\t\t\t\tconst index = Array.from(document.querySelectorAll(`span[id^=\"${parentId}-markdown-input-\"]`)).findIndex((el) => el.id.includes(id))\n\t\t\t\tif (index === -1 ) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet checkBoxIndex = 0\n\t\t\t\tlet lines = this.text.split('\\n')\n\t\t\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\t\t\tif (lines[i].includes('[ ]') || lines[i].includes('[x]')) {\n\t\t\t\t\t\tif (checkBoxIndex === index) {\n\t\t\t\t\t\t\tconst isChecked = lines[i].includes('[x]')\n\t\t\t\t\t\t\tif (isChecked) {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[x]', '[ ]')\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[ ]', '[x]')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcheckBoxIndex++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.text = lines.join('\\n')\n\t\t\t},\n\t\t},\n\t}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n</style>\n```\n\n### Usage with NcRichContenteditable\n\nSee [NcRichContenteditable](#/Components/NcRichContenteditable) documentation for more information\n\n```vue\n<template>\n\t<div>\n\t\t<NcRichContenteditable :value.sync=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"100\"\n\t\t\t:user-data=\"userData\"\n\t\t\tplaceholder=\"Try mentioning user @Test01 or inserting emoji :smile\"\n\t\t\t@submit=\"onSubmit\" />\n\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useExtendedMarkdown\" type=\"checkbox\">Use extended Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:autolink=\"autolink\"\n\t\t\t:arguments=\"userMentions\"\n\t\t\t:use-markdown=\"useMarkdown\"\n\t\t\t:use-extended-markdown=\"useExtendedMarkdown\" />\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmessage: '',\n\t\t\t\tautolink: true,\n\t\t\t\tuseMarkdown: true,\n\t\t\t\tuseExtendedMarkdown: true,\n\t\t\t\tuserData: {\n\t\t\t\t\tTest01: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test01',\n\t\t\t\t\t\tlabel: 'Test01',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t},\n\t\t\t\t\tTest02: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test02',\n\t\t\t\t\t\tlabel: 'Test02',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Visiting London',\n\t\t\t\t\t\t\tstatus: 'away',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test@User': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test@User',\n\t\t\t\t\t\tlabel: 'Test 03',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Having space in my name',\n\t\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test Offline': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test Offline',\n\t\t\t\t\t\tlabel: 'Test Offline',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\t\tstatus: 'offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: null,\n\t\t\t\t\t},\n\t\t\t\t\t'Test DND': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test DND',\n\t\t\t\t\t\tlabel: 'Test DND',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: 'Out sick',\n\t\t\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Out sick',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tuserMentions: {\n\t\t\t\t\t'user-1': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test01',\n\t\t\t\t\t\t\tuser: 'Test01',\n\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-2': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test02',\n\t\t\t\t\t\t\tuser: 'Test02',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-3': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test 03',\n\t\t\t\t\t\t\tuser: 'Test@User',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-4': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test Offline',\n\t\t\t\t\t\t\tuser: 'Test Offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-5': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test DND',\n\t\t\t\t\t\t\tuser: 'Test DND',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\ttext() {\n\t\t\t\treturn this.message\n\t\t\t\t\t\t.replace('@Test01', '{user-1}')\n\t\t\t\t\t\t.replace('@Test02', '{user-2}')\n\t\t\t\t\t\t.replace('@Test@User', '{user-3}')\n\t\t\t\t\t\t.replace('@\"Test Offline\"', '{user-4}')\n\t\t\t\t\t\t.replace('@\"Test DND\"', '{user-5}')\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\tautoComplete(search, callback) {\n\t\t\t\tcallback(Object.values(this.userData))\n\t\t\t},\n\t\t\tonSubmit() {\n\t\t\t\talert(this.message)\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n</docs>\n\n<script>\nimport { ref } from 'vue'\nimport NcReferenceList from './NcReferenceList.vue'\nimport NcCheckboxRadioSwitch from '../NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue'\nimport { getRoute, remarkAutolink } from './autolink.js'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\nimport { remarkUnescape } from './remarkUnescape.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkGfm from 'remark-gfm'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\nimport { RouterLink } from 'vue-router'\n\n/**\n * Heavy libraries should be loaded on demand to reduce component size\n */\nconst rehypeHighlight = ref(null)\n/**\n * Load 'rehype-highlight' library when code block is rendered with `useExtendedMarkdown`\n */\nasync function importRehypeHighlightLibrary() {\n\tconst module = await import('rehype-highlight')\n\trehypeHighlight.value = module.default\n}\n\nexport default {\n\tname: 'NcRichText',\n\tcomponents: {\n\t\tNcReferenceList,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\targuments: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {}\n\t\t\t},\n\t\t},\n\t\treferenceLimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\treferenceInteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\treferenceInteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide data upfront to avoid extra http request */\n\t\treferences: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\t/** Provide basic Markdown syntax */\n\t\tuseMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide GitHub Flavored Markdown syntax */\n\t\tuseExtendedMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide event from rendered markdown inputs */\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tautolink: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\temits: ['interact:todo'],\n\n\tdata() {\n\t\treturn {\n\t\t\tparentId: GenRandomId(5),\n\t\t}\n\t},\n\n\tmethods: {\n\t\trenderPlaintext(h) {\n\t\t\tconst context = this\n\t\t\tconst placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list) {\n\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t// just return plain string nodes as text\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn prepareTextNode({ h, context }, entry)\n\t\t\t\t}\n\t\t\t\t// return component instance if argument is an object\n\t\t\t\tconst argumentId = matches[1]\n\t\t\t\tconst argument = context.arguments[argumentId]\n\t\t\t\tif (typeof argument === 'object') {\n\t\t\t\t\tconst { component, props } = argument\n\t\t\t\t\treturn h(component, {\n\t\t\t\t\t\tprops,\n\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (argument) {\n\t\t\t\t\treturn h('span', { class: 'rich-text--fallback' }, argument)\n\t\t\t\t}\n\t\t\t\treturn entry\n\t\t\t})\n\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\th('div', {}, placeholders.flat()),\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t\trenderMarkdown(h) {\n\t\t\tconst renderedMarkdown = unified()\n\t\t\t\t.use(remarkParse)\n\t\t\t\t.use(remarkAutolink, {\n\t\t\t\t\tautolink: this.autolink,\n\t\t\t\t\tuseMarkdown: this.useMarkdown,\n\t\t\t\t\tuseExtendedMarkdown: this.useExtendedMarkdown,\n\t\t\t\t})\n\t\t\t\t.use(remarkUnescape)\n\t\t\t\t.use(this.useExtendedMarkdown ? remarkGfm : undefined)\n\t\t\t\t.use(breaks)\n\t\t\t\t.use(remark2rehype, {\n\t\t\t\t\thandlers: {\n\t\t\t\t\t\tcomponent(toHast, node) {\n\t\t\t\t\t\t\treturn toHast(node, node.component, { value: node.value })\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.use(this.useExtendedMarkdown ? rehypeHighlight.value : undefined)\n\t\t\t\t.use(remarkPlaceholder)\n\t\t\t\t.use(rehypeExternalLinks, {\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\trel: ['noopener noreferrer'],\n\t\t\t\t})\n\t\t\t\t.use(rehype2react, {\n\t\t\t\t\tcreateElement: (tag, attrs, children) => {\n\t\t\t\t\t\tif (!tag.startsWith('#')) {\n\t\t\t\t\t\t\tif (this.useExtendedMarkdown) {\n\t\t\t\t\t\t\t\tif (tag === 'code' && !rehypeHighlight.value\n\t\t\t\t\t\t\t\t\t&& attrs?.attrs?.class?.includes('language')) {\n\t\t\t\t\t\t\t\t\timportRehypeHighlightLibrary()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlet nestedNode = null\n\t\t\t\t\t\t\t\tif (tag === 'li' && Array.isArray(children)\n\t\t\t\t\t\t\t\t\t&& children[0].tag === 'input'\n\t\t\t\t\t\t\t\t\t&& children[0].data.attrs.type === 'checkbox') {\n\t\t\t\t\t\t\t\t\tconst [inputNode, ...labelParts] = children\n\n\t\t\t\t\t\t\t\t\tconst nestedNodeIndex = labelParts.findIndex((child) => ['ul', 'ol', 'li', 'blockquote', 'pre'].includes(child.tag))\n\t\t\t\t\t\t\t\t\tif (nestedNodeIndex !== -1) {\n\t\t\t\t\t\t\t\t\t\tnestedNode = labelParts[nestedNodeIndex]\n\t\t\t\t\t\t\t\t\t\tlabelParts.splice(nestedNodeIndex)\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst id = this.parentId + '-markdown-input-' + GenRandomId(5)\n\t\t\t\t\t\t\t\t\tconst inputComponent = h(NcCheckboxRadioSwitch, {\n\t\t\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\t\t\t...inputNode.data.attrs,\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tdisabled: !this.interactive,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\t\t\t\t'update:checked': () => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.$emit('interact:todo', id)\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, labelParts)\n\n\t\t\t\t\t\t\t\t\treturn h(tag, attrs, [inputComponent, nestedNode])\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (tag === 'a') {\n\t\t\t\t\t\t\t\tconst route = getRoute(this.$router, attrs.attrs.href)\n\t\t\t\t\t\t\t\tif (route) {\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.href\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.target\n\n\t\t\t\t\t\t\t\t\treturn h(RouterLink, {\n\t\t\t\t\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn h(tag, attrs, children)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst placeholder = this.arguments[tag.slice(1)]\n\t\t\t\t\t\tif (!placeholder) {\n\t\t\t\t\t\t\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!placeholder.component) {\n\t\t\t\t\t\t\treturn h('span', attrs, [placeholder])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn h(\n\t\t\t\t\t\t\tplaceholder.component,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tattrs,\n\t\t\t\t\t\t\t\tprops: placeholder.props,\n\t\t\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tprefix: false,\n\t\t\t\t})\n\t\t\t\t.processSync(this.text\n\t\t\t\t\t// escape special symbol \"<\" to not treat text as HTML\n\t\t\t\t\t.replace(/<[^>]+>/g, (match) => match.replace(/</g, '&lt;'))\n\t\t\t\t\t// unescape special symbol \">\" to parse blockquotes\n\t\t\t\t\t.replace(/&gt;/gmi, '>'),\n\t\t\t\t)\n\t\t\t\t.result\n\n\t\t\treturn h('div', { class: 'rich-text--wrapper rich-text--wrapper-markdown' }, [\n\t\t\t\trenderedMarkdown,\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t},\n\trender(h) {\n\t\treturn this.useMarkdown || this.useExtendedMarkdown\n\t\t\t? this.renderMarkdown(h)\n\t\t\t: this.renderPlaintext(h)\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n\n</style>\n"],"names":["_sfc_main","NcReferenceWidget","URL_PATTERN","getCurrentUser","axios","generateOcsUrl","getSharingToken","visit","index","u","parseUrl","SKIP","ref","module","GenRandomId","unified","remarkParse","remarkAutolink","remarkGfm","breaks","remark2rehype","rehypeExternalLinks","rehype2react","NcCheckboxRadioSwitch","getRoute","RouterLink"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcSelect-BQ-NFBXI.mjs","sources":["../../src/components/NcSelect/NcSelect.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nGeneral purpose multiselect component.\n\n### Basic examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelect v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Simple',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Simple (top placement)',\n\t\t\tplacement: 'top',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple (with placeholder)',\n\t\t\tmultiple: true,\n\t\t\tplaceholder: 'Select multiple options',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple (objects, pre-selected, stay open on select)',\n\t\t\tmultiple: true,\n\t\t\tcloseOnSelect: false,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: 'foo',\n\t\t\t\t\tlabel: 'Foo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'bar',\n\t\t\t\t\tlabel: 'Bar',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'baz',\n\t\t\t\t\tlabel: 'Baz',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'qux',\n\t\t\t\t\tlabel: 'Qux',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'quux',\n\t\t\t\t\tlabel: 'Quux',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'corge',\n\t\t\t\t\tlabel: 'Corge',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'grault',\n\t\t\t\t\tlabel: 'Grault',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'garply',\n\t\t\t\t\tlabel: 'Garply',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'waldo',\n\t\t\t\t\tlabel: 'Waldo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'fred',\n\t\t\t\t\tlabel: 'Fred',\n\t\t\t\t},\n\t\t\t],\n\t\t\tvalue: [\n\t\t\t\t{\n\t\t\t\t\tid: 'foo',\n\t\t\t\t\tlabel: 'Foo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'bar',\n\t\t\t\t\tlabel: 'Bar',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n\n### Native form validation example\n\n```vue\n<template>\n\t<div class=\"container\">\n\t\t<form class=\"container__form\" @submit.prevent>\n\t\t\t<NcSelect class=\"container__select\"\n\t\t\t\tinput-label=\"Require a selection\"\n\t\t\t\t:options=\"options\"\n\t\t\t\tv-model=\"singleValue\"\n\t\t\t\trequired />\n\t\t\t<NcButton native-type=\"submit\">Submit</NcButton>\n\t\t</form>\n\n\t\t<form class=\"container__form\" @submit.prevent>\n\t\t\t<NcSelect class=\"container__select\"\n\t\t\t\tinput-label=\"Require at least one selection\"\n\t\t\t\t:options=\"options\"\n\t\t\t\tv-model=\"multiValue\"\n\t\t\t\tmultiple\n\t\t\t\trequired />\n\t\t\t<NcButton native-type=\"submit\">Submit</NcButton>\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\toptions: ['foo', 'bar', 'baz', 'qux', 'quux'],\n\t\t\tsingleValue: null,\n\t\t\tmultiValue: [],\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.container {\n\tdisplay: flex;\n\tgap: 0 12px;\n}\n\n.container__form {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-end;\n\twidth: 100%;\n\tgap: 8px 0;\n}\n\n.container__select {\n\twidth: 100%;\n}\n</style>\n```\n\n### No wrap example\n\nThe `noWrap` prop is set to `true` and the `max-width` of the multiselect\nparent container is limited to `350px`\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div class=\"container\">\n\t\t\t<NcSelect :no-wrap=\"false\"\n\t\t\t\tv-bind=\"data1.props\"\n\t\t\t\tv-model=\"data1.props.value\" />\n\t\t</div>\n\t\t<div class=\"container\">\n\t\t\t<NcSelect :no-wrap=\"true\"\n\t\t\t\tv-bind=\"data2.props\"\n\t\t\t\tv-model=\"data2.props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst data1 = {\n\tprops: {\n\t\tinputLabel: 'Wrapped (Default)',\n\t\tmultiple: true,\n\t\tcloseOnSelect: false,\n\t\toptions: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t\tvalue: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t},\n}\n\nconst data2 = {\n\tprops: {\n\t\tinputLabel: 'Not wrapped',\n\t\tmultiple: true,\n\t\tcloseOnSelect: false,\n\t\toptions: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t\tvalue: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t},\n}\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tdata1,\n\t\t\tdata2,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 1fr);\n\tgap: 10px;\n}\n\n.container {\n\tmax-width: 350px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n\n### User select examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelect v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport AccountGroup from '@mdi/svg/svg/account-group.svg?raw'\nimport Email from '@mdi/svg/svg/email.svg?raw'\n\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'User select',\n\t\t\tuserSelect: true,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t\t// Example of how to show the user status within the option\n\t\t\t\t\tuser: '0-john',\n\t\t\t\t\tpreloadedUserStatus: {\n\t\t\t\t\t\ticon: '',\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\tmessage: 'I am online',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: null,\n\t\t\t\t\ticonSvg: AccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: Email,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple user select (stay open on select)',\n\t\t\tuserSelect: true,\n\t\t\tmultiple: true,\n\t\t\tcloseOnSelect: false,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: null,\n\t\t\t\t\ticonSvg: AccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: Email,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 500px);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<VueSelect class=\"select\"\n\t\t:class=\"{\n\t\t\t'select--no-wrap': noWrap,\n\t\t\t'user-select': userSelect,\n\t\t}\"\n\t\tv-bind=\"propsToForward\"\n\t\tv-on=\"listenersToForward\"\n\t\t@search=\"searchString => search = searchString\">\n\t\t<template v-if=\"!labelOutside && inputLabel\" #header>\n\t\t\t<label :for=\"inputId\"\n\t\t\t\tclass=\"select__label\">\n\t\t\t\t{{ inputLabel }}\n\t\t\t</label>\n\t\t</template>\n\t\t<template #search=\"{ attributes, events }\">\n\t\t\t<input :class=\"['vs__search', inputClass]\"\n\t\t\t\tv-bind=\"attributes\"\n\t\t\t\t:required=\"inputRequired\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tv-on=\"events\">\n\t\t</template>\n\t\t<template #open-indicator=\"{ attributes }\">\n\t\t\t<ChevronDown v-bind=\"attributes\"\n\t\t\t\tfill-color=\"var(--vs-controls-color)\"\n\t\t\t\t:style=\"{\n\t\t\t\t\tcursor: !disabled ? 'pointer' : null,\n\t\t\t\t}\"\n\t\t\t\t:size=\"26\" />\n\t\t\t\t<!-- Set size to 26 to make up for the increased padding of this icon -->\n\t\t</template>\n\t\t<template #option=\"option\">\n\t\t\t<NcListItemIcon v-if=\"userSelect\"\n\t\t\t\tv-bind=\"option\"\n\t\t\t\t:avatar-size=\"32\"\n\t\t\t\t:name=\"option[localLabel]\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<NcEllipsisedOption v-else\n\t\t\t\t:name=\"String(option[localLabel])\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcListItemIcon v-if=\"userSelect\"\n\t\t\t\tv-bind=\"selectedOption\"\n\t\t\t\t:avatar-size=\"avatarSize\"\n\t\t\t\t:name=\"selectedOption[localLabel]\"\n\t\t\t\tno-margin\n\t\t\t\t:search=\"search\" />\n\t\t\t<NcEllipsisedOption v-else\n\t\t\t\t:name=\"String(selectedOption[localLabel])\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #spinner=\"spinner\">\n\t\t\t<NcLoadingIcon v-if=\"spinner.loading\" />\n\t\t</template>\n\t\t<template #no-options>\n\t\t\t{{ t('No results') }}\n\t\t</template>\n\t\t<template v-for=\"(_, name) in $scopedSlots\" #[name]=\"data\">\n\t\t\t<!-- @slot Any combination of slots from https://vue-select.org/api/slots.html -->\n\t\t\t<slot :name=\"name\" v-bind=\"data\" />\n\t\t</template>\n\t</VueSelect>\n</template>\n\n<script>\nimport { VueSelect } from '@nextcloud/vue-select'\nimport {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\tlimitShift,\n\toffset,\n\tshift,\n} from '@floating-ui/dom'\nimport Vue from 'vue'\nimport { t } from '../../l10n.js'\n\nimport ChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nimport NcEllipsisedOption from '../NcEllipsisedOption/index.js'\nimport NcListItemIcon from '../NcListItemIcon/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nimport '@nextcloud/vue-select/dist/vue-select.css'\n\nexport default {\n\tname: 'NcSelect',\n\n\tcomponents: {\n\t\tChevronDown,\n\t\tNcEllipsisedOption,\n\t\tNcListItemIcon,\n\t\tNcLoadingIcon,\n\t\tVueSelect,\n\t},\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t// Add VueSelect props to $props\n\t\t...VueSelect.props,\n\t\t...VueSelect.mixins.reduce((allProps, mixin) => ({ ...allProps, ...mixin.props }), {}),\n\n\t\t/**\n\t\t * `aria-label` for the clear input button\n\t\t */\n\t\tariaLabelClearSelected: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Clear selected'),\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` for the search input\n\t\t *\n\t\t * A descriptive `inputLabel` is preferred as this is not visible.\n\t\t */\n\t\tariaLabelCombobox: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` for the listbox element\n\t\t */\n\t\tariaLabelListbox: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Options'),\n\t\t},\n\n\t\t/**\n\t\t * Allows to customize the `aria-label` for the deselect-option button\n\t\t * The default is \"Deselect \" + optionLabel\n\t\t * @type {(optionLabel: string) => string}\n\t\t */\n\t\tariaLabelDeselectOption: {\n\t\t\ttype: Function,\n\t\t\tdefault: (optionLabel) => t('Deselect {option}', { option: optionLabel }),\n\t\t},\n\n\t\t/**\n\t\t * Append the dropdown element to the end of the body\n\t\t * and size/position it dynamically.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#appendtobody\n\t\t */\n\t\tappendToBody: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * When `appendToBody` is true, this function is responsible for\n\t\t * positioning the drop down list.\n\t\t *\n\t\t * If a function is returned from `calculatePosition`, it will\n\t\t * be called when the drop down list is removed from the DOM.\n\t\t * This allows for any garbage collection you may need to do.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#calculateposition\n\t\t */\n\t\tcalculatePosition: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Close the dropdown when selecting an option\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#closeonselect\n\t\t */\n\t\tcloseOnSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Replace default vue-select components\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#components\n\t\t */\n\t\tcomponents: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({\n\t\t\t\tDeselect: {\n\t\t\t\t\trender: createElement => createElement(Close, {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\t\tfillColor: 'var(--vs-controls-color)',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\n\t\t/**\n\t\t * Sets the maximum number of options to display in the dropdown list\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Disable the component\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#disabled\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Determines whether the dropdown should be open.\n\t\t * Receives the component instance as the only argument.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#dropdownshouldopen\n\t\t */\n\t\tdropdownShouldOpen: {\n\t\t\ttype: Function,\n\t\t\tdefault: ({ noDrop, open }) => {\n\t\t\t\treturn noDrop ? false : open\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Callback to determine if the provided option should\n\t\t * match the current search text. Used to determine\n\t\t * if the option should be displayed.\n\t\t *\n\t\t * Defaults to the internal vue-select function documented at the link\n\t\t * below\n\t\t *\n\t\t * Enabling `userSelect` will automatically set this to filter by the\n\t\t * `displayName` and `subname` properties of the user option object\n\t\t * unless this prop is set explicitly\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#filterby\n\t\t */\n\t\tfilterBy: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Class for the `input`\n\t\t *\n\t\t * Necessary for use in NcActionInput\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Input element id\n\t\t */\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: () => `select-input-${GenRandomId()}`,\n\t\t},\n\n\t\t/**\n\t\t * Visible label for the input element\n\t\t *\n\t\t * @todo Set default for @nextcloud/vue 9\n\t\t */\n\t\tinputLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Pass true if you are using an external label\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Display a visible border around dropdown options\n\t\t * which have keyboard focus\n\t\t */\n\t\tkeyboardFocusBorder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Key of the displayed label for object options\n\t\t *\n\t\t * Defaults to the internal vue-select string documented at the link\n\t\t * below\n\t\t *\n\t\t * Enabling `userSelect` will automatically set this to `'displayName'`\n\t\t * unless this prop is set explicitly\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#label\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Show the loading icon\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#loading\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Allow selection of multiple options\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#multiple\n\t\t */\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Disable automatic wrapping when selected options overflow the width\n\t\t */\n\t\tnoWrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Array of options\n\t\t *\n\t\t * @type {Array<string | number | Record<string | number, any>>}\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#options\n\t\t */\n\t\toptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t * Placeholder text\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#placeholder\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Customized component's response to keydown events while the search input has focus\n\t\t *\n\t\t * @see https://vue-select.org/guide/keydown.html#mapkeydown\n\t\t */\n\t\tmapKeydown: {\n\t\t\ttype: Function,\n\t\t\t/**\n\t\t\t * Patched Vue-Select keydown events handlers map to stop Escape propagation in open select\n\t\t\t *\n\t\t\t * @param {Record<number, Function>} map - Mapped keyCode to handlers { <keyCode>:<callback> }\n\t\t\t * @param {import('@nextcloud/vue-select').VueSelect} vm - VueSelect instance\n\t\t\t * @return {Record<number, Function>} patched keydown event handlers\n\t\t\t */\n\t\t\tdefault(map, vm) {\n\t\t\t\treturn {\n\t\t\t\t\t...map,\n\t\t\t\t\t/**\n\t\t\t\t\t * Patched Escape handler to stop propagation from open select\n\t\t\t\t\t *\n\t\t\t\t\t * @param {KeyboardEvent} event - default keydown event handler\n\t\t\t\t\t */\n\t\t\t\t\t27: (event) => {\n\t\t\t\t\t\tif (vm.open) {\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Default VueSelect's handler\n\t\t\t\t\t\tmap[27](event)\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * A unique identifier used to generate IDs and DOM attributes. Must be unique for every instance of the component.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#uid\n\t\t */\n\t\tuid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => GenRandomId(),\n\t\t},\n\n\t\t/**\n\t\t * When `appendToBody` is true, this sets the placement of the dropdown\n\t\t *\n\t\t * @type {'bottom' | 'top'}\n\t\t */\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * If false, the focused dropdown option will not be reset when filtered\n\t\t * options change\n\t\t */\n\t\tresetFocusOnOptionsChange: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Enable the user selector with avatars\n\t\t *\n\t\t * Objects must contain the data expected by the\n\t\t * [NcListItemIcon](#/Components/NcListItemIcon) and\n\t\t * [NcAvatar](#/Components/NcAvatar) components\n\t\t */\n\t\tuserSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Number, Object, Array],\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Currently selected value\n\t\t *\n\t\t * The `v-model` directive may be used for two-way data binding\n\t\t *\n\t\t * @type {string | number | Record<string | number, any> | Array<any>}\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#value\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: [String, Number, Object, Array],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Enable if a value is required for native form validation\n\t\t */\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Any available prop\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html\n\t\t */\n\t\t// Not an actual prop but needed to show in vue-styleguidist docs\n\t\t// eslint-disable-next-line\n\t\t' ': {},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * All events from https://vue-select.org/api/events.html\n\t\t */\n\t\t// Not an actual event but needed to show in vue-styleguidist docs\n\t\t' ',\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-clickable-area'))\n\t\tconst gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-grid-baseline'))\n\t\tconst avatarSize = clickableArea - 2 * gridBaseLine\n\n\t\tconst model = useModelMigration('value', 'input')\n\n\t\treturn {\n\t\t\tavatarSize,\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsearch: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputRequired() {\n\t\t\tif (!this.required) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t// The <input> itself does not have any value so we set the `required` attribute conditionally\n\t\t\treturn this.model === null || (Array.isArray(this.model) && this.model.length === 0)\n\t\t},\n\n\t\tlocalCalculatePosition() {\n\t\t\tif (this.calculatePosition !== null) {\n\t\t\t\treturn this.calculatePosition\n\t\t\t}\n\n\t\t\treturn (dropdownMenu, component, { width }) => {\n\t\t\t\tdropdownMenu.style.width = width\n\n\t\t\t\tconst addClass = {\n\t\t\t\t\tname: 'addClass',\n\t\t\t\t\tfn(_middlewareArgs) {\n\t\t\t\t\t\tdropdownMenu.classList.add('vs__dropdown-menu--floating')\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t},\n\t\t\t\t}\n\n\t\t\t\tconst togglePlacementClass = {\n\t\t\t\t\tname: 'togglePlacementClass',\n\t\t\t\t\tfn({ placement }) {\n\t\t\t\t\t\tcomponent.$el.classList.toggle(\n\t\t\t\t\t\t\t'select--drop-up',\n\t\t\t\t\t\t\tplacement === 'top',\n\t\t\t\t\t\t)\n\t\t\t\t\t\tdropdownMenu.classList.toggle(\n\t\t\t\t\t\t\t'vs__dropdown-menu--floating-placement-top',\n\t\t\t\t\t\t\tplacement === 'top',\n\t\t\t\t\t\t)\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t},\n\t\t\t\t}\n\n\t\t\t\tconst updatePosition = () => {\n\t\t\t\t\tcomputePosition(component.$refs.toggle, dropdownMenu, {\n\t\t\t\t\t\tplacement: this.placement,\n\t\t\t\t\t\tmiddleware: [\n\t\t\t\t\t\t\toffset(-1),\n\t\t\t\t\t\t\taddClass,\n\t\t\t\t\t\t\ttogglePlacementClass,\n\t\t\t\t\t\t\t// Match popperjs default collision prevention behavior by appending the following middleware in order\n\t\t\t\t\t\t\tflip(),\n\t\t\t\t\t\t\tshift({ limiter: limitShift() }),\n\t\t\t\t\t\t],\n\t\t\t\t\t}).then(({ x, y }) => {\n\t\t\t\t\t\tObject.assign(dropdownMenu.style, {\n\t\t\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\t\t\twidth: `${component.$refs.toggle.getBoundingClientRect().width}px`,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tconst cleanup = autoUpdate(\n\t\t\t\t\tcomponent.$refs.toggle,\n\t\t\t\t\tdropdownMenu,\n\t\t\t\t\tupdatePosition,\n\t\t\t\t)\n\n\t\t\t\treturn cleanup\n\t\t\t}\n\t\t},\n\n\t\tlocalFilterBy() {\n\t\t\t// Match the email notation like \"Jane <j.doe@example.com>\" with the email address as matching group\n\t\t\tconst EMAIL_NOTATION = /[^<]*<([^>]+)/\n\n\t\t\tif (this.filterBy !== null) {\n\t\t\t\treturn this.filterBy\n\t\t\t}\n\t\t\tif (this.userSelect) {\n\t\t\t\treturn (option, label, search) => {\n\t\t\t\t\tconst match = search.match(EMAIL_NOTATION)\n\t\t\t\t\treturn (match && option.subname?.toLocaleLowerCase?.()?.indexOf(match[1].toLocaleLowerCase()) > -1)\n\t\t\t\t\t\t|| (`${label} ${option.subname}`\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(search.toLocaleLowerCase()) > -1)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn VueSelect.props.filterBy.default\n\t\t},\n\n\t\tlocalLabel() {\n\t\t\tif (this.label !== null) {\n\t\t\t\treturn this.label\n\t\t\t}\n\t\t\tif (this.userSelect) {\n\t\t\t\treturn 'displayName'\n\t\t\t}\n\t\t\treturn VueSelect.props.label.default\n\t\t},\n\n\t\tpropsToForward() {\n\t\t\tconst vueSelectKeys = [\n\t\t\t\t...Object.keys(VueSelect.props),\n\t\t\t\t...VueSelect.mixins.flatMap(mixin => Object.keys(mixin.props ?? {})),\n\t\t\t]\n\t\t\tconst initialPropsToForward = Object.fromEntries(\n\t\t\t\tObject.entries(this.$props)\n\t\t\t\t\t.filter(([key, _value]) => vueSelectKeys.includes(key)),\n\t\t\t)\n\t\t\tconst propsToForward = {\n\t\t\t\t...initialPropsToForward,\n\t\t\t\t// Custom overrides of vue-select props\n\t\t\t\tvalue: this.model,\n\t\t\t\tcalculatePosition: this.localCalculatePosition,\n\t\t\t\tfilterBy: this.localFilterBy,\n\t\t\t\tlabel: this.localLabel,\n\t\t\t}\n\t\t\treturn propsToForward\n\t\t},\n\n\t\tlistenersToForward() {\n\t\t\treturn {\n\t\t\t\t...this.$listeners,\n\t\t\t\tinput: ($event) => {\n\t\t\t\t\tthis.model = $event\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.labelOutside && !this.inputLabel && !this.ariaLabelCombobox) {\n\t\t\tVue.util.warn('[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`.')\n\t\t}\n\t\tif (this.inputLabel && this.ariaLabelCombobox) {\n\t\t\tVue.util.warn('[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.')\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nbody {\n\t/**\n\t * Set custom vue-select CSS variables.\n\t * Needs to be on the body (not :root) for theming to apply (see nextcloud/server#36462)\n\t */\n\n\t/* Search Input */\n\t--vs-search-input-color: var(--color-main-text);\n\t--vs-search-input-bg: var(--color-main-background);\n\t--vs-search-input-placeholder-color: var(--color-text-maxcontrast);\n\n\t/* Font */\n\t--vs-font-size: var(--default-font-size);\n\t--vs-line-height: var(--default-line-height);\n\n\t/* Disabled State */\n\t--vs-state-disabled-bg: var(--color-background-hover);\n\t--vs-state-disabled-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-controls-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-cursor: not-allowed;\n\t--vs-disabled-bg: var(--color-background-hover);\n\t--vs-disabled-color: var(--color-text-maxcontrast);\n\t--vs-disabled-cursor: not-allowed;\n\n\t/* Borders */\n\t--vs-border-color: var(--color-border-maxcontrast);\n\t--vs-border-width: var(--border-width-input, 2px) !important;\n\t--vs-border-style: solid;\n\t--vs-border-radius: var(--border-radius-large);\n\n\t/* Component Controls: Clear, Open Indicator */\n\t--vs-controls-color: var(--color-main-text);\n\n\t/* Selected */\n\t--vs-selected-bg: var(--color-background-hover);\n\t--vs-selected-color: var(--color-main-text);\n\t--vs-selected-border-color: var(--vs-border-color);\n\t--vs-selected-border-style: var(--vs-border-style);\n\t--vs-selected-border-width: var(--vs-border-width);\n\n\t/* Dropdown */\n\t--vs-dropdown-bg: var(--color-main-background);\n\t--vs-dropdown-color: var(--color-main-text);\n\t--vs-dropdown-z-index: 9999;\n\t--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);\n\n\t/* Options */\n\t--vs-dropdown-option-padding: 8px 20px;\n\n\t/* Active State */\n\t--vs-dropdown-option--active-bg: var(--color-background-hover);\n\t--vs-dropdown-option--active-color: var(--color-main-text);\n\n\t/* Keyboard Focus State */\n\t--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);\n\n\t/* Deselect State */\n\t--vs-dropdown-option--deselect-bg: var(--color-error);\n\t--vs-dropdown-option--deselect-color: #fff;\n\n\t/* Transitions */\n\t--vs-transition-duration: 0ms;\n\n\t/* Actions */\n\t--vs-actions-padding: 0 8px 0 4px;\n}\n\n.v-select.select {\n\t/* Override default vue-select styles */\n\tmin-height: var(--default-clickable-area);\n\tmin-width: 260px;\n\tmargin: 0 0 var(--default-grid-baseline);\n\n\t&.vs--open {\n\t\t--vs-border-width: var(--border-width-input-focused, 2px);\n\t}\n\n\t.select__label {\n\t\tdisplay: block;\n\t\tmargin-bottom: 2px;\n\t}\n\n\t.vs__selected {\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--vs-border-width) - var(--default-grid-baseline));\n\t\tmargin: calc(var(--default-grid-baseline) / 2);\n\t\tpadding-block: 0;\n\t\tpadding-inline: 12px 8px;\n\t\tborder-radius: 16px !important;\n\t\tbackground: var(--color-primary-element-light);\n\t\tborder: none;\n\t}\n\n\t&.vs--open .vs__selected:first-of-type {\n\t\tmargin-inline-start: calc(var(--default-grid-baseline) / 2 - (var(--border-width-input-focused, 2px) - var(--border-width-input, 2px))) !important; // prevent jumping\n\t}\n\n\t.vs__search {\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-main-text);\n\t\tmin-height: unset !important;\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--vs-border-width)) !important;\n\n\t\t&::placeholder {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\n\t.vs__search, .vs__search:focus {\n\t\tmargin: 0;\n\t}\n\n\t.vs__dropdown-toggle {\n\t\tposition: relative;\n\t\tmax-height: 100px;\n\t\tpadding: 0;\n\t\toverflow-y: auto;\n\t}\n\n\t.vs__actions {\n\t\tposition: sticky;\n\t\ttop: 0;\n\t}\n\n\t.vs__clear {\n\t\tmargin-right: 2px;\n\t}\n\n\t&.vs--open .vs__dropdown-toggle {\n\t\tborder-width: var(--border-width-input-focused);\n\t\toutline: 2px solid var(--color-main-background);\n\t\tborder-color: var(--color-main-text);\n\t\tborder-bottom-color: transparent;\n\t}\n\n\t&:not(.vs--disabled, .vs--open) .vs__dropdown-toggle:hover {\n\t\toutline: 2px solid var(--color-main-background);\n\t\tborder-color: var(--color-main-text);\n\t}\n\n\t&.vs--disabled {\n\t\t.vs__search,\n\t\t.vs__selected {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t.vs__clear,\n\t\t.vs__deselect {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&--no-wrap {\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t\toverflow: auto;\n\t\t\tmin-width: unset;\n\t\t\t.vs__selected {\n\t\t\t\tmin-width: unset;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--drop-up {\n\t\t&.vs--open {\n\t\t\t.vs__dropdown-toggle {\n\t\t\t\tborder-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);\n\t\t\t\tborder-top-color: transparent;\n\t\t\t\tborder-bottom-color: var(--color-main-text);\n\t\t\t}\n\t\t}\n\t}\n\n\t.vs__selected-options {\n\t\t// If search is hidden, ensure that the height of the search is the same\n\t\tmin-height: calc(var(--default-clickable-area) - 2 * var(--vs-border-width));\n\n\t\t// Hide search from dom if unused to prevent unneeded flex wrap\n\t\t.vs__selected ~ .vs__search[readonly] {\n\t\t\tposition: absolute;\n\t\t}\n\t\tpadding: 0 5px;\n\t}\n\n\t&.vs--single {\n\t\t&.vs--loading,\n\t\t&.vs--open {\n\t\t\t.vs__selected {\n\t\t\t\t// Fix `max-width` for `position: absolute`\n\t\t\t\tmax-width: 100%;\n\t\t\t\t// Fix color to be accessible\n\t\t\t\topacity: 1;\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t}\n\t\t.vs__selected {\n\t\t\tbackground: unset !important;\n\t\t}\n\t}\n}\n\n.vs__dropdown-menu {\n\tborder-width: var(--border-width-input-focused) !important;\n\tborder-color: var(--color-main-text) !important;\n\toutline: none !important;\n\tbox-shadow:\n\t\t-2px 0 0 var(--color-main-background), // Right\n\t\t0 2px 0 var(--color-main-background), // Bottom\n\t\t2px 0 0 var(--color-main-background), // Left\n\t\t!important;\n\tpadding: 4px !important;\n\n\t&--floating {\n\t\t/* Fallback styles overidden by programmatically set inline styles */\n\t\twidth: max-content;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\n\t\t&-placement-top {\n\t\t\tborder-radius: var(--vs-border-radius) var(--vs-border-radius) 0 0 !important;\n\t\t\tborder-top-style: var(--vs-border-style) !important;\n\t\t\tborder-bottom-style: none !important;\n\t\t\tbox-shadow:\n\t\t\t\t0 -2px 0 var(--color-main-background), // Top\n\t\t\t\t-2px 0 0 var(--color-main-background), // Right\n\t\t\t\t2px 0 0 var(--color-main-background), // Left\n\t\t\t\t!important\n\t\t}\n\t}\n\n\t.vs__dropdown-option {\n\t\tborder-radius: 6px !important;\n\t}\n\n\t.vs__no-options {\n\t\tcolor: var(--color-text-lighter) !important;\n\t}\n}\n\n// Selected users require slightly different padding\n.user-select .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n</style>\n"],"names":[],"mappings":"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"}