@nextcloud/vue 8.19.0 → 8.20.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 (653) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/Components/NcActionButton.cjs +4 -4
  3. package/dist/Components/NcActionButton.mjs +4 -4
  4. package/dist/Components/NcActionButtonGroup.cjs +1 -1
  5. package/dist/Components/NcActionButtonGroup.mjs +1 -1
  6. package/dist/Components/NcActionCaption.cjs +1 -1
  7. package/dist/Components/NcActionCaption.mjs +1 -1
  8. package/dist/Components/NcActionCheckbox.cjs +2 -106
  9. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  10. package/dist/Components/NcActionCheckbox.mjs +2 -106
  11. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  12. package/dist/Components/NcActionInput.cjs +1 -1
  13. package/dist/Components/NcActionInput.mjs +1 -1
  14. package/dist/Components/NcActionLink.cjs +2 -2
  15. package/dist/Components/NcActionLink.mjs +2 -2
  16. package/dist/Components/NcActionRadio.cjs +2 -108
  17. package/dist/Components/NcActionRadio.cjs.map +1 -1
  18. package/dist/Components/NcActionRadio.mjs +2 -108
  19. package/dist/Components/NcActionRadio.mjs.map +1 -1
  20. package/dist/Components/NcActionRouter.cjs +2 -2
  21. package/dist/Components/NcActionRouter.mjs +2 -2
  22. package/dist/Components/NcActionSeparator.cjs +1 -1
  23. package/dist/Components/NcActionSeparator.mjs +1 -1
  24. package/dist/Components/NcActionText.cjs +2 -2
  25. package/dist/Components/NcActionText.mjs +2 -2
  26. package/dist/Components/NcActionTextEditable.cjs +2 -89
  27. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  28. package/dist/Components/NcActionTextEditable.mjs +2 -89
  29. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  30. package/dist/Components/NcActions.cjs +1 -1
  31. package/dist/Components/NcActions.mjs +1 -1
  32. package/dist/Components/NcAppContent.cjs +1 -1
  33. package/dist/Components/NcAppContent.mjs +1 -1
  34. package/dist/Components/NcAppNavigation.cjs +1 -1
  35. package/dist/Components/NcAppNavigation.mjs +1 -1
  36. package/dist/Components/NcAppNavigationCaption.cjs +1 -1
  37. package/dist/Components/NcAppNavigationCaption.mjs +1 -1
  38. package/dist/Components/NcAppNavigationIconBullet.cjs +1 -1
  39. package/dist/Components/NcAppNavigationIconBullet.mjs +1 -1
  40. package/dist/Components/NcAppNavigationItem.cjs +1 -1
  41. package/dist/Components/NcAppNavigationItem.mjs +1 -1
  42. package/dist/Components/NcAppNavigationList.cjs +1 -1
  43. package/dist/Components/NcAppNavigationList.mjs +1 -1
  44. package/dist/Components/NcAppNavigationNew.cjs +1 -1
  45. package/dist/Components/NcAppNavigationNew.mjs +1 -1
  46. package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
  47. package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
  48. package/dist/Components/NcAppNavigationSearch.cjs +1 -1
  49. package/dist/Components/NcAppNavigationSearch.mjs +1 -1
  50. package/dist/Components/NcAppNavigationSettings.cjs +1 -1
  51. package/dist/Components/NcAppNavigationSettings.mjs +1 -1
  52. package/dist/Components/NcAppNavigationSpacer.cjs +1 -1
  53. package/dist/Components/NcAppNavigationSpacer.mjs +1 -1
  54. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  55. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  56. package/dist/Components/NcAppSettingsDialog.cjs +1 -1
  57. package/dist/Components/NcAppSettingsDialog.mjs +1 -1
  58. package/dist/Components/NcAppSettingsSection.cjs +5 -8
  59. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  60. package/dist/Components/NcAppSettingsSection.mjs +5 -8
  61. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  62. package/dist/Components/NcAppSidebar.cjs +1 -1
  63. package/dist/Components/NcAppSidebar.mjs +1 -1
  64. package/dist/Components/NcAppSidebarTab.cjs +3 -4
  65. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  66. package/dist/Components/NcAppSidebarTab.mjs +3 -4
  67. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  68. package/dist/Components/NcAvatar.cjs +1 -1
  69. package/dist/Components/NcAvatar.mjs +1 -1
  70. package/dist/Components/NcBreadcrumb.cjs +1 -1
  71. package/dist/Components/NcBreadcrumb.mjs +1 -1
  72. package/dist/Components/NcBreadcrumbs.cjs +1 -1
  73. package/dist/Components/NcBreadcrumbs.mjs +1 -1
  74. package/dist/Components/NcButton.cjs +7 -8
  75. package/dist/Components/NcButton.cjs.map +1 -1
  76. package/dist/Components/NcButton.mjs +7 -8
  77. package/dist/Components/NcButton.mjs.map +1 -1
  78. package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
  79. package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
  80. package/dist/Components/NcChip.cjs +7 -13
  81. package/dist/Components/NcChip.cjs.map +1 -1
  82. package/dist/Components/NcChip.mjs +7 -13
  83. package/dist/Components/NcChip.mjs.map +1 -1
  84. package/dist/Components/NcCollectionList.cjs +1 -1
  85. package/dist/Components/NcCollectionList.mjs +1 -1
  86. package/dist/Components/NcColorPicker.cjs +1 -1
  87. package/dist/Components/NcColorPicker.mjs +1 -1
  88. package/dist/Components/NcContent.cjs +1 -1
  89. package/dist/Components/NcContent.mjs +1 -1
  90. package/dist/Components/NcCounterBubble.cjs +1 -1
  91. package/dist/Components/NcCounterBubble.mjs +1 -1
  92. package/dist/Components/NcDashboardWidget.cjs +1 -1
  93. package/dist/Components/NcDashboardWidget.mjs +1 -1
  94. package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
  95. package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
  96. package/dist/Components/NcDateTime.cjs +1 -1
  97. package/dist/Components/NcDateTime.mjs +1 -1
  98. package/dist/Components/NcDateTimePicker.cjs +37 -17
  99. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  100. package/dist/Components/NcDateTimePicker.mjs +37 -17
  101. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  102. package/dist/Components/NcDateTimePickerNative.cjs +52 -21
  103. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  104. package/dist/Components/NcDateTimePickerNative.mjs +52 -21
  105. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  106. package/dist/Components/NcDialog.cjs +1 -1
  107. package/dist/Components/NcDialog.mjs +1 -1
  108. package/dist/Components/NcDialogButton.cjs +1 -1
  109. package/dist/Components/NcDialogButton.mjs +1 -1
  110. package/dist/Components/NcEllipsisedOption.cjs +3 -3
  111. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  112. package/dist/Components/NcEllipsisedOption.mjs +3 -3
  113. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  114. package/dist/Components/NcEmojiPicker.cjs +1 -1
  115. package/dist/Components/NcEmojiPicker.mjs +1 -1
  116. package/dist/Components/NcEmptyContent.cjs +2 -3
  117. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  118. package/dist/Components/NcEmptyContent.mjs +2 -3
  119. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  120. package/dist/Components/NcGuestContent.cjs +1 -1
  121. package/dist/Components/NcGuestContent.mjs +1 -1
  122. package/dist/Components/NcHeaderButton.cjs +1 -1
  123. package/dist/Components/NcHeaderButton.mjs +1 -1
  124. package/dist/Components/NcHeaderMenu.cjs +1 -1
  125. package/dist/Components/NcHeaderMenu.mjs +1 -1
  126. package/dist/Components/NcIconSvgWrapper.cjs +1 -1
  127. package/dist/Components/NcIconSvgWrapper.mjs +1 -1
  128. package/dist/Components/NcInputField.cjs +2 -232
  129. package/dist/Components/NcInputField.cjs.map +1 -1
  130. package/dist/Components/NcInputField.mjs +2 -232
  131. package/dist/Components/NcInputField.mjs.map +1 -1
  132. package/dist/Components/NcListItem.cjs +1 -1
  133. package/dist/Components/NcListItem.mjs +1 -1
  134. package/dist/Components/NcListItemIcon.cjs +1 -1
  135. package/dist/Components/NcListItemIcon.mjs +1 -1
  136. package/dist/Components/NcLoadingIcon.cjs +1 -1
  137. package/dist/Components/NcLoadingIcon.mjs +1 -1
  138. package/dist/Components/NcModal.cjs +14 -15
  139. package/dist/Components/NcModal.cjs.map +1 -1
  140. package/dist/Components/NcModal.mjs +14 -15
  141. package/dist/Components/NcModal.mjs.map +1 -1
  142. package/dist/Components/NcNoteCard.cjs +6 -6
  143. package/dist/Components/NcNoteCard.cjs.map +1 -1
  144. package/dist/Components/NcNoteCard.mjs +6 -6
  145. package/dist/Components/NcNoteCard.mjs.map +1 -1
  146. package/dist/Components/NcPasswordField.cjs +1 -1
  147. package/dist/Components/NcPasswordField.mjs +1 -1
  148. package/dist/Components/NcPopover.cjs +1 -1
  149. package/dist/Components/NcPopover.mjs +1 -1
  150. package/dist/Components/NcProgressBar.cjs +1 -1
  151. package/dist/Components/NcProgressBar.mjs +1 -1
  152. package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
  153. package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
  154. package/dist/Components/NcRichContenteditable.cjs +2 -2
  155. package/dist/Components/NcRichContenteditable.mjs +2 -2
  156. package/dist/Components/NcRichText.cjs +3 -3
  157. package/dist/Components/NcRichText.mjs +4 -4
  158. package/dist/Components/NcSelect.cjs +1 -1
  159. package/dist/Components/NcSelect.mjs +1 -1
  160. package/dist/Components/NcSelectTags.cjs +1 -1
  161. package/dist/Components/NcSelectTags.mjs +1 -1
  162. package/dist/Components/NcSettingsInputText.cjs +1 -1
  163. package/dist/Components/NcSettingsInputText.mjs +1 -1
  164. package/dist/Components/NcSettingsSection.cjs +1 -1
  165. package/dist/Components/NcSettingsSection.mjs +1 -1
  166. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  167. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  168. package/dist/Components/NcTextArea.cjs +2 -179
  169. package/dist/Components/NcTextArea.cjs.map +1 -1
  170. package/dist/Components/NcTextArea.mjs +2 -179
  171. package/dist/Components/NcTextArea.mjs.map +1 -1
  172. package/dist/Components/NcTextField.cjs +1 -1
  173. package/dist/Components/NcTextField.mjs +1 -1
  174. package/dist/Components/NcTimezonePicker.cjs +1 -1
  175. package/dist/Components/NcTimezonePicker.mjs +1 -1
  176. package/dist/Components/NcUserBubble.cjs +1 -1
  177. package/dist/Components/NcUserBubble.mjs +1 -1
  178. package/dist/Components/NcUserStatusIcon.cjs +1 -1
  179. package/dist/Components/NcUserStatusIcon.mjs +1 -1
  180. package/dist/Components/NcVNodes.cjs +1 -2
  181. package/dist/Components/NcVNodes.cjs.map +1 -1
  182. package/dist/Components/NcVNodes.mjs +1 -2
  183. package/dist/Components/NcVNodes.mjs.map +1 -1
  184. package/dist/Composables/useHotKey.cjs +2 -4
  185. package/dist/Composables/useHotKey.cjs.map +1 -1
  186. package/dist/Composables/useHotKey.mjs +2 -4
  187. package/dist/Composables/useHotKey.mjs.map +1 -1
  188. package/dist/Composables/useIsDarkTheme.cjs +18 -0
  189. package/dist/Composables/useIsDarkTheme.cjs.map +1 -0
  190. package/dist/Composables/useIsDarkTheme.mjs +18 -0
  191. package/dist/Composables/useIsDarkTheme.mjs.map +1 -0
  192. package/dist/Directives/Linkify.cjs +1 -2
  193. package/dist/Directives/Linkify.cjs.map +1 -1
  194. package/dist/Directives/Linkify.mjs +1 -2
  195. package/dist/Directives/Linkify.mjs.map +1 -1
  196. package/dist/Directives/Tooltip.cjs +1 -1
  197. package/dist/Directives/Tooltip.mjs +1 -1
  198. package/dist/Functions/dialog.cjs +27 -0
  199. package/dist/Functions/dialog.cjs.map +1 -0
  200. package/dist/Functions/dialog.mjs +25 -0
  201. package/dist/Functions/dialog.mjs.map +1 -0
  202. package/dist/Functions/emoji.cjs +1 -1
  203. package/dist/Functions/emoji.mjs +1 -1
  204. package/dist/Functions/isDarkTheme.cjs +12 -0
  205. package/dist/Functions/isDarkTheme.cjs.map +1 -0
  206. package/dist/Functions/isDarkTheme.mjs +12 -0
  207. package/dist/Functions/isDarkTheme.mjs.map +1 -0
  208. package/dist/Functions/reference.cjs +2 -2
  209. package/dist/Functions/reference.mjs +2 -2
  210. package/dist/Functions/registerReference.cjs +1 -1
  211. package/dist/Functions/registerReference.mjs +1 -1
  212. package/dist/Functions/usernameToColor.cjs +1 -1
  213. package/dist/Functions/usernameToColor.mjs +1 -1
  214. package/dist/Mixins/richEditor.cjs +1 -1
  215. package/dist/Mixins/richEditor.mjs +1 -1
  216. package/dist/assets/{NcActionButton-D90PTEA5.css → NcActionButton-CNq6xIdS.css} +1 -1
  217. package/dist/assets/{NcActionCheckbox-sIGqnckr.css → NcActionCheckbox-DeW2CCVc.css} +11 -11
  218. package/dist/assets/{NcActionInput-C_3Csa6A.css → NcActionInput-CNRERfyh.css} +61 -61
  219. package/dist/assets/{NcActionLink-Db_ZlqWs.css → NcActionLink-CC6a7Hsf.css} +1 -1
  220. package/dist/assets/{NcActionRadio-DFcWmvae.css → NcActionRadio-DC7Wp9rR.css} +11 -11
  221. package/dist/assets/{NcActionRouter-DidTlbov.css → NcActionRouter-CsIBHw6E.css} +1 -1
  222. package/dist/assets/{NcActionText-DCx1DWXe.css → NcActionText-BSD_HYx4.css} +1 -1
  223. package/dist/assets/{NcActionTextEditable-Dud9NOdm.css → NcActionTextEditable-Cg16Q4zr.css} +59 -59
  224. package/dist/assets/{NcAppContent-DVBVZyuW.css → NcAppContent-CpXVlHUj.css} +6 -6
  225. package/dist/assets/{NcAppNavigation-fhylfTxx.css → NcAppNavigation-CBN6X2dT.css} +13 -13
  226. package/dist/assets/{NcAppNavigationItem-CxlG8Qdb.css → NcAppNavigationItem-CNZsPcla.css} +30 -30
  227. package/dist/assets/{NcAppNavigationToggle-DvYpNzHv.css → NcAppNavigationToggle-Chtb7sE7.css} +5 -5
  228. package/dist/assets/{NcAppSidebar-CpV7czJx.css → NcAppSidebar-BntAj6H-.css} +73 -73
  229. package/dist/assets/{NcCheckboxRadioSwitch-BzAGGne9.css → NcCheckboxRadioSwitch-D0kAZROF.css} +31 -31
  230. package/dist/assets/{NcColorPicker-aCjZY65-.css → NcColorPicker-Dw2wy2tU.css} +28 -28
  231. package/dist/assets/{NcDateTimePicker-BFvU3We7.css → NcDateTimePicker-D264hKgE.css} +48 -33
  232. package/dist/assets/NcDateTimePickerNative-BfZfqRvD.css +47 -0
  233. package/dist/assets/{NcEllipsisedOption-DZK2vWD1.css → NcEllipsisedOption-DGr9_bIL.css} +5 -5
  234. package/dist/assets/{NcInputField-CQc5dRbY.css → NcInputField-C0PHosfg.css} +32 -32
  235. package/dist/assets/{NcModal-Cg2K9DV5.css → NcModal-BBKX-T6V.css} +61 -61
  236. package/dist/assets/{NcPasswordField-DWd5gg73.css → NcPasswordField-DZ6dcMzH.css} +2 -2
  237. package/dist/assets/{NcRichContenteditable-BYEZK1DT.css → NcRichContenteditable-R-32wbyl.css} +10 -10
  238. package/dist/assets/{NcRichText-DqDAPQPD.css → NcRichText-Ds8WxUk1.css} +56 -58
  239. package/dist/assets/{NcSettingsInputText-DbTNj9E6.css → NcSettingsInputText-Bsp_6DjJ.css} +5 -5
  240. package/dist/assets/{NcSettingsSelectGroup-CzD7YrGm.css → NcSettingsSelectGroup-BEjOwCJQ.css} +2 -2
  241. package/dist/assets/{NcTextArea-D8bZi2fT.css → NcTextArea-fzbciv3V.css} +20 -20
  242. package/dist/assets/{referencePickerModal-9BcmmfUy.css → referencePickerModal-BhhuyO3J.css} +38 -38
  243. package/dist/chunks/{AlertCircleOutline-DLtiWgZd.cjs → AlertCircleOutline-BrsasUsU.cjs} +1 -1
  244. package/dist/chunks/AlertCircleOutline-BrsasUsU.cjs.map +1 -0
  245. package/dist/chunks/{AlertCircleOutline-DU3QwU5Y.mjs → AlertCircleOutline-DBxbepLy.mjs} +1 -1
  246. package/dist/chunks/AlertCircleOutline-DBxbepLy.mjs.map +1 -0
  247. package/dist/chunks/{ArrowLeft-CONurT5C.cjs → ArrowLeft-BP7yfzCQ.cjs} +1 -1
  248. package/dist/chunks/ArrowLeft-BP7yfzCQ.cjs.map +1 -0
  249. package/dist/chunks/{ArrowLeft-BhAxJBYx.mjs → ArrowLeft-DuT2LZOm.mjs} +1 -1
  250. package/dist/chunks/ArrowLeft-DuT2LZOm.mjs.map +1 -0
  251. package/dist/chunks/{ArrowRight-KsL2PC-o.mjs → ArrowRight-CY2b9hgN.mjs} +1 -1
  252. package/dist/chunks/ArrowRight-CY2b9hgN.mjs.map +1 -0
  253. package/dist/chunks/{ArrowRight-Bj5G_mG0.cjs → ArrowRight-DPARnmu3.cjs} +1 -1
  254. package/dist/chunks/ArrowRight-DPARnmu3.cjs.map +1 -0
  255. package/dist/chunks/{Check-XHAzUBkX.mjs → Check-BkThHPH7.mjs} +1 -1
  256. package/dist/chunks/Check-BkThHPH7.mjs.map +1 -0
  257. package/dist/chunks/{Check-fCbe4vqy.cjs → Check-Du8mPz_B.cjs} +1 -1
  258. package/dist/chunks/Check-Du8mPz_B.cjs.map +1 -0
  259. package/dist/chunks/{ChevronDown-CiFbcDUC.cjs → ChevronDown-BlfyuflD.cjs} +1 -1
  260. package/dist/chunks/ChevronDown-BlfyuflD.cjs.map +1 -0
  261. package/dist/chunks/{ChevronDown-D3Tfshug.mjs → ChevronDown-DFQfzh63.mjs} +1 -1
  262. package/dist/chunks/ChevronDown-DFQfzh63.mjs.map +1 -0
  263. package/dist/chunks/{ChevronRight-C3eVhc5a.mjs → ChevronRight-BUv-PtHh.mjs} +1 -1
  264. package/dist/chunks/ChevronRight-BUv-PtHh.mjs.map +1 -0
  265. package/dist/chunks/{ChevronRight-CWbdN5_r.cjs → ChevronRight-ZCKVg9OI.cjs} +1 -1
  266. package/dist/chunks/ChevronRight-ZCKVg9OI.cjs.map +1 -0
  267. package/dist/chunks/{ChevronUp-A2riTBrv.cjs → ChevronUp-Bpd__OBZ.cjs} +1 -1
  268. package/dist/chunks/ChevronUp-Bpd__OBZ.cjs.map +1 -0
  269. package/dist/chunks/{ChevronUp-ljACquzS.mjs → ChevronUp-C7Dy9Bph.mjs} +1 -1
  270. package/dist/chunks/ChevronUp-C7Dy9Bph.mjs.map +1 -0
  271. package/dist/chunks/{Close-B6ccm1RP.mjs → Close-BtLPUSdO.mjs} +1 -1
  272. package/dist/chunks/Close-BtLPUSdO.mjs.map +1 -0
  273. package/dist/chunks/{Close-B7lGu0cG.cjs → Close-CqmXxEKi.cjs} +1 -1
  274. package/dist/chunks/Close-CqmXxEKi.cjs.map +1 -0
  275. package/dist/chunks/{DotsHorizontal-DQfnwpao.cjs → DotsHorizontal-BoI3vnhk.cjs} +1 -1
  276. package/dist/chunks/DotsHorizontal-BoI3vnhk.cjs.map +1 -0
  277. package/dist/chunks/{DotsHorizontal-Cd2x8oz2.mjs → DotsHorizontal-C6LNsw4N.mjs} +1 -1
  278. package/dist/chunks/DotsHorizontal-C6LNsw4N.mjs.map +1 -0
  279. package/dist/chunks/{GenColors-BWE946ht.mjs → GenColors-BAOuMMLW.mjs} +3 -3
  280. package/dist/chunks/{GenColors-BWE946ht.mjs.map → GenColors-BAOuMMLW.mjs.map} +1 -1
  281. package/dist/chunks/{GenColors-Cay7TLwO.cjs → GenColors-iV_vrBr4.cjs} +3 -3
  282. package/dist/chunks/{GenColors-Cay7TLwO.cjs.map → GenColors-iV_vrBr4.cjs.map} +1 -1
  283. package/dist/chunks/{NcActionButtonGroup-BrN2mWdo.cjs → NcActionButtonGroup-C0nQ7J_W.cjs} +3 -3
  284. package/dist/chunks/{NcActionButtonGroup-BrN2mWdo.cjs.map → NcActionButtonGroup-C0nQ7J_W.cjs.map} +1 -1
  285. package/dist/chunks/{NcActionButtonGroup-B5RmRcow.mjs → NcActionButtonGroup-D1B23tmS.mjs} +3 -3
  286. package/dist/chunks/{NcActionButtonGroup-B5RmRcow.mjs.map → NcActionButtonGroup-D1B23tmS.mjs.map} +1 -1
  287. package/dist/chunks/NcActionCheckbox-DiDhwRJA.cjs +137 -0
  288. package/dist/chunks/NcActionCheckbox-DiDhwRJA.cjs.map +1 -0
  289. package/dist/chunks/NcActionCheckbox-DiTExF3O.mjs +138 -0
  290. package/dist/chunks/NcActionCheckbox-DiTExF3O.mjs.map +1 -0
  291. package/dist/chunks/{NcActionInput-BxlypAgV.mjs → NcActionInput-BcNial11.mjs} +46 -14
  292. package/dist/chunks/NcActionInput-BcNial11.mjs.map +1 -0
  293. package/dist/chunks/{NcActionInput-TP6P798j.cjs → NcActionInput-zCzwKL6H.cjs} +46 -14
  294. package/dist/chunks/NcActionInput-zCzwKL6H.cjs.map +1 -0
  295. package/dist/chunks/NcActionRadio-DSIJMuFP.cjs +139 -0
  296. package/dist/chunks/NcActionRadio-DSIJMuFP.cjs.map +1 -0
  297. package/dist/chunks/NcActionRadio-kbPC8ri8.mjs +140 -0
  298. package/dist/chunks/NcActionRadio-kbPC8ri8.mjs.map +1 -0
  299. package/dist/chunks/NcActionTextEditable-CA3Eoscz.mjs +122 -0
  300. package/dist/chunks/NcActionTextEditable-CA3Eoscz.mjs.map +1 -0
  301. package/dist/chunks/NcActionTextEditable-DgdiBv6b.cjs +121 -0
  302. package/dist/chunks/NcActionTextEditable-DgdiBv6b.cjs.map +1 -0
  303. package/dist/chunks/{NcActions-BgYpDq2n.mjs → NcActions-BUZ5Oprh.mjs} +30 -37
  304. package/dist/chunks/{NcActions-BgYpDq2n.mjs.map → NcActions-BUZ5Oprh.mjs.map} +1 -1
  305. package/dist/chunks/{NcActions-gOMT5VzC.cjs → NcActions-CCYNSnCn.cjs} +30 -37
  306. package/dist/chunks/{NcActions-gOMT5VzC.cjs.map → NcActions-CCYNSnCn.cjs.map} +1 -1
  307. package/dist/chunks/{NcAppContent-fXpgsMfG.cjs → NcAppContent-BnoVcMYZ.cjs} +12 -8
  308. package/dist/chunks/NcAppContent-BnoVcMYZ.cjs.map +1 -0
  309. package/dist/chunks/{NcAppContent-lEyly7Jk.mjs → NcAppContent-C-WAXtGI.mjs} +12 -8
  310. package/dist/chunks/NcAppContent-C-WAXtGI.mjs.map +1 -0
  311. package/dist/chunks/{NcAppNavigation-BleAA1U_.cjs → NcAppNavigation-BuKJwvwT.cjs} +3 -3
  312. package/dist/chunks/{NcAppNavigation-BleAA1U_.cjs.map → NcAppNavigation-BuKJwvwT.cjs.map} +1 -1
  313. package/dist/chunks/{NcAppNavigation-CxsxPI9x.mjs → NcAppNavigation-CHWYmJnQ.mjs} +3 -3
  314. package/dist/chunks/{NcAppNavigation-CxsxPI9x.mjs.map → NcAppNavigation-CHWYmJnQ.mjs.map} +1 -1
  315. package/dist/chunks/{NcAppNavigationCaption-BQVV0F7Y.mjs → NcAppNavigationCaption-AGVUaCQj.mjs} +3 -3
  316. package/dist/chunks/{NcAppNavigationCaption-BQVV0F7Y.mjs.map → NcAppNavigationCaption-AGVUaCQj.mjs.map} +1 -1
  317. package/dist/chunks/{NcAppNavigationCaption-BK-acRxg.cjs → NcAppNavigationCaption-DUPonEWi.cjs} +3 -3
  318. package/dist/chunks/{NcAppNavigationCaption-BK-acRxg.cjs.map → NcAppNavigationCaption-DUPonEWi.cjs.map} +1 -1
  319. package/dist/chunks/{NcAppNavigationItem-MvvOWnip.mjs → NcAppNavigationItem-DmJnEXTV.mjs} +23 -27
  320. package/dist/chunks/NcAppNavigationItem-DmJnEXTV.mjs.map +1 -0
  321. package/dist/chunks/{NcAppNavigationItem-DfgovIvi.cjs → NcAppNavigationItem-Y_CVXzId.cjs} +23 -27
  322. package/dist/chunks/NcAppNavigationItem-Y_CVXzId.cjs.map +1 -0
  323. package/dist/chunks/{NcAppNavigationNewItem-C66Vvx3t.cjs → NcAppNavigationNewItem-B76-cCDH.cjs} +2 -2
  324. package/dist/chunks/{NcAppNavigationNewItem-C66Vvx3t.cjs.map → NcAppNavigationNewItem-B76-cCDH.cjs.map} +1 -1
  325. package/dist/chunks/{NcAppNavigationNewItem-DyLB6t5e.mjs → NcAppNavigationNewItem-DmObx9Od.mjs} +2 -2
  326. package/dist/chunks/{NcAppNavigationNewItem-DyLB6t5e.mjs.map → NcAppNavigationNewItem-DmObx9Od.mjs.map} +1 -1
  327. package/dist/chunks/{NcAppNavigationSearch-8jcfsc-r.mjs → NcAppNavigationSearch-Br5pMcP9.mjs} +6 -10
  328. package/dist/chunks/{NcAppNavigationSearch-8jcfsc-r.mjs.map → NcAppNavigationSearch-Br5pMcP9.mjs.map} +1 -1
  329. package/dist/chunks/{NcAppNavigationSearch-CZRhuV6d.cjs → NcAppNavigationSearch-CNwLOHdO.cjs} +7 -11
  330. package/dist/chunks/{NcAppNavigationSearch-CZRhuV6d.cjs.map → NcAppNavigationSearch-CNwLOHdO.cjs.map} +1 -1
  331. package/dist/chunks/{NcAppNavigationSettings-C-_G8yUn.cjs → NcAppNavigationSettings-BH5t68oV.cjs} +4 -4
  332. package/dist/chunks/NcAppNavigationSettings-BH5t68oV.cjs.map +1 -0
  333. package/dist/chunks/{NcAppNavigationSettings-DScz0UWm.mjs → NcAppNavigationSettings-L0Jfd8At.mjs} +4 -4
  334. package/dist/chunks/NcAppNavigationSettings-L0Jfd8At.mjs.map +1 -0
  335. package/dist/chunks/{NcAppNavigationToggle-DAhbqsn_.cjs → NcAppNavigationToggle-Dwg-dMWx.cjs} +5 -5
  336. package/dist/chunks/NcAppNavigationToggle-Dwg-dMWx.cjs.map +1 -0
  337. package/dist/chunks/{NcAppNavigationToggle-BXainLDc.mjs → NcAppNavigationToggle-hXwP6wJk.mjs} +5 -5
  338. package/dist/chunks/NcAppNavigationToggle-hXwP6wJk.mjs.map +1 -0
  339. package/dist/chunks/{NcAppSettingsDialog-BxDO8Ivr.mjs → NcAppSettingsDialog-Bo_xk7JT.mjs} +8 -15
  340. package/dist/chunks/{NcAppSettingsDialog-BxDO8Ivr.mjs.map → NcAppSettingsDialog-Bo_xk7JT.mjs.map} +1 -1
  341. package/dist/chunks/{NcAppSettingsDialog-niXwDCmG.cjs → NcAppSettingsDialog-Dkl3cqU-.cjs} +8 -15
  342. package/dist/chunks/{NcAppSettingsDialog-niXwDCmG.cjs.map → NcAppSettingsDialog-Dkl3cqU-.cjs.map} +1 -1
  343. package/dist/chunks/{NcAppSidebar-D1Ss2put.mjs → NcAppSidebar-BHUsuOkb.mjs} +20 -23
  344. package/dist/chunks/NcAppSidebar-BHUsuOkb.mjs.map +1 -0
  345. package/dist/chunks/{NcAppSidebar-1S8EBs22.cjs → NcAppSidebar-D0XGsAFm.cjs} +20 -23
  346. package/dist/chunks/NcAppSidebar-D0XGsAFm.cjs.map +1 -0
  347. package/dist/chunks/{NcAvatar-lRUjWiR6.mjs → NcAvatar-Bv7NGIzM.mjs} +20 -22
  348. package/dist/chunks/{NcAvatar-lRUjWiR6.mjs.map → NcAvatar-Bv7NGIzM.mjs.map} +1 -1
  349. package/dist/chunks/{NcAvatar-B238cv9d.cjs → NcAvatar-DypzACJs.cjs} +20 -22
  350. package/dist/chunks/{NcAvatar-B238cv9d.cjs.map → NcAvatar-DypzACJs.cjs.map} +1 -1
  351. package/dist/chunks/{NcBreadcrumb-Fqw2S2pM.cjs → NcBreadcrumb-DVn5-KGF.cjs} +5 -5
  352. package/dist/chunks/{NcBreadcrumb-Fqw2S2pM.cjs.map → NcBreadcrumb-DVn5-KGF.cjs.map} +1 -1
  353. package/dist/chunks/{NcBreadcrumb-ydWs_Sw8.mjs → NcBreadcrumb-Da_uoAcB.mjs} +5 -5
  354. package/dist/chunks/{NcBreadcrumb-ydWs_Sw8.mjs.map → NcBreadcrumb-Da_uoAcB.mjs.map} +1 -1
  355. package/dist/chunks/{NcBreadcrumbs-GKwJaai0.cjs → NcBreadcrumbs-JqPHfTRj.cjs} +26 -30
  356. package/dist/chunks/NcBreadcrumbs-JqPHfTRj.cjs.map +1 -0
  357. package/dist/chunks/{NcBreadcrumbs-CPW9eMLa.mjs → NcBreadcrumbs-qEKUdf4H.mjs} +26 -30
  358. package/dist/chunks/NcBreadcrumbs-qEKUdf4H.mjs.map +1 -0
  359. package/dist/chunks/{NcCheckboxRadioSwitch-COeeT-7G.cjs → NcCheckboxRadioSwitch-KmTVoK0G.cjs} +56 -28
  360. package/dist/chunks/NcCheckboxRadioSwitch-KmTVoK0G.cjs.map +1 -0
  361. package/dist/chunks/{NcCheckboxRadioSwitch-CvMEEI9x.mjs → NcCheckboxRadioSwitch-l-6YVD9V.mjs} +56 -28
  362. package/dist/chunks/NcCheckboxRadioSwitch-l-6YVD9V.mjs.map +1 -0
  363. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_ff5243c5_lang-CwPH3K13.mjs +3 -0
  364. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_ff5243c5_lang-CwPH3K13.mjs.map +1 -0
  365. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_ff5243c5_lang-Zy8SpLXY.cjs +4 -0
  366. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_ff5243c5_lang-Zy8SpLXY.cjs.map +1 -0
  367. package/dist/chunks/{NcCollectionList-CAM0Gyhi.mjs → NcCollectionList-76i9dHm0.mjs} +6 -7
  368. package/dist/chunks/{NcCollectionList-CAM0Gyhi.mjs.map → NcCollectionList-76i9dHm0.mjs.map} +1 -1
  369. package/dist/chunks/{NcCollectionList-DWyT_P3u.cjs → NcCollectionList-UhLoC1sN.cjs} +6 -7
  370. package/dist/chunks/{NcCollectionList-DWyT_P3u.cjs.map → NcCollectionList-UhLoC1sN.cjs.map} +1 -1
  371. package/dist/chunks/{NcColorPicker-Ddm2gbz0.mjs → NcColorPicker-CKWvpkRM.mjs} +43 -14
  372. package/dist/chunks/NcColorPicker-CKWvpkRM.mjs.map +1 -0
  373. package/dist/chunks/{NcColorPicker-Dy2BtsaH.cjs → NcColorPicker-CVeLov2Q.cjs} +43 -14
  374. package/dist/chunks/NcColorPicker-CVeLov2Q.cjs.map +1 -0
  375. package/dist/chunks/{NcContent-DKpTIl9F.mjs → NcContent-BTuJtsQM.mjs} +4 -4
  376. package/dist/chunks/{NcContent-DKpTIl9F.mjs.map → NcContent-BTuJtsQM.mjs.map} +1 -1
  377. package/dist/chunks/{NcContent-BTyHf5mF.cjs → NcContent-BXi18ILU.cjs} +4 -4
  378. package/dist/chunks/{NcContent-BTyHf5mF.cjs.map → NcContent-BXi18ILU.cjs.map} +1 -1
  379. package/dist/chunks/{NcCounterBubble-R8Tmi05i.cjs → NcCounterBubble-DF2rwIo4.cjs} +4 -6
  380. package/dist/chunks/{NcCounterBubble-R8Tmi05i.cjs.map → NcCounterBubble-DF2rwIo4.cjs.map} +1 -1
  381. package/dist/chunks/{NcCounterBubble-D1QC3eP1.mjs → NcCounterBubble-M1q9GRkH.mjs} +4 -6
  382. package/dist/chunks/{NcCounterBubble-D1QC3eP1.mjs.map → NcCounterBubble-M1q9GRkH.mjs.map} +1 -1
  383. package/dist/chunks/{NcDashboardWidget-DhVJqy1d.cjs → NcDashboardWidget-Bu-WC7kg.cjs} +5 -5
  384. package/dist/chunks/{NcDashboardWidget-DhVJqy1d.cjs.map → NcDashboardWidget-Bu-WC7kg.cjs.map} +1 -1
  385. package/dist/chunks/{NcDashboardWidget-DG9u5NLf.mjs → NcDashboardWidget-Xit6eLCu.mjs} +5 -5
  386. package/dist/chunks/{NcDashboardWidget-DG9u5NLf.mjs.map → NcDashboardWidget-Xit6eLCu.mjs.map} +1 -1
  387. package/dist/chunks/{NcDashboardWidgetItem-DuntgAlo.cjs → NcDashboardWidgetItem-CI59K-wE.cjs} +3 -3
  388. package/dist/chunks/{NcDashboardWidgetItem-DuntgAlo.cjs.map → NcDashboardWidgetItem-CI59K-wE.cjs.map} +1 -1
  389. package/dist/chunks/{NcDashboardWidgetItem-CHCygvjp.mjs → NcDashboardWidgetItem-CcCRU45T.mjs} +3 -3
  390. package/dist/chunks/{NcDashboardWidgetItem-CHCygvjp.mjs.map → NcDashboardWidgetItem-CcCRU45T.mjs.map} +1 -1
  391. package/dist/chunks/{NcDateTime-ciAHA2YL.mjs → NcDateTime-B5H_8fXN.mjs} +1 -1
  392. package/dist/chunks/{NcDateTime-ciAHA2YL.mjs.map → NcDateTime-B5H_8fXN.mjs.map} +1 -1
  393. package/dist/chunks/{NcDateTime-BfOmGrzK.cjs → NcDateTime-CaJHhgab.cjs} +1 -1
  394. package/dist/chunks/{NcDateTime-BfOmGrzK.cjs.map → NcDateTime-CaJHhgab.cjs.map} +1 -1
  395. package/dist/chunks/{NcDialog-D9l7GQQJ.cjs → NcDialog-CWGgSCpv.cjs} +3 -3
  396. package/dist/chunks/{NcDialog-D9l7GQQJ.cjs.map → NcDialog-CWGgSCpv.cjs.map} +1 -1
  397. package/dist/chunks/{NcDialog-DmcKxy4v.mjs → NcDialog-LPfqWPKk.mjs} +3 -3
  398. package/dist/chunks/{NcDialog-DmcKxy4v.mjs.map → NcDialog-LPfqWPKk.mjs.map} +1 -1
  399. package/dist/chunks/{NcDialogButton-CubYnLkp.mjs → NcDialogButton-7UqknfnA.mjs} +3 -4
  400. package/dist/chunks/{NcDialogButton-CubYnLkp.mjs.map → NcDialogButton-7UqknfnA.mjs.map} +1 -1
  401. package/dist/chunks/{NcDialogButton-C4-agMb3.cjs → NcDialogButton-B7d1LWFN.cjs} +3 -4
  402. package/dist/chunks/{NcDialogButton-C4-agMb3.cjs.map → NcDialogButton-B7d1LWFN.cjs.map} +1 -1
  403. package/dist/chunks/{NcEmojiPicker-C2DIjkqr.mjs → NcEmojiPicker-B36zeXTi.mjs} +10 -12
  404. package/dist/chunks/NcEmojiPicker-B36zeXTi.mjs.map +1 -0
  405. package/dist/chunks/{NcEmojiPicker-DrMA-XDR.cjs → NcEmojiPicker-Dm6SEjiB.cjs} +10 -12
  406. package/dist/chunks/NcEmojiPicker-Dm6SEjiB.cjs.map +1 -0
  407. package/dist/chunks/{NcHeaderMenu-Bis33gPF.cjs → NcHeaderMenu-CzS2doDR.cjs} +6 -8
  408. package/dist/chunks/{NcHeaderMenu-Bis33gPF.cjs.map → NcHeaderMenu-CzS2doDR.cjs.map} +1 -1
  409. package/dist/chunks/{NcHeaderMenu-DYGKi6bj.mjs → NcHeaderMenu-vLqcJ-_w.mjs} +6 -8
  410. package/dist/chunks/{NcHeaderMenu-DYGKi6bj.mjs.map → NcHeaderMenu-vLqcJ-_w.mjs.map} +1 -1
  411. package/dist/chunks/{NcIconSvgWrapper-Cb4bAwV6.cjs → NcIconSvgWrapper-B_eOG2sZ.cjs} +2 -2
  412. package/dist/chunks/{NcIconSvgWrapper-Cb4bAwV6.cjs.map → NcIconSvgWrapper-B_eOG2sZ.cjs.map} +1 -1
  413. package/dist/chunks/{NcIconSvgWrapper-DjrkBUkC.mjs → NcIconSvgWrapper-CHmdAuhg.mjs} +2 -2
  414. package/dist/chunks/{NcIconSvgWrapper-DjrkBUkC.mjs.map → NcIconSvgWrapper-CHmdAuhg.mjs.map} +1 -1
  415. package/dist/chunks/{NcInputConfirmCancel-bHJNQ1vm.cjs → NcInputConfirmCancel-CYQsG_3t.cjs} +4 -4
  416. package/dist/chunks/{NcInputConfirmCancel-bHJNQ1vm.cjs.map → NcInputConfirmCancel-CYQsG_3t.cjs.map} +1 -1
  417. package/dist/chunks/{NcInputConfirmCancel-PXVZ7mLT.mjs → NcInputConfirmCancel-YuMDoRCi.mjs} +4 -4
  418. package/dist/chunks/{NcInputConfirmCancel-PXVZ7mLT.mjs.map → NcInputConfirmCancel-YuMDoRCi.mjs.map} +1 -1
  419. package/dist/chunks/NcInputField-CKq4udSu.cjs +260 -0
  420. package/dist/chunks/NcInputField-CKq4udSu.cjs.map +1 -0
  421. package/dist/chunks/NcInputField-DNQOfrn0.mjs +261 -0
  422. package/dist/chunks/NcInputField-DNQOfrn0.mjs.map +1 -0
  423. package/dist/chunks/{NcListItem-D16FB3uo.mjs → NcListItem-BS9Vcxph.mjs} +6 -7
  424. package/dist/chunks/{NcListItem-D16FB3uo.mjs.map → NcListItem-BS9Vcxph.mjs.map} +1 -1
  425. package/dist/chunks/{NcListItem-Hx7E50yZ.cjs → NcListItem-DMaVvwXJ.cjs} +6 -7
  426. package/dist/chunks/{NcListItem-Hx7E50yZ.cjs.map → NcListItem-DMaVvwXJ.cjs.map} +1 -1
  427. package/dist/chunks/{NcListItemIcon-Do_af_2v.cjs → NcListItemIcon-BLvWsnbD.cjs} +5 -6
  428. package/dist/chunks/{NcListItemIcon-Do_af_2v.cjs.map → NcListItemIcon-BLvWsnbD.cjs.map} +1 -1
  429. package/dist/chunks/{NcListItemIcon-Bc4y0xg3.mjs → NcListItemIcon-BdoUa2si.mjs} +5 -6
  430. package/dist/chunks/{NcListItemIcon-Bc4y0xg3.mjs.map → NcListItemIcon-BdoUa2si.mjs.map} +1 -1
  431. package/dist/chunks/{NcPasswordField-BQCunRtm.cjs → NcPasswordField-CV_FuOEL.cjs} +37 -13
  432. package/dist/chunks/NcPasswordField-CV_FuOEL.cjs.map +1 -0
  433. package/dist/chunks/{NcPasswordField-DLXPfvQB.mjs → NcPasswordField-oIhYntQw.mjs} +34 -10
  434. package/dist/chunks/NcPasswordField-oIhYntQw.mjs.map +1 -0
  435. package/dist/chunks/{NcPopover-DbeCmze0.mjs → NcPopover-DzYbNu-I.mjs} +7 -11
  436. package/dist/chunks/{NcPopover-DbeCmze0.mjs.map → NcPopover-DzYbNu-I.mjs.map} +1 -1
  437. package/dist/chunks/{NcPopover-C0G7sLVP.cjs → NcPopover-MxwUgZu1.cjs} +7 -11
  438. package/dist/chunks/{NcPopover-C0G7sLVP.cjs.map → NcPopover-MxwUgZu1.cjs.map} +1 -1
  439. package/dist/chunks/{NcProgressBar-D_6Z7U5w.mjs → NcProgressBar-DegJ2JjE.mjs} +2 -2
  440. package/dist/chunks/{NcProgressBar-D_6Z7U5w.mjs.map → NcProgressBar-DegJ2JjE.mjs.map} +1 -1
  441. package/dist/chunks/{NcProgressBar-BrDAF_Zr.cjs → NcProgressBar-Do5Y3u8S.cjs} +2 -2
  442. package/dist/chunks/{NcProgressBar-BrDAF_Zr.cjs.map → NcProgressBar-Do5Y3u8S.cjs.map} +1 -1
  443. package/dist/chunks/{NcRelatedResourcesPanel-CsOAnfA1.cjs → NcRelatedResourcesPanel-BRoP-NiB.cjs} +16 -24
  444. package/dist/chunks/NcRelatedResourcesPanel-BRoP-NiB.cjs.map +1 -0
  445. package/dist/chunks/{NcRelatedResourcesPanel-DZICfdzQ.mjs → NcRelatedResourcesPanel-Czuc8tf5.mjs} +16 -24
  446. package/dist/chunks/NcRelatedResourcesPanel-Czuc8tf5.mjs.map +1 -0
  447. package/dist/chunks/{NcRichContenteditable-CCJdho4G.mjs → NcRichContenteditable-Cv9rZiqh.mjs} +55 -41
  448. package/dist/chunks/NcRichContenteditable-Cv9rZiqh.mjs.map +1 -0
  449. package/dist/chunks/{NcRichContenteditable-Ye5vABN5.cjs → NcRichContenteditable-nVuOP1__.cjs} +55 -41
  450. package/dist/chunks/NcRichContenteditable-nVuOP1__.cjs.map +1 -0
  451. package/dist/chunks/{NcRichText-7rxnpUCI.cjs → NcRichText-D7syaTEJ.cjs} +20 -16
  452. package/dist/chunks/NcRichText-D7syaTEJ.cjs.map +1 -0
  453. package/dist/chunks/{NcRichText-Xs-QVexE.mjs → NcRichText-ohrXAz36.mjs} +20 -16
  454. package/dist/chunks/NcRichText-ohrXAz36.mjs.map +1 -0
  455. package/dist/chunks/{NcSelect-DRRPiPZG.mjs → NcSelect-DJQ1nwEX.mjs} +49 -21
  456. package/dist/chunks/NcSelect-DJQ1nwEX.mjs.map +1 -0
  457. package/dist/chunks/{NcSelect-CKgkjF4m.cjs → NcSelect-VZJ_gUib.cjs} +49 -21
  458. package/dist/chunks/NcSelect-VZJ_gUib.cjs.map +1 -0
  459. package/dist/chunks/{NcSelectTags-BceJx_FU.cjs → NcSelectTags-CfiOYB0i.cjs} +55 -11
  460. package/dist/chunks/NcSelectTags-CfiOYB0i.cjs.map +1 -0
  461. package/dist/chunks/{NcSelectTags-CPc3qB8r.mjs → NcSelectTags-DOOq_cD0.mjs} +55 -11
  462. package/dist/chunks/NcSelectTags-DOOq_cD0.mjs.map +1 -0
  463. package/dist/chunks/{NcSettingsInputText-Cv_JwbFO.cjs → NcSettingsInputText-CECqEZO0.cjs} +37 -6
  464. package/dist/chunks/NcSettingsInputText-CECqEZO0.cjs.map +1 -0
  465. package/dist/chunks/{NcSettingsInputText-BF_v4yDP.mjs → NcSettingsInputText-DTAI3bS2.mjs} +37 -6
  466. package/dist/chunks/NcSettingsInputText-DTAI3bS2.mjs.map +1 -0
  467. package/dist/chunks/{NcSettingsSection-V9DkkSuI.mjs → NcSettingsSection-CEWt4eXE.mjs} +4 -5
  468. package/dist/chunks/NcSettingsSection-CEWt4eXE.mjs.map +1 -0
  469. package/dist/chunks/{NcSettingsSection-CA2JahBC.cjs → NcSettingsSection-Dn7Qmknm.cjs} +4 -5
  470. package/dist/chunks/NcSettingsSection-Dn7Qmknm.cjs.map +1 -0
  471. package/dist/chunks/{NcSettingsSelectGroup-8tK3uGkJ.cjs → NcSettingsSelectGroup-C6JgQUes.cjs} +39 -12
  472. package/dist/chunks/NcSettingsSelectGroup-C6JgQUes.cjs.map +1 -0
  473. package/dist/chunks/{NcSettingsSelectGroup-Bx__1Iss.mjs → NcSettingsSelectGroup-haZmDz--.mjs} +39 -12
  474. package/dist/chunks/NcSettingsSelectGroup-haZmDz--.mjs.map +1 -0
  475. package/dist/chunks/NcTextArea-CXWHO22r.cjs +206 -0
  476. package/dist/chunks/NcTextArea-CXWHO22r.cjs.map +1 -0
  477. package/dist/chunks/NcTextArea-Cegw6i17.mjs +207 -0
  478. package/dist/chunks/NcTextArea-Cegw6i17.mjs.map +1 -0
  479. package/dist/chunks/{NcTextField-CmXmPZ4h.mjs → NcTextField-DaGO9lFz.mjs} +25 -7
  480. package/dist/chunks/NcTextField-DaGO9lFz.mjs.map +1 -0
  481. package/dist/chunks/{NcTextField-BnZnDMjV.cjs → NcTextField-DwWIlisf.cjs} +28 -10
  482. package/dist/chunks/NcTextField-DwWIlisf.cjs.map +1 -0
  483. package/dist/chunks/{NcTimezonePicker-CPfvqXuN.cjs → NcTimezonePicker-Dh3nLcb5.cjs} +40 -9
  484. package/dist/chunks/NcTimezonePicker-Dh3nLcb5.cjs.map +1 -0
  485. package/dist/chunks/{NcTimezonePicker-BwygP9tV.mjs → NcTimezonePicker-Nn0FbzGI.mjs} +40 -9
  486. package/dist/chunks/NcTimezonePicker-Nn0FbzGI.mjs.map +1 -0
  487. package/dist/chunks/{NcUserBubble-G7FKOk8N.mjs → NcUserBubble-CSUTL5fC.mjs} +4 -5
  488. package/dist/chunks/{NcUserBubble-TVnJaVQg.cjs.map → NcUserBubble-CSUTL5fC.mjs.map} +1 -1
  489. package/dist/chunks/{NcUserBubble-TVnJaVQg.cjs → NcUserBubble-Cg86HaKF.cjs} +4 -5
  490. package/dist/chunks/{NcUserBubble-G7FKOk8N.mjs.map → NcUserBubble-Cg86HaKF.cjs.map} +1 -1
  491. package/dist/chunks/{NcUserStatusIcon-CPZOWw3t.mjs → NcUserStatusIcon-C4oNCbQv.mjs} +6 -9
  492. package/dist/chunks/{NcUserStatusIcon-CPZOWw3t.mjs.map → NcUserStatusIcon-C4oNCbQv.mjs.map} +1 -1
  493. package/dist/chunks/{NcUserStatusIcon-FtKzp5sl.cjs → NcUserStatusIcon-CP1EGHie.cjs} +6 -9
  494. package/dist/chunks/{NcUserStatusIcon-FtKzp5sl.cjs.map → NcUserStatusIcon-CP1EGHie.cjs.map} +1 -1
  495. package/dist/chunks/{ScopeComponent-BVnA9iVd.mjs → ScopeComponent-7geL5q_S.mjs} +1 -1
  496. package/dist/chunks/{ScopeComponent-BVnA9iVd.mjs.map → ScopeComponent-7geL5q_S.mjs.map} +1 -1
  497. package/dist/chunks/{ScopeComponent-B0gd6vEY.cjs → ScopeComponent-CABGdfsV.cjs} +1 -1
  498. package/dist/chunks/{ScopeComponent-B0gd6vEY.cjs.map → ScopeComponent-CABGdfsV.cjs.map} +1 -1
  499. package/dist/chunks/_l10n-Ch5mEdUH.cjs +131 -0
  500. package/dist/chunks/{_l10n-Ci9_UR5q.cjs.map → _l10n-Ch5mEdUH.cjs.map} +1 -1
  501. package/dist/chunks/_l10n-DXr-EzLn.mjs +132 -0
  502. package/dist/chunks/_l10n-DXr-EzLn.mjs.map +1 -0
  503. package/dist/chunks/{emoji-V6ytyzoR.mjs → emoji-BY_D0V5K.mjs} +2 -3
  504. package/dist/chunks/{emoji-V6ytyzoR.mjs.map → emoji-BY_D0V5K.mjs.map} +1 -1
  505. package/dist/chunks/{emoji-BCCCB3t3.cjs → emoji-VgSjNTd5.cjs} +2 -3
  506. package/dist/chunks/{emoji-BCCCB3t3.cjs.map → emoji-VgSjNTd5.cjs.map} +1 -1
  507. package/dist/chunks/{index-Dsgv-f-l.cjs → index-BV85rPB7.cjs} +3 -6
  508. package/dist/chunks/{index-Dsgv-f-l.cjs.map → index-BV85rPB7.cjs.map} +1 -1
  509. package/dist/chunks/{index-CMZdBcqP.mjs → index-CKNLRG-q.mjs} +8 -8
  510. package/dist/chunks/{index-CMZdBcqP.mjs.map → index-CKNLRG-q.mjs.map} +1 -1
  511. package/dist/chunks/{index-BwyQ2N-M.mjs → index-CtoB4eIp.mjs} +3 -6
  512. package/dist/chunks/{index-BwyQ2N-M.mjs.map → index-CtoB4eIp.mjs.map} +1 -1
  513. package/dist/chunks/{index-CC4ahXvG.cjs → index-DLGLmjm4.cjs} +8 -8
  514. package/dist/chunks/{index-CC4ahXvG.cjs.map → index-DLGLmjm4.cjs.map} +1 -1
  515. package/dist/chunks/{referencePickerModal-ByI9zX0a.mjs → referencePickerModal-B4rYwkv3.mjs} +29 -42
  516. package/dist/chunks/referencePickerModal-B4rYwkv3.mjs.map +1 -0
  517. package/dist/chunks/{referencePickerModal--FRvx7tZ.cjs → referencePickerModal-DlPz1XJQ.cjs} +29 -42
  518. package/dist/chunks/referencePickerModal-DlPz1XJQ.cjs.map +1 -0
  519. package/dist/chunks/useModelMigration-BvlORW73.mjs +24 -0
  520. package/dist/chunks/useModelMigration-BvlORW73.mjs.map +1 -0
  521. package/dist/chunks/useModelMigration-CVxLzfS5.cjs +25 -0
  522. package/dist/chunks/useModelMigration-CVxLzfS5.cjs.map +1 -0
  523. package/dist/chunks/{usernameToColor-D6FJP4ni.mjs → usernameToColor-B9AB7E7x.mjs} +1 -1
  524. package/dist/chunks/{usernameToColor-D6FJP4ni.mjs.map → usernameToColor-B9AB7E7x.mjs.map} +1 -1
  525. package/dist/chunks/{usernameToColor-u2MH9nY7.cjs → usernameToColor-CWxjw-Pq.cjs} +1 -1
  526. package/dist/chunks/{usernameToColor-u2MH9nY7.cjs.map → usernameToColor-CWxjw-Pq.cjs.map} +1 -1
  527. package/dist/composables/useIsDarkTheme/index.d.ts +16 -0
  528. package/dist/composables/useModelMigration.d.ts +12 -0
  529. package/dist/functions/dialog/index.d.ts +16 -0
  530. package/dist/functions/index.d.ts +10 -0
  531. package/dist/functions/isDarkTheme/index.d.ts +17 -0
  532. package/dist/index.cjs +74 -66
  533. package/dist/index.cjs.map +1 -1
  534. package/dist/index.mjs +67 -59
  535. package/dist/index.mjs.map +1 -1
  536. package/dist/vendor.LICENSE.txt +1 -1
  537. package/package.json +2 -2
  538. package/dist/assets/NcDateTimePickerNative-BAcKr0B3.css +0 -47
  539. package/dist/chunks/AlertCircleOutline-DLtiWgZd.cjs.map +0 -1
  540. package/dist/chunks/AlertCircleOutline-DU3QwU5Y.mjs.map +0 -1
  541. package/dist/chunks/ArrowLeft-BhAxJBYx.mjs.map +0 -1
  542. package/dist/chunks/ArrowLeft-CONurT5C.cjs.map +0 -1
  543. package/dist/chunks/ArrowRight-Bj5G_mG0.cjs.map +0 -1
  544. package/dist/chunks/ArrowRight-KsL2PC-o.mjs.map +0 -1
  545. package/dist/chunks/Check-XHAzUBkX.mjs.map +0 -1
  546. package/dist/chunks/Check-fCbe4vqy.cjs.map +0 -1
  547. package/dist/chunks/ChevronDown-CiFbcDUC.cjs.map +0 -1
  548. package/dist/chunks/ChevronDown-D3Tfshug.mjs.map +0 -1
  549. package/dist/chunks/ChevronRight-C3eVhc5a.mjs.map +0 -1
  550. package/dist/chunks/ChevronRight-CWbdN5_r.cjs.map +0 -1
  551. package/dist/chunks/ChevronUp-A2riTBrv.cjs.map +0 -1
  552. package/dist/chunks/ChevronUp-ljACquzS.mjs.map +0 -1
  553. package/dist/chunks/Close-B6ccm1RP.mjs.map +0 -1
  554. package/dist/chunks/Close-B7lGu0cG.cjs.map +0 -1
  555. package/dist/chunks/DotsHorizontal-Cd2x8oz2.mjs.map +0 -1
  556. package/dist/chunks/DotsHorizontal-DQfnwpao.cjs.map +0 -1
  557. package/dist/chunks/NcActionInput-BxlypAgV.mjs.map +0 -1
  558. package/dist/chunks/NcActionInput-TP6P798j.cjs.map +0 -1
  559. package/dist/chunks/NcAppContent-fXpgsMfG.cjs.map +0 -1
  560. package/dist/chunks/NcAppContent-lEyly7Jk.mjs.map +0 -1
  561. package/dist/chunks/NcAppNavigationItem-DfgovIvi.cjs.map +0 -1
  562. package/dist/chunks/NcAppNavigationItem-MvvOWnip.mjs.map +0 -1
  563. package/dist/chunks/NcAppNavigationSettings-C-_G8yUn.cjs.map +0 -1
  564. package/dist/chunks/NcAppNavigationSettings-DScz0UWm.mjs.map +0 -1
  565. package/dist/chunks/NcAppNavigationToggle-BXainLDc.mjs.map +0 -1
  566. package/dist/chunks/NcAppNavigationToggle-DAhbqsn_.cjs.map +0 -1
  567. package/dist/chunks/NcAppSidebar-1S8EBs22.cjs.map +0 -1
  568. package/dist/chunks/NcAppSidebar-D1Ss2put.mjs.map +0 -1
  569. package/dist/chunks/NcBreadcrumbs-CPW9eMLa.mjs.map +0 -1
  570. package/dist/chunks/NcBreadcrumbs-GKwJaai0.cjs.map +0 -1
  571. package/dist/chunks/NcCheckboxRadioSwitch-COeeT-7G.cjs.map +0 -1
  572. package/dist/chunks/NcCheckboxRadioSwitch-CvMEEI9x.mjs.map +0 -1
  573. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-CbxHILUm.cjs +0 -4
  574. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-CbxHILUm.cjs.map +0 -1
  575. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-pIxtu28F.mjs +0 -3
  576. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_00597cce_lang-pIxtu28F.mjs.map +0 -1
  577. package/dist/chunks/NcColorPicker-Ddm2gbz0.mjs.map +0 -1
  578. package/dist/chunks/NcColorPicker-Dy2BtsaH.cjs.map +0 -1
  579. package/dist/chunks/NcEmojiPicker-C2DIjkqr.mjs.map +0 -1
  580. package/dist/chunks/NcEmojiPicker-DrMA-XDR.cjs.map +0 -1
  581. package/dist/chunks/NcPasswordField-BQCunRtm.cjs.map +0 -1
  582. package/dist/chunks/NcPasswordField-DLXPfvQB.mjs.map +0 -1
  583. package/dist/chunks/NcRelatedResourcesPanel-CsOAnfA1.cjs.map +0 -1
  584. package/dist/chunks/NcRelatedResourcesPanel-DZICfdzQ.mjs.map +0 -1
  585. package/dist/chunks/NcRichContenteditable-CCJdho4G.mjs.map +0 -1
  586. package/dist/chunks/NcRichContenteditable-Ye5vABN5.cjs.map +0 -1
  587. package/dist/chunks/NcRichText-7rxnpUCI.cjs.map +0 -1
  588. package/dist/chunks/NcRichText-Xs-QVexE.mjs.map +0 -1
  589. package/dist/chunks/NcSelect-CKgkjF4m.cjs.map +0 -1
  590. package/dist/chunks/NcSelect-DRRPiPZG.mjs.map +0 -1
  591. package/dist/chunks/NcSelectTags-BceJx_FU.cjs.map +0 -1
  592. package/dist/chunks/NcSelectTags-CPc3qB8r.mjs.map +0 -1
  593. package/dist/chunks/NcSettingsInputText-BF_v4yDP.mjs.map +0 -1
  594. package/dist/chunks/NcSettingsInputText-Cv_JwbFO.cjs.map +0 -1
  595. package/dist/chunks/NcSettingsSection-CA2JahBC.cjs.map +0 -1
  596. package/dist/chunks/NcSettingsSection-V9DkkSuI.mjs.map +0 -1
  597. package/dist/chunks/NcSettingsSelectGroup-8tK3uGkJ.cjs.map +0 -1
  598. package/dist/chunks/NcSettingsSelectGroup-Bx__1Iss.mjs.map +0 -1
  599. package/dist/chunks/NcTextField-BnZnDMjV.cjs.map +0 -1
  600. package/dist/chunks/NcTextField-CmXmPZ4h.mjs.map +0 -1
  601. package/dist/chunks/NcTimezonePicker-BwygP9tV.mjs.map +0 -1
  602. package/dist/chunks/NcTimezonePicker-CPfvqXuN.cjs.map +0 -1
  603. package/dist/chunks/_l10n-Ci9_UR5q.cjs +0 -131
  604. package/dist/chunks/_l10n-JYjUKekn.mjs +0 -132
  605. package/dist/chunks/_l10n-JYjUKekn.mjs.map +0 -1
  606. package/dist/chunks/referencePickerModal--FRvx7tZ.cjs.map +0 -1
  607. package/dist/chunks/referencePickerModal-ByI9zX0a.mjs.map +0 -1
  608. /package/dist/assets/{NcActionButtonGroup-CQxLn2fv.css → NcActionButtonGroup-BND4GQdv.css} +0 -0
  609. /package/dist/assets/{NcActionCaption-B7FZTc3Y.css → NcActionCaption-JVhz4Wp7.css} +0 -0
  610. /package/dist/assets/{NcActionSeparator-CEbb5P6P.css → NcActionSeparator-Ct2RnclR.css} +0 -0
  611. /package/dist/assets/{NcActions-CkVHYk_-.css → NcActions-DM_LoRlx.css} +0 -0
  612. /package/dist/assets/{NcAppNavigationCaption-zgtPq3Od.css → NcAppNavigationCaption-Dt5K_hKD.css} +0 -0
  613. /package/dist/assets/{NcAppNavigationIconBullet-By_0o2dG.css → NcAppNavigationIconBullet-CeBYVy6t.css} +0 -0
  614. /package/dist/assets/{NcAppNavigationList-BIbyyT7b.css → NcAppNavigationList-DnKj0-Zq.css} +0 -0
  615. /package/dist/assets/{NcAppNavigationNew-BKfawNII.css → NcAppNavigationNew-BcDuupzO.css} +0 -0
  616. /package/dist/assets/{NcAppNavigationNewItem-Ce17FkDl.css → NcAppNavigationNewItem-CQ1f40wK.css} +0 -0
  617. /package/dist/assets/{NcAppNavigationSearch-BLGG_WBn.css → NcAppNavigationSearch-Df50ss_2.css} +0 -0
  618. /package/dist/assets/{NcAppNavigationSettings-AzpTlUym.css → NcAppNavigationSettings-BV_QS8jh.css} +0 -0
  619. /package/dist/assets/{NcAppNavigationSpacer-CfNqmQeR.css → NcAppNavigationSpacer-Fkr_mEI1.css} +0 -0
  620. /package/dist/assets/{NcAppSettingsDialog-QF6aTZ3s.css → NcAppSettingsDialog-kKMMsdb3.css} +0 -0
  621. /package/dist/assets/{NcAppSettingsSection-qU4SUZvh.css → NcAppSettingsSection-Bl2-D3_g.css} +0 -0
  622. /package/dist/assets/{NcAppSidebarTab-BieYhqvk.css → NcAppSidebarTab-Blv6UfuA.css} +0 -0
  623. /package/dist/assets/{NcAvatar-5N7xP8zN.css → NcAvatar-xe4gdFKk.css} +0 -0
  624. /package/dist/assets/{NcBreadcrumb-DOvK-XG1.css → NcBreadcrumb-Cjcyeimd.css} +0 -0
  625. /package/dist/assets/{NcBreadcrumbs-CPUAM38l.css → NcBreadcrumbs-CFRjXqRg.css} +0 -0
  626. /package/dist/assets/{NcButton-DYJAoXeG.css → NcButton-BHDLon1_.css} +0 -0
  627. /package/dist/assets/{NcChip-CEKw1zaK.css → NcChip-CHVJ7LYT.css} +0 -0
  628. /package/dist/assets/{NcCollectionList-ETQTqkqt.css → NcCollectionList-yjTCAR46.css} +0 -0
  629. /package/dist/assets/{NcContent-ZFNIjylG.css → NcContent-CZamE_IP.css} +0 -0
  630. /package/dist/assets/{NcCounterBubble-Dizdz4Hk.css → NcCounterBubble-DdYmHnng.css} +0 -0
  631. /package/dist/assets/{NcDashboardWidget-CpstyXok.css → NcDashboardWidget-BSTvIgiJ.css} +0 -0
  632. /package/dist/assets/{NcDashboardWidgetItem-BBZT17WU.css → NcDashboardWidgetItem-BtOuK4mf.css} +0 -0
  633. /package/dist/assets/{NcDialog-ByAK1rQ0.css → NcDialog-Bzs9oxyt.css} +0 -0
  634. /package/dist/assets/{NcEmojiPicker-B5dclDLD.css → NcEmojiPicker-BNCW1Q94.css} +0 -0
  635. /package/dist/assets/{NcEmptyContent-BU0QVo3d.css → NcEmptyContent-BlXL6nnq.css} +0 -0
  636. /package/dist/assets/{NcGuestContent-BLJ37yLM.css → NcGuestContent-B0ivUQHg.css} +0 -0
  637. /package/dist/assets/{NcHeaderButton-BybvB5sC.css → NcHeaderButton-DH4Qtw3P.css} +0 -0
  638. /package/dist/assets/{NcHeaderMenu-BCtvpsZj.css → NcHeaderMenu-C2XbJMYL.css} +0 -0
  639. /package/dist/assets/{NcIconSvgWrapper-BwsJ8wBM.css → NcIconSvgWrapper-BxyhLaB5.css} +0 -0
  640. /package/dist/assets/{NcInputConfirmCancel-SGr0-6w8.css → NcInputConfirmCancel-EYtW7MxF.css} +0 -0
  641. /package/dist/assets/{NcListItem-D-8LyMsI.css → NcListItem-BBu5UTTe.css} +0 -0
  642. /package/dist/assets/{NcListItemIcon--7OhLYWA.css → NcListItemIcon-UmX9YoH3.css} +0 -0
  643. /package/dist/assets/{NcLoadingIcon-BSONDy7x.css → NcLoadingIcon-x1d284UU.css} +0 -0
  644. /package/dist/assets/{NcMentionBubble-C6t8od-_.css → NcMentionBubble-Bt71nB8X.css} +0 -0
  645. /package/dist/assets/{NcNoteCard-CImn6F9p.css → NcNoteCard-C6xb7vi0.css} +0 -0
  646. /package/dist/assets/{NcPopover-BDlL00qZ.css → NcPopover-TS4CW9MJ.css} +0 -0
  647. /package/dist/assets/{NcProgressBar-BsqdCn-x.css → NcProgressBar--z-WqmX4.css} +0 -0
  648. /package/dist/assets/{NcRelatedResourcesPanel-BE9CQ8s8.css → NcRelatedResourcesPanel-DIhZx6lY.css} +0 -0
  649. /package/dist/assets/{NcSelect-EIXtZSVn.css → NcSelect-GdIw6cIy.css} +0 -0
  650. /package/dist/assets/{NcSettingsSection-CGaCS1X0.css → NcSettingsSection-Dlaob2ni.css} +0 -0
  651. /package/dist/assets/{NcUserBubble-Cv-q-rH5.css → NcUserBubble-CNid1YOT.css} +0 -0
  652. /package/dist/assets/{NcUserStatusIcon-DMxcdM51.css → NcUserStatusIcon-DAVSJFhS.css} +0 -0
  653. /package/dist/assets/{Tooltip-4CSl8xev.css → Tooltip-DQ4Plm4r.css} +0 -0
