@nextcloud/vue 8.0.0-beta.8 → 8.0.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 (322) hide show
  1. package/CHANGELOG.md +64 -2
  2. package/dist/Components/NcActionButton.cjs +22 -11
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +24 -12
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionInput.cjs +23 -18
  7. package/dist/Components/NcActionInput.cjs.map +1 -1
  8. package/dist/Components/NcActionInput.mjs +20 -14
  9. package/dist/Components/NcActionInput.mjs.map +1 -1
  10. package/dist/Components/NcActionLink.cjs +7 -7
  11. package/dist/Components/NcActionLink.cjs.map +1 -1
  12. package/dist/Components/NcActionLink.mjs +4 -4
  13. package/dist/Components/NcActionLink.mjs.map +1 -1
  14. package/dist/Components/NcActionRouter.cjs +8 -8
  15. package/dist/Components/NcActionRouter.cjs.map +1 -1
  16. package/dist/Components/NcActionRouter.mjs +4 -4
  17. package/dist/Components/NcActionRouter.mjs.map +1 -1
  18. package/dist/Components/NcActionText.cjs +10 -10
  19. package/dist/Components/NcActionText.cjs.map +1 -1
  20. package/dist/Components/NcActionText.mjs +11 -11
  21. package/dist/Components/NcActionText.mjs.map +1 -1
  22. package/dist/Components/NcActionTextEditable.cjs +10 -10
  23. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  24. package/dist/Components/NcActionTextEditable.mjs +2 -2
  25. package/dist/Components/NcActions.cjs +64 -57
  26. package/dist/Components/NcActions.cjs.map +1 -1
  27. package/dist/Components/NcActions.mjs +76 -69
  28. package/dist/Components/NcActions.mjs.map +1 -1
  29. package/dist/Components/NcAppContent.cjs +19 -20
  30. package/dist/Components/NcAppContent.cjs.map +1 -1
  31. package/dist/Components/NcAppContent.mjs +8 -8
  32. package/dist/Components/NcAppContent.mjs.map +1 -1
  33. package/dist/Components/NcAppNavigation.cjs +58 -27
  34. package/dist/Components/NcAppNavigation.cjs.map +1 -1
  35. package/dist/Components/NcAppNavigation.mjs +67 -34
  36. package/dist/Components/NcAppNavigation.mjs.map +1 -1
  37. package/dist/Components/NcAppNavigationItem.cjs +167 -63
  38. package/dist/Components/NcAppNavigationItem.cjs.map +1 -1
  39. package/dist/Components/NcAppNavigationItem.mjs +142 -40
  40. package/dist/Components/NcAppNavigationItem.mjs.map +1 -1
  41. package/dist/Components/NcAppNavigationNew.cjs +6 -6
  42. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  43. package/dist/Components/NcAppNavigationNew.mjs +17 -17
  44. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  45. package/dist/Components/NcAppNavigationNewItem.cjs +7 -7
  46. package/dist/Components/NcAppNavigationNewItem.cjs.map +1 -1
  47. package/dist/Components/NcAppNavigationNewItem.mjs +5 -5
  48. package/dist/Components/NcAppNavigationNewItem.mjs.map +1 -1
  49. package/dist/Components/NcAppNavigationSettings.cjs +46 -14
  50. package/dist/Components/NcAppNavigationSettings.cjs.map +1 -1
  51. package/dist/Components/NcAppNavigationSettings.mjs +48 -16
  52. package/dist/Components/NcAppNavigationSettings.mjs.map +1 -1
  53. package/dist/Components/NcAppNavigationToggle.cjs +1 -1
  54. package/dist/Components/NcAppNavigationToggle.mjs +1 -1
  55. package/dist/Components/NcAppSettingsDialog.cjs +87 -117
  56. package/dist/Components/NcAppSettingsDialog.cjs.map +1 -1
  57. package/dist/Components/NcAppSettingsDialog.mjs +95 -124
  58. package/dist/Components/NcAppSettingsDialog.mjs.map +1 -1
  59. package/dist/Components/NcAppSettingsSection.cjs +29 -10
  60. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  61. package/dist/Components/NcAppSettingsSection.mjs +29 -10
  62. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  63. package/dist/Components/NcAppSidebar.cjs +100 -34
  64. package/dist/Components/NcAppSidebar.cjs.map +1 -1
  65. package/dist/Components/NcAppSidebar.mjs +157 -93
  66. package/dist/Components/NcAppSidebar.mjs.map +1 -1
  67. package/dist/Components/NcAppSidebarTab.cjs +7 -7
  68. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  69. package/dist/Components/NcAppSidebarTab.mjs +4 -4
  70. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  71. package/dist/Components/NcAvatar.cjs +1 -1
  72. package/dist/Components/NcAvatar.mjs +1 -1
  73. package/dist/Components/NcBreadcrumb.cjs +10 -10
  74. package/dist/Components/NcBreadcrumb.cjs.map +1 -1
  75. package/dist/Components/NcBreadcrumb.mjs +1 -1
  76. package/dist/Components/NcBreadcrumbs.cjs +86 -54
  77. package/dist/Components/NcBreadcrumbs.cjs.map +1 -1
  78. package/dist/Components/NcBreadcrumbs.mjs +93 -62
  79. package/dist/Components/NcBreadcrumbs.mjs.map +1 -1
  80. package/dist/Components/NcButton.cjs +25 -25
  81. package/dist/Components/NcButton.cjs.map +1 -1
  82. package/dist/Components/NcButton.mjs +25 -25
  83. package/dist/Components/NcButton.mjs.map +1 -1
  84. package/dist/Components/NcCheckboxRadioSwitch.cjs +400 -54
  85. package/dist/Components/NcCheckboxRadioSwitch.cjs.map +1 -1
  86. package/dist/Components/NcCheckboxRadioSwitch.mjs +398 -58
  87. package/dist/Components/NcCheckboxRadioSwitch.mjs.map +1 -1
  88. package/dist/Components/NcColorPicker.cjs +18 -18
  89. package/dist/Components/NcColorPicker.cjs.map +1 -1
  90. package/dist/Components/NcColorPicker.mjs +17 -17
  91. package/dist/Components/NcColorPicker.mjs.map +1 -1
  92. package/dist/Components/NcDashboardWidget.cjs +30 -30
  93. package/dist/Components/NcDashboardWidget.cjs.map +1 -1
  94. package/dist/Components/NcDashboardWidget.mjs +3 -3
  95. package/dist/Components/NcDashboardWidgetItem.cjs +11 -11
  96. package/dist/Components/NcDashboardWidgetItem.cjs.map +1 -1
  97. package/dist/Components/NcDashboardWidgetItem.mjs +9 -9
  98. package/dist/Components/NcDashboardWidgetItem.mjs.map +1 -1
  99. package/dist/Components/NcDateTime.cjs +1 -1
  100. package/dist/Components/NcDateTime.mjs +1 -1
  101. package/dist/Components/NcDateTimePicker.cjs +109 -44
  102. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  103. package/dist/Components/NcDateTimePicker.mjs +115 -52
  104. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  105. package/dist/Components/NcDateTimePickerNative.cjs +1 -1
  106. package/dist/Components/NcDateTimePickerNative.mjs +1 -1
  107. package/dist/Components/NcDialog.cjs +171 -0
  108. package/dist/Components/NcDialog.cjs.map +1 -0
  109. package/dist/Components/NcDialog.mjs +177 -0
  110. package/dist/Components/NcDialog.mjs.map +1 -0
  111. package/dist/Components/NcDialogButton.cjs +69 -0
  112. package/dist/Components/NcDialogButton.cjs.map +1 -0
  113. package/dist/Components/NcDialogButton.mjs +74 -0
  114. package/dist/Components/NcDialogButton.mjs.map +1 -0
  115. package/dist/Components/NcEmojiPicker.cjs +1 -1
  116. package/dist/Components/NcEmojiPicker.mjs +1 -1
  117. package/dist/Components/NcEmptyContent.cjs +14 -14
  118. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  119. package/dist/Components/NcEmptyContent.mjs +7 -7
  120. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  121. package/dist/Components/NcIconSvgWrapper.cjs +29 -14
  122. package/dist/Components/NcIconSvgWrapper.cjs.map +1 -1
  123. package/dist/Components/NcIconSvgWrapper.mjs +32 -17
  124. package/dist/Components/NcIconSvgWrapper.mjs.map +1 -1
  125. package/dist/Components/NcInputField.cjs +16 -16
  126. package/dist/Components/NcInputField.cjs.map +1 -1
  127. package/dist/Components/NcInputField.mjs +5 -5
  128. package/dist/Components/NcInputField.mjs.map +1 -1
  129. package/dist/Components/NcListItem.cjs +3 -3
  130. package/dist/Components/NcListItem.cjs.map +1 -1
  131. package/dist/Components/NcListItem.mjs +3 -3
  132. package/dist/Components/NcListItem.mjs.map +1 -1
  133. package/dist/Components/NcListItemIcon.cjs +20 -12
  134. package/dist/Components/NcListItemIcon.cjs.map +1 -1
  135. package/dist/Components/NcListItemIcon.mjs +21 -13
  136. package/dist/Components/NcListItemIcon.mjs.map +1 -1
  137. package/dist/Components/NcModal.cjs +167 -72
  138. package/dist/Components/NcModal.cjs.map +1 -1
  139. package/dist/Components/NcModal.mjs +171 -79
  140. package/dist/Components/NcModal.mjs.map +1 -1
  141. package/dist/Components/NcNoteCard.cjs +147 -19
  142. package/dist/Components/NcNoteCard.cjs.map +1 -1
  143. package/dist/Components/NcNoteCard.mjs +148 -23
  144. package/dist/Components/NcNoteCard.mjs.map +1 -1
  145. package/dist/Components/NcPasswordField.cjs +114 -39
  146. package/dist/Components/NcPasswordField.cjs.map +1 -1
  147. package/dist/Components/NcPasswordField.mjs +125 -52
  148. package/dist/Components/NcPasswordField.mjs.map +1 -1
  149. package/dist/Components/NcRelatedResourcesPanel.cjs +70 -37
  150. package/dist/Components/NcRelatedResourcesPanel.cjs.map +1 -1
  151. package/dist/Components/NcRelatedResourcesPanel.mjs +60 -27
  152. package/dist/Components/NcRelatedResourcesPanel.mjs.map +1 -1
  153. package/dist/Components/NcRichContenteditable.cjs +22 -18
  154. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  155. package/dist/Components/NcRichContenteditable.mjs +32 -28
  156. package/dist/Components/NcRichContenteditable.mjs.map +1 -1
  157. package/dist/Components/NcRichText.cjs +1 -1
  158. package/dist/Components/NcRichText.mjs +3 -3
  159. package/dist/Components/NcSelect.cjs +82 -54
  160. package/dist/Components/NcSelect.cjs.map +1 -1
  161. package/dist/Components/NcSelect.mjs +77 -47
  162. package/dist/Components/NcSelect.mjs.map +1 -1
  163. package/dist/Components/NcSelectTags.cjs +2 -2
  164. package/dist/Components/NcSelectTags.cjs.map +1 -1
  165. package/dist/Components/NcSelectTags.mjs +4 -4
  166. package/dist/Components/NcSelectTags.mjs.map +1 -1
  167. package/dist/Components/NcSettingsInputText.cjs +1 -1
  168. package/dist/Components/NcSettingsInputText.mjs +1 -1
  169. package/dist/Components/NcSettingsSection.cjs +46 -14
  170. package/dist/Components/NcSettingsSection.cjs.map +1 -1
  171. package/dist/Components/NcSettingsSection.mjs +44 -12
  172. package/dist/Components/NcSettingsSection.mjs.map +1 -1
  173. package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
  174. package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
  175. package/dist/Components/NcTextArea.cjs +167 -0
  176. package/dist/Components/NcTextArea.cjs.map +1 -0
  177. package/dist/Components/NcTextArea.mjs +172 -0
  178. package/dist/Components/NcTextArea.mjs.map +1 -0
  179. package/dist/Components/NcTextField.cjs +79 -23
  180. package/dist/Components/NcTextField.cjs.map +1 -1
  181. package/dist/Components/NcTextField.mjs +82 -27
  182. package/dist/Components/NcTextField.mjs.map +1 -1
  183. package/dist/Components/NcTimezonePicker.cjs +26 -19
  184. package/dist/Components/NcTimezonePicker.cjs.map +1 -1
  185. package/dist/Components/NcTimezonePicker.mjs +31 -23
  186. package/dist/Components/NcTimezonePicker.mjs.map +1 -1
  187. package/dist/Components/NcUserBubble.cjs +24 -20
  188. package/dist/Components/NcUserBubble.cjs.map +1 -1
  189. package/dist/Components/NcUserBubble.mjs +25 -20
  190. package/dist/Components/NcUserBubble.mjs.map +1 -1
  191. package/dist/assets/{NcAppNavigationToggle-2cc5b864.css → NcAppNavigationToggle-9e170630.css} +3 -2
  192. package/dist/assets/{NcInputConfirmCancel-2ba60a52.css → NcInputConfirmCancel-45d1d76b.css} +7 -7
  193. package/dist/assets/{index-5072b6ee.css → index-05760fea.css} +16 -11
  194. package/dist/assets/{index-30e099f7.css → index-0ac09203.css} +3 -3
  195. package/dist/assets/{index-0ab8e182.css → index-0e9b11c7.css} +27 -22
  196. package/dist/assets/{index-1151d229.css → index-1f25a3c0.css} +3 -3
  197. package/dist/assets/{index-5eff69c7.css → index-2e5e3b55.css} +32 -30
  198. package/dist/assets/{index-03ec5f40.css → index-400b48a6.css} +7 -7
  199. package/dist/assets/{index-ed4adf1d.css → index-4271da53.css} +18 -17
  200. package/dist/assets/{index-33da80f0.css → index-4611417f.css} +8 -9
  201. package/dist/assets/{index-01e5adf4.css → index-55600948.css} +11 -11
  202. package/dist/assets/{index-c7905a53.css → index-57b305d3.css} +3 -3
  203. package/dist/assets/{index-de0326c7.css → index-5ee8a575.css} +69 -78
  204. package/dist/assets/index-6899d75b.css +150 -0
  205. package/dist/assets/{index-9354264c.css → index-6f721577.css} +16 -16
  206. package/dist/assets/{index-1beccc92.css → index-750c02cc.css} +28 -10
  207. package/dist/assets/{index-0557f12a.css → index-77a548be.css} +4 -4
  208. package/dist/assets/{index-fbdeb5ab.css → index-7d211db9.css} +11 -11
  209. package/dist/assets/{index-becfbea7.css → index-802d2118.css} +28 -23
  210. package/dist/assets/{index-a2d55f92.css → index-9176105d.css} +41 -41
  211. package/dist/assets/index-93bc89ef.css +197 -0
  212. package/dist/assets/{index-50b0766d.css → index-a0532427.css} +55 -70
  213. package/dist/assets/{index-6405cd50.css → index-ab715d82.css} +4 -4
  214. package/dist/assets/index-abb90c97.css +164 -0
  215. package/dist/assets/{index-23e64bbb.css → index-c221fe05.css} +9 -9
  216. package/dist/assets/{index-c6f0da2e.css → index-c239a2fc.css} +14 -8
  217. package/dist/assets/{index-fec4bb7b.css → index-d3702c91.css} +22 -17
  218. package/dist/assets/{index-194e9415.css → index-d5716ef0.css} +74 -59
  219. package/dist/assets/{index-4a775ba1.css → index-d812ed9e.css} +43 -43
  220. package/dist/assets/{index-793eae6b.css → index-d9ae9479.css} +6 -6
  221. package/dist/assets/{index-1cf8eeb4.css → index-db5a8b1c.css} +26 -33
  222. package/dist/assets/index-dc612aa3.css +112 -0
  223. package/dist/assets/{index-294382c8.css → index-e1a7aa6f.css} +43 -38
  224. package/dist/assets/{index-376d2dec.css → index-e7c55791.css} +67 -67
  225. package/dist/assets/{index-165fce0e.css → index-e7eadba7.css} +13 -13
  226. package/dist/assets/{index-0adc989c.css → index-ebbb7829.css} +9 -13
  227. package/dist/assets/{referencePickerModal-0acecb5e.css → referencePickerModal-3a127978.css} +55 -55
  228. package/dist/chunks/AlertCircleOutline-7085c10f.cjs +35 -0
  229. package/dist/chunks/AlertCircleOutline-7085c10f.cjs.map +1 -0
  230. package/dist/chunks/AlertCircleOutline-b73838e0.mjs +37 -0
  231. package/dist/chunks/AlertCircleOutline-b73838e0.mjs.map +1 -0
  232. package/dist/chunks/ArrowLeft-2f9b9323.cjs +35 -0
  233. package/dist/chunks/ArrowLeft-2f9b9323.cjs.map +1 -0
  234. package/dist/chunks/ArrowLeft-3779ba88.mjs +37 -0
  235. package/dist/chunks/ArrowLeft-3779ba88.mjs.map +1 -0
  236. package/dist/chunks/ArrowRight-7315f6c1.cjs +35 -0
  237. package/dist/chunks/ArrowRight-7315f6c1.cjs.map +1 -0
  238. package/dist/chunks/ArrowRight-74a9fcb2.mjs +37 -0
  239. package/dist/chunks/ArrowRight-74a9fcb2.mjs.map +1 -0
  240. package/dist/chunks/Check-2ea0a88a.mjs +37 -0
  241. package/dist/chunks/Check-2ea0a88a.mjs.map +1 -0
  242. package/dist/chunks/Check-be8cd6af.cjs +35 -0
  243. package/dist/chunks/Check-be8cd6af.cjs.map +1 -0
  244. package/dist/chunks/ChevronDown-a72d365d.mjs +37 -0
  245. package/dist/chunks/ChevronDown-a72d365d.mjs.map +1 -0
  246. package/dist/chunks/ChevronDown-dc32e51d.cjs +35 -0
  247. package/dist/chunks/ChevronDown-dc32e51d.cjs.map +1 -0
  248. package/dist/chunks/ChevronRight-1a6a6cf2.mjs +37 -0
  249. package/dist/chunks/ChevronRight-1a6a6cf2.mjs.map +1 -0
  250. package/dist/chunks/ChevronRight-a4c1e0d3.cjs +35 -0
  251. package/dist/chunks/ChevronRight-a4c1e0d3.cjs.map +1 -0
  252. package/dist/chunks/Close-271f72e2.mjs +37 -0
  253. package/dist/chunks/Close-271f72e2.mjs.map +1 -0
  254. package/dist/chunks/Close-98cb6f12.cjs +35 -0
  255. package/dist/chunks/Close-98cb6f12.cjs.map +1 -0
  256. package/dist/chunks/DotsHorizontal-0ee7d901.mjs +37 -0
  257. package/dist/chunks/DotsHorizontal-0ee7d901.mjs.map +1 -0
  258. package/dist/chunks/DotsHorizontal-ac96129a.cjs +35 -0
  259. package/dist/chunks/DotsHorizontal-ac96129a.cjs.map +1 -0
  260. package/dist/chunks/NcAppNavigationToggle-364eb664.cjs +113 -0
  261. package/dist/chunks/NcAppNavigationToggle-364eb664.cjs.map +1 -0
  262. package/dist/chunks/NcAppNavigationToggle-cd2ef112.mjs +118 -0
  263. package/dist/chunks/NcAppNavigationToggle-cd2ef112.mjs.map +1 -0
  264. package/dist/chunks/{NcInputConfirmCancel-f881168d.mjs → NcInputConfirmCancel-304f0b74.mjs} +22 -15
  265. package/dist/chunks/NcInputConfirmCancel-304f0b74.mjs.map +1 -0
  266. package/dist/chunks/NcInputConfirmCancel-c873bb9b.cjs +90 -0
  267. package/dist/chunks/NcInputConfirmCancel-c873bb9b.cjs.map +1 -0
  268. package/dist/chunks/{NcRichText-1c3d2654.mjs → NcRichText-25edeb8e.mjs} +9 -9
  269. package/dist/chunks/{NcRichText-d385dc10.cjs.map → NcRichText-25edeb8e.mjs.map} +1 -1
  270. package/dist/chunks/{NcRichText-d385dc10.cjs → NcRichText-dcb4fb97.cjs} +2 -2
  271. package/dist/chunks/{NcRichText-1c3d2654.mjs.map → NcRichText-dcb4fb97.cjs.map} +1 -1
  272. package/dist/chunks/{NcSettingsSelectGroup-47d9c113.cjs → NcSettingsSelectGroup-d639533d.cjs} +1 -1
  273. package/dist/chunks/{NcSettingsSelectGroup-47d9c113.cjs.map → NcSettingsSelectGroup-d639533d.cjs.map} +1 -1
  274. package/dist/chunks/{NcSettingsSelectGroup-0f4a0f94.mjs → NcSettingsSelectGroup-fd91d31a.mjs} +2 -2
  275. package/dist/chunks/{NcSettingsSelectGroup-0f4a0f94.mjs.map → NcSettingsSelectGroup-fd91d31a.mjs.map} +1 -1
  276. package/dist/chunks/{ScopeComponent-97a014a1.mjs → ScopeComponent-5b9e60d8.mjs} +3 -3
  277. package/dist/chunks/{ScopeComponent-97a014a1.mjs.map → ScopeComponent-5b9e60d8.mjs.map} +1 -1
  278. package/dist/chunks/{ScopeComponent-1c75ec38.cjs → ScopeComponent-dfa5ec75.cjs} +1 -1
  279. package/dist/chunks/{ScopeComponent-1c75ec38.cjs.map → ScopeComponent-dfa5ec75.cjs.map} +1 -1
  280. package/dist/chunks/{actionText-b0bd6eb7.cjs → actionText-54bc24a6.cjs} +1 -1
  281. package/dist/chunks/{actionText-9f5c55bd.mjs.map → actionText-54bc24a6.cjs.map} +1 -1
  282. package/dist/chunks/{actionText-9f5c55bd.mjs → actionText-a64be267.mjs} +1 -1
  283. package/dist/chunks/{actionText-b0bd6eb7.cjs.map → actionText-a64be267.mjs.map} +1 -1
  284. package/dist/chunks/{index-2a5b8ace.cjs → index-343ecbe5.cjs} +98 -55
  285. package/dist/chunks/index-343ecbe5.cjs.map +1 -0
  286. package/dist/chunks/{index-6c221fa0.mjs → index-a01ff595.mjs} +143 -100
  287. package/dist/chunks/index-a01ff595.mjs.map +1 -0
  288. package/dist/chunks/{l10n-4326316a.cjs → l10n-9321b50d.cjs} +1 -1
  289. package/dist/chunks/{l10n-4326316a.cjs.map → l10n-9321b50d.cjs.map} +1 -1
  290. package/dist/chunks/l10n-9f3afaf5.cjs +29 -0
  291. package/dist/chunks/l10n-9f3afaf5.cjs.map +1 -0
  292. package/dist/chunks/l10n-b6d21146.mjs +31 -0
  293. package/dist/chunks/l10n-b6d21146.mjs.map +1 -0
  294. package/dist/chunks/{l10n-c5f5f001.mjs → l10n-bef4ea85.mjs} +1 -1
  295. package/dist/chunks/{l10n-c5f5f001.mjs.map → l10n-bef4ea85.mjs.map} +1 -1
  296. package/dist/chunks/{referencePickerModal-0fde503d.mjs → referencePickerModal-58498cac.mjs} +157 -125
  297. package/dist/chunks/referencePickerModal-58498cac.mjs.map +1 -0
  298. package/dist/chunks/{referencePickerModal-9b4ff88d.cjs → referencePickerModal-a739a17b.cjs} +145 -112
  299. package/dist/chunks/referencePickerModal-a739a17b.cjs.map +1 -0
  300. package/dist/index.cjs +105 -103
  301. package/dist/index.cjs.map +1 -1
  302. package/dist/index.mjs +138 -133
  303. package/dist/index.mjs.map +1 -1
  304. package/dist/vendor.LICENSE.txt +5 -1
  305. package/package.json +8 -5
  306. package/dist/assets/index-7768d5e5.css +0 -148
  307. package/dist/assets/index-d646553d.css +0 -41
  308. package/dist/chunks/NcAppNavigationToggle-960658a0.cjs +0 -49
  309. package/dist/chunks/NcAppNavigationToggle-960658a0.cjs.map +0 -1
  310. package/dist/chunks/NcAppNavigationToggle-d868f651.mjs +0 -55
  311. package/dist/chunks/NcAppNavigationToggle-d868f651.mjs.map +0 -1
  312. package/dist/chunks/NcInputConfirmCancel-0c4bee9a.cjs +0 -83
  313. package/dist/chunks/NcInputConfirmCancel-0c4bee9a.cjs.map +0 -1
  314. package/dist/chunks/NcInputConfirmCancel-f881168d.mjs.map +0 -1
  315. package/dist/chunks/index-2a5b8ace.cjs.map +0 -1
  316. package/dist/chunks/index-6c221fa0.mjs.map +0 -1
  317. package/dist/chunks/l10n-27a75c40.mjs +0 -31
  318. package/dist/chunks/l10n-27a75c40.mjs.map +0 -1
  319. package/dist/chunks/l10n-903083c4.cjs +0 -29
  320. package/dist/chunks/l10n-903083c4.cjs.map +0 -1
  321. package/dist/chunks/referencePickerModal-0fde503d.mjs.map +0 -1
  322. package/dist/chunks/referencePickerModal-9b4ff88d.cjs.map +0 -1
