@nextcloud/vue 8.40.0 → 8.41.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 (533) hide show
  1. package/CHANGELOG.md +81 -78
  2. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  3. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  4. package/dist/Components/NcActionInput.cjs +1 -1
  5. package/dist/Components/NcActionInput.mjs +1 -1
  6. package/dist/Components/NcActions.cjs +1 -1
  7. package/dist/Components/NcActions.mjs +1 -1
  8. package/dist/Components/NcAppContent.cjs +1 -1
  9. package/dist/Components/NcAppContent.mjs +1 -1
  10. package/dist/Components/NcAppNavigation.cjs +1 -1
  11. package/dist/Components/NcAppNavigation.mjs +1 -1
  12. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  13. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  14. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  15. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  16. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  17. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  18. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  19. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  20. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  21. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  22. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  23. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  24. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  25. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  26. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  27. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  28. package/dist/Components/NcAppSettingsSectionShortcuts.cjs +1 -1
  29. package/dist/Components/NcAppSettingsSectionShortcuts.mjs +1 -1
  30. package/dist/Components/NcAppSettingsShortcutsSection.cjs +1 -1
  31. package/dist/Components/NcAppSettingsShortcutsSection.mjs +1 -1
  32. package/dist/Components/NcAppSidebar.cjs +1 -1
  33. package/dist/Components/NcAppSidebar.mjs +1 -1
  34. package/dist/Components/NcAssistantButton.cjs +1 -1
  35. package/dist/Components/NcAssistantButton.mjs +1 -1
  36. package/dist/Components/NcAssistantContent.cjs +4 -4
  37. package/dist/Components/NcAssistantContent.mjs +4 -4
  38. package/dist/Components/NcAssistantIcon.cjs +1 -1
  39. package/dist/Components/NcAssistantIcon.mjs +1 -1
  40. package/dist/Components/NcAvatar.cjs +1 -1
  41. package/dist/Components/NcAvatar.mjs +1 -1
  42. package/dist/Components/NcBlurHash.cjs +1 -1
  43. package/dist/Components/NcBlurHash.mjs +1 -1
  44. package/dist/Components/NcBreadcrumb.cjs +1 -1
  45. package/dist/Components/NcBreadcrumb.mjs +1 -1
  46. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  47. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  48. package/dist/Components/NcButton.cjs +1 -1
  49. package/dist/Components/NcButton.mjs +1 -1
  50. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  51. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  52. package/dist/Components/NcChip.cjs +3 -3
  53. package/dist/Components/NcChip.mjs +3 -3
  54. package/dist/Components/NcCollectionList.cjs +1 -1
  55. package/dist/Components/NcCollectionList.mjs +1 -1
  56. package/dist/Components/NcColorPicker.cjs +1 -1
  57. package/dist/Components/NcColorPicker.mjs +1 -1
  58. package/dist/Components/NcContent.cjs +1 -1
  59. package/dist/Components/NcContent.mjs +1 -1
  60. package/dist/Components/NcDashboardWidget.cjs +1 -1
  61. package/dist/Components/NcDashboardWidget.mjs +1 -1
  62. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  63. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  64. package/dist/Components/NcDateTimePicker.cjs +6 -6
  65. package/dist/Components/NcDateTimePicker.mjs +6 -6
  66. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  67. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  68. package/dist/Components/NcDialog.cjs +1 -1
  69. package/dist/Components/NcDialog.mjs +1 -1
  70. package/dist/Components/NcDialogButton.cjs +1 -1
  71. package/dist/Components/NcDialogButton.mjs +1 -1
  72. package/dist/Components/NcEmojiPicker.cjs +1 -1
  73. package/dist/Components/NcEmojiPicker.mjs +1 -1
  74. package/dist/Components/NcFilePicker.cjs +1 -1
  75. package/dist/Components/NcFilePicker.mjs +1 -1
  76. package/dist/Components/NcFormBox.cjs +1 -1
  77. package/dist/Components/NcFormBox.mjs +1 -1
  78. package/dist/Components/NcFormBoxButton.cjs +1 -1
  79. package/dist/Components/NcFormBoxButton.mjs +1 -1
  80. package/dist/Components/NcFormBoxCopyButton.cjs +1 -1
  81. package/dist/Components/NcFormBoxCopyButton.mjs +1 -1
  82. package/dist/Components/NcFormBoxSwitch.cjs +1 -1
  83. package/dist/Components/NcFormBoxSwitch.mjs +1 -1
  84. package/dist/Components/NcFormGroup.cjs +1 -1
  85. package/dist/Components/NcFormGroup.mjs +1 -1
  86. package/dist/Components/NcHeaderButton.cjs +1 -1
  87. package/dist/Components/NcHeaderButton.mjs +1 -1
  88. package/dist/Components/NcHeaderMenu.cjs +1 -1
  89. package/dist/Components/NcHeaderMenu.mjs +1 -1
  90. package/dist/Components/NcHotkey.cjs +1 -1
  91. package/dist/Components/NcHotkey.mjs +1 -1
  92. package/dist/Components/NcHotkeyList.cjs +1 -1
  93. package/dist/Components/NcHotkeyList.mjs +1 -1
  94. package/dist/Components/NcInputField.cjs +1 -1
  95. package/dist/Components/NcInputField.mjs +1 -1
  96. package/dist/Components/NcKbd.cjs +1 -1
  97. package/dist/Components/NcKbd.mjs +1 -1
  98. package/dist/Components/NcListItem.cjs +1 -1
  99. package/dist/Components/NcListItem.mjs +1 -1
  100. package/dist/Components/NcListItemIcon.cjs +1 -1
  101. package/dist/Components/NcListItemIcon.mjs +1 -1
  102. package/dist/Components/NcModal.cjs +5 -5
  103. package/dist/Components/NcModal.mjs +5 -5
  104. package/dist/Components/NcNoteCard.cjs +1 -1
  105. package/dist/Components/NcNoteCard.mjs +1 -1
  106. package/dist/Components/NcPasswordField.cjs +1 -1
  107. package/dist/Components/NcPasswordField.mjs +1 -1
  108. package/dist/Components/NcPopover.cjs +1 -1
  109. package/dist/Components/NcPopover.mjs +1 -1
  110. package/dist/Components/NcProfileHoverCard.cjs +4 -0
  111. package/dist/Components/NcProfileHoverCard.cjs.map +1 -0
  112. package/dist/Components/NcProfileHoverCard.mjs +5 -0
  113. package/dist/Components/NcProfileHoverCard.mjs.map +1 -0
  114. package/dist/Components/NcRadioGroup.cjs +1 -1
  115. package/dist/Components/NcRadioGroup.mjs +1 -1
  116. package/dist/Components/NcRadioGroupButton.cjs +1 -1
  117. package/dist/Components/NcRadioGroupButton.mjs +1 -1
  118. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  119. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  120. package/dist/Components/NcRichContenteditable.cjs +1 -1
  121. package/dist/Components/NcRichContenteditable.mjs +1 -1
  122. package/dist/Components/NcRichText.cjs +9 -7
  123. package/dist/Components/NcRichText.cjs.map +1 -1
  124. package/dist/Components/NcRichText.mjs +15 -13
  125. package/dist/Components/NcRichText.mjs.map +1 -1
  126. package/dist/Components/NcSelect.cjs +1 -1
  127. package/dist/Components/NcSelect.mjs +1 -1
  128. package/dist/Components/NcSelectTags.cjs +1 -1
  129. package/dist/Components/NcSelectTags.mjs +1 -1
  130. package/dist/Components/NcSelectUsers.cjs +1 -1
  131. package/dist/Components/NcSelectUsers.mjs +1 -1
  132. package/dist/Components/NcSettingsInputText.cjs +1 -1
  133. package/dist/Components/NcSettingsInputText.mjs +1 -1
  134. package/dist/Components/NcSettingsSection.cjs +1 -1
  135. package/dist/Components/NcSettingsSection.mjs +1 -1
  136. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  137. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  138. package/dist/Components/NcTextArea.cjs +1 -1
  139. package/dist/Components/NcTextArea.mjs +1 -1
  140. package/dist/Components/NcTextField.cjs +1 -1
  141. package/dist/Components/NcTextField.mjs +1 -1
  142. package/dist/Components/NcTimezonePicker.cjs +1 -1
  143. package/dist/Components/NcTimezonePicker.mjs +1 -1
  144. package/dist/Components/NcUserBubble.cjs +1 -1
  145. package/dist/Components/NcUserBubble.mjs +1 -1
  146. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  147. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  148. package/dist/Composables/useFormatDateTime.cjs +11 -5
  149. package/dist/Composables/useFormatDateTime.cjs.map +1 -1
  150. package/dist/Composables/useFormatDateTime.mjs +11 -5
  151. package/dist/Composables/useFormatDateTime.mjs.map +1 -1
  152. package/dist/Functions/reference.cjs +11 -10
  153. package/dist/Functions/reference.cjs.map +1 -1
  154. package/dist/Functions/reference.mjs +7 -6
  155. package/dist/Functions/reference.mjs.map +1 -1
  156. package/dist/Functions/registerReference.cjs +6 -5
  157. package/dist/Functions/registerReference.cjs.map +1 -1
  158. package/dist/Functions/registerReference.mjs +6 -5
  159. package/dist/Functions/registerReference.mjs.map +1 -1
  160. package/dist/Functions/usernameToColor.cjs +1 -1
  161. package/dist/Functions/usernameToColor.mjs +1 -1
  162. package/dist/assets/{NcAppNavigationToggle-DgwbZOWc.css → NcAppNavigationToggle-D1K2TRZ-.css} +3 -3
  163. package/dist/assets/{NcAppSettingsDialog-Bi5b1VZg.css → NcAppSettingsDialog-Cu7QAD8V.css} +3 -3
  164. package/dist/assets/{NcAppSettingsShortcutsSection-zIKJEvmV.css → NcAppSettingsShortcutsSection-D-FcvAWd.css} +3 -3
  165. package/dist/assets/{NcAssistantButton-CaIHaboe.css → NcAssistantButton-C6d88UPB.css} +9 -9
  166. package/dist/assets/{NcAssistantContent-D6ZguiGh.css → NcAssistantContent-DTHxHZ09.css} +3 -3
  167. package/dist/assets/{NcAssistantIcon-Cmlid9NS.css → NcAssistantIcon-BV1uZpAb.css} +4 -4
  168. package/dist/assets/{NcAvatar-Dc_YuZk2.css → NcAvatar-BdHHFwV3.css} +40 -25
  169. package/dist/assets/{NcBlurHash-BW1TQ16k.css → NcBlurHash-Zj5Z9WKv.css} +2 -2
  170. package/dist/assets/{NcCheckboxRadioSwitch-DhXG73Zr.css → NcCheckboxRadioSwitch-DCSWiHVq.css} +38 -38
  171. package/dist/assets/{NcDateTimePicker-DuZR5gqu.css → NcDateTimePicker-CD0ZGUBz.css} +15 -15
  172. package/dist/assets/{NcFilePicker-D_SA_uGV.css → NcFilePicker-BjFpDu4R.css} +1 -1
  173. package/dist/assets/{NcFormBox-yb5gffYX.css → NcFormBox-DoEpsPVV.css} +11 -11
  174. package/dist/assets/{NcFormBoxButton-BnSImmUm.css → NcFormBoxButton-CFtdjCfy.css} +2 -2
  175. package/dist/assets/{NcFormBoxItem-DiaYRoDl.css → NcFormBoxItem-C918I2qS.css} +14 -14
  176. package/dist/assets/{NcFormBoxSwitch-CDDwfQx6.css → NcFormBoxSwitch-C4cbxBBA.css} +2 -2
  177. package/dist/assets/{NcFormGroup-ChUa97BY.css → NcFormGroup-CUFSO_ru.css} +7 -7
  178. package/dist/assets/{NcHotkey-B-GNBJym.css → NcHotkey-D_InvA0N.css} +8 -8
  179. package/dist/assets/{NcHotkeyList-D7NVZF42.css → NcHotkeyList-XE5Xd_iE.css} +2 -2
  180. package/dist/assets/{NcIconToggleSwitch-Df8M_g5F.css → NcIconToggleSwitch-DO_sv5_o.css} +4 -4
  181. package/dist/assets/{NcKbd-BQUEINsB.css → NcKbd-IflT8hS_.css} +3 -3
  182. package/dist/assets/{NcPopover-CVOTdP6j.css → NcPopover-nBCZ8J9Q.css} +13 -13
  183. package/dist/assets/NcProfileHoverCard-D3V682nS.css +340 -0
  184. package/dist/assets/{NcRadioGroup-DQde-Yd1.css → NcRadioGroup-Bq7x-xEK.css} +2 -2
  185. package/dist/assets/{NcRadioGroupButton-Dwpy1m0F.css → NcRadioGroupButton-i11p0wHX.css} +13 -13
  186. package/dist/assets/NcReferenceWidget-Cg4xOL_8.css +150 -0
  187. package/dist/assets/{NcRichContenteditable-Dwd67_kU.css → NcRichContenteditable-DRPzKa4Z.css} +17 -17
  188. package/dist/assets/{autolink-CR5N0xNQ.css → autolink-CEziQYgN.css} +3 -3
  189. package/dist/assets/{referencePickerModal-C4Pr02xT.css → referencePickerModal-0oYth4rX.css} +0 -149
  190. package/dist/chunks/DockRight-B0D52yCO.mjs +38 -0
  191. package/dist/chunks/DockRight-B0D52yCO.mjs.map +1 -0
  192. package/dist/chunks/DockRight-CXafXJaH.cjs +37 -0
  193. package/dist/chunks/DockRight-CXafXJaH.cjs.map +1 -0
  194. package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs → NcActionButtonGroup-C3eUBbt4.mjs} +2 -2
  195. package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs.map → NcActionButtonGroup-C3eUBbt4.mjs.map} +1 -1
  196. package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs → NcActionButtonGroup-CsOhQH6p.cjs} +2 -2
  197. package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs.map → NcActionButtonGroup-CsOhQH6p.cjs.map} +1 -1
  198. package/dist/chunks/{NcActionInput-DITmqZz5.cjs → NcActionInput-C-j7Mehu.cjs} +5 -5
  199. package/dist/chunks/{NcActionInput-DITmqZz5.cjs.map → NcActionInput-C-j7Mehu.cjs.map} +1 -1
  200. package/dist/chunks/{NcActionInput-Xepxb1Nk.mjs → NcActionInput-CMLDgnF_.mjs} +5 -5
  201. package/dist/chunks/{NcActionInput-Xepxb1Nk.mjs.map → NcActionInput-CMLDgnF_.mjs.map} +1 -1
  202. package/dist/chunks/{NcActions-JnumflF4.mjs → NcActions-CX1MSord.mjs} +5 -5
  203. package/dist/chunks/{NcActions-JnumflF4.mjs.map → NcActions-CX1MSord.mjs.map} +1 -1
  204. package/dist/chunks/{NcActions-DYWuXM9w.cjs → NcActions-H0GXWVPU.cjs} +5 -5
  205. package/dist/chunks/{NcActions-DYWuXM9w.cjs.map → NcActions-H0GXWVPU.cjs.map} +1 -1
  206. package/dist/chunks/{NcAppContent-BScPRxTJ.mjs → NcAppContent-7ziLICwJ.mjs} +5 -6
  207. package/dist/chunks/NcAppContent-7ziLICwJ.mjs.map +1 -0
  208. package/dist/chunks/{NcAppContent-BDqXhfww.cjs → NcAppContent-BCYyp6nc.cjs} +7 -8
  209. package/dist/chunks/NcAppContent-BCYyp6nc.cjs.map +1 -0
  210. package/dist/chunks/{NcAppNavigation-C4iIEWY3.mjs → NcAppNavigation-BDyBoXA1.mjs} +3 -3
  211. package/dist/chunks/{NcAppNavigation-C4iIEWY3.mjs.map → NcAppNavigation-BDyBoXA1.mjs.map} +1 -1
  212. package/dist/chunks/{NcAppNavigation-qz271rGf.cjs → NcAppNavigation-BEor4mmi.cjs} +3 -3
  213. package/dist/chunks/{NcAppNavigation-qz271rGf.cjs.map → NcAppNavigation-BEor4mmi.cjs.map} +1 -1
  214. package/dist/chunks/{NcAppNavigationCaption-BJnvmftc.mjs → NcAppNavigationCaption-DYdHKPv7.mjs} +2 -2
  215. package/dist/chunks/{NcAppNavigationCaption-BJnvmftc.mjs.map → NcAppNavigationCaption-DYdHKPv7.mjs.map} +1 -1
  216. package/dist/chunks/{NcAppNavigationCaption-CYN9-_R2.cjs → NcAppNavigationCaption-drD-T2kk.cjs} +2 -2
  217. package/dist/chunks/{NcAppNavigationCaption-CYN9-_R2.cjs.map → NcAppNavigationCaption-drD-T2kk.cjs.map} +1 -1
  218. package/dist/chunks/{NcAppNavigationItem-qRteEY0G.cjs → NcAppNavigationItem-Ccy8CT50.cjs} +8 -8
  219. package/dist/chunks/{NcAppNavigationItem-qRteEY0G.cjs.map → NcAppNavigationItem-Ccy8CT50.cjs.map} +1 -1
  220. package/dist/chunks/{NcAppNavigationItem-DRaKry-f.mjs → NcAppNavigationItem-Dg-2s6bP.mjs} +8 -8
  221. package/dist/chunks/{NcAppNavigationItem-DRaKry-f.mjs.map → NcAppNavigationItem-Dg-2s6bP.mjs.map} +1 -1
  222. package/dist/chunks/{NcAppNavigationNew-BAuYV_06.cjs → NcAppNavigationNew-4O3IsPEz.cjs} +2 -2
  223. package/dist/chunks/{NcAppNavigationNew-BAuYV_06.cjs.map → NcAppNavigationNew-4O3IsPEz.cjs.map} +1 -1
  224. package/dist/chunks/{NcAppNavigationNew-BOfIdgIu.mjs → NcAppNavigationNew-B8Ny1xKx.mjs} +2 -2
  225. package/dist/chunks/{NcAppNavigationNew-BOfIdgIu.mjs.map → NcAppNavigationNew-B8Ny1xKx.mjs.map} +1 -1
  226. package/dist/chunks/{NcAppNavigationNewItem-KbbB-8vX.mjs → NcAppNavigationNewItem-BHnL_502.mjs} +2 -2
  227. package/dist/chunks/{NcAppNavigationNewItem-KbbB-8vX.mjs.map → NcAppNavigationNewItem-BHnL_502.mjs.map} +1 -1
  228. package/dist/chunks/{NcAppNavigationNewItem-B-29d1We.cjs → NcAppNavigationNewItem-CW4Y7Hz9.cjs} +2 -2
  229. package/dist/chunks/{NcAppNavigationNewItem-B-29d1We.cjs.map → NcAppNavigationNewItem-CW4Y7Hz9.cjs.map} +1 -1
  230. package/dist/chunks/{NcAppNavigationSearch-CI_e6Rva.mjs → NcAppNavigationSearch-DIO0S2TU.mjs} +4 -4
  231. package/dist/chunks/{NcAppNavigationSearch-CI_e6Rva.mjs.map → NcAppNavigationSearch-DIO0S2TU.mjs.map} +1 -1
  232. package/dist/chunks/{NcAppNavigationSearch-Du8eBuvW.cjs → NcAppNavigationSearch-DZEqsYpD.cjs} +4 -4
  233. package/dist/chunks/{NcAppNavigationSearch-Du8eBuvW.cjs.map → NcAppNavigationSearch-DZEqsYpD.cjs.map} +1 -1
  234. package/dist/chunks/{NcAppNavigationSettings-BN3w-BCp.mjs → NcAppNavigationSettings-3jZKd9et.mjs} +5 -5
  235. package/dist/chunks/{NcAppNavigationSettings-BN3w-BCp.mjs.map → NcAppNavigationSettings-3jZKd9et.mjs.map} +1 -1
  236. package/dist/chunks/{NcAppNavigationSettings-C2Txc8sh.cjs → NcAppNavigationSettings-DpIprW-E.cjs} +5 -5
  237. package/dist/chunks/{NcAppNavigationSettings-C2Txc8sh.cjs.map → NcAppNavigationSettings-DpIprW-E.cjs.map} +1 -1
  238. package/dist/chunks/{NcAppNavigationToggle-B7K9pxVq.cjs → NcAppNavigationToggle-DFGuYTE8.cjs} +23 -52
  239. package/dist/chunks/NcAppNavigationToggle-DFGuYTE8.cjs.map +1 -0
  240. package/dist/chunks/{NcAppNavigationToggle-CZqz-wC8.mjs → NcAppNavigationToggle-DQZ2LWw4.mjs} +23 -52
  241. package/dist/chunks/NcAppNavigationToggle-DQZ2LWw4.mjs.map +1 -0
  242. package/dist/chunks/{NcAppSettingsDialog-DhHJQute.cjs → NcAppSettingsDialog-BoHdpAtG.cjs} +9 -9
  243. package/dist/chunks/{NcAppSettingsDialog-DhHJQute.cjs.map → NcAppSettingsDialog-BoHdpAtG.cjs.map} +1 -1
  244. package/dist/chunks/{NcAppSettingsDialog-C7Oywy1u.mjs → NcAppSettingsDialog-JB67n8yt.mjs} +9 -9
  245. package/dist/chunks/{NcAppSettingsDialog-C7Oywy1u.mjs.map → NcAppSettingsDialog-JB67n8yt.mjs.map} +1 -1
  246. package/dist/chunks/{NcAppSettingsShortcutsSection-CLKzAASc.cjs → NcAppSettingsShortcutsSection-Bli0fYba.cjs} +6 -6
  247. package/dist/chunks/NcAppSettingsShortcutsSection-Bli0fYba.cjs.map +1 -0
  248. package/dist/chunks/{NcAppSettingsShortcutsSection-D3ylJW58.mjs → NcAppSettingsShortcutsSection-BpUlnEbQ.mjs} +6 -6
  249. package/dist/chunks/NcAppSettingsShortcutsSection-BpUlnEbQ.mjs.map +1 -0
  250. package/dist/chunks/{NcAppSidebar-CEo2tgBa.mjs → NcAppSidebar-B2F66PCc.mjs} +13 -45
  251. package/dist/chunks/NcAppSidebar-B2F66PCc.mjs.map +1 -0
  252. package/dist/chunks/{NcAppSidebar-DJ8JImth.cjs → NcAppSidebar-CMHPTlTQ.cjs} +13 -45
  253. package/dist/chunks/NcAppSidebar-CMHPTlTQ.cjs.map +1 -0
  254. package/dist/chunks/{NcAssistantButton-CHiZT-vH.mjs → NcAssistantButton-D2gOuok6.mjs} +11 -11
  255. package/dist/chunks/{NcAssistantButton-CHiZT-vH.mjs.map → NcAssistantButton-D2gOuok6.mjs.map} +1 -1
  256. package/dist/chunks/{NcAssistantButton-CPlpv0Sl.cjs → NcAssistantButton-po8AW9pX.cjs} +11 -11
  257. package/dist/chunks/{NcAssistantButton-CPlpv0Sl.cjs.map → NcAssistantButton-po8AW9pX.cjs.map} +1 -1
  258. package/dist/chunks/{NcAssistantIcon-mcLe7umL.mjs → NcAssistantIcon-CTTn1608.mjs} +6 -6
  259. package/dist/chunks/{NcAssistantIcon-mcLe7umL.mjs.map → NcAssistantIcon-CTTn1608.mjs.map} +1 -1
  260. package/dist/chunks/{NcAssistantIcon-CS-KbVIN.cjs → NcAssistantIcon-D_1fcbQU.cjs} +6 -6
  261. package/dist/chunks/{NcAssistantIcon-CS-KbVIN.cjs.map → NcAssistantIcon-D_1fcbQU.cjs.map} +1 -1
  262. package/dist/chunks/{NcAvatar-BFWbPSke.cjs → NcAvatar-BbR_mZyT.cjs} +125 -20
  263. package/dist/chunks/NcAvatar-BbR_mZyT.cjs.map +1 -0
  264. package/dist/chunks/{NcAvatar-BBqomFJ3.mjs → NcAvatar-C1ty7wsG.mjs} +124 -20
  265. package/dist/chunks/NcAvatar-C1ty7wsG.mjs.map +1 -0
  266. package/dist/chunks/{NcBlurHash-DEa3MZG5.cjs → NcBlurHash-CXPnoVsM.cjs} +4 -4
  267. package/dist/chunks/{NcBlurHash-DEa3MZG5.cjs.map → NcBlurHash-CXPnoVsM.cjs.map} +1 -1
  268. package/dist/chunks/{NcBlurHash-CP2UBH-9.mjs → NcBlurHash-DKfLn7BC.mjs} +4 -4
  269. package/dist/chunks/{NcBlurHash-CP2UBH-9.mjs.map → NcBlurHash-DKfLn7BC.mjs.map} +1 -1
  270. package/dist/chunks/{NcBreadcrumb-BN1Qrbjc.mjs → NcBreadcrumb-BPaEIFrD.mjs} +3 -3
  271. package/dist/chunks/{NcBreadcrumb-BN1Qrbjc.mjs.map → NcBreadcrumb-BPaEIFrD.mjs.map} +1 -1
  272. package/dist/chunks/{NcBreadcrumb-D81qHmqH.cjs → NcBreadcrumb-ZV3_rxwo.cjs} +3 -3
  273. package/dist/chunks/{NcBreadcrumb-D81qHmqH.cjs.map → NcBreadcrumb-ZV3_rxwo.cjs.map} +1 -1
  274. package/dist/chunks/{NcBreadcrumbs-OySgLqXi.mjs → NcBreadcrumbs-BN_Nk5sm.mjs} +3 -3
  275. package/dist/chunks/{NcBreadcrumbs-OySgLqXi.mjs.map → NcBreadcrumbs-BN_Nk5sm.mjs.map} +1 -1
  276. package/dist/chunks/{NcBreadcrumbs-DxnTSsvR.cjs → NcBreadcrumbs-lgJctYCF.cjs} +3 -3
  277. package/dist/chunks/{NcBreadcrumbs-DxnTSsvR.cjs.map → NcBreadcrumbs-lgJctYCF.cjs.map} +1 -1
  278. package/dist/chunks/{NcButton-D6Swkr1k.mjs → NcButton-DAGirW_B.mjs} +2 -2
  279. package/dist/chunks/{NcButton-D6Swkr1k.mjs.map → NcButton-DAGirW_B.mjs.map} +1 -1
  280. package/dist/chunks/{NcButton-B3UxfMyE.cjs → NcButton-W3wDpCdX.cjs} +2 -2
  281. package/dist/chunks/{NcButton-B3UxfMyE.cjs.map → NcButton-W3wDpCdX.cjs.map} +1 -1
  282. package/dist/chunks/{NcCheckboxRadioSwitch-Ddl_QlRN.mjs → NcCheckboxRadioSwitch-BAjRm8PQ.mjs} +17 -8
  283. package/dist/chunks/NcCheckboxRadioSwitch-BAjRm8PQ.mjs.map +1 -0
  284. package/dist/chunks/{NcCheckboxRadioSwitch-BonPjuho.cjs → NcCheckboxRadioSwitch-Bc1iPxKK.cjs} +17 -8
  285. package/dist/chunks/{NcCheckboxRadioSwitch-Ddl_QlRN.mjs.map → NcCheckboxRadioSwitch-Bc1iPxKK.cjs.map} +1 -1
  286. package/dist/chunks/{NcCollectionList-q7zkDwqG.mjs → NcCollectionList-75D50pZU.mjs} +8 -8
  287. package/dist/chunks/{NcCollectionList-q7zkDwqG.mjs.map → NcCollectionList-75D50pZU.mjs.map} +1 -1
  288. package/dist/chunks/{NcCollectionList-BXSYaf2B.cjs → NcCollectionList-CX9fHs--.cjs} +8 -8
  289. package/dist/chunks/{NcCollectionList-BXSYaf2B.cjs.map → NcCollectionList-CX9fHs--.cjs.map} +1 -1
  290. package/dist/chunks/{NcColorPicker-DlAxFoRr.mjs → NcColorPicker-BwqjqV32.mjs} +6 -6
  291. package/dist/chunks/{NcColorPicker-DlAxFoRr.mjs.map → NcColorPicker-BwqjqV32.mjs.map} +1 -1
  292. package/dist/chunks/{NcColorPicker-CO85TDOK.cjs → NcColorPicker-oQVwX8dO.cjs} +6 -6
  293. package/dist/chunks/{NcColorPicker-CO85TDOK.cjs.map → NcColorPicker-oQVwX8dO.cjs.map} +1 -1
  294. package/dist/chunks/{NcContent-D5FcB_7G.cjs → NcContent-BlABZ4r6.cjs} +5 -5
  295. package/dist/chunks/{NcContent-D5FcB_7G.cjs.map → NcContent-BlABZ4r6.cjs.map} +1 -1
  296. package/dist/chunks/{NcContent-BgMXU5Dv.mjs → NcContent-nvVwz9xO.mjs} +5 -5
  297. package/dist/chunks/{NcContent-BgMXU5Dv.mjs.map → NcContent-nvVwz9xO.mjs.map} +1 -1
  298. package/dist/chunks/{NcDashboardWidget-DnR3x-B1.cjs → NcDashboardWidget-CY9oWI6e.cjs} +5 -5
  299. package/dist/chunks/{NcDashboardWidget-DnR3x-B1.cjs.map → NcDashboardWidget-CY9oWI6e.cjs.map} +1 -1
  300. package/dist/chunks/{NcDashboardWidget-oyS__D-B.mjs → NcDashboardWidget-d_eqooRR.mjs} +5 -5
  301. package/dist/chunks/{NcDashboardWidget-oyS__D-B.mjs.map → NcDashboardWidget-d_eqooRR.mjs.map} +1 -1
  302. package/dist/chunks/{NcDashboardWidgetItem-NxvhaIPP.cjs → NcDashboardWidgetItem-BWELTjeT.cjs} +3 -3
  303. package/dist/chunks/{NcDashboardWidgetItem-NxvhaIPP.cjs.map → NcDashboardWidgetItem-BWELTjeT.cjs.map} +1 -1
  304. package/dist/chunks/{NcDashboardWidgetItem-uYQMYeJS.mjs → NcDashboardWidgetItem-BiZ8QNOR.mjs} +3 -3
  305. package/dist/chunks/{NcDashboardWidgetItem-uYQMYeJS.mjs.map → NcDashboardWidgetItem-BiZ8QNOR.mjs.map} +1 -1
  306. package/dist/chunks/{NcDialog-W8ujIWJd.cjs → NcDialog-CiuR4ZK0.cjs} +2 -2
  307. package/dist/chunks/{NcDialog-W8ujIWJd.cjs.map → NcDialog-CiuR4ZK0.cjs.map} +1 -1
  308. package/dist/chunks/{NcDialog-DmRqcm3W.mjs → NcDialog-DoGsI2_6.mjs} +2 -2
  309. package/dist/chunks/{NcDialog-DmRqcm3W.mjs.map → NcDialog-DoGsI2_6.mjs.map} +1 -1
  310. package/dist/chunks/{NcDialogButton-C8RbaSqF.cjs → NcDialogButton-BR6KI4--.cjs} +4 -4
  311. package/dist/chunks/{NcDialogButton-C8RbaSqF.cjs.map → NcDialogButton-BR6KI4--.cjs.map} +1 -1
  312. package/dist/chunks/{NcDialogButton-Bqjj-wmb.mjs → NcDialogButton-D5yuDtSF.mjs} +4 -4
  313. package/dist/chunks/{NcDialogButton-Bqjj-wmb.mjs.map → NcDialogButton-D5yuDtSF.mjs.map} +1 -1
  314. package/dist/chunks/{NcEmojiPicker-ClkGGFdW.mjs → NcEmojiPicker-C_88_f6x.mjs} +8 -8
  315. package/dist/chunks/{NcEmojiPicker-ClkGGFdW.mjs.map → NcEmojiPicker-C_88_f6x.mjs.map} +1 -1
  316. package/dist/chunks/{NcEmojiPicker-7aElsqCQ.cjs → NcEmojiPicker-Dyqwkm_d.cjs} +8 -8
  317. package/dist/chunks/{NcEmojiPicker-7aElsqCQ.cjs.map → NcEmojiPicker-Dyqwkm_d.cjs.map} +1 -1
  318. package/dist/chunks/{NcFilePicker-DaUHiwFm.cjs → NcFilePicker-Cdc1TsXy.cjs} +6 -6
  319. package/dist/chunks/{NcFilePicker-DaUHiwFm.cjs.map → NcFilePicker-Cdc1TsXy.cjs.map} +1 -1
  320. package/dist/chunks/{NcFilePicker-B57HJpaE.mjs → NcFilePicker-Dg6UqMN1.mjs} +6 -6
  321. package/dist/chunks/{NcFilePicker-B57HJpaE.mjs.map → NcFilePicker-Dg6UqMN1.mjs.map} +1 -1
  322. package/dist/chunks/{NcFormBox-Bd7m8ffs.mjs → NcFormBox-C38-8CH6.mjs} +7 -7
  323. package/dist/chunks/{NcFormBox-Bd7m8ffs.mjs.map → NcFormBox-C38-8CH6.mjs.map} +1 -1
  324. package/dist/chunks/{NcFormBox-LJwAiXyR.cjs → NcFormBox-C8LDr6nF.cjs} +7 -7
  325. package/dist/chunks/{NcFormBox-LJwAiXyR.cjs.map → NcFormBox-C8LDr6nF.cjs.map} +1 -1
  326. package/dist/chunks/{NcFormBoxButton-BDI6Q7WA.cjs → NcFormBoxButton-Bk-1cqbj.cjs} +5 -5
  327. package/dist/chunks/{NcFormBoxButton-BDI6Q7WA.cjs.map → NcFormBoxButton-Bk-1cqbj.cjs.map} +1 -1
  328. package/dist/chunks/{NcFormBoxButton-CRL7kucw.mjs → NcFormBoxButton-DFqqtbav.mjs} +5 -5
  329. package/dist/chunks/{NcFormBoxButton-CRL7kucw.mjs.map → NcFormBoxButton-DFqqtbav.mjs.map} +1 -1
  330. package/dist/chunks/{NcFormBoxCopyButton-Bk121Oc2.cjs → NcFormBoxCopyButton-LEjPAg3D.cjs} +3 -3
  331. package/dist/chunks/{NcFormBoxCopyButton-Bk121Oc2.cjs.map → NcFormBoxCopyButton-LEjPAg3D.cjs.map} +1 -1
  332. package/dist/chunks/{NcFormBoxCopyButton-BOENrJAS.mjs → NcFormBoxCopyButton-_KxKabAB.mjs} +3 -3
  333. package/dist/chunks/{NcFormBoxCopyButton-BOENrJAS.mjs.map → NcFormBoxCopyButton-_KxKabAB.mjs.map} +1 -1
  334. package/dist/chunks/{NcFormBoxItem-Dmcja_Xa.cjs → NcFormBoxItem-BAJxkxRf.cjs} +11 -11
  335. package/dist/chunks/{NcFormBoxItem-Dmcja_Xa.cjs.map → NcFormBoxItem-BAJxkxRf.cjs.map} +1 -1
  336. package/dist/chunks/{NcFormBoxItem-DasY7_rJ.mjs → NcFormBoxItem-CmfqBL1k.mjs} +11 -11
  337. package/dist/chunks/{NcFormBoxItem-DasY7_rJ.mjs.map → NcFormBoxItem-CmfqBL1k.mjs.map} +1 -1
  338. package/dist/chunks/{NcFormBoxSwitch-bdRBjKGq.mjs → NcFormBoxSwitch-B34n4EwU.mjs} +6 -6
  339. package/dist/chunks/{NcFormBoxSwitch-bdRBjKGq.mjs.map → NcFormBoxSwitch-B34n4EwU.mjs.map} +1 -1
  340. package/dist/chunks/{NcFormBoxSwitch-CEO4FLdd.cjs → NcFormBoxSwitch-Bw2utaCz.cjs} +6 -6
  341. package/dist/chunks/{NcFormBoxSwitch-CEO4FLdd.cjs.map → NcFormBoxSwitch-Bw2utaCz.cjs.map} +1 -1
  342. package/dist/chunks/{NcFormGroup-wzUs2kfP.cjs → NcFormGroup-dH5AXvsT.cjs} +9 -9
  343. package/dist/chunks/{NcFormGroup-wzUs2kfP.cjs.map → NcFormGroup-dH5AXvsT.cjs.map} +1 -1
  344. package/dist/chunks/{NcFormGroup-tW-MwPUj.mjs → NcFormGroup-geUvdoIG.mjs} +9 -9
  345. package/dist/chunks/{NcFormGroup-tW-MwPUj.mjs.map → NcFormGroup-geUvdoIG.mjs.map} +1 -1
  346. package/dist/chunks/{NcHeaderButton-MEyDJghO.mjs → NcHeaderButton-BqjMDSal.mjs} +2 -2
  347. package/dist/chunks/{NcHeaderButton-MEyDJghO.mjs.map → NcHeaderButton-BqjMDSal.mjs.map} +1 -1
  348. package/dist/chunks/{NcHeaderButton-SRHcPWsp.cjs → NcHeaderButton-ChwiTpxY.cjs} +2 -2
  349. package/dist/chunks/{NcHeaderButton-SRHcPWsp.cjs.map → NcHeaderButton-ChwiTpxY.cjs.map} +1 -1
  350. package/dist/chunks/{NcHeaderMenu-jHItu4LV.mjs → NcHeaderMenu-BB2r8v-X.mjs} +2 -2
  351. package/dist/chunks/{NcHeaderMenu-jHItu4LV.mjs.map → NcHeaderMenu-BB2r8v-X.mjs.map} +1 -1
  352. package/dist/chunks/{NcHeaderMenu-C-K0LFEH.cjs → NcHeaderMenu-BivYykFA.cjs} +2 -2
  353. package/dist/chunks/{NcHeaderMenu-C-K0LFEH.cjs.map → NcHeaderMenu-BivYykFA.cjs.map} +1 -1
  354. package/dist/chunks/{NcHotkey-CpgacYSd.mjs → NcHotkey-B6KIqqii.mjs} +7 -7
  355. package/dist/chunks/{NcHotkey-CpgacYSd.mjs.map → NcHotkey-B6KIqqii.mjs.map} +1 -1
  356. package/dist/chunks/{NcHotkey-CLFZr-9x.cjs → NcHotkey-BVSKiKpz.cjs} +7 -7
  357. package/dist/chunks/{NcHotkey-CLFZr-9x.cjs.map → NcHotkey-BVSKiKpz.cjs.map} +1 -1
  358. package/dist/chunks/{NcHotkeyList-BYFbKo6_.mjs → NcHotkeyList-BACQoMeA.mjs} +6 -6
  359. package/dist/chunks/{NcHotkeyList-BYFbKo6_.mjs.map → NcHotkeyList-BACQoMeA.mjs.map} +1 -1
  360. package/dist/chunks/{NcHotkeyList-C_w3SAG_.cjs → NcHotkeyList-Crj5V-KW.cjs} +6 -6
  361. package/dist/chunks/{NcHotkeyList-C_w3SAG_.cjs.map → NcHotkeyList-Crj5V-KW.cjs.map} +1 -1
  362. package/dist/chunks/{NcIconToggleSwitch-DCTeQGv5.mjs → NcIconToggleSwitch-B19dt_oD.mjs} +4 -4
  363. package/dist/chunks/{NcIconToggleSwitch-DCTeQGv5.mjs.map → NcIconToggleSwitch-B19dt_oD.mjs.map} +1 -1
  364. package/dist/chunks/{NcIconToggleSwitch-Boo2ulI6.cjs → NcIconToggleSwitch-DZSBCDbH.cjs} +4 -4
  365. package/dist/chunks/{NcIconToggleSwitch-Boo2ulI6.cjs.map → NcIconToggleSwitch-DZSBCDbH.cjs.map} +1 -1
  366. package/dist/chunks/{NcInputConfirmCancel-zqo4ijEJ.mjs → NcInputConfirmCancel-44rhjqEA.mjs} +5 -5
  367. package/dist/chunks/{NcInputConfirmCancel-zqo4ijEJ.mjs.map → NcInputConfirmCancel-44rhjqEA.mjs.map} +1 -1
  368. package/dist/chunks/{NcInputConfirmCancel-CcPcB-bZ.cjs → NcInputConfirmCancel-CaCFiQnc.cjs} +5 -5
  369. package/dist/chunks/{NcInputConfirmCancel-CcPcB-bZ.cjs.map → NcInputConfirmCancel-CaCFiQnc.cjs.map} +1 -1
  370. package/dist/chunks/{NcInputField-DPby7_cZ.cjs → NcInputField-BcmWwfT5.cjs} +3 -3
  371. package/dist/chunks/{NcInputField-DPby7_cZ.cjs.map → NcInputField-BcmWwfT5.cjs.map} +1 -1
  372. package/dist/chunks/{NcInputField-BrzZ8Bne.mjs → NcInputField-Cym5GuvB.mjs} +3 -3
  373. package/dist/chunks/{NcInputField-BrzZ8Bne.mjs.map → NcInputField-Cym5GuvB.mjs.map} +1 -1
  374. package/dist/chunks/{NcKbd-uMv3QPhD.cjs → NcKbd-CrXHar_q.cjs} +6 -6
  375. package/dist/chunks/{NcKbd-uMv3QPhD.cjs.map → NcKbd-CrXHar_q.cjs.map} +1 -1
  376. package/dist/chunks/{NcKbd-CXJA9sCj.mjs → NcKbd-D86qGvDb.mjs} +6 -6
  377. package/dist/chunks/{NcKbd-CXJA9sCj.mjs.map → NcKbd-D86qGvDb.mjs.map} +1 -1
  378. package/dist/chunks/{NcListItem-BjV4Jjw0.cjs → NcListItem-5_QrKITf.cjs} +2 -2
  379. package/dist/chunks/{NcListItem-BjV4Jjw0.cjs.map → NcListItem-5_QrKITf.cjs.map} +1 -1
  380. package/dist/chunks/{NcListItem-Ciok4H4t.mjs → NcListItem-DFrhF-DU.mjs} +2 -2
  381. package/dist/chunks/{NcListItem-Ciok4H4t.mjs.map → NcListItem-DFrhF-DU.mjs.map} +1 -1
  382. package/dist/chunks/{NcListItemIcon-DukIl2hl.cjs → NcListItemIcon-BpEOUL7y.cjs} +2 -2
  383. package/dist/chunks/{NcListItemIcon-DukIl2hl.cjs.map → NcListItemIcon-BpEOUL7y.cjs.map} +1 -1
  384. package/dist/chunks/{NcListItemIcon-DdkIQyoP.mjs → NcListItemIcon-DIecVacf.mjs} +2 -2
  385. package/dist/chunks/{NcListItemIcon-DdkIQyoP.mjs.map → NcListItemIcon-DIecVacf.mjs.map} +1 -1
  386. package/dist/chunks/{NcPasswordField-CSeFP0Uz.mjs → NcPasswordField-2woxTjbl.mjs} +4 -4
  387. package/dist/chunks/{NcPasswordField-CSeFP0Uz.mjs.map → NcPasswordField-2woxTjbl.mjs.map} +1 -1
  388. package/dist/chunks/{NcPasswordField-9QeCVkJe.cjs → NcPasswordField-C1FGaXn4.cjs} +4 -4
  389. package/dist/chunks/{NcPasswordField-9QeCVkJe.cjs.map → NcPasswordField-C1FGaXn4.cjs.map} +1 -1
  390. package/dist/chunks/{NcPopover-BzTp7LfM.mjs → NcPopover-BaHX3QSG.mjs} +4 -4
  391. package/dist/chunks/{NcPopover-BzTp7LfM.mjs.map → NcPopover-BaHX3QSG.mjs.map} +1 -1
  392. package/dist/chunks/{NcPopover-BIGPurEP.cjs → NcPopover-Bq-bsaqt.cjs} +4 -4
  393. package/dist/chunks/{NcPopover-BIGPurEP.cjs.map → NcPopover-Bq-bsaqt.cjs.map} +1 -1
  394. package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs +479 -0
  395. package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs.map +1 -0
  396. package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs +481 -0
  397. package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs.map +1 -0
  398. package/dist/chunks/{NcRadioGroup-BbMUIkWl.cjs → NcRadioGroup-C2lG1kIj.cjs} +6 -6
  399. package/dist/chunks/{NcRadioGroup-BbMUIkWl.cjs.map → NcRadioGroup-C2lG1kIj.cjs.map} +1 -1
  400. package/dist/chunks/{NcRadioGroup-D4kc6Jjr.mjs → NcRadioGroup-D_7OAyQ4.mjs} +6 -6
  401. package/dist/chunks/{NcRadioGroup-D4kc6Jjr.mjs.map → NcRadioGroup-D_7OAyQ4.mjs.map} +1 -1
  402. package/dist/chunks/{NcRadioGroupButton-B8a5TW2l.mjs → NcRadioGroupButton-CkpB4myv.mjs} +8 -8
  403. package/dist/chunks/{NcRadioGroupButton-B8a5TW2l.mjs.map → NcRadioGroupButton-CkpB4myv.mjs.map} +1 -1
  404. package/dist/chunks/{NcRadioGroupButton-7ImC11aP.cjs → NcRadioGroupButton-DcU_Yagn.cjs} +8 -8
  405. package/dist/chunks/{NcRadioGroupButton-7ImC11aP.cjs.map → NcRadioGroupButton-DcU_Yagn.cjs.map} +1 -1
  406. package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs +280 -0
  407. package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs.map +1 -0
  408. package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs +281 -0
  409. package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs.map +1 -0
  410. package/dist/chunks/{NcRelatedResourcesPanel-CFp3GPty.mjs → NcRelatedResourcesPanel-BKygMHvP.mjs} +7 -7
  411. package/dist/chunks/{NcRelatedResourcesPanel-CFp3GPty.mjs.map → NcRelatedResourcesPanel-BKygMHvP.mjs.map} +1 -1
  412. package/dist/chunks/{NcRelatedResourcesPanel-C7r-tIz-.cjs → NcRelatedResourcesPanel-CjmzJ9Ex.cjs} +7 -7
  413. package/dist/chunks/{NcRelatedResourcesPanel-C7r-tIz-.cjs.map → NcRelatedResourcesPanel-CjmzJ9Ex.cjs.map} +1 -1
  414. package/dist/chunks/{NcRichContenteditable-DbhcrLP_.cjs → NcRichContenteditable-CaDBJIrd.cjs} +27 -31
  415. package/dist/chunks/{NcRichContenteditable-CG7oWfBl.mjs.map → NcRichContenteditable-CaDBJIrd.cjs.map} +1 -1
  416. package/dist/chunks/{NcRichContenteditable-CG7oWfBl.mjs → NcRichContenteditable-rJPX28V6.mjs} +27 -31
  417. package/dist/chunks/{NcRichContenteditable-DbhcrLP_.cjs.map → NcRichContenteditable-rJPX28V6.mjs.map} +1 -1
  418. package/dist/chunks/{NcRichText-b0ZZCvrD.cjs → NcRichText-BC9lKFPb.cjs} +7 -7
  419. package/dist/chunks/{NcRichText-b0ZZCvrD.cjs.map → NcRichText-BC9lKFPb.cjs.map} +1 -1
  420. package/dist/chunks/{NcRichText-C3Nj11Wy.mjs → NcRichText-K2ZjNIbK.mjs} +6 -6
  421. package/dist/chunks/{NcRichText-C3Nj11Wy.mjs.map → NcRichText-K2ZjNIbK.mjs.map} +1 -1
  422. package/dist/chunks/{NcSelect-DrKzKPZL.mjs → NcSelect-CxHfXvZV.mjs} +5 -5
  423. package/dist/chunks/{NcSelect-DrKzKPZL.mjs.map → NcSelect-CxHfXvZV.mjs.map} +1 -1
  424. package/dist/chunks/{NcSelect-BYRnqQaI.cjs → NcSelect-DW5W3ZIM.cjs} +5 -5
  425. package/dist/chunks/{NcSelect-BYRnqQaI.cjs.map → NcSelect-DW5W3ZIM.cjs.map} +1 -1
  426. package/dist/chunks/{NcSelectTags-D8pmnLor.mjs → NcSelectTags-BWTTPN2O.mjs} +3 -3
  427. package/dist/chunks/{NcSelectTags-D8pmnLor.mjs.map → NcSelectTags-BWTTPN2O.mjs.map} +1 -1
  428. package/dist/chunks/{NcSelectTags-CL8AQw8J.cjs → NcSelectTags-Bk4doVG3.cjs} +3 -3
  429. package/dist/chunks/{NcSelectTags-CL8AQw8J.cjs.map → NcSelectTags-Bk4doVG3.cjs.map} +1 -1
  430. package/dist/chunks/{NcSelectUsers-CAl1o2gA.cjs → NcSelectUsers-BxmxyFcE.cjs} +5 -5
  431. package/dist/chunks/{NcSelectUsers-CAl1o2gA.cjs.map → NcSelectUsers-BxmxyFcE.cjs.map} +1 -1
  432. package/dist/chunks/{NcSelectUsers-z2bZafO2.mjs → NcSelectUsers-D2jOjPs4.mjs} +5 -5
  433. package/dist/chunks/{NcSelectUsers-z2bZafO2.mjs.map → NcSelectUsers-D2jOjPs4.mjs.map} +1 -1
  434. package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs → NcSettingsInputText-BAMF6udc.cjs} +3 -3
  435. package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs.map → NcSettingsInputText-BAMF6udc.cjs.map} +1 -1
  436. package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs → NcSettingsInputText-Cc7cCwNm.mjs} +3 -3
  437. package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs.map → NcSettingsInputText-Cc7cCwNm.mjs.map} +1 -1
  438. package/dist/chunks/{NcSettingsSection-BfZ8I3zb.cjs → NcSettingsSection-D48jcXDL.cjs} +3 -3
  439. package/dist/chunks/{NcSettingsSection-BfZ8I3zb.cjs.map → NcSettingsSection-D48jcXDL.cjs.map} +1 -1
  440. package/dist/chunks/{NcSettingsSection-DV-x6Ag7.mjs → NcSettingsSection-D9qxzYDc.mjs} +3 -3
  441. package/dist/chunks/{NcSettingsSection-DV-x6Ag7.mjs.map → NcSettingsSection-D9qxzYDc.mjs.map} +1 -1
  442. package/dist/chunks/{NcSettingsSelectGroup-CmotAYwP.cjs → NcSettingsSelectGroup-CJGf5mxJ.cjs} +4 -4
  443. package/dist/chunks/{NcSettingsSelectGroup-CmotAYwP.cjs.map → NcSettingsSelectGroup-CJGf5mxJ.cjs.map} +1 -1
  444. package/dist/chunks/{NcSettingsSelectGroup-CFvLzGNf.mjs → NcSettingsSelectGroup-DzzNyHN_.mjs} +4 -4
  445. package/dist/chunks/{NcSettingsSelectGroup-CFvLzGNf.mjs.map → NcSettingsSelectGroup-DzzNyHN_.mjs.map} +1 -1
  446. package/dist/chunks/{NcTextArea-BUH-0gIq.cjs → NcTextArea-GxhBi7Z3.cjs} +2 -2
  447. package/dist/chunks/{NcTextArea-BUH-0gIq.cjs.map → NcTextArea-GxhBi7Z3.cjs.map} +1 -1
  448. package/dist/chunks/{NcTextArea-C82D8CSK.mjs → NcTextArea-T9totbme.mjs} +2 -2
  449. package/dist/chunks/{NcTextArea-C82D8CSK.mjs.map → NcTextArea-T9totbme.mjs.map} +1 -1
  450. package/dist/chunks/{NcTextField-BPhf3E7g.mjs → NcTextField-CQp8XS4C.mjs} +4 -4
  451. package/dist/chunks/{NcTextField-BPhf3E7g.mjs.map → NcTextField-CQp8XS4C.mjs.map} +1 -1
  452. package/dist/chunks/{NcTextField-2tiCeGZw.cjs → NcTextField-DMxdmT5a.cjs} +4 -4
  453. package/dist/chunks/{NcTextField-2tiCeGZw.cjs.map → NcTextField-DMxdmT5a.cjs.map} +1 -1
  454. package/dist/chunks/{NcTimezonePicker-BSGxeYwn.cjs → NcTimezonePicker-B0rvWaty.cjs} +4 -4
  455. package/dist/chunks/{NcTimezonePicker-BSGxeYwn.cjs.map → NcTimezonePicker-B0rvWaty.cjs.map} +1 -1
  456. package/dist/chunks/{NcTimezonePicker-D4xfdT9T.mjs → NcTimezonePicker-BfSjyBxq.mjs} +4 -4
  457. package/dist/chunks/{NcTimezonePicker-D4xfdT9T.mjs.map → NcTimezonePicker-BfSjyBxq.mjs.map} +1 -1
  458. package/dist/chunks/{NcUserBubble-BJf2sPSm.cjs → NcUserBubble-BR5bw7lO.cjs} +3 -3
  459. package/dist/chunks/{NcUserBubble-BJf2sPSm.cjs.map → NcUserBubble-BR5bw7lO.cjs.map} +1 -1
  460. package/dist/chunks/{NcUserBubble-CuCNjhc8.mjs → NcUserBubble-Bd-PEfyK.mjs} +3 -3
  461. package/dist/chunks/{NcUserBubble-CuCNjhc8.mjs.map → NcUserBubble-Bd-PEfyK.mjs.map} +1 -1
  462. package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs → NcUserStatusIcon-BP2cHGxs.cjs} +5 -5
  463. package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs.map → NcUserStatusIcon-BP2cHGxs.cjs.map} +1 -1
  464. package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs → NcUserStatusIcon-gpl3yJFX.mjs} +5 -5
  465. package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs.map → NcUserStatusIcon-gpl3yJFX.mjs.map} +1 -1
  466. package/dist/chunks/{ScopeComponent-xx9Z3w0D.mjs → ScopeComponent-Df3JYkxQ.mjs} +2 -2
  467. package/dist/chunks/{ScopeComponent-xx9Z3w0D.mjs.map → ScopeComponent-Df3JYkxQ.mjs.map} +1 -1
  468. package/dist/chunks/{ScopeComponent-4M4zyHnT.cjs → ScopeComponent-O4dfHJkP.cjs} +2 -2
  469. package/dist/chunks/{ScopeComponent-4M4zyHnT.cjs.map → ScopeComponent-O4dfHJkP.cjs.map} +1 -1
  470. package/dist/chunks/{_l10n-skrZri3h.cjs → _l10n-Be-gO5QO.cjs} +56 -54
  471. package/dist/chunks/{_l10n-skrZri3h.cjs.map → _l10n-Be-gO5QO.cjs.map} +1 -1
  472. package/dist/chunks/{_l10n-DVz9Qdzk.mjs → _l10n-CAnZaLWU.mjs} +110 -108
  473. package/dist/chunks/_l10n-CAnZaLWU.mjs.map +1 -0
  474. package/dist/chunks/{autolink-CMWUgEzj.cjs → autolink-BHlqTULT.cjs} +5 -5
  475. package/dist/chunks/{autolink-CMWUgEzj.cjs.map → autolink-BHlqTULT.cjs.map} +1 -1
  476. package/dist/chunks/{autolink-C8BYVvdd.mjs → autolink-COrOqbJu.mjs} +5 -5
  477. package/dist/chunks/{autolink-C8BYVvdd.mjs.map → autolink-COrOqbJu.mjs.map} +1 -1
  478. package/dist/chunks/{colors-Bp0JzIQ4.mjs → colors-B_oqiKWY.mjs} +3 -3
  479. package/dist/chunks/{colors-Bp0JzIQ4.mjs.map → colors-B_oqiKWY.mjs.map} +1 -1
  480. package/dist/chunks/{colors-CyIwf6gH.cjs → colors-DF9O093h.cjs} +3 -3
  481. package/dist/chunks/{colors-CyIwf6gH.cjs.map → colors-DF9O093h.cjs.map} +1 -1
  482. package/dist/chunks/customPickerElements-CYpmyl0b.mjs +61 -0
  483. package/dist/chunks/customPickerElements-CYpmyl0b.mjs.map +1 -0
  484. package/dist/chunks/{customPickerElements-CPxrR1_N.cjs → customPickerElements-DNevxofg.cjs} +1 -63
  485. package/dist/chunks/customPickerElements-DNevxofg.cjs.map +1 -0
  486. package/dist/chunks/{legacy-Bk0qQxIg.cjs → legacy-BpZw2Eww.cjs} +4 -2
  487. package/dist/chunks/legacy-BpZw2Eww.cjs.map +1 -0
  488. package/dist/chunks/legacy-Cy3dCXuB.mjs +11 -0
  489. package/dist/chunks/legacy-Cy3dCXuB.mjs.map +1 -0
  490. package/dist/chunks/{referencePickerModal-Cqd084NY.cjs → referencePickerModal-D2nYmN67.cjs} +23 -294
  491. package/dist/chunks/referencePickerModal-D2nYmN67.cjs.map +1 -0
  492. package/dist/chunks/{referencePickerModal-DnsOMAHk.mjs → referencePickerModal-P_15xB7f.mjs} +24 -295
  493. package/dist/chunks/referencePickerModal-P_15xB7f.mjs.map +1 -0
  494. package/dist/chunks/rtl-DLuwcTlm.cjs +5 -0
  495. package/dist/chunks/rtl-DLuwcTlm.cjs.map +1 -0
  496. package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
  497. package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
  498. package/dist/chunks/{useCopy-DDDe5RYH.mjs → useCopy-C-jNoLry.mjs} +3 -3
  499. package/dist/chunks/{useCopy-DDDe5RYH.mjs.map → useCopy-C-jNoLry.mjs.map} +1 -1
  500. package/dist/chunks/{useCopy-3m2jDiIN.cjs → useCopy-DXXjl8MD.cjs} +3 -3
  501. package/dist/chunks/{useCopy-3m2jDiIN.cjs.map → useCopy-DXXjl8MD.cjs.map} +1 -1
  502. package/dist/chunks/widgets-DoYhefYe.cjs +65 -0
  503. package/dist/chunks/widgets-DoYhefYe.cjs.map +1 -0
  504. package/dist/chunks/widgets-XxirL-2f.mjs +66 -0
  505. package/dist/chunks/widgets-XxirL-2f.mjs.map +1 -0
  506. package/dist/components/NcProfileHoverCard/index.d.ts +5 -0
  507. package/dist/components/NcProfileHoverCard/profileCache.d.ts +31 -0
  508. package/dist/index.cjs +78 -80
  509. package/dist/index.cjs.map +1 -1
  510. package/dist/index.mjs +80 -82
  511. package/dist/index.mjs.map +1 -1
  512. package/dist/utils/legacy.d.ts +2 -0
  513. package/package.json +9 -9
  514. package/dist/chunks/NcAppContent-BDqXhfww.cjs.map +0 -1
  515. package/dist/chunks/NcAppContent-BScPRxTJ.mjs.map +0 -1
  516. package/dist/chunks/NcAppNavigationToggle-B7K9pxVq.cjs.map +0 -1
  517. package/dist/chunks/NcAppNavigationToggle-CZqz-wC8.mjs.map +0 -1
  518. package/dist/chunks/NcAppSettingsShortcutsSection-CLKzAASc.cjs.map +0 -1
  519. package/dist/chunks/NcAppSettingsShortcutsSection-D3ylJW58.mjs.map +0 -1
  520. package/dist/chunks/NcAppSidebar-CEo2tgBa.mjs.map +0 -1
  521. package/dist/chunks/NcAppSidebar-DJ8JImth.cjs.map +0 -1
  522. package/dist/chunks/NcAvatar-BBqomFJ3.mjs.map +0 -1
  523. package/dist/chunks/NcAvatar-BFWbPSke.cjs.map +0 -1
  524. package/dist/chunks/NcCheckboxRadioSwitch-BonPjuho.cjs.map +0 -1
  525. package/dist/chunks/_l10n-DVz9Qdzk.mjs.map +0 -1
  526. package/dist/chunks/customPickerElements-BGmuXU7x.mjs +0 -123
  527. package/dist/chunks/customPickerElements-BGmuXU7x.mjs.map +0 -1
  528. package/dist/chunks/customPickerElements-CPxrR1_N.cjs.map +0 -1
  529. package/dist/chunks/legacy-Bk0qQxIg.cjs.map +0 -1
  530. package/dist/chunks/legacy-DV3mGZdh.mjs +0 -9
  531. package/dist/chunks/legacy-DV3mGZdh.mjs.map +0 -1
  532. package/dist/chunks/referencePickerModal-Cqd084NY.cjs.map +0 -1
  533. package/dist/chunks/referencePickerModal-DnsOMAHk.mjs.map +0 -1