@@ -1,26 +1,26 @@
1
- require('../assets/referencePickerModal-9BcmmfUy.css');
1
+ require('../assets/referencePickerModal-BhhuyO3J.css');
2
2
  "use strict";
3
- const Functions_registerReference = require("./index-Dsgv-f-l.cjs");
3
+ const Functions_registerReference = require("./index-BV85rPB7.cjs");
4
4
  const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
5
- const _l10n = require("./_l10n-Ci9_UR5q.cjs");
5
+ const _l10n = require("./_l10n-Ch5mEdUH.cjs");
6
6
  const axios = require("@nextcloud/axios");
7
7
  const initialState = require("@nextcloud/initial-state");
8
8
  const router = require("@nextcloud/router");
9
9
  const Components_NcEmptyContent = require("../Components/NcEmptyContent.cjs");
10
10
  const Components_NcHighlight = require("./index-DIJxEozm.cjs");
11
- const NcSelect = require("./NcSelect-CKgkjF4m.cjs");
11
+ const NcSelect = require("./NcSelect-VZJ_gUib.cjs");
12
12
  const core = require("@vueuse/core");
13
13
  const Vue = require("vue");
14
14
  const vueRouter = require("vue-router");
15
15
  const autolink = require("./autolink-BAgL31EZ.cjs");