@@ -1,9 +1,9 @@
1
- var I = require("../assets/index-6405cd50.css");
2
- const o = require("@nextcloud/axios"), a = require("@nextcloud/router"), l = require("./NcButton.cjs"), s = require("../chunks/l10n-903083c4.cjs"), i = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs"), u = (r) => r && r.__esModule ? r : { default: r }, c = /* @__PURE__ */ u(o);
1
+ var I = require("../assets/index-ab715d82.css");
2
+ const o = require("@nextcloud/axios"), l = require("@nextcloud/router"), a = require("./NcButton.cjs"), s = require("../chunks/l10n-9f3afaf5.cjs"), n = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs"), u = (t) => t && t.__esModule ? t : { default: t }, c = /* @__PURE__ */ u(o);
3
3
  const d = {
4
4
  name: "NcResource",
5
5
  components: {
6
- NcButton: l
6
+ NcButton: a
7
7
  },
8
8
  props: {
9
9
  icon: {
@@ -29,25 +29,25 @@ const d = {
29
29
  }
30
30
  };
31
31
  var _ = function() {
32
- var e = this, t = e._self._c;
33
- return t("li", { staticClass: "resource" }, [t("NcButton", { staticClass: "resource__button", attrs: { "aria-label": e.labelTranslated, type: "tertiary", href: e.url }, scopedSlots: e._u([{ key: "icon", fn: function() {
34
- return [t("div", { staticClass: "resource__icon" }, [t("img", { attrs: { src: e.icon } })])];
32
+ var e = this, r = e._self._c;
33
+ return r("li", { staticClass: "resource" }, [r("NcButton", { staticClass: "resource__button", attrs: { "aria-label": e.labelTranslated, type: "tertiary", href: e.url }, scopedSlots: e._u([{ key: "icon", fn: function() {
34
+ return [r("div", { staticClass: "resource__icon" }, [r("img", { attrs: { src: e.icon } })])];
35
35
  }, proxy: !0 }]) }, [e._v(" " + e._s(e.name) + " ")])], 1);
36
- }, f = [], h = /* @__PURE__ */ i.normalizeComponent(
36
+ }, p = [], f = /* @__PURE__ */ n.normalizeComponent(
37
37
  d,
38
38
  _,
39
- f,
39
+ p,
40
40
  !1,
41
41
  null,
42
42
  "1a960bef",
43
43
  null,
44
44
  null
45
45
  );
46
- const p = h.exports;
46
+ const h = f.exports;
47
47
  const m = {
48
48
  name: "NcRelatedResourcesPanel",
49
49
  components: {
50
- NcResource: p
50
+ NcResource: h
51
51
  },
52
52
  props: {
53
53
  /**
@@ -64,6 +64,20 @@ const m = {
64
64
  type: [String, Number],
65
65
  default: null
66
66
  },
67
+ /**
68
+ * Limits to specific resource type. i.e. any provider id implemented with `\OCA\RelatedResources\IRelatedResourceProvider::getProviderId()`
69
+ */
70
+ resourceType: {
71
+ type: String,
72
+ default: null
73
+ },
74
+ /**
75
+ * Set the maximum number of resources to load
76
+ */
77
+ limit: {
78
+ type: Number,
79
+ default: null
80
+ },
67
81
  /**
68
82
  * Only used by the files sidebar
69
83
  *
@@ -72,6 +86,24 @@ const m = {
72
86
  fileInfo: {
73
87
  type: Object,
74
88
  default: null
89
+ },
90
+ /**
91
+ * Make the header name dynamic
92
+ */
93
+ header: {
94
+ type: String,
95
+ default: s.t("Related resources")
96
+ },
97
+ description: {
98
+ type: String,
99
+ default: s.t("Anything shared with the same group of people will show up here")
100
+ },
101
+ /**
102
+ * If this element is used on a primary element set to true for primary styling.
103
+ */
104
+ primary: {
105
+ type: Boolean,
106
+ default: !1
75
107
  }
76
108
  },
77
109
  emits: [
@@ -79,10 +111,9 @@ const m = {
79
111
  "has-resources"
80
112
  ],
81
113
  data() {
82
- var r;
114
+ var t;
83
115
  return {
84
- appEnabled: ((r = OC == null ? void 0 : OC.appswebroots) == null ? void 0 : r.related_resources) !== void 0,
85
- headerTranslated: s.t("Related resources"),
116
+ appEnabled: ((t = OC == null ? void 0 : OC.appswebroots) == null ? void 0 : t.related_resources) !== void 0,
86
117
  loading: !1,
87
118
  error: null,
88
119
  resources: []
@@ -90,24 +121,26 @@ const m = {
90
121
  },
91
122
  computed: {
92
123
  isVisible() {
93
- var r;
94
- return this.loading ? !1 : (r = this.error) != null ? r : this.resources.length > 0;
124
+ var t;
125
+ return this.loading ? !1 : (t = this.error) != null ? t : this.resources.length > 0;
95
126
  },
96
- description() {
97
- return this.error ? s.t("Error getting related resources. Please contact your system administrator if you have any questions.") : s.t("Anything shared with the same group of people will show up here");
127
+ subline() {
128
+ return this.error ? s.t("Error getting related resources. Please contact your system administrator if you have any questions.") : this.description;
98
129
  },
99
130
  hasResourceInfo() {
100
131
  return this.providerId !== null && this.itemId !== null || this.fileInfo !== null;
101
132
  },
102
133
  isFiles() {
103
- var r;
104
- return ((r = this.fileInfo) == null ? void 0 : r.id) !== void 0;
134
+ var t;
135
+ return ((t = this.fileInfo) == null ? void 0 : t.id) !== void 0;
105
136
  },
106
137
  url() {
107
- let r = null, e = null;
108
- return this.isFiles ? (r = "files", e = this.fileInfo.id) : (r = this.providerId, e = this.itemId), a.generateOcsUrl("/apps/related_resources/related/{providerId}?itemId={itemId}&format=json", {
109
- providerId: r,
110
- itemId: e
138
+ let t = null, e = null;
139
+ return this.isFiles ? (t = "files", e = this.fileInfo.id) : (t = this.providerId, e = this.itemId), l.generateOcsUrl("/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json", {
140
+ providerId: t,
141
+ itemId: e,
142
+ resourceType: this.resourceType,
143
+ limit: this.limit
111
144
  });
112
145
  }
113
146
  },
@@ -121,11 +154,11 @@ const m = {
121
154
  fileInfo() {
122
155
  this.fetchRelatedResources();
123
156
  },
124
- error(r) {
125
- this.$emit("has-error", !!r);
157
+ error(t) {
158
+ this.$emit("has-error", !!t);
126
159
  },
127
- resources(r) {
128
- this.$emit("has-resources", r.length > 0);
160
+ resources(t) {
161
+ this.$emit("has-resources", t.length > 0);
129
162
  }
130
163
  },
131
164
  created() {
@@ -134,12 +167,12 @@ const m = {
134
167
  methods: {
135
168
  t: s.t,
136
169
  async fetchRelatedResources() {
137
- var r;
170
+ var t;
138
171
  if (!(!this.appEnabled || !this.hasResourceInfo)) {
139
172
  this.loading = !0, this.error = null, this.resources = [];
140
173
  try {
141
174
  const e = await c.default.get(this.url);
142
- this.resources = (r = e.data.ocs) == null ? void 0 : r.data;
175
+ this.resources = (t = e.data.ocs) == null ? void 0 : t.data;
143
176
  } catch (e) {
144
177
  this.error = e, console.error(e);
145
178
  } finally {
@@ -149,20 +182,20 @@ const m = {
149
182
  }
150
183
  }
151
184
  };
152
- var v = function() {
153
- var e = this, t = e._self._c;
154
- return e.appEnabled && e.isVisible ? t("div", { staticClass: "related-resources" }, [t("div", { staticClass: "related-resources__header" }, [t("h5", [e._v(e._s(e.headerTranslated))]), t("p", [e._v(e._s(e.description))])]), e._l(e.resources, function(n) {
155
- return t("NcResource", { key: n.itemId, staticClass: "related-resources__entry", attrs: { icon: n.icon, name: n.title, url: n.url } });
185
+ var y = function() {
186
+ var e = this, r = e._self._c;
187
+ return e.appEnabled && e.isVisible ? r("div", { staticClass: "related-resources" }, [r("div", { staticClass: "related-resources__header" }, [r("h5", [e._v(e._s(e.header))]), r("p", [e._v(e._s(e.subline))])]), e._l(e.resources, function(i) {
188
+ return r("NcResource", { key: i.itemId, staticClass: "related-resources__entry", attrs: { icon: i.icon, name: i.title, url: i.url } });
156
189
  })], 2) : e._e();
157
- }, R = [], y = /* @__PURE__ */ i.normalizeComponent(
190
+ }, v = [], R = /* @__PURE__ */ n.normalizeComponent(
158
191
  m,
192
+ y,
159
193
  v,
160
- R,
161
194
  !1,
162
195
  null,
163
- "235fc8aa",
196
+ "19300848",
164
197
  null,
165
198
  null
166
199
  );
167
- const g = y.exports;
200
+ const g = R.exports;
168
201
  module.exports = g;
@@ -1 +1 @@
1
- {"version":3,"file":"NcRelatedResourcesPanel.cjs","sources":["../../src/components/NcRelatedResourcesPanel/NcResource.vue","../../src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<li class=\"resource\">\n\t\t<NcButton class=\"resource__button\"\n\t\t\t:aria-label=\"labelTranslated\"\n\t\t\ttype=\"tertiary\"\n\t\t\t:href=\"url\">\n\t\t\t<template #icon>\n\t\t\t\t<div class=\"resource__icon\">\n\t\t\t\t\t<img :src=\"icon\">\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t{{ name }}\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcResource',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\turl: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name }),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.resource {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 100% !important;\n\t\tjustify-content: flex-start !important;\n\t\tpadding: 0 !important;\n\n\t\t&:deep {\n\t\t\t.button-vue__wrapper {\n\t\t\t\tjustify-content: flex-start !important;\n\n\t\t\t\t.button-vue__text {\n\t\t\t\t\tfont-weight: normal !important;\n\t\t\t\t\tmargin-left: 2px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__icon {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n</style>\n","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Usage\n\nUse this component to display the related resources of a given item.\n\n```\n<template>\n\t<NcRelatedResourcesPanel provider-id=\"talk\"\n\t\t:item-id=\"conversationId\" />\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tconversationId: 1,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div v-if=\"appEnabled && isVisible\" class=\"related-resources\">\n\t\t<div class=\"related-resources__header\">\n\t\t\t<h5>{{ headerTranslated }}</h5>\n\t\t\t<p>{{ description }}</p>\n\t\t</div>\n\n\t\t<NcResource v-for=\"resource in resources\"\n\t\t\t:key=\"resource.itemId\"\n\t\t\tclass=\"related-resources__entry\"\n\t\t\t:icon=\"resource.icon\"\n\t\t\t:name=\"resource.title\"\n\t\t\t:url=\"resource.url\" />\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport NcResource from './NcResource.vue'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcRelatedResourcesPanel',\n\n\tcomponents: {\n\t\tNcResource,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n\t\t */\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Only used by the files sidebar\n\t\t *\n\t\t * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n\t\t */\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'has-error',\n\t\t'has-resources',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.related_resources !== undefined,\n\t\t\theaderTranslated: t('Related resources'),\n\t\t\tloading: false,\n\t\t\terror: null,\n\t\t\tresources: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.error ?? this.resources.length > 0\n\t\t},\n\n\t\tdescription() {\n\t\t\tif (this.error) {\n\t\t\t\treturn t('Error getting related resources. Please contact your system administrator if you have any questions.')\n\t\t\t}\n\t\t\treturn t('Anything shared with the same group of people will show up here')\n\t\t},\n\n\t\thasResourceInfo() {\n\t\t\tif (this.providerId !== null && this.itemId !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (this.fileInfo !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tisFiles() {\n\t\t\treturn this.fileInfo?.id !== undefined\n\t\t},\n\n\t\turl() {\n\t\t\tlet providerId = null\n\t\t\tlet itemId = null\n\n\t\t\tif (this.isFiles) {\n\t\t\t\tproviderId = 'files'\n\t\t\t\titemId = this.fileInfo.id\n\t\t\t} else {\n\t\t\t\tproviderId = this.providerId\n\t\t\t\titemId = this.itemId\n\t\t\t}\n\n\t\t\treturn generateOcsUrl('/apps/related_resources/related/{providerId}?itemId={itemId}&format=json', {\n\t\t\t\tproviderId,\n\t\t\t\titemId,\n\t\t\t})\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\titemId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\tfileInfo() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\terror(error) {\n\t\t\t/**\n\t\t\t * Emitted when the error value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-error', Boolean(error))\n\t\t},\n\t\tresources(resources) {\n\t\t\t/**\n\t\t\t * Emitted when the resources value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-resources', resources.length > 0)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchRelatedResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchRelatedResources() {\n\t\t\tif (!this.appEnabled || !this.hasResourceInfo) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tthis.error = null\n\t\t\tthis.resources = []\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(this.url)\n\t\t\t\tthis.resources = response.data.ocs?.data\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = e\n\t\t\t\tconsole.error(e)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.related-resources {\n\t&__header {\n\t\tmargin: 0 0 10px 46px;\n\n\t\th5 {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main$1","Components_NcButton","l10n","_sfc_main","NcResource","_a","providerId","itemId","router","error","resources","response","axios__default"],"mappings":"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"}
1
+ {"version":3,"file":"NcRelatedResourcesPanel.cjs","sources":["../../src/components/NcRelatedResourcesPanel/NcResource.vue","../../src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<li class=\"resource\">\n\t\t<NcButton class=\"resource__button\"\n\t\t\t:aria-label=\"labelTranslated\"\n\t\t\ttype=\"tertiary\"\n\t\t\t:href=\"url\">\n\t\t\t<template #icon>\n\t\t\t\t<div class=\"resource__icon\">\n\t\t\t\t\t<img :src=\"icon\">\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t{{ name }}\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcResource',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\turl: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name }),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.resource {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 100% !important;\n\t\tjustify-content: flex-start !important;\n\t\tpadding: 0 !important;\n\n\t\t&:deep {\n\t\t\t.button-vue__wrapper {\n\t\t\t\tjustify-content: flex-start !important;\n\n\t\t\t\t.button-vue__text {\n\t\t\t\t\tfont-weight: normal !important;\n\t\t\t\t\tmargin-left: 2px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__icon {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n</style>\n","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Usage\n\nUse this component to display the related resources of a given item.\n\n```\n<template>\n\t<NcRelatedResourcesPanel provider-id=\"talk\"\n\t\theader=\"Related resources for talk\"\n\t\t:item-id=\"conversationId\" />\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tconversationId: 1,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div v-if=\"appEnabled && isVisible\" class=\"related-resources\">\n\t\t<div class=\"related-resources__header\">\n\t\t\t<h5>{{ header }}</h5>\n\t\t\t<p>{{ subline }}</p>\n\t\t</div>\n\n\t\t<NcResource v-for=\"resource in resources\"\n\t\t\t:key=\"resource.itemId\"\n\t\t\tclass=\"related-resources__entry\"\n\t\t\t:icon=\"resource.icon\"\n\t\t\t:name=\"resource.title\"\n\t\t\t:url=\"resource.url\" />\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport NcResource from './NcResource.vue'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcRelatedResourcesPanel',\n\n\tcomponents: {\n\t\tNcResource,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n\t\t */\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Limits to specific resource type. i.e. any provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Set the maximum number of resources to load\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Only used by the files sidebar\n\t\t *\n\t\t * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n\t\t */\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Make the header name dynamic\n\t\t */\n\t\theader: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Related resources'),\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Anything shared with the same group of people will show up here'),\n\t\t},\n\t\t/**\n\t\t * If this element is used on a primary element set to true for primary styling.\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'has-error',\n\t\t'has-resources',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.related_resources !== undefined,\n\t\t\tloading: false,\n\t\t\terror: null,\n\t\t\tresources: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.error ?? this.resources.length > 0\n\t\t},\n\t\tsubline() {\n\t\t\tif (this.error) {\n\t\t\t\treturn t('Error getting related resources. Please contact your system administrator if you have any questions.')\n\t\t\t}\n\t\t\treturn this.description\n\t\t},\n\n\t\thasResourceInfo() {\n\t\t\tif (this.providerId !== null && this.itemId !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (this.fileInfo !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tisFiles() {\n\t\t\treturn this.fileInfo?.id !== undefined\n\t\t},\n\n\t\turl() {\n\t\t\tlet providerId = null\n\t\t\tlet itemId = null\n\n\t\t\tif (this.isFiles) {\n\t\t\t\tproviderId = 'files'\n\t\t\t\titemId = this.fileInfo.id\n\t\t\t} else {\n\t\t\t\tproviderId = this.providerId\n\t\t\t\titemId = this.itemId\n\t\t\t}\n\n\t\t\treturn generateOcsUrl('/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json', {\n\t\t\t\tproviderId,\n\t\t\t\titemId,\n\t\t\t\tresourceType: this.resourceType,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\titemId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\tfileInfo() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\terror(error) {\n\t\t\t/**\n\t\t\t * Emitted when the error value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-error', Boolean(error))\n\t\t},\n\t\tresources(resources) {\n\t\t\t/**\n\t\t\t * Emitted when the resources value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-resources', resources.length > 0)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchRelatedResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchRelatedResources() {\n\t\t\tif (!this.appEnabled || !this.hasResourceInfo) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tthis.error = null\n\t\t\tthis.resources = []\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(this.url)\n\t\t\t\tthis.resources = response.data.ocs?.data\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = e\n\t\t\t\tconsole.error(e)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.related-resources {\n\t&__header {\n\t\tmargin: 0 0 10px 46px;\n\n\t\th5 {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main$1","Components_NcButton","l10n","_sfc_main","NcResource","_a","providerId","itemId","router","error","resources","response","axios__default"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import "../assets/index-6405cd50.css";
2
- import a from "@nextcloud/axios";
3
- import { generateOcsUrl as o } from "@nextcloud/router";
4
- import l from "./NcButton.mjs";
5
- import { t as s } from "../chunks/l10n-27a75c40.mjs";
6
- import { n as i } from "../chunks/_plugin-vue2_normalizer-71e2aa87.mjs";
7
- const c = {
1
+ import "../assets/index-ab715d82.css";
2
+ import o from "@nextcloud/axios";
3
+ import { generateOcsUrl as l } from "@nextcloud/router";
4
+ import a from "./NcButton.mjs";
5
+ import { t as s } from "../chunks/l10n-b6d21146.mjs";
6
+ import { n } from "../chunks/_plugin-vue2_normalizer-71e2aa87.mjs";
7
+ const u = {
8
8
  name: "NcResource",
9
9
  components: {
10
- NcButton: l
10
+ NcButton: a
11
11
  },
12
12
  props: {
13
13
  icon: {
@@ -32,14 +32,14 @@ const c = {
32
32
  t: s
33
33
  }
34
34
  };
35
- var u = function() {
35
+ var c = function() {
36
36
  var e = this, t = e._self._c;
37
37
  return t("li", { staticClass: "resource" }, [t("NcButton", { staticClass: "resource__button", attrs: { "aria-label": e.labelTranslated, type: "tertiary", href: e.url }, scopedSlots: e._u([{ key: "icon", fn: function() {
38
38
  return [t("div", { staticClass: "resource__icon" }, [t("img", { attrs: { src: e.icon } })])];
39
39
  }, proxy: !0 }]) }, [e._v(" " + e._s(e.name) + " ")])], 1);
40
- }, d = [], _ = /* @__PURE__ */ i(
41
- c,
40
+ }, d = [], p = /* @__PURE__ */ n(
42
41
  u,
42
+ c,
43
43
  d,
44
44
  !1,
45
45
  null,
@@ -47,8 +47,8 @@ var u = function() {
47
47
  null,
48
48
  null
49
49
  );
50
- const f = _.exports;
51
- const h = {
50
+ const f = p.exports;
51
+ const _ = {
52
52
  name: "NcRelatedResourcesPanel",
53
53
  components: {
54
54
  NcResource: f
@@ -68,6 +68,20 @@ const h = {
68
68
  type: [String, Number],
69
69
  default: null
70
70
  },
71
+ /**
72
+ * Limits to specific resource type. i.e. any provider id implemented with `\OCA\RelatedResources\IRelatedResourceProvider::getProviderId()`
73
+ */
74
+ resourceType: {
75
+ type: String,
76
+ default: null
77
+ },
78
+ /**
79
+ * Set the maximum number of resources to load
80
+ */
81
+ limit: {
82
+ type: Number,
83
+ default: null
84
+ },
71
85
  /**
72
86
  * Only used by the files sidebar
73
87
  *
@@ -76,6 +90,24 @@ const h = {
76
90
  fileInfo: {
77
91
  type: Object,
78
92
  default: null
93
+ },
94
+ /**
95
+ * Make the header name dynamic
96
+ */
97
+ header: {
98
+ type: String,
99
+ default: s("Related resources")
100
+ },
101
+ description: {
102
+ type: String,
103
+ default: s("Anything shared with the same group of people will show up here")
104
+ },
105
+ /**
106
+ * If this element is used on a primary element set to true for primary styling.
107
+ */
108
+ primary: {
109
+ type: Boolean,
110
+ default: !1
79
111
  }
80
112
  },
81
113
  emits: [
@@ -86,7 +118,6 @@ const h = {
86
118
  var r;
87
119
  return {
88
120
  appEnabled: ((r = OC == null ? void 0 : OC.appswebroots) == null ? void 0 : r.related_resources) !== void 0,
89
- headerTranslated: s("Related resources"),
90
121
  loading: !1,
91
122
  error: null,
92
123
  resources: []
@@ -97,8 +128,8 @@ const h = {
97
128
  var r;
98
129
  return this.loading ? !1 : (r = this.error) != null ? r : this.resources.length > 0;
99
130
  },
100
- description() {
101
- return this.error ? s("Error getting related resources. Please contact your system administrator if you have any questions.") : s("Anything shared with the same group of people will show up here");
131
+ subline() {
132
+ return this.error ? s("Error getting related resources. Please contact your system administrator if you have any questions.") : this.description;
102
133
  },
103
134
  hasResourceInfo() {
104
135
  return this.providerId !== null && this.itemId !== null || this.fileInfo !== null;
@@ -109,9 +140,11 @@ const h = {
109
140
  },
110
141
  url() {
111
142
  let r = null, e = null;
112
- return this.isFiles ? (r = "files", e = this.fileInfo.id) : (r = this.providerId, e = this.itemId), o("/apps/related_resources/related/{providerId}?itemId={itemId}&format=json", {
143
+ return this.isFiles ? (r = "files", e = this.fileInfo.id) : (r = this.providerId, e = this.itemId), l("/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json", {
113
144
  providerId: r,
114
- itemId: e
145
+ itemId: e,
146
+ resourceType: this.resourceType,
147
+ limit: this.limit
115
148
  });
116
149
  }
117
150
  },
@@ -142,7 +175,7 @@ const h = {
142
175
  if (!(!this.appEnabled || !this.hasResourceInfo)) {
143
176
  this.loading = !0, this.error = null, this.resources = [];
144
177
  try {
145
- const e = await a.get(this.url);
178
+ const e = await o.get(this.url);
146
179
  this.resources = (r = e.data.ocs) == null ? void 0 : r.data;
147
180
  } catch (e) {
148
181
  this.error = e, console.error(e);
@@ -153,22 +186,22 @@ const h = {
153
186
  }
154
187
  }
155
188
  };
156
- var p = function() {
189
+ var h = function() {
157
190
  var e = this, t = e._self._c;
158
- return e.appEnabled && e.isVisible ? t("div", { staticClass: "related-resources" }, [t("div", { staticClass: "related-resources__header" }, [t("h5", [e._v(e._s(e.headerTranslated))]), t("p", [e._v(e._s(e.description))])]), e._l(e.resources, function(n) {
159
- return t("NcResource", { key: n.itemId, staticClass: "related-resources__entry", attrs: { icon: n.icon, name: n.title, url: n.url } });
191
+ return e.appEnabled && e.isVisible ? t("div", { staticClass: "related-resources" }, [t("div", { staticClass: "related-resources__header" }, [t("h5", [e._v(e._s(e.header))]), t("p", [e._v(e._s(e.subline))])]), e._l(e.resources, function(i) {
192
+ return t("NcResource", { key: i.itemId, staticClass: "related-resources__entry", attrs: { icon: i.icon, name: i.title, url: i.url } });
160
193
  })], 2) : e._e();
161
- }, m = [], v = /* @__PURE__ */ i(
194
+ }, m = [], y = /* @__PURE__ */ n(
195
+ _,
162
196
  h,
163
- p,
164
197
  m,
165
198
  !1,
166
199
  null,
167
- "235fc8aa",
200
+ "19300848",
168
201
  null,
169
202
  null
170
203
  );
171
- const C = v.exports;
204
+ const S = y.exports;
172
205
  export {
173
- C as default
206
+ S as default
174
207
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NcRelatedResourcesPanel.mjs","sources":["../../src/components/NcRelatedResourcesPanel/NcResource.vue","../../src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<li class=\"resource\">\n\t\t<NcButton class=\"resource__button\"\n\t\t\t:aria-label=\"labelTranslated\"\n\t\t\ttype=\"tertiary\"\n\t\t\t:href=\"url\">\n\t\t\t<template #icon>\n\t\t\t\t<div class=\"resource__icon\">\n\t\t\t\t\t<img :src=\"icon\">\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t{{ name }}\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcResource',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\turl: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name }),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.resource {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 100% !important;\n\t\tjustify-content: flex-start !important;\n\t\tpadding: 0 !important;\n\n\t\t&:deep {\n\t\t\t.button-vue__wrapper {\n\t\t\t\tjustify-content: flex-start !important;\n\n\t\t\t\t.button-vue__text {\n\t\t\t\t\tfont-weight: normal !important;\n\t\t\t\t\tmargin-left: 2px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__icon {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n</style>\n","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Usage\n\nUse this component to display the related resources of a given item.\n\n```\n<template>\n\t<NcRelatedResourcesPanel provider-id=\"talk\"\n\t\t:item-id=\"conversationId\" />\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tconversationId: 1,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div v-if=\"appEnabled && isVisible\" class=\"related-resources\">\n\t\t<div class=\"related-resources__header\">\n\t\t\t<h5>{{ headerTranslated }}</h5>\n\t\t\t<p>{{ description }}</p>\n\t\t</div>\n\n\t\t<NcResource v-for=\"resource in resources\"\n\t\t\t:key=\"resource.itemId\"\n\t\t\tclass=\"related-resources__entry\"\n\t\t\t:icon=\"resource.icon\"\n\t\t\t:name=\"resource.title\"\n\t\t\t:url=\"resource.url\" />\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport NcResource from './NcResource.vue'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcRelatedResourcesPanel',\n\n\tcomponents: {\n\t\tNcResource,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n\t\t */\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Only used by the files sidebar\n\t\t *\n\t\t * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n\t\t */\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'has-error',\n\t\t'has-resources',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.related_resources !== undefined,\n\t\t\theaderTranslated: t('Related resources'),\n\t\t\tloading: false,\n\t\t\terror: null,\n\t\t\tresources: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.error ?? this.resources.length > 0\n\t\t},\n\n\t\tdescription() {\n\t\t\tif (this.error) {\n\t\t\t\treturn t('Error getting related resources. Please contact your system administrator if you have any questions.')\n\t\t\t}\n\t\t\treturn t('Anything shared with the same group of people will show up here')\n\t\t},\n\n\t\thasResourceInfo() {\n\t\t\tif (this.providerId !== null && this.itemId !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (this.fileInfo !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tisFiles() {\n\t\t\treturn this.fileInfo?.id !== undefined\n\t\t},\n\n\t\turl() {\n\t\t\tlet providerId = null\n\t\t\tlet itemId = null\n\n\t\t\tif (this.isFiles) {\n\t\t\t\tproviderId = 'files'\n\t\t\t\titemId = this.fileInfo.id\n\t\t\t} else {\n\t\t\t\tproviderId = this.providerId\n\t\t\t\titemId = this.itemId\n\t\t\t}\n\n\t\t\treturn generateOcsUrl('/apps/related_resources/related/{providerId}?itemId={itemId}&format=json', {\n\t\t\t\tproviderId,\n\t\t\t\titemId,\n\t\t\t})\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\titemId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\tfileInfo() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\terror(error) {\n\t\t\t/**\n\t\t\t * Emitted when the error value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-error', Boolean(error))\n\t\t},\n\t\tresources(resources) {\n\t\t\t/**\n\t\t\t * Emitted when the resources value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-resources', resources.length > 0)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchRelatedResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchRelatedResources() {\n\t\t\tif (!this.appEnabled || !this.hasResourceInfo) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tthis.error = null\n\t\t\tthis.resources = []\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(this.url)\n\t\t\t\tthis.resources = response.data.ocs?.data\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = e\n\t\t\t\tconsole.error(e)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.related-resources {\n\t&__header {\n\t\tmargin: 0 0 10px 46px;\n\n\t\th5 {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main$1","NcButton","t","_sfc_main","NcResource","_a","providerId","itemId","generateOcsUrl","error","resources","response","axios"],"mappings":"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"}
1
+ {"version":3,"file":"NcRelatedResourcesPanel.mjs","sources":["../../src/components/NcRelatedResourcesPanel/NcResource.vue","../../src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue"],"sourcesContent":["<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<li class=\"resource\">\n\t\t<NcButton class=\"resource__button\"\n\t\t\t:aria-label=\"labelTranslated\"\n\t\t\ttype=\"tertiary\"\n\t\t\t:href=\"url\">\n\t\t\t<template #icon>\n\t\t\t\t<div class=\"resource__icon\">\n\t\t\t\t\t<img :src=\"icon\">\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t{{ name }}\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.js'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcResource',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\turl: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name }),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.resource {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 100% !important;\n\t\tjustify-content: flex-start !important;\n\t\tpadding: 0 !important;\n\n\t\t&:deep {\n\t\t\t.button-vue__wrapper {\n\t\t\t\tjustify-content: flex-start !important;\n\n\t\t\t\t.button-vue__text {\n\t\t\t\t\tfont-weight: normal !important;\n\t\t\t\t\tmargin-left: 2px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__icon {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n</style>\n","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<docs>\n### Usage\n\nUse this component to display the related resources of a given item.\n\n```\n<template>\n\t<NcRelatedResourcesPanel provider-id=\"talk\"\n\t\theader=\"Related resources for talk\"\n\t\t:item-id=\"conversationId\" />\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tconversationId: 1,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div v-if=\"appEnabled && isVisible\" class=\"related-resources\">\n\t\t<div class=\"related-resources__header\">\n\t\t\t<h5>{{ header }}</h5>\n\t\t\t<p>{{ subline }}</p>\n\t\t</div>\n\n\t\t<NcResource v-for=\"resource in resources\"\n\t\t\t:key=\"resource.itemId\"\n\t\t\tclass=\"related-resources__entry\"\n\t\t\t:icon=\"resource.icon\"\n\t\t\t:name=\"resource.title\"\n\t\t\t:url=\"resource.url\" />\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport NcResource from './NcResource.vue'\n\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcRelatedResourcesPanel',\n\n\tcomponents: {\n\t\tNcResource,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n\t\t */\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Limits to specific resource type. i.e. any provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Set the maximum number of resources to load\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Only used by the files sidebar\n\t\t *\n\t\t * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n\t\t */\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Make the header name dynamic\n\t\t */\n\t\theader: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Related resources'),\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Anything shared with the same group of people will show up here'),\n\t\t},\n\t\t/**\n\t\t * If this element is used on a primary element set to true for primary styling.\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'has-error',\n\t\t'has-resources',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.related_resources !== undefined,\n\t\t\tloading: false,\n\t\t\terror: null,\n\t\t\tresources: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.error ?? this.resources.length > 0\n\t\t},\n\t\tsubline() {\n\t\t\tif (this.error) {\n\t\t\t\treturn t('Error getting related resources. Please contact your system administrator if you have any questions.')\n\t\t\t}\n\t\t\treturn this.description\n\t\t},\n\n\t\thasResourceInfo() {\n\t\t\tif (this.providerId !== null && this.itemId !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (this.fileInfo !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tisFiles() {\n\t\t\treturn this.fileInfo?.id !== undefined\n\t\t},\n\n\t\turl() {\n\t\t\tlet providerId = null\n\t\t\tlet itemId = null\n\n\t\t\tif (this.isFiles) {\n\t\t\t\tproviderId = 'files'\n\t\t\t\titemId = this.fileInfo.id\n\t\t\t} else {\n\t\t\t\tproviderId = this.providerId\n\t\t\t\titemId = this.itemId\n\t\t\t}\n\n\t\t\treturn generateOcsUrl('/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json', {\n\t\t\t\tproviderId,\n\t\t\t\titemId,\n\t\t\t\tresourceType: this.resourceType,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\titemId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\tfileInfo() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\t\terror(error) {\n\t\t\t/**\n\t\t\t * Emitted when the error value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-error', Boolean(error))\n\t\t},\n\t\tresources(resources) {\n\t\t\t/**\n\t\t\t * Emitted when the resources value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-resources', resources.length > 0)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchRelatedResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchRelatedResources() {\n\t\t\tif (!this.appEnabled || !this.hasResourceInfo) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tthis.error = null\n\t\t\tthis.resources = []\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(this.url)\n\t\t\t\tthis.resources = response.data.ocs?.data\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = e\n\t\t\t\tconsole.error(e)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.related-resources {\n\t&__header {\n\t\tmargin: 0 0 10px 46px;\n\n\t\th5 {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main$1","NcButton","t","_sfc_main","NcResource","_a","providerId","itemId","generateOcsUrl","error","resources","response","axios"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- var O = require("../assets/index-793eae6b.css");
1
+ var O = require("../assets/index-d9ae9479.css");
2
2
  Object.defineProperties(exports, { __esModule: { value: !0 }, [Symbol.toStringTag]: { value: "Module" } });
3
- const p = require("../chunks/index-4398f925.cjs"), f = require("@nextcloud/router"), m = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs"), l = require("../chunks/l10n-903083c4.cjs");
3
+ const p = require("../chunks/index-4398f925.cjs"), f = require("@nextcloud/router"), m = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs"), l = require("../chunks/l10n-9f3afaf5.cjs");
4
4
  require("../Directives/Tooltip.cjs");
5
- const c = require("../Functions/emoji.cjs"), d = require("../chunks/referencePickerModal-9b4ff88d.cjs");
5
+ const c = require("../Functions/emoji.cjs"), d = require("../chunks/referencePickerModal-a739a17b.cjs");
6
6
  require("@nextcloud/axios");
7
7
  require("unist-util-visit");
8
8
  require("unist-builder");
@@ -14,15 +14,11 @@ require("rehype-react");
14
14
  require("rehype-external-links");
15
15
  require("./NcEmptyContent.cjs");
16
16
  require("./NcSelect.cjs");
17
- require("vue-material-design-icons/LinkVariant.vue");
18
17
  require("./NcLoadingIcon.cjs");
19
18
  require("./NcTextField.cjs");
20
- require("vue-material-design-icons/DotsHorizontal.vue");
21
19
  require("./NcButton.cjs");
22
20
  require("./NcModal.cjs");
23
21
  require("@nextcloud/event-bus");
24
- require("vue-material-design-icons/ArrowLeft.vue");
25
- require("vue-material-design-icons/Close.vue");
26
22
  const _ = require("tributejs/dist/tribute.esm.js"), g = require("debounce"), b = require("string-length"), y = require("floating-vue"), u = (t) => t && t.__esModule ? t : { default: t }, a = /* @__PURE__ */ u(_), C = /* @__PURE__ */ u(g), v = /* @__PURE__ */ u(b);
27
23
  const k = {
28
24
  name: "NcAutoCompleteResult",
@@ -77,18 +73,18 @@ const k = {
77
73
  var T = function() {
78
74
  var e = this, n = e._self._c;
79
75
  return n("div", { staticClass: "autocomplete-result" }, [n("div", { staticClass: "autocomplete-result__icon", class: [e.icon, `autocomplete-result__icon--${e.avatarUrl ? "with-avatar" : ""}`], style: e.avatarUrl ? { backgroundImage: `url(${e.avatarUrl})` } : null }, [e.haveStatus ? n("div", { staticClass: "autocomplete-result__status", class: [`autocomplete-result__status--${e.status && e.status.icon ? "icon" : e.status.status}`] }, [e._v(" " + e._s(e.status && e.status.icon || "") + " ")]) : e._e()]), n("span", { staticClass: "autocomplete-result__content" }, [n("span", { staticClass: "autocomplete-result__title", attrs: { title: e.title } }, [e._v(" " + e._s(e.title) + " ")]), e.subline ? n("span", { staticClass: "autocomplete-result__subline" }, [e._v(" " + e._s(e.subline) + " ")]) : e._e()])]);
80
- }, q = [], x = /* @__PURE__ */ m.normalizeComponent(
76
+ }, x = [], S = /* @__PURE__ */ m.normalizeComponent(
81
77
  k,
82
78
  T,
83
- q,
79
+ x,
84
80
  !1,
85
81
  null,
86
82
  "25cf09d8",
87
83
  null,
88
84
  null
89
85
  );
90
- const h = x.exports;
91
- const S = {
86
+ const h = S.exports;
87
+ const q = {
92
88
  name: "NcRichContenteditable",
93
89
  directives: {
94
90
  tooltip: y.VTooltip
@@ -162,7 +158,8 @@ const S = {
162
158
  emits: [
163
159
  "submit",
164
160
  "paste",
165
- "update:value"
161
+ "update:value",
162
+ "smart-picker-submit"
166
163
  ],
167
164
  data() {
168
165
  return {
@@ -323,13 +320,20 @@ const S = {
323
320
  },
324
321
  getLink(t) {
325
322
  return d.getLinkWithPicker(t.original.id).then((e) => {
326
- const n = document.getElementById("tmp-link-result-node"), i = document.createTextNode(e);
327
- n.replaceWith(i), this.setCursorAfter(i), this.updateValue(this.$refs.contenteditable.innerHTML);
323
+ const n = document.getElementById("tmp-smart-picker-result-node"), i = {
324
+ result: e,
325
+ insertText: !0
326
+ };
327
+ if (this.$emit("smart-picker-submit", i), i.insertText) {
328
+ const r = document.createTextNode(e);
329
+ n.replaceWith(r), this.setCursorAfter(r), this.updateValue(this.$refs.contenteditable.innerHTML);
330
+ } else
331
+ n.remove();
328
332
  }).catch((e) => {
329
333
  console.debug("Smart picker promise rejected:", e);
330
- const n = document.getElementById("tmp-link-result-node");
334
+ const n = document.getElementById("tmp-smart-picker-result-node");
331
335
  this.setCursorAfter(n), n.remove();
332
- }), '<span id="tmp-link-result-node"></span>';
336
+ }), '<span id="tmp-smart-picker-result-node"></span>';
333
337
  },
334
338
  setCursorAfter(t) {
335
339
  const e = document.createRange();
@@ -463,12 +467,12 @@ var A = function() {
463
467
  return i.stopPropagation(), i.preventDefault(), e.onKeyUp.apply(null, arguments);
464
468
  } } }, e.listeners));
465
469
  }, E = [], R = /* @__PURE__ */ m.normalizeComponent(
466
- S,
470
+ q,
467
471
  A,
468
472
  E,
469
473
  !1,
470
474
  null,
471
- "b7f5e546",
475
+ "599f92d5",
472
476
  null,
473
477
  null
474
478
  );