@@ -1,294 +1,24 @@
1
- import '../assets/referencePickerModal-C4Pr02xT.css';
2
- import Vue, { ref, nextTick } from "vue";
1
+ import '../assets/referencePickerModal-0oYth4rX.css';
2
+ import Vue from "vue";
3
3
  import { emit } from "@nextcloud/event-bus";
4
4
  import { A as ArrowLeft } from "./ArrowLeft-DuT2LZOm.mjs";
5
5
  import { C as Close } from "./Close-BtLPUSdO.mjs";
6
- import { d as destroyWidget, a as renderWidget, i as isWidgetRegistered, h as hasInteractiveView, j as isResizable, k as hasFullWidth, f as renderCustomPickerElement, b as destroyCustomPickerElement, c as isCustomPickerElementRegistered, g as getCustomPickerElementSize } from "./customPickerElements-BGmuXU7x.mjs";
6
+ import { a as renderCustomPickerElement, d as destroyCustomPickerElement, i as isCustomPickerElementRegistered, g as getCustomPickerElementSize } from "./customPickerElements-CYpmyl0b.mjs";
7
7
  import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
8
8
  import axios from "@nextcloud/axios";
9
9
  import { loadState } from "@nextcloud/initial-state";
10
10
  import { imagePath, generateOcsUrl } from "@nextcloud/router";