16
16
  const Components_NcButton = require("../Components/NcButton.cjs");
17
17
  const Components_NcLoadingIcon = require("../Components/NcLoadingIcon.cjs");
18
- const NcTextField = require("./NcTextField-BnZnDMjV.cjs");
19
- const DotsHorizontal = require("./DotsHorizontal-DQfnwpao.cjs");
18
+ const NcTextField = require("./NcTextField-DwWIlisf.cjs");
19
+ const DotsHorizontal = require("./DotsHorizontal-BoI3vnhk.cjs");
20
20
  const Components_NcModal = require("../Components/NcModal.cjs");
21
21
  const eventBus = require("@nextcloud/event-bus");
22
- const ArrowLeft = require("./ArrowLeft-CONurT5C.cjs");
23
- const Close = require("./Close-B7lGu0cG.cjs");
22
+ const ArrowLeft = require("./ArrowLeft-BP7yfzCQ.cjs");
23
+ const Close = require("./Close-CqmXxEKi.cjs");
24
24
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
25
25
  const axios__default = /* @__PURE__ */ _interopDefault(axios);
26
26
  const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
@@ -154,15 +154,15 @@ const _sfc_main$8 = {
154
154
  this.renderWidget();
155
155
  },
156
156
  renderWidget() {
157
- var _a;
158
157
  if (!this.$refs.customWidget) {
159
158
  return;
160
159
  }
161
- if (((_a = this == null ? void 0 : this.reference) == null ? void 0 : _a.richObjectType) === "open-graph") {
160
+ if (this?.reference?.richObjectType === "open-graph") {
162
161
  return;
163
162
  }
164
163
  this.$refs.customWidget.innerHTML = "";
165
164
  const widget = document.createElement("div");
165
+ widget.style = "width: 100%;";
166
166
  this.$refs.customWidget.appendChild(widget);
167
167
  this.$nextTick(() => {
168
168
  Functions_registerReference.renderWidget(widget, {
@@ -191,7 +191,7 @@ var __component__$8 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
191
191
  _sfc_staticRenderFns$8,
192
192
  false,
193
193
  null,
194
- "b293f5d9"
194
+ "ea9434d3"
195
195
  );
196
196
  const NcReferenceWidget = __component__$8.exports;
197
197
  const _sfc_main$7 = {
@@ -232,9 +232,8 @@ const _sfc_main$7 = {
232
232
  }
233
233
  const renderFunctionResult = Functions_registerReference.renderCustomPickerElement(this.$refs.domElement, { providerId: this.provider.id, accessible: false });
234
234
  Promise.resolve(renderFunctionResult).then((result) => {
235
- var _a, _b;
236
235
  this.renderResult = result;
237
- if (((_a = this.renderResult.object) == null ? void 0 : _a._isVue) && ((_b = this.renderResult.object) == null ? void 0 : _b.$on)) {
236
+ if (this.renderResult.object?._isVue && this.renderResult.object?.$on) {
238
237
  this.renderResult.object.$on("submit", this.onSubmit);
239
238
  this.renderResult.object.$on("cancel", this.onCancel);
240
239
  }
@@ -366,7 +365,7 @@ const _sfc_main$6 = {
366
365
  };
367
366
  var _sfc_render$6 = function render3() {
368
367
  var _vm = this, _c = _vm._self._c;
369
- 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) {
368
+ 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) {
370
369
  return _vm.$emit("click", $event);
371
370
  } } }, "span", _vm.$attrs, false), [_c("svg", { staticClass: "material-design-icon__svg", attrs: { "fill": _vm.fillColor, "width": _vm.size, "height": _vm.size, "viewBox": "0 0 24 24" } }, [_c("path", { attrs: { "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" } }, [_vm.title ? _c("title", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);
372
371
  };
@@ -417,8 +416,7 @@ const _sfc_main$5 = {
417
416
  methods: {
418
417
  focus() {
419
418
  setTimeout(() => {
420
- var _a, _b, _c;
421
- (_c = (_b = (_a = this.$refs["provider-select"]) == null ? void 0 : _a.$el) == null ? void 0 : _b.querySelector("#provider-select-input")) == null ? void 0 : _c.focus();
419
+ this.$refs["provider-select"]?.$el?.querySelector("#provider-select-input")?.focus();
422
420
  }, 300);
423
421
  },
424
422
  onProviderSelected(p) {
@@ -494,8 +492,7 @@ const _sfc_main$4 = {
494
492
  },
495
493
  methods: {
496
494
  focus() {
497
- var _a;
498
- (_a = this.$refs["url-input"].$el.getElementsByTagName("input")[0]) == null ? void 0 : _a.focus();
495
+ this.$refs["url-input"].$el.getElementsByTagName("input")[0]?.focus();
499
496
  },
500
497
  onSubmit(e) {
501
498
  const value = e.target.value;
@@ -711,8 +708,7 @@ const _sfc_main$2 = {
711
708
  },
712
709
  focus() {
713
710
  setTimeout(() => {
714
- var _a, _b, _c;
715
- (_c = (_b = (_a = this.$refs["search-select"]) == null ? void 0 : _a.$el) == null ? void 0 : _b.querySelector("#search-select-input")) == null ? void 0 : _c.focus();
711
+ this.$refs["search-select"]?.$el?.querySelector("#search-select-input")?.focus();
716
712
  }, 300);
717
713
  },
718
714
  cancelSearchRequests() {
@@ -753,12 +749,11 @@ const _sfc_main$2 = {
753
749
  return this.searchProviders();
754
750
  },
755
751
  searchProviders(searchProviderId = null) {
756
- var _a, _b;
757
752
  this.abortController = new AbortController();
758
753
  this.searching = true;
759
754
  const searchPromises = searchProviderId === null ? [...this.searchProviderIds].map((pid) => {
760
755
  return this.searchOneProvider(pid);
761
- }) : [this.searchOneProvider(searchProviderId, (_b = (_a = this.resultsBySearchProvider[searchProviderId]) == null ? void 0 : _a.cursor) != null ? _b : null)];
756
+ }) : [this.searchOneProvider(searchProviderId, this.resultsBySearchProvider[searchProviderId]?.cursor ?? null)];
762
757
  return Promise.allSettled(searchPromises).then((promises) => {
763
758
  const isOneCanceled = !!promises.find((p) => {
764
759
  return p.status === "rejected" && (p.reason.name === "CanceledError" || p.reason.code === "ERR_CANCELED");
@@ -872,13 +867,11 @@ const _sfc_main$1 = {
872
867
  if (this.focusOnCreate) {
873
868
  if (this.initialProvider) {
874
869
  setTimeout(() => {
875
- var _a;
876
- (_a = this.$refs["url-input"]) == null ? void 0 : _a.focus();
870
+ this.$refs["url-input"]?.focus();
877
871
  }, 300);
878
872
  } else {
879
873
  this.$nextTick(() => {
880
- var _a;
881
- (_a = this.$refs["provider-list"]) == null ? void 0 : _a.focus();
874
+ this.$refs["provider-list"]?.focus();
882
875
  });
883
876
  }
884
877
  }
@@ -895,21 +888,18 @@ const _sfc_main$1 = {
895
888
  this.selectedProvider = provider;
896
889
  this.$emit("provider-selected", provider);
897
890
  this.$nextTick(() => {
898
- var _a;
899
- (_a = this.$refs["url-input"]) == null ? void 0 : _a.focus();
891
+ this.$refs["url-input"]?.focus();
900
892
  });
901
893
  },
902
894
  cancelCustomElement() {
903
895
  this.deselectProvider();
904
896
  },
905
897
  cancelSearch() {
906
- var _a;
907
- this.$emit("cancel-search", (_a = this.selectedProvider) == null ? void 0 : _a.title);
898
+ this.$emit("cancel-search", this.selectedProvider?.title);
908
899
  this.deselectProvider();
909
900
  },
910
901
  cancelRawLinkInput() {
911
- var _a;
912
- this.$emit("cancel-raw-link", (_a = this.selectedProvider) == null ? void 0 : _a.title);
902
+ this.$emit("cancel-raw-link", this.selectedProvider?.title);
913
903
  this.deselectProvider();
914
904
  },
915
905
  cancelProviderSelection() {
@@ -926,8 +916,7 @@ const _sfc_main$1 = {
926
916
  this.selectedProvider = null;
927
917
  this.$emit("provider-selected", null);
928
918
  setTimeout(() => {
929
- var _a;
930
- (_a = this.$refs["provider-list"]) == null ? void 0 : _a.focus();
919
+ this.$refs["provider-list"]?.focus();
931
920
  }, 300);
932
921
  }
933
922
  }
@@ -939,7 +928,7 @@ var _sfc_render$1 = function render8() {
939
928
  $event.stopPropagation();
940
929
  $event.preventDefault();
941
930
  return _vm.onEscapePressed.apply(null, arguments);
942
- } } }, [_vm.mode === _vm.MODES.providerList ? _c("NcProviderList", { ref: "provider-list", on: { "select-provider": _vm.onProviderSelected, "submit": _vm.submitLink, "cancel": _vm.cancelProviderSelection } }) : _vm.mode === _vm.MODES.standardLinkInput ? _c("NcRawLinkInput", { ref: "url-input", attrs: { "provider": _vm.selectedProvider }, on: { "submit": _vm.submitLink, "cancel": _vm.cancelRawLinkInput } }) : _vm.mode === _vm.MODES.searchInput ? _c("NcSearch", { ref: "url-input", attrs: { "provider": _vm.selectedProvider }, on: { "cancel": _vm.cancelSearch, "submit": _vm.submitLink } }) : _vm.mode === _vm.MODES.customElement ? _c("div", { staticClass: "custom-element-wrapper" }, [_c("NcCustomPickerElement", { attrs: { "provider": _vm.selectedProvider }, on: { "submit": _vm.submitLink, "cancel": _vm.cancelCustomElement } })], 1) : _vm._e()], 1);
931
+ } } }, [_vm.mode === _vm.MODES.providerList ? _c("NcProviderList", { ref: "provider-list", on: { "select-provider": _vm.onProviderSelected, "submit": _vm.submitLink, "cancel": _vm.cancelProviderSelection } }) : _vm.mode === _vm.MODES.standardLinkInput ? _c("NcRawLinkInput", { ref: "url-input", attrs: { "provider": _vm.selectedProvider }, on: { "submit": _vm.submitLink, "cancel": _vm.cancelRawLinkInput } }) : _vm.mode === _vm.MODES.searchInput ? _c("NcSearch", { ref: "url-input", attrs: { "provider": _vm.selectedProvider }, on: { "cancel": _vm.cancelSearch, "submit": _vm.submitLink } }) : _vm.mode === _vm.MODES.customElement ? _c("div", { staticClass: "custom-element-wrapper" }, [_c("NcCustomPickerElement", { staticClass: "custom-element", attrs: { "provider": _vm.selectedProvider }, on: { "submit": _vm.submitLink, "cancel": _vm.cancelCustomElement } })], 1) : _vm._e()], 1);
943
932
  };
944
933
  var _sfc_staticRenderFns$1 = [];
945
934
  var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
@@ -948,7 +937,7 @@ var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
948
937
  _sfc_staticRenderFns$1,
949
938
  false,
950
939
  null,
951
- "f3f0de17"
940
+ "cd33df8e"
952
941
  );
953
942
  const NcReferencePicker = __component__$1.exports;
954
943
  _l10n.register(_l10n.t12, _l10n.t18);
@@ -1006,8 +995,7 @@ const _sfc_main = {
1006
995
  return this.initialProvider === null && this.isProviderSelected;
1007
996
  },
1008
997
  modalSize() {
1009
- var _a;
1010
- return this.isProviderSelected && Functions_registerReference.isCustomPickerElementRegistered(this.selectedProvider.id) ? (_a = Functions_registerReference.getCustomPickerElementSize(this.selectedProvider.id)) != null ? _a : "large" : "normal";
998
+ return this.isProviderSelected && Functions_registerReference.isCustomPickerElementRegistered(this.selectedProvider.id) ? Functions_registerReference.getCustomPickerElementSize(this.selectedProvider.id) ?? "large" : "normal";
1011
999
  },
1012
1000
  showModalName() {
1013
1001
  return !this.isProviderSelected || !Functions_registerReference.isCustomPickerElementRegistered(this.selectedProvider.id);
@@ -1044,7 +1032,7 @@ const _sfc_main = {
1044
1032
  };
1045
1033
  var _sfc_render = function render9() {
1046
1034
  var _vm = this, _c = _vm._self._c;
1047
- return _vm.show ? _c("NcModal", { staticClass: "reference-picker-modal", attrs: { "size": _vm.modalSize, "can-close": false }, 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() {
1035
+ 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() {
1048
1036
  return [_c("ArrowLeftIcon")];
1049
1037
  }, proxy: true }], null, false, 3001860362) }) : _vm._e(), _c("NcButton", { staticClass: "close-button", attrs: { "aria-label": _vm.closeButtonLabel, "title": _vm.closeButtonTitle, "type": "tertiary" }, on: { "click": _vm.onCancel }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
1050
1038
  return [_c("CloseIcon")];
@@ -1057,17 +1045,16 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
1057
1045
  _sfc_staticRenderFns,
1058
1046
  false,
1059
1047
  null,
1060
- "19d3f57d"
1048
+ "a742c4c2"
1061
1049
  );
1062
1050
  const NcReferencePickerModal = __component__.exports;
1063
1051
  async function getLinkWithPicker(providerId = null, isInsideViewer = void 0) {
1064
1052
  return await new Promise((resolve, reject) => {
1065
- var _a;
1066
1053
  const modalId = "referencePickerModal";
1067
1054
  const modalElement = document.createElement("div");
1068
1055
  modalElement.id = modalId;
1069
1056
  document.body.append(modalElement);
1070
- const initialProvider = providerId === null ? null : (_a = getProvider(providerId)) != null ? _a : null;
1057
+ const initialProvider = providerId === null ? null : getProvider(providerId) ?? null;
1071
1058
  const View = Vue__default.default.extend(NcReferencePickerModal);
1072
1059
  const view = new View({
1073
1060
  propsData: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referencePickerModal-DlPz1XJQ.cjs","sources":["../../src/components/NcRichText/NcReferenceWidget.vue","../../src/components/NcRichText/NcReferencePicker/NcCustomPickerElement.vue","../../src/functions/reference/providerHelper.js","../../src/components/NcRichText/NcReferencePicker/utils.js","../../node_modules/vue-material-design-icons/LinkVariant.vue","../../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.js"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div ref=\"widgetRoot\" :class=\"{'toggle-interactive': hasInteractiveView && !isInteractive }\">\n\t\t<div v-if=\"reference && hasCustomWidget\"\n\t\t\tref=\"customWidget\"\n\t\t\tclass=\"widget-custom\"\n\t\t\t:class=\"{ 'full-width': hasFullWidth }\" />\n\n\t\t<component :is=\"referenceWidgetLinkComponent\"\n\t\t\tv-else-if=\"!noAccess && reference && reference.openGraphObject && !hasCustomWidget\"\n\t\t\tv-bind=\"referenceWidgetLinkProps\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\tclass=\"widget-default\">\n\t\t\t<img v-if=\"reference.openGraphObject.thumb\" class=\"widget-default--image\" :src=\"reference.openGraphObject.thumb\">\n\t\t\t<div class=\"widget-default--details\">\n\t\t\t\t<p class=\"widget-default--name\">\n\t\t\t\t\t{{ reference.openGraphObject.name }}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"widget-default--description\" :style=\"descriptionStyle\">\n\t\t\t\t\t{{ reference.openGraphObject.description }}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"widget-default--link\">\n\t\t\t\t\t{{ compactLink }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</component>\n\t\t<NcButton v-if=\"interactiveOptIn && hasInteractiveView && !isInteractive\" class=\"toggle-interactive--button\" @click=\"enableInteractive\">\n\t\t\t{{ t('Enable interactive view') }}\n\t\t</NcButton>\n\t</div>\n</template>\n<script>\nimport { useElementSize, useIntersectionObserver } from '@vueuse/core'\nimport { nextTick, ref } from 'vue'\nimport { RouterLink } from 'vue-router'\n\nimport { t } from '../../l10n.js'\nimport { getRoute } from './autolink.js'\nimport { renderWidget, isWidgetRegistered, destroyWidget, hasInteractiveView, hasFullWidth } from './../../functions/reference/widgets.ts'\n\nimport NcButton from '../../components/NcButton/index.js'\n\nconst IDLE_TIMEOUT = 3 * 60 * 1000 // 3 minutes outside of viewport before widget is removed from the DOM\n\nexport default {\n\tname: 'NcReferenceWidget',\n\tcomponents: {\n\t\tNcButton,\n\t},\n\tprops: {\n\t\treference: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tinteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst isVisible = ref(false)\n\t\t// This is the widget root node\n\t\tconst widgetRoot = ref()\n\t\tconst { width } = useElementSize(widgetRoot)\n\n\t\tuseIntersectionObserver(widgetRoot, ([entry]) => {\n\t\t\tnextTick(() => {\n\t\t\t\tisVisible.value = entry.isIntersecting\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\twidth,\n\t\t\tisVisible,\n\t\t\twidgetRoot,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowInteractive: false,\n\t\t\trendered: false,\n\t\t\tidleTimeout: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisInteractive() {\n\t\t\treturn (!this.interactiveOptIn && this.interactive) || this.showInteractive\n\t\t},\n\t\thasFullWidth() {\n\t\t\treturn hasFullWidth(this.reference.richObjectType)\n\t\t},\n\t\thasCustomWidget() {\n\t\t\treturn isWidgetRegistered(this.reference.richObjectType)\n\t\t},\n\t\thasInteractiveView() {\n\t\t\treturn isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType)\n\t\t},\n\t\tnoAccess() {\n\t\t\treturn this.reference && !this.reference.accessible\n\t\t},\n\t\tdescriptionStyle() {\n\t\t\tif (this.numberOfLines === 0) {\n\t\t\t\treturn {\n\t\t\t\t\tdisplay: 'none',\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst lineClamp = this.numberOfLines\n\t\t\treturn {\n\t\t\t\tlineClamp,\n\t\t\t\twebkitLineClamp: lineClamp,\n\t\t\t}\n\t\t},\n\t\tnumberOfLines() {\n\t\t\t// no description for width < 450, one line until 550 and so on\n\t\t\tconst lineCountOffsets = [450, 550, 650, Infinity]\n\t\t\treturn lineCountOffsets.findIndex(max => this.width < max)\n\t\t},\n\t\tcompactLink() {\n\t\t\tconst link = this.reference.openGraphObject.link\n\t\t\tif (!link) {\n\t\t\t\treturn ''\n\t\t\t}\n\n\t\t\tif (link.startsWith('https://')) {\n\t\t\t\treturn link.substring(8)\n\t\t\t}\n\t\t\tif (link.startsWith('http://')) {\n\t\t\t\treturn link.substring(7)\n\t\t\t}\n\t\t\treturn link\n\t\t},\n\t\troute() {\n\t\t\treturn getRoute(this.$router, this.reference.openGraphObject.link)\n\t\t},\n\t\treferenceWidgetLinkComponent() {\n\t\t\treturn this.route ? RouterLink : 'a'\n\t\t},\n\t\treferenceWidgetLinkProps() {\n\t\t\treturn this.route\n\t\t\t\t? { to: this.route }\n\t\t\t\t: { href: this.reference.openGraphObject.link, target: '_blank' }\n\t\t},\n\t},\n\twatch: {\n\t\tisVisible: {\n\t\t\thandler(val) {\n\t\t\t\tif (!val) {\n\t\t\t\t\tthis.idleTimeout = setTimeout(() => {\n\t\t\t\t\t\t// If the widget is still outside of viewport after timeout, destroy it\n\t\t\t\t\t\tif (!this.isVisible) {\n\t\t\t\t\t\t\tthis.destroyWidget()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, IDLE_TIMEOUT)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (this.idleTimeout) {\n\t\t\t\t\tclearTimeout(this.idleTimeout)\n\t\t\t\t\tthis.idleTimeout = null\n\t\t\t\t}\n\n\t\t\t\tif (!this.rendered) {\n\t\t\t\t\tthis.renderWidget()\n\t\t\t\t}\n\t\t\t},\n\t\t\timmediate: true,\n\t\t},\n\t},\n\tbeforeDestroy() {\n\t\tthis.destroyWidget()\n\t},\n\tmethods: {\n\t\tt,\n\n\t\tenableInteractive() {\n\t\t\tthis.showInteractive = true\n\t\t\tthis.renderWidget()\n\t\t},\n\t\trenderWidget() {\n\t\t\tif (!this.$refs.customWidget) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this?.reference?.richObjectType === 'open-graph') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.$refs.customWidget.innerHTML = ''\n\n\t\t\t// create a separate element so we can rerender on the ref again\n\t\t\tconst widget = document.createElement('div')\n\t\t\twidget.style = 'width: 100%;'\n\t\t\tthis.$refs.customWidget.appendChild(widget)\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t// Waiting for the ref to become available\n\t\t\t\trenderWidget(widget, {\n\t\t\t\t\t...this.reference,\n\t\t\t\t\tinteractive: this.isInteractive,\n\t\t\t\t})\n\t\t\t\tthis.rendered = true\n\t\t\t})\n\t\t},\n\t\tdestroyWidget() {\n\t\t\tif (this.rendered) {\n\t\t\t\tdestroyWidget(this.reference.richObjectType, this.$el)\n\t\t\t\tthis.rendered = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n\n@mixin widget {\n\twidth: 100%;\n\tmargin: auto;\n\tmargin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n\tmargin-top: calc(var(--default-grid-baseline, 4px) * 3);\n\toverflow: hidden;\n\tborder: 2px solid var(--color-border);\n\tborder-radius: var(--border-radius-container);\n\tbackground-color: transparent;\n\tdisplay: flex;\n}\n\n.widget-custom {\n\t@include widget;\n\n\t&.full-width {\n\t\twidth: var(--widget-full-width, 100%) !important;\n\t\tleft: calc( (var(--widget-full-width, 100%) - 100%) / 2 * -1);\n\t\tposition: relative;\n\t}\n}\n\n.widget-access {\n\t@include widget;\n\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n}\n\n.widget-default {\n\t@include widget;\n\n\t&--compact {\n\t\tflex-direction: column;\n\n\t\t.widget-default--image {\n\t\t\twidth: 100%;\n\t\t\theight: 150px;\n\t\t}\n\n\t\t.widget-default--details {\n\t\t\twidth: 100%;\n\t\t\tpadding-top: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t\tpadding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t}\n\n\t\t.widget-default--description {\n\t\t\tdisplay: none;\n\t\t}\n\n\t}\n\n\t&--image {\n\t\twidth: 40%;\n\t\tbackground-position: center;\n\t\tbackground-size: cover;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t&--name {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tfont-weight: bold;\n\t}\n\n\t&--details {\n\t\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n\t\twidth: 60%;\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t&--description {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tdisplay: -webkit-box;\n\t\t-webkit-line-clamp: 3;\n\t\tline-clamp: 3;\n\t\t-webkit-box-orient: vertical;\n\t}\n\n\t&--link {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n}\n\n.toggle-interactive {\n\tposition: relative;\n\t.toggle-interactive--button {\n\t\tposition: absolute;\n\t\tbottom: var(--default-grid-baseline);\n\t\tright: var(--default-grid-baseline);\n\t\tz-index: 10000;\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 ref=\"domElement\" />\n</template>\n\n<script>\nimport { renderCustomPickerElement, isCustomPickerElementRegistered, destroyCustomPickerElement } from './../../../functions/reference/customPickerElements.js'\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\temits: [\n\t\t'cancel',\n\t\t'submit',\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tisRegistered: isCustomPickerElementRegistered(this.provider.id),\n\t\t\trenderResult: null,\n\t\t}\n\t},\n\tmounted() {\n\t\tif (this.isRegistered) {\n\t\t\tthis.renderElement()\n\t\t}\n\t},\n\tbeforeDestroy() {\n\t\tif (this.isRegistered) {\n\t\t\tdestroyCustomPickerElement(this.provider.id, this.$el, this.renderResult)\n\t\t}\n\t},\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\t\tonSubmit(value) {\n\t\t\tthis.$emit('submit', value)\n\t\t},\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","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { isCustomPickerElementRegistered } from './customPickerElements.js'\n\nimport { t } from '../../l10n.js'\n\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl, imagePath } from '@nextcloud/router'\n\nexport const anyLinkProviderId = 'any-link'\n\nconst anyLinkProvider = {\n\tid: anyLinkProviderId,\n\ttitle: t('Any link'),\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\nif (!window._vue_richtext_reference_providers) {\n\twindow._vue_richtext_reference_providers = loadState('core', 'reference-provider-list', [])\n}\n\n// single timestamps object used by every entity in the page\nif (!window._vue_richtext_reference_provider_timestamps) {\n\twindow._vue_richtext_reference_provider_timestamps = loadState('core', 'reference-provider-timestamps', {})\n}\n\n/**\n * @param {string} providerId The provider ID\n * @return {object} The provider object\n */\nexport function getProvider(providerId) {\n\tif (providerId === anyLinkProviderId) {\n\t\treturn anyLinkProvider\n\t}\n\treturn getProviders().find(p => p.id === providerId)\n}\n\n/**\n * @return {Array} Raw provider list as it was provided by the server\n */\nexport function getProviders() {\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\tconsole.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 {Array} providerList list of provider objects\n * @return {Array} the sorted provider list\n */\nexport function sortProviders(providerList) {\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 {string} query The search query\n * @param {number} limit (optional) max number of results\n * @return {Array} the sorted/filtered provider list\n */\nexport function searchProvider(query, limit = null) {\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\tconst searchResult = limit\n\t\t? filteredSortedProviders.slice(0, limit)\n\t\t: filteredSortedProviders\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 {number} providerId The id of the search provider\n */\nexport function touchProvider(providerId) {\n\tconst timestamp = Math.floor(Date.now() / 1000)\n\tconst params = {\n\t\ttimestamp,\n\t}\n\tconst url = generateOcsUrl('references/provider/{providerId}', { providerId })\n\taxios.put(url, params)\n\t\t.then((response) => {\n\t\t\twindow._vue_richtext_reference_provider_timestamps[providerId] = timestamp\n\t\t})\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 (error) {\n\t\treturn false\n\t}\n}\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\n<template>\n\t<div class=\"provider-list\">\n\t\t<NcSelect ref=\"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 class=\"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 class=\"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 { searchProvider } from './../../../functions/reference/providerHelper.js'\nimport { isUrl } from './utils.js'\nimport NcEmptyContent from '../../NcEmptyContent/index.js'\nimport NcHighlight from '../../NcHighlight/index.js'\nimport NcSelect from '../../NcSelect/index.js'\nimport { t } from '../../../l10n.js'\n\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\n\nexport default {\n\tname: 'NcProviderList',\n\tcomponents: {\n\t\tNcSelect,\n\t\tNcHighlight,\n\t\tNcEmptyContent,\n\t\tLinkVariantIcon,\n\t},\n\temits: [\n\t\t'select-provider',\n\t\t'submit',\n\t],\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\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\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\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\t\tonSearch(query, loading) {\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-right: 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-right: 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 ref=\"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 v-if=\"reference !== null\"\n\t\t\tclass=\"reference-widget\"\n\t\t\t:reference=\"reference\" />\n\t\t<NcEmptyContent v-else\n\t\t\tclass=\"raw-link--empty-content\">\n\t\t\t<template #icon>\n\t\t\t\t<img v-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 NcReferenceWidget from '../NcReferenceWidget.vue'\nimport { isUrl, delay } from './utils.js'\nimport NcEmptyContent from '../../NcEmptyContent/index.js'\nimport NcLoadingIcon from '../../NcLoadingIcon/index.js'\nimport NcTextField from '../../NcTextField/index.js'\nimport { t } from '../../../l10n.js'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\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\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\temits: [\n\t\t'submit',\n\t],\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\tcomputed: {\n\t\tisLinkValid() {\n\t\t\treturn isUrl(this.inputValue)\n\t\t},\n\t},\n\tmethods: {\n\t\tfocus() {\n\t\t\tthis.$refs['url-input'].$el.getElementsByTagName('input')[0]?.focus()\n\t\t},\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\t\tonClear() {\n\t\t\tthis.inputValue = ''\n\t\t\tthis.reference = null\n\t\t},\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\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\tconsole.error(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 v-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 v-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\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\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-left: 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 ref=\"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 v-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 v-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': true }\">\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 v-if=\"showEmptyContent\"\n\t\t\tclass=\"smart-picker-search--empty-content\">\n\t\t\t<template #icon>\n\t\t\t\t<img v-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 NcSearchResult from './NcSearchResult.vue'\nimport { isUrl, delay } from './utils.js'\nimport NcEmptyContent from '../../NcEmptyContent/index.js'\nimport NcSelect from '../../NcSelect/index.js'\n\nimport { t } from '../../../l10n.js'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport LinkVariantIcon from 'vue-material-design-icons/LinkVariant.vue'\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\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\t\tshowEmptyContent: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tsearchPlaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\temits: [\n\t\t'submit',\n\t],\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\tcomputed: {\n\t\tmySearchPlaceholder() {\n\t\t\treturn this.searchPlaceholder || t('Search')\n\t\t},\n\t\tsearchProviderIds() {\n\t\t\treturn this.provider.search_providers_ids\n\t\t},\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\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\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\tmounted() {\n\t\tthis.resetResults()\n\t},\n\tbeforeDestroy() {\n\t\tthis.cancelSearchRequests()\n\t},\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\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\t\tcancelSearchRequests() {\n\t\t\tif (this.abortController) {\n\t\t\t\tthis.abortController.abort()\n\t\t\t}\n\t\t},\n\t\tonSearchInput(query, loading) {\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\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\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\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\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\treturn this.searchOneProvider(pid)\n\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\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 class=\"reference-picker\"\n\t\t:style=\"pickerWrapperStyle\"\n\t\ttabindex=\"-1\"\n\t\t@keydown.stop.prevent.esc=\"onEscapePressed\">\n\t\t<NcProviderList v-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 v-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 v-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 v-else-if=\"mode === MODES.customElement\"\n\t\t\tclass=\"custom-element-wrapper\">\n\t\t\t<NcCustomPickerElement :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.js'\nimport { touchProvider } from './../../../functions/reference/providerHelper.js'\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\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\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\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\tdefault: true,\n\t\t},\n\t},\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\tdata() {\n\t\treturn {\n\t\t\tMODES,\n\t\t\tselectedProvider: this.initialProvider,\n\t\t}\n\t},\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\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\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\n\t},\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\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\t\tcancelCustomElement() {\n\t\t\tthis.deselectProvider()\n\t\t},\n\t\tcancelSearch() {\n\t\t\tthis.$emit('cancel-search', this.selectedProvider?.title)\n\t\t\tthis.deselectProvider()\n\t\t},\n\t\tcancelRawLinkInput() {\n\t\t\tthis.$emit('cancel-raw-link', this.selectedProvider?.title)\n\t\t\tthis.deselectProvider()\n\t\t},\n\t\tcancelProviderSelection() {\n\t\t\tthis.$emit('cancel')\n\t\t},\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\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 v-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 ref=\"modal_content\"\n\t\t\tclass=\"reference-picker-modal--content\">\n\t\t\t<NcButton v-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 :aria-label=\"closeButtonLabel\"\n\t\t\t\t:title=\"closeButtonTitle\"\n\t\t\t\ttype=\"tertiary\"\n\t\t\t\tclass=\"close-button\"\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 ref=\"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 NcReferencePicker from './NcReferencePicker.vue'\nimport { getCustomPickerElementSize, isCustomPickerElementRegistered } from './../../../functions/reference/customPickerElements.js'\nimport NcButton from '../../NcButton/index.js'\nimport NcModal from '../../NcModal/index.js'\nimport { t } from '../../../l10n.js'\n\nimport { emit } from '@nextcloud/event-bus'\n\nimport ArrowLeftIcon from 'vue-material-design-icons/ArrowLeft.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\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\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\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\tdefault: true,\n\t\t},\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\temits: [\n\t\t'cancel',\n\t\t'submit',\n\t],\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\tcomputed: {\n\t\tisProviderSelected() {\n\t\t\treturn this.selectedProvider !== null\n\t\t},\n\t\tshowBackButton() {\n\t\t\treturn this.initialProvider === null && this.isProviderSelected\n\t\t},\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\t\tshowModalName() {\n\t\t\treturn !this.isProviderSelected || !isCustomPickerElementRegistered(this.selectedProvider.id)\n\t\t},\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\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\tmethods: {\n\t\tonCancel() {\n\t\t\tthis.show = false\n\t\t\tthis.$emit('cancel')\n\t\t},\n\t\tonSubmit(value) {\n\t\t\tthis.show = false\n\t\t\tthis.$emit('submit', value)\n\t\t},\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\t\tonBackClicked() {\n\t\t\tthis.$refs.referencePicker.deselectProvider()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n// this is to avoid scroll on the container and leave it to the result block\n.reference-picker-modal .modal-container {\n\tdisplay: flex !important;\n}\n</style>\n\n<style lang=\"scss\" scoped>\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\tleft: 4px;\n\t}\n\t.close-button {\n\t\tright: 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-right: 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 NcReferencePickerModal from './../../components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue'\nimport { getProvider } from './providerHelper.js'\n\nimport Vue from 'vue'\n\n/**\n * Creates a reference picker modal and return a promise which provides the result\n *\n * @param {string} providerId Optional ID of initial selected provider\n * @param {boolean} isInsideViewer Should be true if this function is called while the Viewer is displayed\n * @return {Promise<unknown>}\n */\nexport async function getLinkWithPicker(providerId = null, isInsideViewer = undefined) {\n\treturn await new Promise((resolve, reject) => {\n\t\tconst modalId = 'referencePickerModal'\n\t\tconst modalElement = document.createElement('div')\n\t\tmodalElement.id = modalId\n\t\tdocument.body.append(modalElement)\n\n\t\tconst initialProvider = providerId === null\n\t\t\t? null\n\t\t\t: (getProvider(providerId) ?? null)\n\n\t\tconst View = Vue.extend(NcReferencePickerModal)\n\t\tconst view = new View({\n\t\t\tpropsData: {\n\t\t\t\tinitialProvider,\n\t\t\t\tisInsideViewer,\n\t\t\t},\n\t\t}).$mount(modalElement)\n\n\t\tview.$on('cancel', () => {\n\t\t\tview.$destroy()\n\t\t\treject(new Error('User cancellation'))\n\t\t})\n\t\tview.$on('submit', (link) => {\n\t\t\tview.$destroy()\n\t\t\tresolve(link)\n\t\t})\n\t})\n}\n"],"names":["_sfc_main","NcButton","ref","useElementSize","useIntersectionObserver","nextTick","hasFullWidth","isWidgetRegistered","hasInteractiveView","getRoute","RouterLink","t","renderWidget","destroyWidget","isCustomPickerElementRegistered","destroyCustomPickerElement","renderCustomPickerElement","imagePath","loadState","generateOcsUrl","axios","NcSelect","NcHighlight","NcEmptyContent","NcLoadingIcon","NcTextField","DotsHorizontalIcon","NcModal","ArrowLeftIcon","CloseIcon","getCustomPickerElementSize","emit","Vue"],"mappings":"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","x_google_ignoreList":[4]}
@@ -0,0 +1,24 @@
1
+ import Vue, { getCurrentInstance, computed } from "vue";
2
+ function useModelMigration(oldModelName, oldModelEvent, required = false) {
3
+ const vm = getCurrentInstance().proxy;
4
+ if (required && vm.$props[oldModelName] === void 0 && vm.$props.modelValue === void 0) {
5
+ Vue.util.warn(`Missing required prop: "modelValue" or old "${oldModelName}"`);
6
+ }
7
+ const model = computed({
8
+ get() {
9
+ if (vm.$props[oldModelName] !== void 0) {
10
+ return vm.$props[oldModelName];
11
+ }
12
+ return vm.$props.modelValue;
13
+ },
14
+ set(value) {
15
+ vm.$emit(oldModelEvent, value);
16
+ vm.$emit("update:modelValue", value);
17
+ vm.$emit("update:model-value", value);
18
+ }
19
+ });
20
+ return model;
21
+ }
22
+ export {
23
+ useModelMigration as u
24
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelMigration-BvlORW73.mjs","sources":["../../src/composables/useModelMigration.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue, { getCurrentInstance, computed } from 'vue'\n\n/**\n * Create model proxy to new v9 model (modelValue + update:modelValue) with a fallback to old model\n * @param {string} oldModelName - Name of model prop in nextcloud-vue v8\n * @param {string} oldModelEvent - Event name of model event in nextcloud-vue v8\n * @param {boolean} required - If the prop is required\n * @return {import('vue').WritableComputedRef} - model proxy\n */\nexport function useModelMigration(oldModelName, oldModelEvent, required = false) {\n\tconst vm = getCurrentInstance()!.proxy\n\n\tif (required && vm.$props[oldModelName] === undefined && vm.$props.modelValue === undefined) {\n\t\tVue.util.warn(`Missing required prop: \"modelValue\" or old \"${oldModelName}\"`)\n\t}\n\n\tconst model = computed({\n\t\tget() {\n\t\t\tif (vm.$props[oldModelName] !== undefined) {\n\t\t\t\treturn vm.$props[oldModelName]\n\t\t\t}\n\t\t\treturn vm.$props.modelValue\n\t\t},\n\n\t\tset(value) {\n\t\t\t// Old nextcloud-vue v8 event\n\t\t\tvm.$emit(oldModelEvent, value)\n\t\t\t// New nextcloud-vue v9 event\n\t\t\tvm.$emit('update:modelValue', value)\n\t\t\t// Vue 2 fallback for kebab-case event names in templates (recommended by Vue 3 style guide)\n\t\t\tvm.$emit('update:model-value', value)\n\t\t},\n\t})\n\n\treturn model\n}\n"],"names":[],"mappings":";AAcO,SAAS,kBAAkB,cAAc,eAAe,WAAW,OAAO;AAC1E,QAAA,KAAK,mBAAsB,EAAA;AAE7B,MAAA,YAAY,GAAG,OAAO,YAAY,MAAM,UAAa,GAAG,OAAO,eAAe,QAAW;AAC5F,QAAI,KAAK,KAAK,+CAA+C,YAAY,GAAG;AAAA,EAC7E;AAEA,QAAM,QAAQ,SAAS;AAAA,IACtB,MAAM;AACL,UAAI,GAAG,OAAO,YAAY,MAAM,QAAW;AACnC,eAAA,GAAG,OAAO,YAAY;AAAA,MAC9B;AACA,aAAO,GAAG,OAAO;AAAA,IAClB;AAAA,IAEA,IAAI,OAAO;AAEP,SAAA,MAAM,eAAe,KAAK;AAE1B,SAAA,MAAM,qBAAqB,KAAK;AAEhC,SAAA,MAAM,sBAAsB,KAAK;AAAA,IACrC;AAAA,EAAA,CACA;AAEM,SAAA;AACR;"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ const Vue = require("vue");
3
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
4
+ const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
5
+ function useModelMigration(oldModelName, oldModelEvent, required = false) {
6
+ const vm = Vue.getCurrentInstance().proxy;
7
+ if (required && vm.$props[oldModelName] === void 0 && vm.$props.modelValue === void 0) {
8
+ Vue__default.default.util.warn(`Missing required prop: "modelValue" or old "${oldModelName}"`);
9
+ }
10
+ const model = Vue.computed({
11
+ get() {
12
+ if (vm.$props[oldModelName] !== void 0) {
13
+ return vm.$props[oldModelName];
14
+ }
15
+ return vm.$props.modelValue;
16
+ },
17
+ set(value) {
18
+ vm.$emit(oldModelEvent, value);
19
+ vm.$emit("update:modelValue", value);
20
+ vm.$emit("update:model-value", value);
21
+ }
22
+ });
23
+ return model;
24
+ }
25
+ exports.useModelMigration = useModelMigration;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelMigration-CVxLzfS5.cjs","sources":["../../src/composables/useModelMigration.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue, { getCurrentInstance, computed } from 'vue'\n\n/**\n * Create model proxy to new v9 model (modelValue + update:modelValue) with a fallback to old model\n * @param {string} oldModelName - Name of model prop in nextcloud-vue v8\n * @param {string} oldModelEvent - Event name of model event in nextcloud-vue v8\n * @param {boolean} required - If the prop is required\n * @return {import('vue').WritableComputedRef} - model proxy\n */\nexport function useModelMigration(oldModelName, oldModelEvent, required = false) {\n\tconst vm = getCurrentInstance()!.proxy\n\n\tif (required && vm.$props[oldModelName] === undefined && vm.$props.modelValue === undefined) {\n\t\tVue.util.warn(`Missing required prop: \"modelValue\" or old \"${oldModelName}\"`)\n\t}\n\n\tconst model = computed({\n\t\tget() {\n\t\t\tif (vm.$props[oldModelName] !== undefined) {\n\t\t\t\treturn vm.$props[oldModelName]\n\t\t\t}\n\t\t\treturn vm.$props.modelValue\n\t\t},\n\n\t\tset(value) {\n\t\t\t// Old nextcloud-vue v8 event\n\t\t\tvm.$emit(oldModelEvent, value)\n\t\t\t// New nextcloud-vue v9 event\n\t\t\tvm.$emit('update:modelValue', value)\n\t\t\t// Vue 2 fallback for kebab-case event names in templates (recommended by Vue 3 style guide)\n\t\t\tvm.$emit('update:model-value', value)\n\t\t},\n\t})\n\n\treturn model\n}\n"],"names":["getCurrentInstance","Vue","computed"],"mappings":";;;;AAcO,SAAS,kBAAkB,cAAc,eAAe,WAAW,OAAO;AAC1E,QAAA,KAAKA,uBAAsB,EAAA;AAE7B,MAAA,YAAY,GAAG,OAAO,YAAY,MAAM,UAAa,GAAG,OAAO,eAAe,QAAW;AAC5FC,iBAAA,QAAI,KAAK,KAAK,+CAA+C,YAAY,GAAG;AAAA,EAC7E;AAEA,QAAM,QAAQC,IAAAA,SAAS;AAAA,IACtB,MAAM;AACL,UAAI,GAAG,OAAO,YAAY,MAAM,QAAW;AACnC,eAAA,GAAG,OAAO,YAAY;AAAA,MAC9B;AACA,aAAO,GAAG,OAAO;AAAA,IAClB;AAAA,IAEA,IAAI,OAAO;AAEP,SAAA,MAAM,eAAe,KAAK;AAE1B,SAAA,MAAM,qBAAqB,KAAK;AAEhC,SAAA,MAAM,sBAAsB,KAAK;AAAA,IACrC;AAAA,EAAA,CACA;AAEM,SAAA;AACR;;"}
@@ -1,4 +1,4 @@
1
- import { G as GenColors } from "./GenColors-BWE946ht.mjs";
1
+ import { G as GenColors } from "./GenColors-BAOuMMLW.mjs";
2
2
  import md5 from "md5";
3
3
  const usernameToColor = function(username) {
4
4
  let hash = username.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"usernameToColor-D6FJP4ni.mjs","sources":["../../src/functions/usernameToColor/usernameToColor.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { GenColors } from '../../utils/GenColors.js'\n\nimport md5 from 'md5'\n\n/**\n * Generate a color from a username\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n *\n * @param {string} username Display name or user id to generate from\n * @return {{ r: number, g: number, b: number }} the RGB color\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t/**\n\t * Convert a string to an integer evenly\n\t *\n\t * @param {string} hash The hash to convert\n\t * @param {number} maximum Largest number allowed\n\t */\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n"],"names":["hash"],"mappings":";;AAgBK,MAAC,kBAAkB,SAAS,UAAU;AAE1C,MAAI,OAAO,SAAS,YAAa;AAGjC,MAAI,KAAK,MAAM,sBAAsB,MAAM,MAAM;AAChD,WAAO,IAAI,IAAI;AAAA,EACf;AAED,SAAO,KAAK,QAAQ,cAAc,EAAE;AAEpC,QAAM,QAAQ;AACd,QAAM,eAAe,UAAU,KAAK;AAQpC,WAAS,UAAUA,OAAM,SAAS;AACjC,QAAI,WAAW;AACf,UAAM,SAAS,CAAE;AAGjB,aAAS,IAAI,GAAG,IAAIA,MAAK,QAAQ,KAAK;AAErC,aAAO,KAAK,SAASA,MAAK,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;AAAA,IAC7C;AAGD,eAAW,KAAK,QAAQ;AACvB,kBAAY,OAAO,CAAC;AAAA,IACpB;AAID,WAAO,SAAS,SAAS,UAAU,EAAE,IAAI,SAAS,EAAE;AAAA,EACpD;AACD,SAAO,aAAa,UAAU,MAAM,QAAQ,CAAC,CAAC;AAC/C;"}
1
+ {"version":3,"file":"usernameToColor-B9AB7E7x.mjs","sources":["../../src/functions/usernameToColor/usernameToColor.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { GenColors } from '../../utils/GenColors.js'\n\nimport md5 from 'md5'\n\n/**\n * Generate a color from a username\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n *\n * @param {string} username Display name or user id to generate from\n * @return {{ r: number, g: number, b: number }} the RGB color\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t/**\n\t * Convert a string to an integer evenly\n\t *\n\t * @param {string} hash The hash to convert\n\t * @param {number} maximum Largest number allowed\n\t */\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n"],"names":["hash"],"mappings":";;AAgBK,MAAC,kBAAkB,SAAS,UAAU;AAE1C,MAAI,OAAO,SAAS,YAAa;AAGjC,MAAI,KAAK,MAAM,sBAAsB,MAAM,MAAM;AAChD,WAAO,IAAI,IAAI;AAAA,EACf;AAED,SAAO,KAAK,QAAQ,cAAc,EAAE;AAEpC,QAAM,QAAQ;AACd,QAAM,eAAe,UAAU,KAAK;AAQpC,WAAS,UAAUA,OAAM,SAAS;AACjC,QAAI,WAAW;AACf,UAAM,SAAS,CAAE;AAGjB,aAAS,IAAI,GAAG,IAAIA,MAAK,QAAQ,KAAK;AAErC,aAAO,KAAK,SAASA,MAAK,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;AAAA,IAC7C;AAGD,eAAW,KAAK,QAAQ;AACvB,kBAAY,OAAO,CAAC;AAAA,IACpB;AAID,WAAO,SAAS,SAAS,UAAU,EAAE,IAAI,SAAS,EAAE;AAAA,EACpD;AACD,SAAO,aAAa,UAAU,MAAM,QAAQ,CAAC,CAAC;AAC/C;"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const GenColors = require("./GenColors-Cay7TLwO.cjs");
2
+ const GenColors = require("./GenColors-iV_vrBr4.cjs");
3
3
  const md5 = require("md5");
4
4
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
5
5
  const md5__default = /* @__PURE__ */ _interopDefault(md5);
@@ -1 +1 @@
1
- {"version":3,"file":"usernameToColor-u2MH9nY7.cjs","sources":["../../src/functions/usernameToColor/usernameToColor.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { GenColors } from '../../utils/GenColors.js'\n\nimport md5 from 'md5'\n\n/**\n * Generate a color from a username\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n *\n * @param {string} username Display name or user id to generate from\n * @return {{ r: number, g: number, b: number }} the RGB color\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t/**\n\t * Convert a string to an integer evenly\n\t *\n\t * @param {string} hash The hash to convert\n\t * @param {number} maximum Largest number allowed\n\t */\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n"],"names":["md5","GenColors","hash"],"mappings":";;;;;AAgBK,MAAC,kBAAkB,SAAS,UAAU;AAE1C,MAAI,OAAO,SAAS,YAAa;AAGjC,MAAI,KAAK,MAAM,sBAAsB,MAAM,MAAM;AAChD,WAAOA,aAAG,QAAC,IAAI;AAAA,EACf;AAED,SAAO,KAAK,QAAQ,cAAc,EAAE;AAEpC,QAAM,QAAQ;AACd,QAAM,eAAeC,UAAS,UAAC,KAAK;AAQpC,WAAS,UAAUC,OAAM,SAAS;AACjC,QAAI,WAAW;AACf,UAAM,SAAS,CAAE;AAGjB,aAAS,IAAI,GAAG,IAAIA,MAAK,QAAQ,KAAK;AAErC,aAAO,KAAK,SAASA,MAAK,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;AAAA,IAC7C;AAGD,eAAW,KAAK,QAAQ;AACvB,kBAAY,OAAO,CAAC;AAAA,IACpB;AAID,WAAO,SAAS,SAAS,UAAU,EAAE,IAAI,SAAS,EAAE;AAAA,EACpD;AACD,SAAO,aAAa,UAAU,MAAM,QAAQ,CAAC,CAAC;AAC/C;;"}
1
+ {"version":3,"file":"usernameToColor-CWxjw-Pq.cjs","sources":["../../src/functions/usernameToColor/usernameToColor.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { GenColors } from '../../utils/GenColors.js'\n\nimport md5 from 'md5'\n\n/**\n * Generate a color from a username\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n *\n * @param {string} username Display name or user id to generate from\n * @return {{ r: number, g: number, b: number }} the RGB color\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t/**\n\t * Convert a string to an integer evenly\n\t *\n\t * @param {string} hash The hash to convert\n\t * @param {number} maximum Largest number allowed\n\t */\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n"],"names":["md5","GenColors","hash"],"mappings":";;;;;AAgBK,MAAC,kBAAkB,SAAS,UAAU;AAE1C,MAAI,OAAO,SAAS,YAAa;AAGjC,MAAI,KAAK,MAAM,sBAAsB,MAAM,MAAM;AAChD,WAAOA,aAAG,QAAC,IAAI;AAAA,EACf;AAED,SAAO,KAAK,QAAQ,cAAc,EAAE;AAEpC,QAAM,QAAQ;AACd,QAAM,eAAeC,UAAS,UAAC,KAAK;AAQpC,WAAS,UAAUC,OAAM,SAAS;AACjC,QAAI,WAAW;AACf,UAAM,SAAS,CAAE;AAGjB,aAAS,IAAI,GAAG,IAAIA,MAAK,QAAQ,KAAK;AAErC,aAAO,KAAK,SAASA,MAAK,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;AAAA,IAC7C;AAGD,eAAW,KAAK,QAAQ;AACvB,kBAAY,OAAO,CAAC;AAAA,IACpB;AAID,WAAO,SAAS,SAAS,UAAU,EAAE,IAAI,SAAS,EAAE;AAAA,EACpD;AACD,SAAO,aAAa,UAAU,MAAM,QAAQ,CAAC,CAAC;AAC/C;;"}
@@ -0,0 +1,16 @@
1
+ import { DeepReadonly, Ref } from 'vue';
2
+
3
+ /**
4
+ * Check whether the dark theme is enabled on a specific element.
5
+ * If you need to check an entire page, use `useIsDarkTheme` instead for better performance.
6
+ * Reacts on element attributes change and system theme change.
7
+ * @param el - The element to check for the dark theme enabled on (default is `document.body`)
8
+ * @return {DeepReadonly<Ref<boolean>>} - computed boolean whether the dark theme is enabled
9
+ */
10
+ export declare function useIsDarkThemeElement(el?: HTMLElement): DeepReadonly<Ref<boolean>>;
11
+ /**
12
+ * Shared composable to check whether the dark theme is enabled on the page.
13
+ * Reacts on body data-theme-* attributes change and system theme change.
14
+ * @return {DeepReadonly<Ref<boolean>>} - computed boolean whether the dark theme is enabled
15
+ */
16
+ export declare const useIsDarkTheme: () => Readonly<Ref<boolean>>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
3
+ * SPDX-License-Identifier: AGPL-3.0-or-later
4
+ */
5
+ /**
6
+ * Create model proxy to new v9 model (modelValue + update:modelValue) with a fallback to old model
7
+ * @param {string} oldModelName - Name of model prop in nextcloud-vue v8
8
+ * @param {string} oldModelEvent - Event name of model event in nextcloud-vue v8
9
+ * @param {boolean} required - If the prop is required
10
+ * @return {import('vue').WritableComputedRef} - model proxy
11
+ */
12
+ export declare function useModelMigration(oldModelName: any, oldModelEvent: any, required?: boolean): import('vue').WritableComputedRef<any>;
@@ -0,0 +1,16 @@
1
+ import { AsyncComponent, Component, default as Vue } from 'vue';
2
+
3
+ interface DialogProps {
4
+ [index: string]: unknown;
5
+ container?: string;
6
+ }
7
+ /**
8
+ * Helper to spawn a Vue dialog without having to mount it from a component
9
+ *
10
+ * @param dialog The dialog component to spawn
11
+ * @param props Properties to pass to the dialog
12
+ * @param props.container Optionally pass a query selector for the dialog container element
13
+ * @param onClose Callback when the dialog is closed
14
+ */
15
+ export declare function spawnDialog(dialog: Component | AsyncComponent, props?: DialogProps, onClose?: (...rest: unknown[]) => void): Vue;
16
+ export {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
3
+ * SPDX-License-Identifier: AGPL-3.0-or-later
4
+ */
5
+ export * from './a11y/index.ts';
6
+ export * from './dialog/index.ts';
7
+ export * from './emoji/index.ts';
8
+ export * from './reference/index.js';
9
+ export * from './isDarkTheme/index.ts';
10
+ export { default as usernameToColor } from './usernameToColor/index.js';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
3
+ * SPDX-License-Identifier: AGPL-3.0-or-later
4
+ */
5
+ /**
6
+ * Check whether the dark theme is used on a specific element
7
+ * @param el - Element to check for dark theme, which is used for `data-theme-*` checking (default is `document.body`)
8
+ * @return {boolean} - Whether the dark theme is enabled via Nextcloud theme
9
+ */
10
+ export declare function checkIfDarkTheme(el?: HTMLElement): boolean;
11
+ /**
12
+ * Whether the dark theme is enabled in Nextcloud.
13
+ * The variable is defined on page load and not reactive.
14
+ * Use `checkIfDarkTheme` if you need to check it at a specific moment.
15
+ * Use `useDarkTheme` if you need a reactive variable in a Vue component.
16
+ */
17
+ export declare const isDarkTheme: boolean;