11
- import { r as register, Y as t23, a as t, Z as t8, _ as t47, $ as t41, a0 as t24, z as t43, a1 as t31, m as t18, a2 as t12 } from "./_l10n-DVz9Qdzk.mjs";
11
+ import { r as register, _ as t9, a as t, $ as t48, a0 as t42, a1 as t25, A as t44, a2 as t32, n as t19, a3 as t13 } from "./_l10n-CAnZaLWU.mjs";
12
12
  import { l as logger } from "./logger-D3RVzcfQ.mjs";
13
13
  import NcEmptyContent from "../Components/NcEmptyContent.mjs";
14
14
  import { N as NcHighlight } from "./index-CxTT94_h.mjs";
15
- import { N as NcSelect } from "./NcSelect-DrKzKPZL.mjs";
16
- import { useElementSize, useIntersectionObserver } from "@vueuse/core";
17
- import { RouterLink } from "vue-router";
18
- import { N as NcButton } from "./NcButton-D6Swkr1k.mjs";
19
- import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
20
- import { g as getRoute } from "./autolink-C8BYVvdd.mjs";
15
+ import { N as NcSelect } from "./NcSelect-CxHfXvZV.mjs";
16
+ import { N as NcReferenceWidget } from "./NcReferenceWidget-CMq5QVka.mjs";
21
17
  import NcLoadingIcon from "../Components/NcLoadingIcon.mjs";
22
- import { N as NcTextField } from "./NcTextField-BPhf3E7g.mjs";
23
- import { D as DotsHorizontalIcon } from "./NcActions-JnumflF4.mjs";
18
+ import { N as NcTextField } from "./NcTextField-CQp8XS4C.mjs";
19
+ import { D as DotsHorizontalIcon } from "./NcActions-CX1MSord.mjs";
20
+ import { N as NcButton } from "./NcButton-DAGirW_B.mjs";
24
21
  import NcModal from "../Components/NcModal.mjs";
25
- register(t23);
26
- const IDLE_TIMEOUT = 3 * 60 * 1e3;
27
- const RESIZE_KEYBOARD_STEP = 10;
28
- const _sfc_main$8 = {
29
- name: "NcReferenceWidget",
30
- components: {
31
- NcButton
32
- },
33
- /* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */
34
- props: {
35
- reference: {
36
- type: Object,
37
- required: true
38
- },
39
- interactive: {
40
- type: Boolean,
41
- // eslint-disable-next-line vue/no-boolean-default
42
- default: true
43
- },
44
- interactiveOptIn: {
45
- type: Boolean,
46
- default: false
47
- }
48
- },
49
- setup() {
50
- const widgetId = `nc-reference-widget-${createElementId()}`;
51
- const isVisible = ref(false);
52
- const widgetRoot = ref();
53
- const customWidget = ref();
54
- const { width } = useElementSize(widgetRoot);
55
- const { height: customWidgetHeight } = useElementSize(customWidget);
56
- useIntersectionObserver(widgetRoot, ([entry]) => {
57
- nextTick(() => {
58
- isVisible.value = entry.isIntersecting;
59
- });
60
- });
61
- return {
62
- width,
63
- isVisible,
64
- widgetRoot,
65
- customWidget,
66
- customWidgetHeight,
67
- widgetId,
68
- RESIZE_KEYBOARD_STEP
69
- };
70
- },
71
- data() {
72
- return {
73
- showInteractive: false,
74
- rendered: false,
75
- idleTimeout: null,
76
- isResizing: false,
77
- resizedHeight: null,
78
- resizeStartY: 0,
79
- resizeStartHeight: 0,
80
- resizeMinHeight: 100,
81
- resizeMaxHeight: window.innerHeight - 120
82
- };
83
- },
84
- computed: {
85
- isInteractive() {
86
- return !this.interactiveOptIn && this.interactive || this.showInteractive;
87
- },
88
- hasFullWidth() {
89
- return hasFullWidth(this.reference.richObjectType);
90
- },
91
- isResizable() {
92
- return isResizable(this.reference.richObjectType);
93
- },
94
- hasCustomWidget() {
95
- return isWidgetRegistered(this.reference.richObjectType);
96
- },
97
- customWidgetStyle() {
98
- if (!this.resizedHeight) {
99
- return null;
100
- }
101
- return { height: `${this.resizedHeight}px !important` };
102
- },
103
- ariaValueNow() {
104
- return Math.round(this.resizedHeight ?? this.customWidgetHeight);
105
- },
106
- hasInteractiveView() {
107
- return isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType);
108
- },
109
- noAccess() {
110
- return this.reference && !this.reference.accessible;
111
- },
112
- descriptionStyle() {
113
- if (this.numberOfLines === 0) {
114
- return {
115
- display: "none"
116
- };
117
- }
118
- const lineClamp = this.numberOfLines;
119
- return {
120
- lineClamp,
121
- webkitLineClamp: lineClamp
122
- };
123
- },
124
- numberOfLines() {
125
- const lineCountOffsets = [450, 550, 650, Infinity];
126
- return lineCountOffsets.findIndex((max) => this.width < max);
127
- },
128
- compactLink() {
129
- const link = this.reference.openGraphObject.link;
130
- if (!link) {
131
- return "";
132
- }
133
- if (link.startsWith("https://")) {
134
- return link.substring(8);
135
- }
136
- if (link.startsWith("http://")) {
137
- return link.substring(7);
138
- }
139
- return link;
140
- },
141
- route() {
142
- return getRoute(this.$router, this.reference.openGraphObject.link);
143
- },
144
- referenceWidgetLinkComponent() {
145
- return this.route ? RouterLink : "a";
146
- },
147
- referenceWidgetLinkProps() {
148
- return this.route ? { to: this.route } : { href: this.reference.openGraphObject.link, target: "_blank" };
149
- }
150
- },
151
- watch: {
152
- isVisible: {
153
- handler(val) {
154
- if (!val) {
155
- this.idleTimeout = setTimeout(() => {
156
- if (!this.isVisible) {
157
- this.destroyWidget();
158
- }
159
- }, IDLE_TIMEOUT);
160
- return;
161
- }
162
- if (this.idleTimeout) {
163
- clearTimeout(this.idleTimeout);
164
- this.idleTimeout = null;
165
- }
166
- if (!this.rendered) {
167
- this.renderWidget();
168
- }
169
- },
170
- immediate: true
171
- }
172
- },
173
- beforeDestroy() {
174
- if (this.idleTimeout) {
175
- clearTimeout(this.idleTimeout);
176
- this.idleTimout = null;
177
- }
178
- this.stopResize();
179
- this.destroyWidget();
180
- },
181
- methods: {
182
- t,
183
- enableInteractive() {
184
- this.showInteractive = true;
185
- this.renderWidget();
186
- },
187
- renderWidget() {
188
- if (!this.$refs.customWidgetContent) {
189
- return;
190
- }
191
- if (this?.reference?.richObjectType === "open-graph") {
192
- return;
193
- }
194
- this.$refs.customWidgetContent.innerHTML = "";
195
- const widget = document.createElement("div");
196
- widget.style = "width: 100%;";
197
- this.$refs.customWidgetContent.appendChild(widget);
198
- this.$nextTick(() => {
199
- renderWidget(widget, {
200
- ...this.reference,
201
- interactive: this.isInteractive
202
- });
203
- this.rendered = true;
204
- });
205
- },
206
- destroyWidget() {
207
- if (this.rendered) {
208
- destroyWidget(this.reference.richObjectType, this.$el);
209
- this.rendered = false;
210
- }
211
- },
212
- initResizeLimits() {
213
- const widgetEl = this.$refs.customWidgetContent?.firstElementChild;
214
- if (widgetEl) {
215
- const computedStyle = window.getComputedStyle(widgetEl);
216
- const parsedMin = parseFloat(computedStyle.minHeight);
217
- const parsedMax = parseFloat(computedStyle.maxHeight);
218
- this.resizeMinHeight = parsedMin > 0 ? parsedMin : 100;
219
- this.resizeMaxHeight = Number.isFinite(parsedMax) && parsedMax > 0 ? parsedMax : window.innerHeight - 120;
220
- } else {
221
- this.resizeMinHeight = 100;
222
- this.resizeMaxHeight = window.innerHeight - 120;
223
- }
224
- },
225
- startResize(event) {
226
- if (!this.isResizable || !this.$refs.customWidget) {
227
- return;
228
- }
229
- this.initResizeLimits();
230
- this.isResizing = true;
231
- this.resizeStartY = event.clientY;
232
- this.resizeStartHeight = this.$refs.customWidget.getBoundingClientRect().height;
233
- window.addEventListener("pointermove", this.onResize);
234
- window.addEventListener("pointerup", this.stopResize);
235
- },
236
- onResizeKeydown(delta) {
237
- if (!this.isResizable || !this.$refs.customWidget) {
238
- return;
239
- }
240
- this.initResizeLimits();
241
- const currentHeight = this.resizedHeight ?? this.resizeStartHeight;
242
- const next = currentHeight + delta;
243
- this.resizedHeight = Math.min(this.resizeMaxHeight, Math.max(this.resizeMinHeight, next));
244
- },
245
- onResize(event) {
246
- if (!this.isResizing || !this.$refs.customWidget) {
247
- return;
248
- }
249
- const deltaY = event.clientY - this.resizeStartY;
250
- this.resizedHeight = Math.min(this.resizeMaxHeight, Math.max(this.resizeMinHeight, this.resizeStartHeight + deltaY));
251
- },
252
- stopResize() {
253
- if (!this.isResizing) {
254
- return;
255
- }
256
- this.isResizing = false;
257
- window.removeEventListener("pointermove", this.onResize);
258
- window.removeEventListener("pointerup", this.stopResize);
259
- }
260
- }
261
- };
262
- var _sfc_render$8 = function render() {
263
- var _vm = this, _c = _vm._self._c;
264
- return _c("div", { ref: "widgetRoot", class: { "toggle-interactive": _vm.hasInteractiveView && !_vm.isInteractive } }, [_vm.reference && _vm.hasCustomWidget ? _c("div", { ref: "customWidget", staticClass: "widget-custom", class: {
265
- "full-width": _vm.hasFullWidth
266
- }, style: _vm.customWidgetStyle, attrs: { "id": _vm.widgetId } }, [_c("div", { ref: "customWidgetContent", staticClass: "widget-custom__content" }), _vm.isResizable ? _c("div", { staticClass: "widget-custom__resize-handle", attrs: { "role": "slider", "tabindex": "0", "aria-orientation": "vertical", "aria-label": _vm.t("Widget height"), "aria-valuenow": _vm.ariaValueNow, "aria-valuemin": _vm.resizeMinHeight, "aria-valuemax": _vm.resizeMaxHeight, "aria-controls": _vm.widgetId }, on: { "pointerdown": function($event) {
267
- $event.stopPropagation();
268
- $event.preventDefault();
269
- return _vm.startResize.apply(null, arguments);
270
- }, "keydown": [function($event) {
271
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"])) return null;
272
- $event.stopPropagation();
273
- $event.preventDefault();
274
- return _vm.onResizeKeydown(-_vm.RESIZE_KEYBOARD_STEP);
275
- }, function($event) {
276
- if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "down", 40, $event.key, ["Down", "ArrowDown"])) return null;
277
- $event.stopPropagation();
278
- $event.preventDefault();
279
- return _vm.onResizeKeydown(_vm.RESIZE_KEYBOARD_STEP);
280
- }] } }) : _vm._e()]) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(_vm.referenceWidgetLinkComponent, _vm._b({ tag: "component", staticClass: "widget-default", attrs: { "rel": "noopener noreferrer" } }, "component", _vm.referenceWidgetLinkProps, false), [_vm.reference.openGraphObject.thumb ? _c("img", { staticClass: "widget-default--image", attrs: { "src": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c("div", { staticClass: "widget-default--details" }, [_c("p", { staticClass: "widget-default--name" }, [_vm._v(" " + _vm._s(_vm.reference.openGraphObject.name) + " ")]), _c("p", { staticClass: "widget-default--description", style: _vm.descriptionStyle }, [_vm._v(" " + _vm._s(_vm.reference.openGraphObject.description) + " ")]), _c("p", { staticClass: "widget-default--link" }, [_vm._v(" " + _vm._s(_vm.compactLink) + " ")])])]) : _vm._e(), _vm.interactiveOptIn && _vm.hasInteractiveView && !_vm.isInteractive ? _c("NcButton", { staticClass: "toggle-interactive--button", on: { "click": _vm.enableInteractive } }, [_vm._v(" " + _vm._s(_vm.t("Enable interactive view")) + " ")]) : _vm._e()], 1);
281
- };
282
- var _sfc_staticRenderFns$8 = [];
283
- var __component__$8 = /* @__PURE__ */ normalizeComponent(
284
- _sfc_main$8,
285
- _sfc_render$8,
286
- _sfc_staticRenderFns$8,
287
- false,
288
- null,
289
- "96e3ab0e"
290
- );
291
- const NcReferenceWidget = __component__$8.exports;
292
22
  const _sfc_main$7 = {
293
23
  name: "NcCustomPickerElement",
294
24
  props: {
@@ -346,7 +76,7 @@ const _sfc_main$7 = {
346
76
  }
347
77
  }
348
78
  };
349
- var _sfc_render$7 = function render2() {
79
+ var _sfc_render$7 = function render() {
350
80
  var _vm = this, _c = _vm._self._c;
351
81
  return _c("div", { ref: "domElement" });
352
82
  };
@@ -377,7 +107,7 @@ const _sfc_main$6 = {
377
107
  }
378
108
  }
379
109
  };
380
- var _sfc_render$6 = function render3() {
110
+ var _sfc_render$6 = function render2() {
381
111
  var _vm = this, _c = _vm._self._c;
382
112
  return _c("span", _vm._b({ staticClass: "material-design-icon link-variant-icon", attrs: { "aria-hidden": _vm.title ? null : "true", "aria-label": _vm.title, "role": "img" }, on: { "click": function($event) {
383
113
  return _vm.$emit("click", $event);
@@ -393,7 +123,7 @@ var __component__$6 = /* @__PURE__ */ normalizeComponent(
393
123
  null
394
124
  );
395
125
  const LinkVariantIcon = __component__$6.exports;
396
- register(t8);
126
+ register(t9);
397
127
  const anyLinkProviderId = "any-link";
398
128
  const anyLinkProvider = {
399
129
  id: anyLinkProviderId,
@@ -448,7 +178,7 @@ async function touchProvider(providerId) {
448
178
  await axios.put(url, { timestamp });
449
179
  window._vue_richtext_reference_provider_timestamps[providerId] = timestamp;
450
180
  }
451
- register(t41, t47);
181
+ register(t42, t48);
452
182
  let mytimer = 0;
453
183
  function delay(callback, ms) {
454
184
  return function() {
@@ -522,7 +252,7 @@ const _sfc_main$5 = {
522
252
  }
523
253
  }
524
254
  };
525
- var _sfc_render$5 = function render4() {
255
+ var _sfc_render$5 = function render3() {
526
256
  var _vm = this, _c = _vm._self._c;
527
257
  return _c("div", { staticClass: "provider-list" }, [_c("NcSelect", { ref: "provider-select", staticClass: "provider-list--select", attrs: { "input-id": "provider-select-input", "label": "title", "placeholder": _vm.multiselectPlaceholder, "options": _vm.options, "append-to-body": false, "clear-search-on-select": true, "clear-search-on-blur": () => false, "filterable": false }, on: { "search": _vm.onSearch, "input": _vm.onProviderSelected }, scopedSlots: _vm._u([{ key: "option", fn: function(option) {
528
258
  return [option.isLink ? _c("div", { staticClass: "provider" }, [_c("LinkVariantIcon", { staticClass: "link-icon", attrs: { "size": 20 } }), _c("span", [_vm._v(_vm._s(option.title))])], 1) : _c("div", { staticClass: "provider" }, [_c("img", { staticClass: "provider-icon", attrs: { "src": option.icon_url, "alt": _vm.providerIconAlt } }), _c("NcHighlight", { staticClass: "option-text", attrs: { "search": _vm.query, "text": option.title } })], 1)];
@@ -542,7 +272,7 @@ var __component__$5 = /* @__PURE__ */ normalizeComponent(
542
272
  "f39d58d9"
543
273
  );
544
274
  const NcProviderList = __component__$5.exports;
545
- register(t24);
275
+ register(t25);
546
276
  const _sfc_main$4 = {
547
277
  name: "NcRawLinkInput",
548
278
  components: {
@@ -618,7 +348,7 @@ const _sfc_main$4 = {
618
348
  }
619
349
  }
620
350
  };
621
- var _sfc_render$4 = function render5() {
351
+ var _sfc_render$4 = function render4() {
622
352
  var _vm = this, _c = _vm._self._c;
623
353
  return _c("div", { staticClass: "raw-link" }, [_c("div", { staticClass: "input-wrapper" }, [_c("NcTextField", { ref: "url-input", attrs: { "value": _vm.inputValue, "show-trailing-button": _vm.inputValue !== "", "label": _vm.inputPlaceholder }, on: { "update:value": [function($event) {
624
354
  _vm.inputValue = $event;
@@ -662,7 +392,7 @@ const _sfc_main$3 = {
662
392
  }
663
393
  }
664
394
  };
665
- var _sfc_render$3 = function render6() {
395
+ var _sfc_render$3 = function render5() {
666
396
  var _vm = this, _c = _vm._self._c;
667
397
  return _c("div", { staticClass: "result" }, [_vm.entry.icon ? _c("div", { staticClass: "result--icon-class", class: { [_vm.entry.icon]: true, rounded: _vm.entry.rounded } }) : _c("img", { staticClass: "result--image", class: { rounded: _vm.entry.rounded }, attrs: { "src": _vm.entry.thumbnailUrl } }), _c("div", { staticClass: "result--content" }, [_c("span", { staticClass: "result--content--name" }, [_c("NcHighlight", { attrs: { "search": _vm.query, "text": _vm.entry.title } })], 1), _c("span", { staticClass: "result--content--subline" }, [_c("NcHighlight", { attrs: { "search": _vm.query, "text": _vm.entry.subline } })], 1)])]);
668
398
  };
@@ -676,7 +406,7 @@ var __component__$3 = /* @__PURE__ */ normalizeComponent(
676
406
  "995c2758"
677
407
  );
678
408
  const NcSearchResult = __component__$3.exports;
679
- register(t31, t41, t43);
409
+ register(t32, t42, t44);
680
410
  const LIMIT = 5;
681
411
  const _sfc_main$2 = {
682
412
  name: "NcSearch",
@@ -871,7 +601,7 @@ const _sfc_main$2 = {
871
601
  }
872
602
  }
873
603
  };
874
- var _sfc_render$2 = function render7() {
604
+ var _sfc_render$2 = function render6() {
875
605
  var _vm = this, _c = _vm._self._c;
876
606
  return _c("div", { staticClass: "smart-picker-search", class: { "with-empty-content": _vm.showEmptyContent } }, [_c("NcSelect", { ref: "search-select", staticClass: "smart-picker-search--select", attrs: { "input-id": "search-select-input", "label": "name", "placeholder": _vm.mySearchPlaceholder, "options": _vm.options, "append-to-body": false, "close-on-select": false, "clear-search-on-select": false, "clear-search-on-blur": () => false, "reset-focus-on-options-change": false, "filterable": false, "autoscroll": true, "reset-on-options-change": false, "loading": _vm.searching }, on: { "search": _vm.onSearchInput, "input": _vm.onSelectResultSelected }, scopedSlots: _vm._u([{ key: "option", fn: function(option) {
877
607
  return [option.isRawLink ? _c("div", { staticClass: "custom-option" }, [_c("LinkVariantIcon", { staticClass: "option-simple-icon", attrs: { "size": 20 } }), _c("span", { staticClass: "option-text" }, [_vm._v(" " + _vm._s(_vm.t("Raw link {options}", { options: option.resourceUrl })) + " ")])], 1) : option.resourceUrl ? _c("NcSearchResult", { staticClass: "search-result", attrs: { "entry": option, "query": _vm.searchQuery } }) : option.isCustomGroupTitle ? _c("span", { staticClass: "custom-option group-name" }, [_vm.provider.icon_url ? _c("img", { staticClass: "provider-icon group-name-icon", attrs: { "src": _vm.provider.icon_url } }) : _vm._e(), _c("span", { staticClass: "option-text" }, [_c("strong", [_vm._v(_vm._s(option.name))])])]) : option.isMore ? _c("span", { staticClass: "custom-option" }, [option.isLoading ? _c("span", { staticClass: "option-simple-icon icon-loading-small" }) : _c("DotsHorizontalIcon", { staticClass: "option-simple-icon", attrs: { "size": 20 } }), _c("span", { staticClass: "option-text" }, [_vm._v(" " + _vm._s(_vm.t('Load more "{options}"', { options: option.name })) + " ")])], 1) : _vm._e()];
@@ -1015,7 +745,7 @@ const _sfc_main$1 = {
1015
745
  }
1016
746
  }
1017
747
  };
1018
- var _sfc_render$1 = function render8() {
748
+ var _sfc_render$1 = function render7() {
1019
749
  var _vm = this, _c = _vm._self._c;
1020
750
  return _c("div", { staticClass: "reference-picker", style: _vm.pickerWrapperStyle, attrs: { "tabindex": "-1" }, on: { "keydown": function($event) {
1021
751
  if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) return null;
@@ -1034,7 +764,7 @@ var __component__$1 = /* @__PURE__ */ normalizeComponent(
1034
764
  "646d5538"
1035
765
  );
1036
766
  const NcReferencePicker = __component__$1.exports;
1037
- register(t12, t18);
767
+ register(t13, t19);
1038
768
  const _sfc_main = {
1039
769
  name: "NcReferencePickerModal",
1040
770
  components: {
@@ -1125,7 +855,7 @@ const _sfc_main = {
1125
855
  }
1126
856
  }
1127
857
  };
1128
- var _sfc_render = function render9() {
858
+ var _sfc_render = function render8() {
1129
859
  var _vm = this, _c = _vm._self._c;
1130
860
  return _vm.show ? _c("NcModal", { staticClass: "reference-picker-modal", attrs: { "size": _vm.modalSize, "can-close": true }, on: { "close": _vm.onCancel } }, [_c("div", { ref: "modal_content", staticClass: "reference-picker-modal--content" }, [_vm.showBackButton ? _c("NcButton", { staticClass: "back-button", attrs: { "aria-label": _vm.backButtonTitle, "title": _vm.backButtonTitle }, on: { "click": _vm.onBackClicked }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
1131
861
  return [_c("ArrowLeftIcon")];
@@ -1174,9 +904,8 @@ export {
1174
904
  getProviders as c,
1175
905
  sortProviders as d,
1176
906
  NcReferencePickerModal as e,
1177
- NcReferenceWidget as f,
907
+ NcSearch as f,
1178
908
  getLinkWithPicker as g,
1179
- NcSearch as h,
1180
909
  searchProvider as s
1181
910
  };
1182
- //# sourceMappingURL=referencePickerModal-DnsOMAHk.mjs.map
911
+ //# sourceMappingURL=referencePickerModal-P_15xB7f.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referencePickerModal-P_15xB7f.mjs","sources":["../../src/components/NcRichText/NcReferencePicker/NcCustomPickerElement.vue","../../node_modules/vue-material-design-icons/LinkVariant.vue","../../src/functions/reference/providerHelper.ts","../../src/components/NcRichText/NcReferencePicker/utils.js","../../src/components/NcRichText/NcReferencePicker/NcProviderList.vue","../../src/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue","../../src/components/NcRichText/NcReferencePicker/NcSearchResult.vue","../../src/components/NcRichText/NcReferencePicker/NcSearch.vue","../../src/components/NcRichText/NcReferencePicker/NcReferencePicker.vue","../../src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue","../../src/functions/reference/referencePickerModal.ts"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div ref=\"domElement\" />\n</template>\n\n<script>\nimport {\n\tdestroyCustomPickerElement,\n\tisCustomPickerElementRegistered,\n\trenderCustomPickerElement,\n} from '../../../functions/reference/customPickerElements.ts'\n\nexport default {\n\tname: 'NcCustomPickerElement',\n\tprops: {\n\t\t/**\n\t\t * The reference provider\n\t\t */\n\t\tprovider: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: [\n\t\t'cancel',\n\t\t'submit',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tisRegistered: isCustomPickerElementRegistered(this.provider.id),\n\t\t\trenderResult: null,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.isRegistered) {\n\t\t\tthis.renderElement()\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tif (this.isRegistered) {\n\t\t\tdestroyCustomPickerElement(this.provider.id, this.$el, this.renderResult)\n\t\t}\n\t},\n\n\tmethods: {\n\t\trenderElement() {\n\t\t\tif (this.$refs.domElement) {\n\t\t\t\tthis.$refs.domElement.innerHTML = ''\n\t\t\t}\n\n\t\t\tconst renderFunctionResult = renderCustomPickerElement(this.$refs.domElement, { providerId: this.provider.id, accessible: false })\n\t\t\t// this works whether renderCustomPickerElement returns a promise or a value\n\t\t\tPromise.resolve(renderFunctionResult).then((result) => {\n\t\t\t\tthis.renderResult = result\n\t\t\t\tif (this.renderResult.object?._isVue && this.renderResult.object?.$on) {\n\t\t\t\t\tthis.renderResult.object.$on('submit', this.onSubmit)\n\t\t\t\t\tthis.renderResult.object.$on('cancel', this.onCancel)\n\t\t\t\t}\n\t\t\t\tthis.renderResult.element.addEventListener('submit', (e) => {\n\t\t\t\t\tthis.onSubmit(e.detail)\n\t\t\t\t})\n\t\t\t\tthis.renderResult.element.addEventListener('cancel', this.onCancel)\n\t\t\t})\n\t\t},\n\n\t\tonSubmit(value) {\n\t\t\tthis.$emit('submit', value)\n\t\t},\n\n\t\tonCancel() {\n\t\t\tthis.$emit('cancel')\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// nothing yet\n</style>\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon link-variant-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LinkVariantIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl, imagePath } from '@nextcloud/router'\nimport { t } from '../../l10n.js'\nimport { logger } from '../../utils/logger.ts'\nimport { isCustomPickerElementRegistered } from './customPickerElements.ts'\n\nexport interface ReferenceProvider {\n\tid: string\n\ttitle: string\n\ticon_url: string\n\torder: number\n\tsearch_providers_ids?: string[]\n}\n\nexport const anyLinkProviderId = 'any-link'\n\nconst anyLinkProvider: ReferenceProvider = {\n\tid: anyLinkProviderId,\n\ttitle: t('Any link'),\n\torder: 0,\n\ticon_url: imagePath('core', 'filetypes/link.svg'),\n}\n\n// only get the provider list once, even if functions of this file are imported multiple times by different apps/components\nwindow._vue_richtext_reference_providers ??= loadState('core', 'reference-provider-list', [])\n// single timestamps object used by every entity in the page\nwindow._vue_richtext_reference_provider_timestamps ??= loadState('core', 'reference-provider-timestamps', {})\n\n/**\n * @param providerId - The provider ID\n * @return The provider object\n */\nexport function getProvider(providerId: string): ReferenceProvider | undefined {\n\tif (providerId === anyLinkProviderId) {\n\t\treturn anyLinkProvider\n\t}\n\n\treturn getProviders().find((p) => p.id === providerId)\n}\n\n/**\n * Get raw provider list as it was provided by the server\n */\nexport function getProviders(): ReferenceProvider[] {\n\treturn window._vue_richtext_reference_providers.filter((p) => {\n\t\t// avoid providers with no associated search provider and no custom component registered\n\t\tconst keep = (!!p.search_providers_ids && p.search_providers_ids.length > 0) || isCustomPickerElementRegistered(p.id)\n\t\tif (!keep) {\n\t\t\tlogger.debug(`[smart picker] ${p.id} reference provider is discoverable but does not have any related search provider or custom picker component registered`)\n\t\t}\n\t\treturn keep\n\t})\n}\n\n/**\n * Helper function to sort a list of providers according to 2 factors:\n * - their \"last used timestamp\"\n * - their \"order\" property (coming from the provider declaration in the server implementation)\n *\n * @param providerList - List of provider objects\n * @return The sorted provider list\n */\nexport function sortProviders(providerList: ReferenceProvider[]): ReferenceProvider[] {\n\tconst timestamps = window._vue_richtext_reference_provider_timestamps\n\n\treturn providerList.sort((a, b) => {\n\t\treturn a.order === b.order\n\t\t\t? 0\n\t\t\t: a.order > b.order\n\t\t\t\t? 1\n\t\t\t\t: -1\n\t}).sort((a, b) => {\n\t\tconst ta = timestamps[a.id]\n\t\tconst tb = timestamps[b.id]\n\t\treturn ta === tb\n\t\t\t? 0\n\t\t\t: tb === undefined\n\t\t\t\t? -1\n\t\t\t\t: ta === undefined\n\t\t\t\t\t? 1\n\t\t\t\t\t: ta > tb\n\t\t\t\t\t\t? -1\n\t\t\t\t\t\t: 1\n\t})\n}\n\n/**\n * Helper function to search a provider from a search query\n * Result is a sorted list of providers\n *\n * @param query - The search query\n * @param limit - (optional) max number of results\n * @return The sorted/filtered provider list\n */\nexport function searchProvider(query: string, limit?: number): ReferenceProvider[] {\n\tconst providers = getProviders()\n\tconst escapedQuery = query.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\n\tconst regexp = new RegExp(escapedQuery, 'i')\n\tconst sortedProviders = sortProviders(providers)\n\tconst filteredSortedProviders = sortedProviders.filter((p) => {\n\t\treturn p.title.match(regexp)\n\t})\n\n\tconst searchResult = limit\n\t\t? filteredSortedProviders.slice(0, limit)\n\t\t: filteredSortedProviders\n\n\t// append the 'any link' provider in the full list or when there is no result\n\tif (query === '' || searchResult.length === 0) {\n\t\tsearchResult.push(anyLinkProvider)\n\t}\n\treturn searchResult\n}\n\n/**\n * Update the \"last used timestamp\" on the server side and then locally in the frontend\n *\n * @param providerId - The id of the search provider\n */\nexport async function touchProvider(providerId: number) {\n\tconst timestamp = Math.floor(Date.now() / 1000)\n\tconst url = generateOcsUrl('references/provider/{providerId}', { providerId })\n\n\tawait axios.put(url, { timestamp })\n\twindow._vue_richtext_reference_provider_timestamps[providerId] = timestamp\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nlet mytimer = 0\n/**\n *\n * @param {Function} callback The callback to call after the delay\n * @param {number} ms The delay in milli-seconds\n */\nexport function delay(callback, ms) {\n\treturn function() {\n\t\tconst context = this\n\t\tconst args = arguments\n\t\tclearTimeout(mytimer)\n\t\tmytimer = setTimeout(function() {\n\t\t\tcallback.apply(context, args)\n\t\t}, ms || 0)\n\t}\n}\n/**\n *\n * @param {string} str The url\n */\nexport function isUrl(str) {\n\ttry {\n\t\treturn Boolean(new URL(str))\n\t} catch {\n\t\treturn false\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"provider-list\">\n\t\t<NcSelect\n\t\t\tref=\"provider-select\"\n\t\t\tv-model=\"selectedProvider\"\n\t\t\tclass=\"provider-list--select\"\n\t\t\tinput-id=\"provider-select-input\"\n\t\t\tlabel=\"title\"\n\t\t\t:placeholder=\"multiselectPlaceholder\"\n\t\t\t:options=\"options\"\n\t\t\t:append-to-body=\"false\"\n\t\t\t:clear-search-on-select=\"true\"\n\t\t\t:clear-search-on-blur=\"() => false\"\n\t\t\t:filterable=\"false\"\n\t\t\t@search=\"onSearch\"\n\t\t\t@input=\"onProviderSelected\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<div v-if=\"option.isLink\" class=\"provider\">\n\t\t\t\t\t<LinkVariantIcon class=\"link-icon\" :size=\"20\" />\n\t\t\t\t\t<span>{{ option.title }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div v-else class=\"provider\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclass=\"provider-icon\"\n\t\t\t\t\t\t:src=\"option.icon_url\"\n\t\t\t\t\t\t:alt=\"providerIconAlt\">\n\t\t\t\t\t<NcHighlight\n\t\t\t\t\t\tclass=\"option-text\"\n\t\t\t\t\t\t:search=\"query\"\n\t\t\t\t\t\t:text=\"option.title\" />\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<NcEmptyContent class=\"provider-list--empty-content\">\n\t\t\t<template #icon>\n\t\t\t\t<LinkVariantIcon />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t</div>\n</template>\n\n<script>\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\nimport { searchProvider } from '../../../functions/reference/providerHelper.ts'\nimport { t } from '../../../l10n.js'\nimport NcEmptyContent from '../../NcEmptyContent/index.js'\nimport NcHighlight from '../../NcHighlight/index.js'\nimport NcSelect from '../../NcSelect/index.js'\nimport { isUrl } from './utils.js'\n\nexport default {\n\tname: 'NcProviderList',\n\tcomponents: {\n\t\tNcSelect,\n\t\tNcHighlight,\n\t\tNcEmptyContent,\n\t\tLinkVariantIcon,\n\t},\n\n\temits: [\n\t\t'select-provider',\n\t\t'submit',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedProvider: null,\n\t\t\tquery: '',\n\t\t\tmultiselectPlaceholder: t('Select provider'),\n\t\t\tproviderIconAlt: t('Provider icon'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\toptions() {\n\t\t\tconst result = []\n\t\t\tif (this.query !== '' && isUrl(this.query)) {\n\t\t\t\tresult.push({\n\t\t\t\t\tid: this.query,\n\t\t\t\t\ttitle: this.query,\n\t\t\t\t\tisLink: true,\n\t\t\t\t})\n\t\t\t}\n\t\t\tresult.push(...searchProvider(this.query))\n\t\t\treturn result\n\t\t},\n\t},\n\n\tmethods: {\n\t\tfocus() {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.$refs['provider-select']?.$el?.querySelector('#provider-select-input')?.focus()\n\t\t\t}, 300)\n\t\t},\n\n\t\tonProviderSelected(p) {\n\t\t\tif (p !== null) {\n\t\t\t\tif (p.isLink) {\n\t\t\t\t\tthis.$emit('submit', p.title)\n\t\t\t\t} else {\n\t\t\t\t\tthis.$emit('select-provider', p)\n\t\t\t\t}\n\t\t\t\tthis.selectedProvider = null\n\t\t\t}\n\t\t},\n\n\t\tonSearch(query) {\n\t\t\tthis.query = query\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.provider-list {\n\twidth: 100%;\n\tmin-height: 400px;\n\tpadding: 0 16px 16px 16px;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&--select {\n\t\twidth: 100%;\n\n\t\t.provider {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\theight: 28px;\n\t\t\toverflow: hidden;\n\n\t\t\t.link-icon {\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t}\n\n\t\t\t.provider-icon {\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tobject-fit: contain;\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t\tfilter: var(--background-invert-if-dark);\n\t\t\t}\n\n\t\t\t.option-text {\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t}\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"raw-link\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<NcTextField\n\t\t\t\tref=\"url-input\"\n\t\t\t\t:value.sync=\"inputValue\"\n\t\t\t\t:show-trailing-button=\"inputValue !== ''\"\n\t\t\t\t:label=\"inputPlaceholder\"\n\t\t\t\t@trailing-button-click=\"onClear\"\n\t\t\t\t@update:value=\"onInput\"\n\t\t\t\t@keyup.native.enter=\"onSubmit\">\n\t\t\t\t<NcLoadingIcon v-if=\"loading\" :size=\"16\" />\n\t\t\t\t<LinkVariantIcon v-else :size=\"16\" />\n\t\t\t</NcTextField>\n\t\t</div>\n\t\t<NcReferenceWidget\n\t\t\tv-if=\"reference !== null\"\n\t\t\tclass=\"reference-widget\"\n\t\t\t:reference=\"reference\" />\n\t\t<NcEmptyContent\n\t\t\tv-else\n\t\t\tclass=\"raw-link--empty-content\">\n\t\t\t<template #icon>\n\t\t\t\t<img\n\t\t\t\t\tv-if=\"provider.icon_url\"\n\t\t\t\t\tclass=\"provider-icon\"\n\t\t\t\t\t:src=\"provider.icon_url\">\n\t\t\t\t<LinkVariantIcon v-else />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\nimport NcReferenceWidget from '../NcReferenceWidget.vue'\nimport { t } from '../../../l10n.js'\nimport { logger } from '../../../utils/logger.ts'\nimport NcEmptyContent from '../../NcEmptyContent/index.js'\nimport NcLoadingIcon from '../../NcLoadingIcon/index.js'\nimport NcTextField from '../../NcTextField/index.js'\nimport { delay, isUrl } from './utils.js'\n\nexport default {\n\tname: 'NcRawLinkInput',\n\tcomponents: {\n\t\tLinkVariantIcon,\n\t\tNcEmptyContent,\n\t\tNcLoadingIcon,\n\t\tNcReferenceWidget,\n\t\tNcTextField,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The reference provider\n\t\t */\n\t\tprovider: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: [\n\t\t'submit',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tinputValue: '',\n\t\t\tloading: false,\n\t\t\treference: null,\n\t\t\tabortController: null,\n\t\t\tinputPlaceholder: t('Enter link'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisLinkValid() {\n\t\t\treturn isUrl(this.inputValue)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tfocus() {\n\t\t\tthis.$refs['url-input'].$el.getElementsByTagName('input')[0]?.focus()\n\t\t},\n\n\t\tonSubmit(e) {\n\t\t\tconst value = e.target.value\n\t\t\tif (this.isLinkValid) {\n\t\t\t\tthis.$emit('submit', value)\n\t\t\t}\n\t\t},\n\n\t\tonClear() {\n\t\t\tthis.inputValue = ''\n\t\t\tthis.reference = null\n\t\t},\n\n\t\tonInput() {\n\t\t\tthis.reference = null\n\t\t\tif (this.abortController) {\n\t\t\t\tthis.abortController.abort()\n\t\t\t}\n\t\t\tif (this.isLinkValid) {\n\t\t\t\tdelay(() => {\n\t\t\t\t\tthis.updateReference()\n\t\t\t\t}, 500)()\n\t\t\t}\n\t\t},\n\n\t\tupdateReference() {\n\t\t\tthis.loading = true\n\t\t\tthis.abortController = new AbortController()\n\t\t\taxios.get(generateOcsUrl('references/resolve', 2) + '?reference=' + encodeURIComponent(this.inputValue), {\n\t\t\t\tsignal: this.abortController.signal,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tthis.reference = response.data.ocs.data.references[this.inputValue]\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tlogger.error('Could not update reference', { error })\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading = false\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.raw-link {\n\twidth: 100%;\n\tmin-height: 350px;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow-y: auto;\n\tpadding: 0 16px 16px 16px;\n\n\t.input-wrapper {\n\t\twidth: 100%;\n\t}\n\n\t.reference-widget {\n\t\tdisplay: flex;\n\t}\n\n\t&--empty-content .provider-icon {\n\t\twidth: 150px;\n\t\theight: 150px;\n\t\tobject-fit: contain;\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t&--input {\n\t\twidth: 99%;\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"result\">\n\t\t<div\n\t\t\tv-if=\"entry.icon\"\n\t\t\t:class=\"{ [entry.icon]: true, rounded: entry.rounded }\"\n\t\t\tclass=\"result--icon-class\" />\n\t\t<img\n\t\t\tv-else\n\t\t\tclass=\"result--image\"\n\t\t\t:class=\"{ rounded: entry.rounded }\"\n\t\t\t:src=\"entry.thumbnailUrl\">\n\t\t<div class=\"result--content\">\n\t\t\t<span class=\"result--content--name\">\n\t\t\t\t<NcHighlight :search=\"query\" :text=\"entry.title\" />\n\t\t\t</span>\n\t\t\t<span class=\"result--content--subline\">\n\t\t\t\t<NcHighlight :search=\"query\" :text=\"entry.subline\" />\n\t\t\t</span>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcHighlight from '../../NcHighlight/index.js'\n\nexport default {\n\tname: 'NcSearchResult',\n\tcomponents: {\n\t\tNcHighlight,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unified search result entry\n\t\t */\n\t\tentry: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * The query that led to getting this result\n\t\t * Used to highlight the entry text\n\t\t */\n\t\tquery: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: var(--default-clickable-area);\n\toverflow: hidden;\n\n\t&--icon-class,\n\t&--image {\n\t\twidth: 40px;\n\t\tmin-width: 40px;\n\t\theight: 40px;\n\t\tobject-fit: contain;\n\n\t\t&.rounded {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n\n\t&--content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding-inline-start: 10px;\n\t\toverflow: hidden;\n\n\t\t&--name,\n\t\t&--subline {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"smart-picker-search\" :class=\"{ 'with-empty-content': showEmptyContent }\">\n\t\t<NcSelect\n\t\t\tref=\"search-select\"\n\t\t\tv-model=\"selectedResult\"\n\t\t\tclass=\"smart-picker-search--select\"\n\t\t\tinput-id=\"search-select-input\"\n\t\t\tlabel=\"name\"\n\t\t\t:placeholder=\"mySearchPlaceholder\"\n\t\t\t:options=\"options\"\n\t\t\t:append-to-body=\"false\"\n\t\t\t:close-on-select=\"false\"\n\t\t\t:clear-search-on-select=\"false\"\n\t\t\t:clear-search-on-blur=\"() => false\"\n\t\t\t:reset-focus-on-options-change=\"false\"\n\t\t\t:filterable=\"false\"\n\t\t\t:autoscroll=\"true\"\n\t\t\t:reset-on-options-change=\"false\"\n\t\t\t:loading=\"searching\"\n\t\t\t@search=\"onSearchInput\"\n\t\t\t@input=\"onSelectResultSelected\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<div v-if=\"option.isRawLink\" class=\"custom-option\">\n\t\t\t\t\t<LinkVariantIcon class=\"option-simple-icon\" :size=\"20\" />\n\t\t\t\t\t<span class=\"option-text\">\n\t\t\t\t\t\t{{ t('Raw link {options}', { options: option.resourceUrl }) }}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<NcSearchResult\n\t\t\t\t\tv-else-if=\"option.resourceUrl\"\n\t\t\t\t\tclass=\"search-result\"\n\t\t\t\t\t:entry=\"option\"\n\t\t\t\t\t:query=\"searchQuery\" />\n\t\t\t\t<span v-else-if=\"option.isCustomGroupTitle\" class=\"custom-option group-name\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"provider.icon_url\"\n\t\t\t\t\t\tclass=\"provider-icon group-name-icon\"\n\t\t\t\t\t\t:src=\"provider.icon_url\">\n\t\t\t\t\t<span class=\"option-text\">\n\t\t\t\t\t\t<strong>{{ option.name }}</strong>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<span v-else-if=\"option.isMore\" class=\"custom-option\">\n\t\t\t\t\t<span v-if=\"option.isLoading\" class=\"option-simple-icon icon-loading-small\" />\n\t\t\t\t\t<DotsHorizontalIcon v-else class=\"option-simple-icon\" :size=\"20\" />\n\t\t\t\t\t<span class=\"option-text\">\n\t\t\t\t\t\t{{ t('Load more \"{options}\"', { options: option.name }) }}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #no-options>\n\t\t\t\t{{ noOptionsText }}\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<NcEmptyContent\n\t\t\tv-if=\"showEmptyContent\"\n\t\t\tclass=\"smart-picker-search--empty-content\">\n\t\t\t<template #icon>\n\t\t\t\t<img\n\t\t\t\t\tv-if=\"provider.icon_url\"\n\t\t\t\t\tclass=\"provider-icon\"\n\t\t\t\t\t:alt=\"providerIconAlt\"\n\t\t\t\t\t:src=\"provider.icon_url\">\n\t\t\t\t<LinkVariantIcon v-else />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\nimport NcSearchResult from './NcSearchResult.vue'\nimport { t } from '../../../l10n.js'\nimport NcEmptyContent from '../../NcEmptyContent/index.js'\nimport NcSelect from '../../NcSelect/index.js'\nimport { delay, isUrl } from './utils.js'\n\nconst LIMIT = 5\n\nexport default {\n\tname: 'NcSearch',\n\tcomponents: {\n\t\tLinkVariantIcon,\n\t\tDotsHorizontalIcon,\n\t\tNcEmptyContent,\n\t\tNcSelect,\n\t\tNcSearchResult,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\t/**\n\t\t * The selected reference provider\n\t\t */\n\t\tprovider: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tshowEmptyContent: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Placeholder of the search\n\t\t */\n\t\tsearchPlaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'submit',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tsearchQuery: '',\n\t\t\tselectedResult: null,\n\t\t\tresultsBySearchProvider: {},\n\t\t\tsearching: false,\n\t\t\tsearchingMoreOf: null,\n\t\t\tabortController: null,\n\t\t\tnoOptionsText: t('Start typing to search'),\n\t\t\tproviderIconAlt: t('Provider icon'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmySearchPlaceholder() {\n\t\t\treturn this.searchPlaceholder || t('Search')\n\t\t},\n\n\t\tsearchProviderIds() {\n\t\t\treturn this.provider.search_providers_ids\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.searchQuery === '') {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\tconst options = []\n\t\t\tif (isUrl(this.searchQuery)) {\n\t\t\t\toptions.push(this.rawLinkEntry)\n\t\t\t}\n\t\t\toptions.push(...this.formattedSearchResults)\n\t\t\treturn options\n\t\t},\n\n\t\trawLinkEntry() {\n\t\t\treturn {\n\t\t\t\tid: 'rawLinkEntry',\n\t\t\t\tresourceUrl: this.searchQuery,\n\t\t\t\tisRawLink: true,\n\t\t\t}\n\t\t},\n\n\t\tformattedSearchResults() {\n\t\t\tconst results = []\n\t\t\tthis.searchProviderIds.forEach((pid) => {\n\t\t\t\tif (this.resultsBySearchProvider[pid].entries.length > 0) {\n\t\t\t\t\t// don't show group name entry if there is only one search provider and one result\n\t\t\t\t\tif (this.searchProviderIds.length > 1 || this.resultsBySearchProvider[pid].entries.length > 1) {\n\t\t\t\t\t\tresults.push({\n\t\t\t\t\t\t\tid: 'groupTitle-' + pid,\n\t\t\t\t\t\t\tname: this.resultsBySearchProvider[pid].name,\n\t\t\t\t\t\t\tisCustomGroupTitle: true,\n\t\t\t\t\t\t\tproviderId: pid,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tconst providerEntriesWithId = this.resultsBySearchProvider[pid].entries.map((entry, index) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: 'provider-' + pid + '-entry-' + index,\n\t\t\t\t\t\t\t...entry,\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tresults.push(...providerEntriesWithId)\n\t\t\t\t\tif (this.resultsBySearchProvider[pid].isPaginated) {\n\t\t\t\t\t\tresults.push({\n\t\t\t\t\t\t\tid: 'moreOf-' + pid,\n\t\t\t\t\t\t\tname: this.resultsBySearchProvider[pid].name,\n\t\t\t\t\t\t\tisMore: true,\n\t\t\t\t\t\t\tproviderId: pid,\n\t\t\t\t\t\t\tisLoading: this.searchingMoreOf === pid,\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\treturn results\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.resetResults()\n\t},\n\n\tbeforeDestroy() {\n\t\tthis.cancelSearchRequests()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tresetResults() {\n\t\t\tconst resultsBySearchProvider = {}\n\t\t\tthis.searchProviderIds.forEach((pid) => {\n\t\t\t\tresultsBySearchProvider[pid] = {\n\t\t\t\t\tentries: [],\n\t\t\t\t}\n\t\t\t})\n\t\t\tthis.resultsBySearchProvider = resultsBySearchProvider\n\t\t},\n\n\t\tfocus() {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.$refs['search-select']?.$el?.querySelector('#search-select-input')?.focus()\n\t\t\t}, 300)\n\t\t},\n\n\t\tcancelSearchRequests() {\n\t\t\tif (this.abortController) {\n\t\t\t\tthis.abortController.abort()\n\t\t\t}\n\t\t},\n\n\t\tonSearchInput(query) {\n\t\t\tthis.searchQuery = query\n\t\t\tdelay(() => {\n\t\t\t\tthis.updateSearch()\n\t\t\t}, 500)()\n\t\t},\n\n\t\tonSelectResultSelected(item) {\n\t\t\tif (item !== null) {\n\t\t\t\tif (item.resourceUrl) {\n\t\t\t\t\tthis.cancelSearchRequests()\n\t\t\t\t\tthis.$emit('submit', item.resourceUrl)\n\t\t\t\t} else if (item.isMore) {\n\t\t\t\t\tthis.searchMoreOf(item.providerId).then(() => {\n\t\t\t\t\t\t// allow clicking twice on the same \"more\" item\n\t\t\t\t\t\tthis.selectedResult = null\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tsearchMoreOf(searchProviderId) {\n\t\t\tthis.searchingMoreOf = searchProviderId\n\t\t\tthis.cancelSearchRequests()\n\t\t\treturn this.searchProviders(searchProviderId)\n\t\t},\n\n\t\tupdateSearch() {\n\t\t\tthis.cancelSearchRequests()\n\t\t\tthis.resetResults()\n\t\t\tif (this.searchQuery === '') {\n\t\t\t\tthis.searching = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\treturn this.searchProviders()\n\t\t},\n\n\t\tsearchProviders(searchProviderId = null) {\n\t\t\tthis.abortController = new AbortController()\n\t\t\tthis.searching = true\n\n\t\t\tconst searchPromises = searchProviderId === null\n\t\t\t\t? [...this.searchProviderIds].map((pid) => {\n\t\t\t\t\t\treturn this.searchOneProvider(pid)\n\t\t\t\t\t})\n\t\t\t\t: [this.searchOneProvider(searchProviderId, this.resultsBySearchProvider[searchProviderId]?.cursor ?? null)]\n\t\t\t// fake one to have a request error\n\t\t\t// searchPromises.push(this.searchOneProvider('nopid'))\n\n\t\t\treturn Promise.allSettled(searchPromises)\n\t\t\t\t.then((promises) => {\n\t\t\t\t\tconst isOneCanceled = !!promises.find((p) => {\n\t\t\t\t\t\treturn p.status === 'rejected' && (p.reason.name === 'CanceledError' || p.reason.code === 'ERR_CANCELED')\n\t\t\t\t\t})\n\t\t\t\t\t// nothing was canceled: not searching\n\t\t\t\t\tif (!isOneCanceled) {\n\t\t\t\t\t\tthis.searching = false\n\t\t\t\t\t\tthis.searchingMoreOf = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\n\t\tsearchOneProvider(providerId, cursor = null) {\n\t\t\tconst url = cursor === null\n\t\t\t\t? generateOcsUrl('search/providers/{providerId}/search?term={term}&limit={limit}', { providerId, term: this.searchQuery, limit: LIMIT })\n\t\t\t\t: generateOcsUrl('search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}', { providerId, term: this.searchQuery, limit: LIMIT, cursor })\n\t\t\treturn axios.get(url, {\n\t\t\t\tsignal: this.abortController.signal,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst data = response.data.ocs.data\n\t\t\t\t\tthis.resultsBySearchProvider[providerId].name = data.name\n\t\t\t\t\tthis.resultsBySearchProvider[providerId].cursor = data.cursor\n\t\t\t\t\tthis.resultsBySearchProvider[providerId].isPaginated = data.isPaginated\n\t\t\t\t\tthis.resultsBySearchProvider[providerId].entries.push(...data.entries)\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.smart-picker-search {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 0 16px 16px 16px;\n\t&.with-empty-content {\n\t\tmin-height: 400px;\n\t}\n\n\t.provider-icon {\n\t\twidth: 150px;\n\t\theight: 150px;\n\t\tobject-fit: contain;\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t&--select {\n\t\twidth: 100%;\n\n\t\t.search-result {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.group-name-icon,\n\t\t.option-simple-icon {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tmargin: 0 20px 0 10px;\n\t\t}\n\n\t\t.custom-option {\n\t\t\theight: var(--default-clickable-area);\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.option-text {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div\n\t\tclass=\"reference-picker\"\n\t\t:style=\"pickerWrapperStyle\"\n\t\ttabindex=\"-1\"\n\t\t@keydown.stop.prevent.esc=\"onEscapePressed\">\n\t\t<NcProviderList\n\t\t\tv-if=\"mode === MODES.providerList\"\n\t\t\tref=\"provider-list\"\n\t\t\t@select-provider=\"onProviderSelected\"\n\t\t\t@submit=\"submitLink\"\n\t\t\t@cancel=\"cancelProviderSelection\" />\n\t\t<NcRawLinkInput\n\t\t\tv-else-if=\"mode === MODES.standardLinkInput\"\n\t\t\tref=\"url-input\"\n\t\t\t:provider=\"selectedProvider\"\n\t\t\t@submit=\"submitLink\"\n\t\t\t@cancel=\"cancelRawLinkInput\" />\n\t\t<NcSearch\n\t\t\tv-else-if=\"mode === MODES.searchInput\"\n\t\t\tref=\"url-input\"\n\t\t\t:provider=\"selectedProvider\"\n\t\t\t@cancel=\"cancelSearch\"\n\t\t\t@submit=\"submitLink\" />\n\t\t<div\n\t\t\tv-else-if=\"mode === MODES.customElement\"\n\t\t\tclass=\"custom-element-wrapper\">\n\t\t\t<NcCustomPickerElement\n\t\t\t\t:provider=\"selectedProvider\"\n\t\t\t\tclass=\"custom-element\"\n\t\t\t\t@submit=\"submitLink\"\n\t\t\t\t@cancel=\"cancelCustomElement\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcCustomPickerElement from './NcCustomPickerElement.vue'\nimport NcProviderList from './NcProviderList.vue'\nimport NcRawLinkInput from './NcRawLinkInput.vue'\nimport NcSearch from './NcSearch.vue'\nimport { isCustomPickerElementRegistered } from '../../../functions/reference/customPickerElements.ts'\nimport { touchProvider } from '../../../functions/reference/providerHelper.ts'\n\nconst MODES = {\n\tproviderList: 1,\n\tstandardLinkInput: 2,\n\tsearchInput: 3,\n\tcustomElement: 4,\n}\nexport default {\n\tname: 'NcReferencePicker',\n\tcomponents: {\n\t\tNcCustomPickerElement,\n\t\tNcProviderList,\n\t\tNcRawLinkInput,\n\t\tNcSearch,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Provider to select on creation\n\t\t * Default: null. Show the provider list\n\t\t */\n\t\tinitialProvider: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => null,\n\t\t},\n\n\t\t/**\n\t\t * Optional width in pixels\n\t\t * Default: 100%\n\t\t */\n\t\twidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Focus on the provider list select input on creation\n\t\t * Default: true\n\t\t */\n\t\tfocusOnCreate: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\temits: [\n\t\t'cancel',\n\t\t'cancel-raw-link',\n\t\t'cancel-search',\n\t\t'provider-selected',\n\t\t'submit',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tMODES,\n\t\t\tselectedProvider: this.initialProvider,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmode() {\n\t\t\treturn this.selectedProvider === null\n\t\t\t\t? MODES.providerList\n\t\t\t\t: isCustomPickerElementRegistered(this.selectedProvider.id)\n\t\t\t\t\t? MODES.customElement\n\t\t\t\t\t: this.selectedProvider.search_providers_ids\n\t\t\t\t\t\t? MODES.searchInput\n\t\t\t\t\t\t: MODES.standardLinkInput\n\t\t},\n\n\t\tpickerWrapperStyle() {\n\t\t\treturn {\n\t\t\t\twidth: this.width ? this.width + 'px' : undefined,\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (this.focusOnCreate) {\n\t\t\tif (this.initialProvider) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.$refs['url-input']?.focus()\n\t\t\t\t}, 300)\n\t\t\t} else {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.$refs['provider-list']?.focus()\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonEscapePressed() {\n\t\t\tif (this.selectedProvider !== null) {\n\t\t\t\tthis.deselectProvider()\n\t\t\t} else {\n\t\t\t\tthis.cancelProviderSelection()\n\t\t\t}\n\t\t},\n\n\t\tonProviderSelected(provider) {\n\t\t\tthis.selectedProvider = provider\n\t\t\tthis.$emit('provider-selected', provider)\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$refs['url-input']?.focus()\n\t\t\t})\n\t\t},\n\n\t\tcancelCustomElement() {\n\t\t\tthis.deselectProvider()\n\t\t},\n\n\t\tcancelSearch() {\n\t\t\tthis.$emit('cancel-search', this.selectedProvider?.title)\n\t\t\tthis.deselectProvider()\n\t\t},\n\n\t\tcancelRawLinkInput() {\n\t\t\tthis.$emit('cancel-raw-link', this.selectedProvider?.title)\n\t\t\tthis.deselectProvider()\n\t\t},\n\n\t\tcancelProviderSelection() {\n\t\t\tthis.$emit('cancel')\n\t\t},\n\n\t\tsubmitLink(link) {\n\t\t\tif (this.selectedProvider !== null) {\n\t\t\t\ttouchProvider(this.selectedProvider.id)\n\t\t\t}\n\t\t\tthis.$emit('submit', link)\n\t\t\tthis.deselectProvider()\n\t\t},\n\n\t\tdeselectProvider() {\n\t\t\tthis.selectedProvider = null\n\t\t\tthis.$emit('provider-selected', null)\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.$refs['provider-list']?.focus()\n\t\t\t}, 300)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.reference-picker {\n\tdisplay: flex;\n\toverflow-y: auto;\n\twidth: 100%;\n\n\t.custom-element-wrapper {\n\t\tdisplay: flex;\n\t\toverflow-y: auto;\n\t\twidth: 100%;\n\t\t.custom-element {\n\t\t\tdisplay: flex;\n\t\t\toverflow-y: auto;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcModal\n\t\tv-if=\"show\"\n\t\t:size=\"modalSize\"\n\t\t:can-close=\"true\"\n\t\tclass=\"reference-picker-modal\"\n\t\t@close=\"onCancel\">\n\t\t<div\n\t\t\tref=\"modal_content\"\n\t\t\tclass=\"reference-picker-modal--content\">\n\t\t\t<NcButton\n\t\t\t\tv-if=\"showBackButton\"\n\t\t\t\t:aria-label=\"backButtonTitle\"\n\t\t\t\t:title=\"backButtonTitle\"\n\t\t\t\tclass=\"back-button\"\n\t\t\t\t@click=\"onBackClicked\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ArrowLeftIcon />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<NcButton\n\t\t\t\tclass=\"close-button\"\n\t\t\t\t:aria-label=\"closeButtonLabel\"\n\t\t\t\t:title=\"closeButtonTitle\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t@click=\"onCancel\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CloseIcon />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<h2 v-if=\"showModalName\">\n\t\t\t\t{{ modalName }}\n\t\t\t</h2>\n\t\t\t<NcReferencePicker\n\t\t\t\tref=\"referencePicker\"\n\t\t\t\t:initial-provider=\"initialProvider\"\n\t\t\t\t:focus-on-create=\"focusOnCreate\"\n\t\t\t\t@provider-selected=\"onProviderSelect\"\n\t\t\t\t@submit=\"onSubmit\"\n\t\t\t\t@cancel=\"onCancel\" />\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport { emit } from '@nextcloud/event-bus'\nimport ArrowLeftIcon from 'vue-material-design-icons/ArrowLeft.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport NcReferencePicker from './NcReferencePicker.vue'\nimport { t } from '../../../l10n.js'\nimport NcButton from '../../NcButton/index.js'\nimport NcModal from '../../NcModal/index.js'\nimport { getCustomPickerElementSize, isCustomPickerElementRegistered } from './../../../functions/reference/customPickerElements.ts'\n\nexport default {\n\tname: 'NcReferencePickerModal',\n\tcomponents: {\n\t\tNcReferencePicker,\n\t\tNcModal,\n\t\tNcButton,\n\t\tArrowLeftIcon,\n\t\tCloseIcon,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Provider to select on creation\n\t\t * Show the provider list if no initial one is provided\n\t\t */\n\t\tinitialProvider: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => null,\n\t\t},\n\n\t\t/**\n\t\t * Focus on the input item on create\n\t\t */\n\t\tfocusOnCreate: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * If true, add the modal content to the Viewer trap elements via the event-bus\n\t\t */\n\t\tisInsideViewer: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'cancel',\n\t\t'submit',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tshow: true,\n\t\t\tselectedProvider: this.initialProvider,\n\t\t\tbackButtonTitle: t('Back to provider selection'),\n\t\t\tcloseButtonTitle: t('Close'),\n\t\t\tcloseButtonLabel: t('Close Smart Picker'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisProviderSelected() {\n\t\t\treturn this.selectedProvider !== null\n\t\t},\n\n\t\tshowBackButton() {\n\t\t\treturn this.initialProvider === null && this.isProviderSelected\n\t\t},\n\n\t\tmodalSize() {\n\t\t\treturn this.isProviderSelected && isCustomPickerElementRegistered(this.selectedProvider.id)\n\t\t\t\t? (getCustomPickerElementSize(this.selectedProvider.id) ?? 'large')\n\t\t\t\t: 'normal'\n\t\t},\n\n\t\tshowModalName() {\n\t\t\treturn !this.isProviderSelected || !isCustomPickerElementRegistered(this.selectedProvider.id)\n\t\t},\n\n\t\tmodalName() {\n\t\t\treturn this.isProviderSelected\n\t\t\t\t? this.selectedProvider.title\n\t\t\t\t: t('Smart Picker')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (this.isInsideViewer) {\n\t\t\tconst elem = this.$refs.modal_content\n\t\t\temit('viewer:trapElements:changed', elem)\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonCancel() {\n\t\t\tthis.show = false\n\t\t\tthis.$emit('cancel')\n\t\t},\n\n\t\tonSubmit(value) {\n\t\t\tthis.show = false\n\t\t\tthis.$emit('submit', value)\n\t\t},\n\n\t\tonProviderSelect(provider) {\n\t\t\tthis.selectedProvider = provider\n\t\t\t// provider was deselected and we started with an inital one: just close the modal\n\t\t\tif (provider === null && this.initialProvider !== null) {\n\t\t\t\tthis.onCancel()\n\t\t\t}\n\t\t},\n\n\t\tonBackClicked() {\n\t\t\tthis.$refs.referencePicker.deselectProvider()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// this is to avoid scroll on the container and leave it to the result block\n.reference-picker-modal :deep(.modal-container) {\n\tdisplay: flex !important;\n}\n\n.reference-picker-modal--content {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\toverflow-y: auto;\n\n\t.close-button,\n\t.back-button {\n\t\tposition: absolute;\n\t\ttop: 4px;\n\t}\n\t.back-button {\n\t\tinset-inline-start: 4px;\n\t}\n\t.close-button {\n\t\tinset-inline-end: 4px;\n\t}\n\n\t> h2 {\n\t\tdisplay: flex;\n\t\tmargin: 12px 0 20px 0;\n\t\t.icon {\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\t}\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 Vue from 'vue'\nimport NcReferencePickerModal from './../../components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue'\nimport { getProvider } from './providerHelper.ts'\n\n/**\n * Creates a reference picker modal and return a promise which provides the result\n *\n * @param providerId - Optional ID of initial selected provider\n * @param isInsideViewer - Should be true if this function is called while the Viewer is displayed\n */\nexport async function getLinkWithPicker(providerId?: string, isInsideViewer?: boolean): Promise<string> {\n\tconst modalId = 'referencePickerModal'\n\tconst modalElement = document.createElement('div')\n\tmodalElement.id = modalId\n\tdocument.body.append(modalElement)\n\n\tconst { promise, reject, resolve } = Promise.withResolvers<string>()\n\tconst initialProvider = (providerId && getProvider(providerId)) || null\n\tconst View = Vue.extend(NcReferencePickerModal)\n\tconst view = new View({\n\t\tpropsData: {\n\t\t\tinitialProvider,\n\t\t\tisInsideViewer,\n\t\t},\n\t}).$mount(modalElement)\n\n\tview.$on('cancel', () => {\n\t\tview.$destroy()\n\t\treject(new Error('User cancellation'))\n\t})\n\tview.$on('submit', (link) => {\n\t\tview.$destroy()\n\t\tresolve(link)\n\t})\n\n\treturn promise\n}\n"],"names":["_sfc_main","ArrowLeftIcon","CloseIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,cAAA,gCAAA,KAAA,SAAA,EAAA;AAAA,MACA,cAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,KAAA,cAAA;AACA,WAAA,cAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,gBAAA;AACA,QAAA,KAAA,cAAA;AACA,iCAAA,KAAA,SAAA,IAAA,KAAA,KAAA,KAAA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,gBAAA;AACA,UAAA,KAAA,MAAA,YAAA;AACA,aAAA,MAAA,WAAA,YAAA;AAAA,MACA;AAEA,YAAA,uBAAA,0BAAA,KAAA,MAAA,YAAA,EAAA,YAAA,KAAA,SAAA,IAAA,YAAA,MAAA,CAAA;AAEA,cAAA,QAAA,oBAAA,EAAA,KAAA,CAAA,WAAA;AACA,aAAA,eAAA;AACA,YAAA,KAAA,aAAA,QAAA,UAAA,KAAA,aAAA,QAAA,KAAA;AACA,eAAA,aAAA,OAAA,IAAA,UAAA,KAAA,QAAA;AACA,eAAA,aAAA,OAAA,IAAA,UAAA,KAAA,QAAA;AAAA,QACA;AACA,aAAA,aAAA,QAAA,iBAAA,UAAA,CAAA,MAAA;AACA,eAAA,SAAA,EAAA,MAAA;AAAA,QACA,CAAA;AACA,aAAA,aAAA,QAAA,iBAAA,UAAA,KAAA,QAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,SAAA,OAAA;AACA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,WAAA,MAAA,QAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;AC7DA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;AChBO,MAAM,oBAAoB;AAEjC,MAAM,kBAAqC;AAAA,EAC1C,IAAI;AAAA,EACJ,OAAO,EAAE,UAAU;AAAA,EACnB,OAAO;AAAA,EACP,UAAU,UAAU,QAAQ,oBAAoB;AACjD;AAGA,OAAO,sCAAsC,UAAU,QAAQ,2BAA2B,CAAA,CAAE;AAE5F,OAAO,gDAAgD,UAAU,QAAQ,iCAAiC,CAAA,CAAE;AAMrG,SAAS,YAAY,YAAmD;AAC9E,MAAI,eAAe,mBAAmB;AACrC,WAAO;AAAA,EACR;AAEA,SAAO,eAAe,KAAK,CAAC,MAAM,EAAE,OAAO,UAAU;AACtD;AAKO,SAAS,eAAoC;AACnD,SAAO,OAAO,kCAAkC,OAAO,CAAC,MAAM;AAE7D,UAAM,OAAQ,CAAC,CAAC,EAAE,wBAAwB,EAAE,qBAAqB,SAAS,KAAM,gCAAgC,EAAE,EAAE;AACpH,QAAI,CAAC,MAAM;AACV,aAAO,MAAM,kBAAkB,EAAE,EAAE,yHAAyH;AAAA,IAC7J;AACA,WAAO;AAAA,EACR,CAAC;AACF;AAUO,SAAS,cAAc,cAAwD;AACrF,QAAM,aAAa,OAAO;AAE1B,SAAO,aAAa,KAAK,CAAC,GAAG,MAAM;AAClC,WAAO,EAAE,UAAU,EAAE,QAClB,IACA,EAAE,QAAQ,EAAE,QACX,IACA;AAAA,EACL,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM;AACjB,UAAM,KAAK,WAAW,EAAE,EAAE;AAC1B,UAAM,KAAK,WAAW,EAAE,EAAE;AAC1B,WAAO,OAAO,KACX,IACA,OAAO,SACN,KACA,OAAO,SACN,IACA,KAAK,KACJ,KACA;AAAA,EACP,CAAC;AACF;AAUO,SAAS,eAAe,OAAe,OAAqC;AAClF,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,MAAM,QAAQ,0BAA0B,MAAM;AACnE,QAAM,SAAS,IAAI,OAAO,cAAc,GAAG;AAC3C,QAAM,kBAAkB,cAAc,SAAS;AAC/C,QAAM,0BAA0B,gBAAgB,OAAO,CAAC,MAAM;AAC7D,WAAO,EAAE,MAAM,MAAM,MAAM;AAAA,EAC5B,CAAC;AAED,QAAM,eAAe,QAClB,wBAAwB,MAAM,GAAG,KAAK,IACtC;AAGH,MAAI,UAAU,MAAM,aAAa,WAAW,GAAG;AAC9C,iBAAa,KAAK,eAAe;AAAA,EAClC;AACA,SAAO;AACR;AAOA,eAAsB,cAAc,YAAoB;AACvD,QAAM,YAAY,KAAK,MAAM,KAAK,IAAA,IAAQ,GAAI;AAC9C,QAAM,MAAM,eAAe,oCAAoC,EAAE,YAAY;AAE7E,QAAM,MAAM,IAAI,KAAK,EAAE,WAAW;AAClC,SAAO,4CAA4C,UAAU,IAAI;AAClE;;AC9HA,IAAI,UAAU;AAMP,SAAS,MAAM,UAAU,IAAI;AACnC,SAAO,WAAW;AACjB,UAAM,UAAU;AAChB,UAAM,OAAO;AACb,iBAAa,OAAO;AACpB,cAAU,WAAW,WAAW;AAC/B,eAAS,MAAM,SAAS,IAAI;AAAA,IAC7B,GAAG,EAAO;AAAA,EACX;AACD;AAKO,SAAS,MAAM,KAAK;AAC1B,MAAI;AACH,WAAO,QAAQ,IAAI,IAAI,GAAG,CAAC;AAAA,EAC5B,QAAQ;AACP,WAAO;AAAA,EACR;AACD;ACwBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAA;AAAA,MACA,OAAA;AAAA,MACA,wBAAA,EAAA,iBAAA;AAAA,MACA,iBAAA,EAAA,eAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,UAAA;AACA,YAAA,SAAA,CAAA;AACA,UAAA,KAAA,UAAA,MAAA,MAAA,KAAA,KAAA,GAAA;AACA,eAAA,KAAA;AAAA,UACA,IAAA,KAAA;AAAA,UACA,OAAA,KAAA;AAAA,UACA,QAAA;AAAA,QACA,CAAA;AAAA,MACA;AACA,aAAA,KAAA,GAAA,eAAA,KAAA,KAAA,CAAA;AACA,aAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,QAAA;AACA,iBAAA,MAAA;AACA,aAAA,MAAA,iBAAA,GAAA,KAAA,cAAA,wBAAA,GAAA,MAAA;AAAA,MACA,GAAA,GAAA;AAAA,IACA;AAAA,IAEA,mBAAA,GAAA;AACA,UAAA,MAAA,MAAA;AACA,YAAA,EAAA,QAAA;AACA,eAAA,MAAA,UAAA,EAAA,KAAA;AAAA,QACA,OAAA;AACA,eAAA,MAAA,mBAAA,CAAA;AAAA,QACA;AACA,aAAA,mBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,SAAA,OAAA;AACA,WAAA,QAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACjEA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA,EAAA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,cAAA;AACA,aAAA,MAAA,KAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,QAAA;AACA,WAAA,MAAA,WAAA,EAAA,IAAA,qBAAA,OAAA,EAAA,CAAA,GAAA,MAAA;AAAA,IACA;AAAA,IAEA,SAAA,GAAA;AACA,YAAA,QAAA,EAAA,OAAA;AACA,UAAA,KAAA,aAAA;AACA,aAAA,MAAA,UAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,UAAA;AACA,WAAA,aAAA;AACA,WAAA,YAAA;AAAA,IACA;AAAA,IAEA,UAAA;AACA,WAAA,YAAA;AACA,UAAA,KAAA,iBAAA;AACA,aAAA,gBAAA,MAAA;AAAA,MACA;AACA,UAAA,KAAA,aAAA;AACA,cAAA,MAAA;AACA,eAAA,gBAAA;AAAA,QACA,GAAA,GAAA,EAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,kBAAA;AACA,WAAA,UAAA;AACA,WAAA,kBAAA,IAAA,gBAAA;AACA,YAAA,IAAA,eAAA,sBAAA,CAAA,IAAA,gBAAA,mBAAA,KAAA,UAAA,GAAA;AAAA,QACA,QAAA,KAAA,gBAAA;AAAA,MACA,CAAA,EACA,KAAA,CAAA,aAAA;AACA,aAAA,YAAA,SAAA,KAAA,IAAA,KAAA,WAAA,KAAA,UAAA;AAAA,MACA,CAAA,EACA,MAAA,CAAA,UAAA;AACA,eAAA,MAAA,8BAAA,EAAA,MAAA,CAAA;AAAA,MACA,CAAA,EACA,KAAA,MAAA;AACA,aAAA,UAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC1GA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;AC+BA,MAAA,QAAA;AAEA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA;AAAA,EAGA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IAEA,kBAAA;AAAA,MACA,MAAA;AAAA;AAAA,MAEA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,gBAAA;AAAA,MACA,yBAAA,CAAA;AAAA,MACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,iBAAA;AAAA,MACA,eAAA,EAAA,wBAAA;AAAA,MACA,iBAAA,EAAA,eAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,sBAAA;AACA,aAAA,KAAA,qBAAA,EAAA,QAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,UAAA;AACA,UAAA,KAAA,gBAAA,IAAA;AACA,eAAA,CAAA;AAAA,MACA;AAEA,YAAA,UAAA,CAAA;AACA,UAAA,MAAA,KAAA,WAAA,GAAA;AACA,gBAAA,KAAA,KAAA,YAAA;AAAA,MACA;AACA,cAAA,KAAA,GAAA,KAAA,sBAAA;AACA,aAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA;AAAA,QACA,IAAA;AAAA,QACA,aAAA,KAAA;AAAA,QACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,yBAAA;AACA,YAAA,UAAA,CAAA;AACA,WAAA,kBAAA,QAAA,CAAA,QAAA;AACA,YAAA,KAAA,wBAAA,GAAA,EAAA,QAAA,SAAA,GAAA;AAEA,cAAA,KAAA,kBAAA,SAAA,KAAA,KAAA,wBAAA,GAAA,EAAA,QAAA,SAAA,GAAA;AACA,oBAAA,KAAA;AAAA,cACA,IAAA,gBAAA;AAAA,cACA,MAAA,KAAA,wBAAA,GAAA,EAAA;AAAA,cACA,oBAAA;AAAA,cACA,YAAA;AAAA,YACA,CAAA;AAAA,UACA;AACA,gBAAA,wBAAA,KAAA,wBAAA,GAAA,EAAA,QAAA,IAAA,CAAA,OAAA,UAAA;AACA,mBAAA;AAAA,cACA,IAAA,cAAA,MAAA,YAAA;AAAA,cACA,GAAA;AAAA,YACA;AAAA,UACA,CAAA;AACA,kBAAA,KAAA,GAAA,qBAAA;AACA,cAAA,KAAA,wBAAA,GAAA,EAAA,aAAA;AACA,oBAAA,KAAA;AAAA,cACA,IAAA,YAAA;AAAA,cACA,MAAA,KAAA,wBAAA,GAAA,EAAA;AAAA,cACA,QAAA;AAAA,cACA,YAAA;AAAA,cACA,WAAA,KAAA,oBAAA;AAAA,YACA,CAAA;AAAA,UACA;AAAA,QACA;AAAA,MACA,CAAA;AACA,aAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,SAAA,aAAA;AAAA,EACA;AAAA,EAEA,gBAAA;AACA,SAAA,qBAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA;AAAA,IACA,eAAA;AACA,YAAA,0BAAA,CAAA;AACA,WAAA,kBAAA,QAAA,CAAA,QAAA;AACA,gCAAA,GAAA,IAAA;AAAA,UACA,SAAA,CAAA;AAAA,QACA;AAAA,MACA,CAAA;AACA,WAAA,0BAAA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,iBAAA,MAAA;AACA,aAAA,MAAA,eAAA,GAAA,KAAA,cAAA,sBAAA,GAAA,MAAA;AAAA,MACA,GAAA,GAAA;AAAA,IACA;AAAA,IAEA,uBAAA;AACA,UAAA,KAAA,iBAAA;AACA,aAAA,gBAAA,MAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,cAAA,OAAA;AACA,WAAA,cAAA;AACA,YAAA,MAAA;AACA,aAAA,aAAA;AAAA,MACA,GAAA,GAAA,EAAA;AAAA,IACA;AAAA,IAEA,uBAAA,MAAA;AACA,UAAA,SAAA,MAAA;AACA,YAAA,KAAA,aAAA;AACA,eAAA,qBAAA;AACA,eAAA,MAAA,UAAA,KAAA,WAAA;AAAA,QACA,WAAA,KAAA,QAAA;AACA,eAAA,aAAA,KAAA,UAAA,EAAA,KAAA,MAAA;AAEA,iBAAA,iBAAA;AAAA,UACA,CAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,aAAA,kBAAA;AACA,WAAA,kBAAA;AACA,WAAA,qBAAA;AACA,aAAA,KAAA,gBAAA,gBAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,qBAAA;AACA,WAAA,aAAA;AACA,UAAA,KAAA,gBAAA,IAAA;AACA,aAAA,YAAA;AACA;AAAA,MACA;AAEA,aAAA,KAAA,gBAAA;AAAA,IACA;AAAA,IAEA,gBAAA,mBAAA,MAAA;AACA,WAAA,kBAAA,IAAA,gBAAA;AACA,WAAA,YAAA;AAEA,YAAA,iBAAA,qBAAA,OACA,CAAA,GAAA,KAAA,iBAAA,EAAA,IAAA,CAAA,QAAA;AACA,eAAA,KAAA,kBAAA,GAAA;AAAA,MACA,CAAA,IACA,CAAA,KAAA,kBAAA,kBAAA,KAAA,wBAAA,gBAAA,GAAA,UAAA,IAAA,CAAA;AAIA,aAAA,QAAA,WAAA,cAAA,EACA,KAAA,CAAA,aAAA;AACA,cAAA,gBAAA,CAAA,CAAA,SAAA,KAAA,CAAA,MAAA;AACA,iBAAA,EAAA,WAAA,eAAA,EAAA,OAAA,SAAA,mBAAA,EAAA,OAAA,SAAA;AAAA,QACA,CAAA;AAEA,YAAA,CAAA,eAAA;AACA,eAAA,YAAA;AACA,eAAA,kBAAA;AAAA,QACA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,kBAAA,YAAA,SAAA,MAAA;AACA,YAAA,MAAA,WAAA,OACA,eAAA,kEAAA,EAAA,YAAA,MAAA,KAAA,aAAA,OAAA,MAAA,CAAA,IACA,eAAA,kFAAA,EAAA,YAAA,MAAA,KAAA,aAAA,OAAA,OAAA,OAAA,CAAA;AACA,aAAA,MAAA,IAAA,KAAA;AAAA,QACA,QAAA,KAAA,gBAAA;AAAA,MACA,CAAA,EACA,KAAA,CAAA,aAAA;AACA,cAAA,OAAA,SAAA,KAAA,IAAA;AACA,aAAA,wBAAA,UAAA,EAAA,OAAA,KAAA;AACA,aAAA,wBAAA,UAAA,EAAA,SAAA,KAAA;AACA,aAAA,wBAAA,UAAA,EAAA,cAAA,KAAA;AACA,aAAA,wBAAA,UAAA,EAAA,QAAA,KAAA,GAAA,KAAA,OAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC1QA,MAAA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,mBAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AACA;AACA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,eAAA;AAAA,MACA,MAAA;AAAA;AAAA,MAEA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA;AAAA,MACA,kBAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,OAAA;AACA,aAAA,KAAA,qBAAA,OACA,MAAA,eACA,gCAAA,KAAA,iBAAA,EAAA,IACA,MAAA,gBACA,KAAA,iBAAA,uBACA,MAAA,cACA,MAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAA;AAAA,QACA,OAAA,KAAA,QAAA,KAAA,QAAA,OAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,KAAA,eAAA;AACA,UAAA,KAAA,iBAAA;AACA,mBAAA,MAAA;AACA,eAAA,MAAA,WAAA,GAAA,MAAA;AAAA,QACA,GAAA,GAAA;AAAA,MACA,OAAA;AACA,aAAA,UAAA,MAAA;AACA,eAAA,MAAA,eAAA,GAAA,MAAA;AAAA,QACA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,kBAAA;AACA,UAAA,KAAA,qBAAA,MAAA;AACA,aAAA,iBAAA;AAAA,MACA,OAAA;AACA,aAAA,wBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,mBAAA,UAAA;AACA,WAAA,mBAAA;AACA,WAAA,MAAA,qBAAA,QAAA;AACA,WAAA,UAAA,MAAA;AACA,aAAA,MAAA,WAAA,GAAA,MAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,sBAAA;AACA,WAAA,iBAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,MAAA,iBAAA,KAAA,kBAAA,KAAA;AACA,WAAA,iBAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,WAAA,MAAA,mBAAA,KAAA,kBAAA,KAAA;AACA,WAAA,iBAAA;AAAA,IACA;AAAA,IAEA,0BAAA;AACA,WAAA,MAAA,QAAA;AAAA,IACA;AAAA,IAEA,WAAA,MAAA;AACA,UAAA,KAAA,qBAAA,MAAA;AACA,sBAAA,KAAA,iBAAA,EAAA;AAAA,MACA;AACA,WAAA,MAAA,UAAA,IAAA;AACA,WAAA,iBAAA;AAAA,IACA;AAAA,IAEA,mBAAA;AACA,WAAA,mBAAA;AACA,WAAA,MAAA,qBAAA,IAAA;AACA,iBAAA,MAAA;AACA,aAAA,MAAA,eAAA,GAAA,MAAA;AAAA,MACA,GAAA,GAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;ACrIA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAAC;AAAAA,IACA,WAAAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AAAA,MACA,MAAA;AAAA;AAAA,MAEA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,kBAAA,KAAA;AAAA,MACA,iBAAA,EAAA,4BAAA;AAAA,MACA,kBAAA,EAAA,OAAA;AAAA,MACA,kBAAA,EAAA,oBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,qBAAA;AACA,aAAA,KAAA,qBAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,oBAAA,QAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,sBAAA,gCAAA,KAAA,iBAAA,EAAA,IACA,2BAAA,KAAA,iBAAA,EAAA,KAAA,UACA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAA,CAAA,KAAA,sBAAA,CAAA,gCAAA,KAAA,iBAAA,EAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,qBACA,KAAA,iBAAA,QACA,EAAA,cAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,KAAA,gBAAA;AACA,YAAA,OAAA,KAAA,MAAA;AACA,WAAA,+BAAA,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,WAAA;AACA,WAAA,OAAA;AACA,WAAA,MAAA,QAAA;AAAA,IACA;AAAA,IAEA,SAAA,OAAA;AACA,WAAA,OAAA;AACA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA,UAAA;AACA,WAAA,mBAAA;AAEA,UAAA,aAAA,QAAA,KAAA,oBAAA,MAAA;AACA,aAAA,SAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,WAAA,MAAA,gBAAA,iBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;ACzJA,eAAsB,kBAAkB,YAAqB,gBAA2C;AACvG,QAAM,UAAU;AAChB,QAAM,eAAe,SAAS,cAAc,KAAK;AACjD,eAAa,KAAK;AAClB,WAAS,KAAK,OAAO,YAAY;AAEjC,QAAM,EAAE,SAAS,QAAQ,QAAA,IAAY,QAAQ,cAAA;AAC7C,QAAM,kBAAmB,cAAc,YAAY,UAAU,KAAM;AACnE,QAAM,OAAO,IAAI,OAAO,sBAAsB;AAC9C,QAAM,OAAO,IAAI,KAAK;AAAA,IACrB,WAAW;AAAA,MACV;AAAA,MACA;AAAA,IAAA;AAAA,EACD,CACA,EAAE,OAAO,YAAY;AAEtB,OAAK,IAAI,UAAU,MAAM;AACxB,SAAK,SAAA;AACL,WAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,EACtC,CAAC;AACD,OAAK,IAAI,UAAU,CAAC,SAAS;AAC5B,SAAK,SAAA;AACL,YAAQ,IAAI;AAAA,EACb,CAAC;AAED,SAAO;AACR;","x_google_ignoreList":[1]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ const l10n = require("@nextcloud/l10n");
3
+ const isRtl = l10n.isRTL();
4
+ exports.isRtl = isRtl;
5
+ //# sourceMappingURL=rtl-DLuwcTlm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtl-DLuwcTlm.cjs","sources":["../../src/utils/rtl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { isRTL } from '@nextcloud/l10n'\n\nexport const isRtl = isRTL()\n"],"names":["isRTL"],"mappings":";;AAOO,MAAM,QAAQA,KAAAA,MAAA;;"}
@@ -0,0 +1,6 @@
1
+ import { isRTL } from "@nextcloud/l10n";
2
+ const isRtl = isRTL();
3
+ export {
4
+ isRtl as i
5
+ };
6
+ //# sourceMappingURL=rtl-v0UOPAM7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtl-v0UOPAM7.mjs","sources":["../../src/utils/rtl.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { isRTL } from '@nextcloud/l10n'\n\nexport const isRtl = isRTL()\n"],"names":[],"mappings":";AAOO,MAAM,QAAQ,MAAA;"}
@@ -1,8 +1,8 @@
1
1
  import { a as mdiCheck, e as mdiContentCopy } from "./mdi-DkJglNiS.mjs";
2
2
  import { toValue } from "@vueuse/core";
3
3
  import { ref, computed } from "vue";
4
- import { r as register, d as t21, a as t } from "./_l10n-DVz9Qdzk.mjs";
5
- register(t21);
4
+ import { r as register, d as t22, a as t } from "./_l10n-CAnZaLWU.mjs";
5
+ register(t22);
6
6
  /*!
7
7
  * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
8
8
  * SPDX-License-Identifier: AGPL-3.0-or-later
@@ -37,4 +37,4 @@ function useCopy(content) {
37
37
  export {
38
38
  useCopy as u
39
39
  };
40
- //# sourceMappingURL=useCopy-DDDe5RYH.mjs.map
40
+ //# sourceMappingURL=useCopy-C-jNoLry.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCopy-DDDe5RYH.mjs","sources":["../../src/composables/useCopy.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\n\nimport { mdiCheck, mdiContentCopy } from '@mdi/js'\nimport { toValue } from '@vueuse/core'\nimport { computed, ref } from 'vue'\nimport { t } from '../l10n.js'\n\nconst DELAY = 2000\n\n/**\n * Copy content to clipboard with copied state\n *\n * @param content - Content to copy\n */\nexport function useCopy(content: MaybeRefOrGetter<string>) {\n\tconst isCopied = ref(false)\n\tconst icon = computed(() => isCopied.value ? mdiCheck : mdiContentCopy)\n\tconst altText = computed(() => isCopied.value ? t('Copied') : t('Copy to clipboard'))\n\n\t/**\n\t * Copy the content to clipboard\n\t */\n\tasync function copy() {\n\t\tif (isCopied.value) {\n\t\t\treturn\n\t\t}\n\n\t\tconst value = toValue(content)\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(value)\n\t\t} catch {\n\t\t\t// Fallback for a case when clipboard API is not available or permission denied\n\t\t\tprompt('', value)\n\t\t}\n\n\t\tisCopied.value = true\n\t\tsetTimeout(() => {\n\t\t\tisCopied.value = false\n\t\t}, DELAY)\n\t}\n\n\treturn {\n\t\tisCopied,\n\t\tcopy,\n\t\ticon,\n\t\taltText,\n\t}\n}\n"],"names":[],"mappings":";;;;;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,QAAQ;AAOP,SAAS,QAAQ,SAAmC;AAC1D,QAAM,WAAW,IAAI,KAAK;AAC1B,QAAM,OAAO,SAAS,MAAM,SAAS,QAAQ,WAAW,cAAc;AACtE,QAAM,UAAU,SAAS,MAAM,SAAS,QAAQ,EAAE,QAAQ,IAAI,EAAE,mBAAmB,CAAC;AAKpF,iBAAe,OAAO;AACrB,QAAI,SAAS,OAAO;AACnB;AAAA,IACD;AAEA,UAAM,QAAQ,QAAQ,OAAO;AAC7B,QAAI;AACH,YAAM,UAAU,UAAU,UAAU,KAAK;AAAA,IAC1C,QAAQ;AAEP,aAAO,IAAI,KAAK;AAAA,IACjB;AAEA,aAAS,QAAQ;AACjB,eAAW,MAAM;AAChB,eAAS,QAAQ;AAAA,IAClB,GAAG,KAAK;AAAA,EACT;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"useCopy-C-jNoLry.mjs","sources":["../../src/composables/useCopy.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\n\nimport { mdiCheck, mdiContentCopy } from '@mdi/js'\nimport { toValue } from '@vueuse/core'\nimport { computed, ref } from 'vue'\nimport { t } from '../l10n.js'\n\nconst DELAY = 2000\n\n/**\n * Copy content to clipboard with copied state\n *\n * @param content - Content to copy\n */\nexport function useCopy(content: MaybeRefOrGetter<string>) {\n\tconst isCopied = ref(false)\n\tconst icon = computed(() => isCopied.value ? mdiCheck : mdiContentCopy)\n\tconst altText = computed(() => isCopied.value ? t('Copied') : t('Copy to clipboard'))\n\n\t/**\n\t * Copy the content to clipboard\n\t */\n\tasync function copy() {\n\t\tif (isCopied.value) {\n\t\t\treturn\n\t\t}\n\n\t\tconst value = toValue(content)\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(value)\n\t\t} catch {\n\t\t\t// Fallback for a case when clipboard API is not available or permission denied\n\t\t\tprompt('', value)\n\t\t}\n\n\t\tisCopied.value = true\n\t\tsetTimeout(() => {\n\t\t\tisCopied.value = false\n\t\t}, DELAY)\n\t}\n\n\treturn {\n\t\tisCopied,\n\t\tcopy,\n\t\ticon,\n\t\taltText,\n\t}\n}\n"],"names":[],"mappings":";;;;;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,QAAQ;AAOP,SAAS,QAAQ,SAAmC;AAC1D,QAAM,WAAW,IAAI,KAAK;AAC1B,QAAM,OAAO,SAAS,MAAM,SAAS,QAAQ,WAAW,cAAc;AACtE,QAAM,UAAU,SAAS,MAAM,SAAS,QAAQ,EAAE,QAAQ,IAAI,EAAE,mBAAmB,CAAC;AAKpF,iBAAe,OAAO;AACrB,QAAI,SAAS,OAAO;AACnB;AAAA,IACD;AAEA,UAAM,QAAQ,QAAQ,OAAO;AAC7B,QAAI;AACH,YAAM,UAAU,UAAU,UAAU,KAAK;AAAA,IAC1C,QAAQ;AAEP,aAAO,IAAI,KAAK;AAAA,IACjB;AAEA,aAAS,QAAQ;AACjB,eAAW,MAAM;AAChB,eAAS,QAAQ;AAAA,IAClB,GAAG,KAAK;AAAA,EACT;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;"}
@@ -2,8 +2,8 @@
2
2
  const mdi = require("./mdi-DTiP6a6e.cjs");
3
3
  const core = require("@vueuse/core");
4
4
  const Vue = require("vue");
5
- const _l10n = require("./_l10n-skrZri3h.cjs");
6
- _l10n.register(_l10n.t21);
5
+ const _l10n = require("./_l10n-Be-gO5QO.cjs");
6
+ _l10n.register(_l10n.t22);
7
7
  /*!
8
8
  * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
9
9
  * SPDX-License-Identifier: AGPL-3.0-or-later
@@ -36,4 +36,4 @@ function useCopy(content) {
36
36
  };
37
37
  }
38
38
  exports.useCopy = useCopy;
39
- //# sourceMappingURL=useCopy-3m2jDiIN.cjs.map
39
+ //# sourceMappingURL=useCopy-DXXjl8MD.cjs.map